:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202b42;background:#f6f8fc;font-synthesis:none;font-size:14px;--blue:#275fe5;--muted:#7c879a;--border:#e7ebf2}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #98b6ff;outline-offset:3px}[hidden]{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:36px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;color:#202b42;font-size:25px;font-weight:750;text-decoration:none;letter-spacing:-1px}.brand-icon{background:linear-gradient(145deg,#4382fa,#2455d6);color:white;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-right:10px;font-size:29px;line-height:1;transform:rotate(-5deg)}.brand-dot{color:var(--blue)}.workspace-label{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#929cad;margin:48px 10px 16px}.nav-item{border:0;background:transparent;padding:13px 15px;width:100%;display:flex;gap:12px;align-items:center;border-radius:9px;text-align:left;color:#667389;font-weight:600;margin-bottom:6px}.nav-item span{font-size:20px}.nav-item.active{background:#edf3ff;color:var(--blue)}.sidebar-note{margin-top:auto;padding:25px 13px 15px}.note-icon{display:block;border:1px solid #dce6fc;background:#f4f7ff;color:#5c85e0;border-radius:10px;width:34px;height:34px;text-align:center;line-height:32px;font-size:22px;margin:45px 0 15px}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:12px;line-height:1.8;color:var(--muted)}.sidebar-bottom{border-top:1px solid var(--border);margin-top:16px;padding-top:22px;color:#929cad;font-size:10px;display:flex;align-items:center;gap:7px}.small-dot{width:5px;height:5px;border-radius:50%;background:#8c9bb4}main{flex:1;min-width:0}.topbar{height:83px;border-bottom:1px solid var(--border);background:#ffffffb3;display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:12px;color:#8b95a6}.topbar strong{color:#566176;font-weight:500}.crumb{padding:0 14px;color:#c1c8d4}.avatar{width:32px;height:32px;border:1px solid #dfe7f7;border-radius:50%;background:#edf2ff;display:grid;place-items:center;color:#5474b0;font-size:12px}.content{max-width:1120px;margin:auto;padding:46px 44px 20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{color:#8b97ab;font-size:9px;letter-spacing:1.7px;font-weight:700}h1{font-size:32px;line-height:1.25;letter-spacing:-1px;margin:12px 0 10px}.intro p{color:var(--muted);margin:0;font-size:13px}.button{border:0;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px}.primary{background:linear-gradient(125deg,#3677f1,#2557dc);color:white;box-shadow:0 4px 9px #245de317}.primary:hover{background:#2356d6}.button span{font-size:20px;line-height:15px}.secondary{background:white;border:1px solid #dce2ec;color:#526077}.guide{margin-top:30px;background:linear-gradient(110deg,#eaf1ff,#f0f5ff);border:1px solid #dce7fc;border-radius:12px;display:flex;align-items:center;gap:16px;padding:22px 24px;position:relative;overflow:hidden}.guide-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid #dce7ff;border-radius:12px;color:#3e73df;background:#ffffff91;font-size:24px}.guide h2{font-size:14px;margin:0 0 7px;font-weight:650;color:#30528b}.guide p{font-size:12px;color:#6e83a7;line-height:1.6;margin:0}.guide-decor{font-size:75px;margin-left:auto;color:#d2e1fb;line-height:1}.requests-section{margin-top:34px}.list-heading{display:flex;justify-content:space-between;align-items:center}.list-heading h2{font-size:16px;letter-spacing:-.2px}.text-button{background:none;border:0;color:#77849b;font-size:12px;padding:10px 0 10px 12px}.text-button:hover{color:var(--blue)}.filters{display:flex;align-items:center;gap:6px;margin:14px 0 20px;overflow-x:auto;padding-bottom:6px}.filter{white-space:nowrap;display:flex;align-items:center;gap:7px;border:1px solid transparent;background:transparent;color:#78849a;font-size:11px;font-weight:550;padding:9px 13px;border-radius:7px}.filter.selected{background:#fff;border-color:#dee5ef;box-shadow:0 2px 3px #263b5f03;color:#354560}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.new{background:#5988ef}.status-dot.in_progress{background:#e3a94d}.status-dot.done{background:#4aa987}.status-dot.rejected{background:#c38390}.request-list{display:grid;gap:12px}.request-card{display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:11px;padding:21px 23px;background:#fff;transition:border-color .15s,box-shadow .15s}.request-card:hover{border-color:#bbcef7;box-shadow:0 3px 12px #264b8f07}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.request-number{color:#8e99ac;font-size:10px;letter-spacing:.4px}.badge{font-size:10px;font-weight:600;border-radius:5px;padding:5px 8px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.badge.new{color:#4e77cd;background:#edf3ff}.badge.in_progress{color:#b38433;background:#fff7e8}.badge.done{color:#39886d;background:#eaf7f0}.badge.rejected{color:#ab6272;background:#faeef1}.request-card h3{margin:12px 0 7px;font-size:15px;font-weight:650;overflow-wrap:anywhere}.card-description{font-size:12px;color:#8791a3;margin:0;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:13px;border-top:1px solid #f0f2f6;font-size:10px;color:#9aa3b3}.card-open{color:#6f89bc}.empty{border:1px dashed #dce3ee;border-radius:12px;text-align:center;padding:53px 20px 58px;background:#ffffff70}.empty-icon{font-size:30px;color:#7795cf;background:#edf2fb;width:60px;height:60px;line-height:60px;border-radius:18px;margin:auto}.empty h3{font-size:16px;font-weight:600;margin:19px 0 8px}.empty p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.loading{text-align:center;padding:50px 20px;color:#7b8ba6;font-size:13px}.load-more{display:flex;margin:20px auto}footer{font-size:10px;color:#a3adbd;text-align:center;padding:33px 0 12px}.error{background:#fff0f1;border:1px solid #f5d5da;padding:12px;border-radius:8px;color:#a34656;font-size:12px;line-height:1.6;overflow-wrap:anywhere}dialog{border:1px solid #e2e8f2;border-radius:17px;padding:27px;width:calc(100% - 32px);max-width:520px;color:#26344c;box-shadow:0 25px 90px #12284c33;max-height:90vh;overflow-y:auto}dialog::backdrop{background:#172a4f61;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.dialog-heading h2{font-size:22px;margin:9px 0 0;letter-spacing:-.5px}.close-button{border:0;border-radius:50%;width:32px;height:32px;background:#f1f4f9;font-size:23px;color:#7f8ba0;flex-shrink:0}label{display:block;font-size:12px;font-weight:600;margin:19px 0 9px}label span{color:#6586d8}label small{color:#97a1b3;font-size:10px;font-weight:400;margin-left:5px}input,textarea,select{width:100%;border:1px solid #dce2ec;background:#fbfcfe;padding:12px;border-radius:8px;color:#28364d;outline:none;font-size:13px}input:focus,textarea:focus,select:focus{border-color:#7ba1f4;box-shadow:0 0 0 3px #eaf0ff}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#a0a9b9}.field-hint{font-size:10px;color:#96a0b2;margin-top:7px;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.detail-title{font-size:23px;line-height:1.4;margin:15px 0 8px;overflow-wrap:anywhere}.detail-meta{font-size:11px;color:#8e9aaf;line-height:1.7;overflow-wrap:anywhere}.detail-label{font-size:11px;margin-top:24px;color:#7b89a1;font-weight:600}.detail-description{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.status-controls{display:flex;gap:10px}.status-controls select{flex:1}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263c5b;color:white;box-shadow:0 7px 25px #20324c26;padding:14px 22px;border-radius:10px;font-size:13px;max-width:calc(100% - 30px);width:max-content;z-index:10}
@media(min-width:1500px){.content{padding-top:60px}.sidebar{width:270px}}
@media(max-width:900px){.sidebar{width:205px;padding:28px 15px}.workspace-label{font-size:8px}.topbar{padding:0 28px}.content{padding:34px 28px}.guide-decor{display:none}.intro{align-items:flex-start}h1{font-size:28px}.intro>.button{margin-top:20px}.filter{padding:9px 10px}}
@media(max-width:650px){.shell{display:block}.sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border);padding:18px 20px 0}.brand{font-size:23px}.brand-icon{width:31px;height:31px;font-size:26px}.workspace-label,.sidebar-note,.sidebar-bottom,.topbar{display:none}.sidebar nav{display:flex;gap:14px;margin-top:16px}.nav-item{width:auto;border-radius:0;padding:12px 4px;margin:0;font-size:12px;border-bottom:2px solid transparent;gap:7px}.nav-item.active{background:transparent;border-bottom-color:var(--blue)}.nav-item span{font-size:17px}.content{padding:29px 20px 10px}.intro{display:block}.eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:29px;margin-top:10px}.intro p{font-size:12px}.intro>.button{width:100%;margin-top:21px;font-size:13px;padding:14px}.guide{margin-top:22px;padding:17px 14px;gap:12px}.guide h2{font-size:12px}.guide p{font-size:11px}.guide-icon{height:36px;width:36px;font-size:21px}.requests-section{margin-top:24px}.filters{gap:3px;margin-top:10px;margin-right:-20px;padding-right:20px}.filter{font-size:10px;padding:9px 10px}.request-card{padding:17px}.request-card h3{font-size:14px}.card-bottom{font-size:9px}.empty{padding:40px 15px}.dialog-actions .button{padding:12px 14px}dialog{padding:22px}.status-controls{flex-wrap:wrap}.status-controls .button{flex:1}.toast{bottom:calc(20px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
