:root{--ink:#18243c;--muted:#778095;--brand:#47449a;--cyan:#05abe0;--line:#e6e9f0;--paper:#f5f7fb;--radius:16px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.55 "Segoe UI",Arial,sans-serif;background:var(--paper)}a{color:var(--brand);text-decoration:none}a:hover{color:#06a0d0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2;margin-bottom:12px}h2{font-size:21px;letter-spacing:-.4px;margin-bottom:18px}h3{font-size:17px;margin:24px 0 16px}small,.small{font-size:12px}svg{width:28px;height:28px}.muted{color:var(--muted)}.eyebrow{display:block;font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--brand);margin-bottom:14px}.dot{display:inline-block;width:8px;height:8px;background:var(--cyan);border-radius:50%;margin-right:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--brand);color:white;border:1px solid transparent;padding:12px 20px;border-radius:9px;font-weight:600;font-size:14px;white-space:nowrap}.btn:hover{background:#383579;color:white}.btn.secondary{background:white;border-color:var(--line);color:var(--ink)}.btn.light{background:#fff;color:var(--brand)}.text-button{border:0;background:transparent;color:var(--muted);padding:8px}.full-width{width:100%}.public{background:radial-gradient(ellipse at 90% 20%,#e7f4fa 0,transparent 45%),#f8f9fc}.public-header{max-width:1180px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.public-header img{width:64px;height:64px;object-fit:contain;display:block}.public-header>a:last-child{font-size:13px;color:var(--muted)}.public-main{max-width:1120px;margin:auto;padding:48px 32px;min-height:calc(100vh - 200px)}.portal-intro{padding:12px 0 30px;text-align:center}.portal-intro h1{font-size:46px;letter-spacing:-1.8px;line-height:1.2;margin:20px 0}.portal-intro h1 span{color:var(--brand)}.portal-intro p{color:var(--muted);font-size:17px}.request-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:12px auto}.request-card{display:block;padding:32px 34px;background:white;border:1px solid var(--line);border-radius:20px;color:var(--ink);box-shadow:0 10px 40px #202d4810;transition:transform .2s,border-color .2s}.request-card:hover{transform:translateY(-4px);border-color:var(--cyan);color:var(--ink)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.icon-box{background:#e8f7fc;color:#009ecf;padding:16px;display:flex;border-radius:15px}.technical .icon-box{background:#eeedf8;color:var(--brand)}.card-number{font-size:13px;color:#bac1cf}.request-card h2{font-size:24px}.request-card p{color:var(--muted);max-width:330px;min-height:50px}.card-action{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;font-weight:600;color:var(--brand)}.card-action>span{font-size:23px;line-height:1}.portal-note{display:flex;justify-content:center;gap:30px;margin:28px 0;font-size:12px;color:var(--muted)}.public-footer{display:flex;max-width:1120px;margin:auto;padding:25px 32px;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:24px}.form-wrap{max-width:800px;margin:auto}.form-wrap>h1{font-size:32px}.form-wrap.narrow{max-width:460px;padding-top:30px}.back{display:block;margin-bottom:24px;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:500;font-size:13px;margin-bottom:19px}input,select,textarea{width:100%;display:block;border:1px solid #dfe3ed;border-radius:8px;padding:11px 13px;background:#fff;color:var(--ink);margin-top:7px;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #47449a12}textarea{resize:vertical}input::placeholder{color:#9aa1b2;font-size:13px}.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{width:17px;margin:0}.step{display:inline-grid;place-items:center;background:#efedf8;color:var(--brand);border-radius:50%;width:28px;height:28px;margin-right:8px;font-size:12px}.form-footer{display:flex;align-items:center;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}.form-footer .muted{font-size:12px}.toners{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.toner-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#202738;margin-right:5px}.toner-dot.cyan{background:#00a8de}.toner-dot.yellow{background:#ebc83d}.toner-dot.magenta{background:#d74899}.toner-dot.other{background:#98a0af}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.alert{padding:16px 20px;border-radius:10px;margin-bottom:24px}.alert.success{background:#e4f6ed;color:#267c56}.alert.error{background:#fcebea;color:#a9343a}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 20px;overflow:auto}.brand{padding:0 12px 18px;display:flex;justify-content:center}.brand img{width:80px;height:80px;object-fit:contain;display:block}.workspace-label,.nav-label{font-size:9px;font-weight:700;color:#9aa2b3;letter-spacing:1.6px;padding:0 14px;margin:8px 0 15px}.nav-label{margin-top:30px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#738098;border-radius:8px;font-size:13px;margin-bottom:4px}.sidebar nav a .nav-icon{width:20px;height:20px;flex:0 0 20px}.sidebar nav a.active{background:#efeffa;color:var(--brand);font-weight:650}.sidebar-foot{margin-top:auto;padding:30px 14px 0;font-size:11px}.sidebar-foot p{margin:12px 0 0;font-size:10px;color:#a4acbd}.main{margin-left:238px}.topbar{height:78px;padding:0 36px;background:#ffffffb3;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px}.user{display:flex;align-items:center;gap:10px}.avatar{background:#e8e6f6;color:var(--brand);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700}.page{padding:32px 36px;max-width:1900px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{font-size:30px}.page-heading .eyebrow{font-size:10px;margin-bottom:9px}.page-heading p{font-size:13px;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.metric{border:1px solid var(--line);border-radius:14px;padding:22px;background:white;position:relative;overflow:hidden}.metric:before{content:'';position:absolute;top:22px;right:20px;width:9px;height:9px;background:var(--brand);border-radius:3px}.metric.cyan:before{background:var(--cyan)}.metric.green:before{background:#50aa84}.metric span{font-size:12px;color:var(--muted)}.metric strong{font-size:38px;display:block;line-height:1.5;letter-spacing:-1px}.metric small{color:#9ba3b3;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.section-heading h2{margin:0;font-size:17px}.section-heading a{font-size:12px}.chart-row{display:flex;align-items:center;gap:16px;margin:13px 0;font-size:11px}.chart-row>span{width:100px}.chart-row strong{width:20px;text-align:right;color:var(--muted)}.bar-track{flex:1;background:#f3f4f8;height:12px;border-radius:4px;overflow:hidden}.bar{height:100%;background:#7774bc;border-radius:4px}.bar.completed{background:#54b497}.bar.en_route{background:#33b7db}.bar.pending{background:#e6b369}.dark-panel{background:linear-gradient(135deg,#2c315b,#464391);color:white;border:0;padding:30px}.dark-panel .eyebrow{color:#bdbbe5}.dark-panel h2{font-size:28px;line-height:1.3}.team-count{display:flex;align-items:center;gap:16px;padding:8px 0}.team-count strong{font-size:28px;min-width:35px}.team-count span{font-size:12px;color:#d0d0e8}.dark-panel .btn{margin-top:22px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{padding:12px 16px;background:#f8f9fc;color:#939bab;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}td{padding:17px 16px;border-bottom:1px solid #f0f1f6}tr:last-child td{border:0}td strong{font-size:12px;font-weight:600}td small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-block;padding:4px 9px;border-radius:6px;background:#eef0f6;color:#6c7890;font-size:10px;white-space:nowrap}.badge.new{background:#edf0fe;color:#6878c4}.badge.approved{background:#edf0f6;color:#768299}.badge.assigned,.badge.technical{background:#eeedf9;color:#8171bc}.badge.en_route,.badge.supply{background:#e6f5fc;color:#2393b7}.badge.in_progress{background:#fff4dc;color:#be9434}.badge.pending{background:#fff0e3;color:#bc8950}.badge.completed{background:#e6f6ee;color:#48a47a}.badge.cancelled{background:#fae9e9;color:#b16b6b}.filters{display:flex;align-items:center;gap:12px;margin-bottom:20px}.filters>input{margin:0;max-width:260px;margin-left:auto}.tabs{display:flex;gap:6px;background:#eaeef5;padding:4px;border-radius:9px}.tabs a{padding:8px 14px;font-size:12px;color:#8790a4;white-space:nowrap}.tabs a.selected{background:white;border-radius:6px;color:var(--ink);box-shadow:0 2px 5px #00000008}.kanban{display:flex;gap:18px;overflow-x:auto;align-items:flex-start;padding-bottom:25px;min-height:60vh}.kanban-column{flex:0 0 272px;background:#eceff5;border-radius:12px;padding:12px}.kanban-column h3{font-size:12px;margin:4px 0 18px;display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;background:#a1a8be;border-radius:50%}.status-dot.en_route{background:#30afd3}.status-dot.completed{background:#50af81}.status-dot.pending{background:#e5ac64}.count{margin-left:auto;padding:1px 6px;background:#e1e5ee;border-radius:4px;font-size:10px}.ticket{display:block;background:white;border:1px solid #e5e8f0;border-radius:10px;padding:16px;margin-bottom:12px;color:var(--ink);box-shadow:0 2px 3px #18243c04}.ticket:hover{border-color:#a09dd4;color:var(--ink)}.ticket-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#9ba4b5;margin-bottom:15px}.ticket h4{font-size:13px;margin-bottom:6px}.ticket p{font-size:11px;color:#9199aa;margin-bottom:14px}.ticket-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f1f5;padding-top:12px;font-size:10px;color:#7f8a9f}.priority.high,.priority.urgent{color:#cf7656}.empty-column{padding:36px 10px;text-align:center;color:#a7afbf;font-size:11px}.empty-state{text-align:center;padding:45px;color:var(--muted)}.empty-state h2{color:var(--ink)}.detail-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:24px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-grid small{display:block;color:var(--muted);margin-bottom:3px}.info-grid strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.preserve{white-space:pre-wrap}.chips{display:flex;gap:8px}.timeline{margin:25px 0}.timeline>div{position:relative;padding:0 0 24px 24px;border-left:1px solid var(--line);margin-left:4px}.timeline .dot{position:absolute;left:-4px;top:7px}.timeline strong{font-size:12px;display:block;font-weight:500}.timeline small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.map-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.map-layout .panel{margin:0}#map{height:620px;border-radius:16px;background:#e9edf3;border:1px solid var(--line)}.map-person{border-bottom:1px solid var(--line);padding:16px 0}.map-person strong{display:block;font-size:13px}.map-person small{color:var(--muted)}.map-person button{margin-top:8px}summary{font-weight:600;cursor:pointer}details[open] summary{margin-bottom:24px}.route-choice,.inline-form{display:flex;align-items:center;gap:12px}.route-choice .check{flex:1;margin:6px 0}.inline-form input{margin:0}.inline-form .btn{padding:8px 12px}
@media(max-width:1150px){.sidebar{width:210px;padding:24px 14px}.main{margin-left:210px}.page{padding:26px 24px}.metrics{gap:12px}.metric{padding:18px}.metric:before{display:none}.dashboard-grid{grid-template-columns:1.5fr 1fr}.filters{flex-wrap:wrap}.filters>input{margin-left:0}.detail-grid{grid-template-columns:1.5fr 1fr}.map-layout{grid-template-columns:230px 1fr}}
@media(max-width:800px){.sidebar{position:static;width:100%;padding:16px;display:block;border-bottom:1px solid var(--line)}.brand{padding:0 0 12px;display:block}.brand img{width:64px;height:64px}.workspace-label,.sidebar-foot,.nav-label{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav a{white-space:nowrap;font-size:11px;padding:7px 10px;margin:0}.sidebar nav a .nav-icon{width:18px;height:18px;flex-basis:18px}.main{margin:0}.topbar{height:58px;padding:0 20px;font-size:10px}.page{padding:24px 18px}.page-heading{align-items:flex-start}.page-heading .btn{font-size:11px;padding:10px}.page-heading h1{font-size:26px}.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.detail-grid,.map-layout{grid-template-columns:1fr}.map-layout .panel{max-height:260px;overflow:auto}#map{height:450px}.panel{padding:20px}.public-header{padding:20px}.public-header img{width:56px;height:56px}.public-main{padding:30px 20px}.portal-intro h1{font-size:34px}.portal-intro p{font-size:15px}.request-cards{gap:16px}.request-card{padding:24px}.request-card h2{font-size:20px}.request-card p{font-size:13px}.portal-note{gap:14px;font-size:10px;flex-wrap:wrap}.toners{grid-template-columns:repeat(3,1fr)}.inline-form{flex-wrap:wrap}.form-wrap>h1{font-size:28px}.filters .tabs{width:100%}.filters>input{flex:1}.user>span:not(.avatar){display:none}}
@media(max-width:560px){.request-cards{grid-template-columns:1fr}.portal-intro{text-align:left;padding:5px 0 14px}.portal-intro h1{font-size:32px}.card-top{margin-bottom:20px}.request-card p{min-height:0}.public-footer{font-size:10px;padding:20px}.public-header>a:last-child{font-size:11px}.form-grid{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.form-wrap.narrow{padding-top:0}.info-grid{grid-template-columns:1fr 1fr}.tabs a{padding:8px;font-size:11px}.page-heading{flex-wrap:wrap}.metric strong{font-size:32px}.request-card .icon-box{padding:12px}.request-card h2{font-size:22px}}

.sidebar .brand{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 18px;color:#fff}.sidebar .brand img{width:48px;height:48px;object-fit:contain}.sidebar .brand strong{font-size:19px;letter-spacing:2px}.sidebar .brand span{font-size:11px;color:#ffffffcf}.sidebar .workspace-label{display:none}.sidebar .nav-label{font-size:10px;letter-spacing:1.1px;margin:20px 12px 7px;color:#ffffffad}.sidebar nav a{padding:9px 12px;margin:2px 0;gap:10px;border-radius:8px;font-size:13px;line-height:1.4}.sidebar nav a .nav-icon{width:19px;height:19px;flex-basis:19px}.account-dropdown .account-heading{padding:12px 16px;border-bottom:1px solid var(--line);margin-bottom:5px}.account-heading b,.account-heading small{display:block}.account-heading small{color:var(--muted);font-weight:400;margin-top:3px}.account-dropdown>a{display:flex;gap:10px;align-items:center;padding:10px 16px}.account-dropdown .nav-icon{width:18px;height:18px}.account-dropdown form{border-top:1px solid var(--line);margin-top:5px;padding-top:5px}.account-dropdown .account-logout{color:#b42335;width:100%;text-align:left;padding:10px 16px}@media(max-width:800px){.sidebar .brand{padding:0 0 10px}.sidebar .brand img{width:36px;height:36px}.sidebar .nav-label{display:none}.sidebar nav a{flex-shrink:0}}

.sidebar .nav-group{margin:8px 0}.sidebar .nav-group>summary{display:flex;align-items:center;justify-content:space-between;padding:12px;color:#cce5f7;font-size:10px;letter-spacing:1px;list-style:none;margin:0}.sidebar .nav-group>summary::-webkit-details-marker{display:none}.sidebar .nav-group>summary:after{content:"+";font-size:16px}.sidebar .nav-group[open]>summary:after{content:"−"}.sidebar .nav-group[open]>summary{margin-bottom:2px}.topbar{position:relative;z-index:1100}@media(max-width:800px){.sidebar .nav-group{min-width:170px}.sidebar .nav-group>summary{font-size:10px}}
