@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102b31;--dark:#0c252b;--muted:#75858d;--text:#183138;--border:#e5ecee;--canvas:#f6f8f7;--mint:#aff0cf;--green:#237d60;--rose:#c45e51;--orange:#a97725;--blue:#397cbd;--shadow:0 13px 40px rgba(23,54,58,.055)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--canvas)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #80d7ba;outline-offset:2px}.hidden{display:none!important}#app{min-height:100vh}.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted)}
.brand-mark{width:44px;height:44px;background:var(--mint);border-radius:15px;display:inline-grid;place-content:center;font-family:Manrope,sans-serif;font-weight:900;font-size:26px;position:relative;color:#0f3a32;letter-spacing:-4px;padding-right:6px}.brand-mark span{position:absolute;font-size:16px;right:3px;top:1px;letter-spacing:0}.brand-name{font:800 20px Manrope,sans-serif;color:#fff;letter-spacing:-.75px}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;flex:0 0 252px;background:var(--navy);color:#a7babe;min-height:100vh;padding:29px 17px 19px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;z-index:6}.side-logo{display:flex;align-items:center;gap:11px;padding:1px 8px 29px}.side-logo small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2.1px;color:#7e9a9c;margin-top:4px}.side-section{padding:16px 12px 9px;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:800;color:#789297}.side-item{width:100%;border:0;background:none;display:flex;align-items:center;gap:12px;padding:12px 14px;color:#b2c5c6;text-align:left;border-radius:11px;font-size:13px;font-weight:650;transition:background .15s,color .15s;margin-bottom:4px}.side-item:hover{background:#1b4248;color:#fff}.side-item.active{background:#255049;color:#ceffe6}.side-item .glyph{font-size:17px;width:20px;text-align:center;line-height:1}.side-item .count{margin-left:auto;padding:2px 7px;font-size:10px;background:#31555a;border-radius:99px;color:#d5f3e5}.side-footer{margin-top:auto}.side-help{margin:16px 8px;border:1px solid #315159;background:#18393f;border-radius:13px;padding:15px;font-size:12px;color:#bdcdd0;line-height:1.55}.side-help strong{display:block;color:#effff6;margin-bottom:6px}.side-user{display:flex;gap:10px;align-items:center;padding:16px 8px 4px;border-top:1px solid #335055}.avatar{width:34px;height:34px;border-radius:11px;background:#b5e8d0;display:grid;place-items:center;font-weight:800;color:#164138;font-size:13px;flex:none}.side-user .meta{flex:1;min-width:0}.side-user .meta strong{display:block;color:#f0fbf5;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .meta small{display:block;font-size:11px;margin-top:3px}.side-user button{background:transparent;border:0;color:#a8c4c8;font-size:17px;padding:5px}
.main{flex:1;min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:10px}.breadcrumb{font-size:13px;color:#99a7aa}.breadcrumb strong{color:#294049}.top-right{display:flex;align-items:center;gap:12px}.today-pill{background:#f2f6f4;border:1px solid #edf1ef;border-radius:30px;padding:9px 13px;font-size:11px;font-weight:750;color:#657c7b}.top-avatar{background:#daf7e8;border:1px solid #ceeadf;color:#195a47;border-radius:11px;width:34px;height:34px;display:grid;place-items:center;font-weight:800}.content{max-width:1620px;margin:0 auto;padding:31px 36px 70px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:2.2px;text-transform:uppercase;color:#4b9980;margin:0 0 10px}.page-title{font:800 clamp(24px,3vw,32px) Manrope,sans-serif;letter-spacing:-1.3px;color:#19363a;margin:0 0 9px}.subtitle{color:#849399;font-size:13px;margin:0;line-height:1.7}.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--border);border-radius:10px;padding:11px 16px;background:#fff;color:#34545a;font-size:12px;font-weight:800;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap;min-height:40px;box-shadow:none}.btn:hover{border-color:#a3cbbd}.btn.primary{background:var(--navy);color:white;border-color:var(--navy)}.btn.primary:hover{background:#22494e}.btn.mint{background:#d9f8e7;color:#175f4a;border-color:#ccebdc}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.danger{border-color:#f3d5d1;color:#ad4d44;background:#fff7f6}.btn.tiny{padding:7px 10px;min-height:30px;font-size:11px;border-radius:8px}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-plain{background:#f2f6f5;border:1px solid #e4eeeb;border-radius:10px;padding:8px 10px;color:#476368;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat-card{border-radius:15px;background:#fff;border:1px solid var(--border);padding:20px 21px 17px;min-height:151px;box-shadow:var(--shadow);overflow:hidden}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:12px;font-weight:700;color:#809297}.stat-icon{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#e6f6ee;color:#318469;font-size:19px}.stat-icon.gold{background:#fff3e1;color:#b87b26}.stat-icon.blue{background:#e9f2fd;color:#477cb6}.stat-icon.red{background:#fff0ed;color:#cb685d}.stat-value{font:800 34px Manrope,sans-serif;letter-spacing:-1px;margin-top:11px;color:#142e33;line-height:1.2}.stat-foot{color:#94a19f;font-size:11px;margin-top:7px}.stat-foot b{color:#358a68}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(285px,.95fr);gap:19px}.stack{display:flex;flex-direction:column;gap:19px}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-head{padding:21px 22px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2{font:800 15px Manrope,sans-serif;letter-spacing:-.3px;margin:0}.panel-head p{margin:5px 0 0;font-size:11px;color:#97a5a6}.panel-body{padding:0 22px 21px}.link-action{font-size:11px;font-weight:800;color:#238060;background:transparent;border:0}.pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stage{border:1px solid var(--border);border-radius:12px;padding:14px 11px;background:#fbfcfc}.stage .n{font:800 25px Manrope,sans-serif;color:#284349}.stage .name{display:block;color:#839498;font-size:10px;font-weight:700;margin:3px 0 11px}.stage .line{height:5px;border-radius:12px;background:#eaf0ed;overflow:hidden}.stage .line div{height:100%;background:#66baa0;border-radius:12px}.stage:nth-child(2) .line div{background:#78a2ca}.stage:nth-child(3) .line div{background:#dda567}.stage:nth-child(4) .line div{background:#254b51}.table-scroll{overflow:auto}.data-table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:12px}.data-table th{background:#f9fbfa;color:#96a5a8;text-transform:uppercase;letter-spacing:.9px;font-size:9px;font-weight:850;padding:14px 15px;border-bottom:1px solid #e9eeee}.data-table td{padding:14px 15px;border-bottom:1px solid #eef2f0;color:#647b80;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfefd}.site-name{font-size:12px;font-weight:800;color:#263e43}.site-code{display:block;color:#a5b3b4;font-size:10px;font-weight:650;margin-top:3px}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:99px;font-size:10px;font-weight:800;padding:6px 10px;background:#edf1f1;color:#5e7579}.tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.tag.active,.tag.done{background:#e5f7ec;color:#238765}.tag.scheduled{background:#eaf1fe;color:#426ea8}.tag.requested{background:#eef2f2;color:#73878a}.tag.in-progress,.tag.pending{background:#fff3dc;color:#a87828}.tag.deployed{background:#e9f4f3;color:#34766f}.tag.on-hold{background:#fff0ec;color:#c36b53}.map-panel .mapbox{height:220px;background:#edf4f0;position:relative;border-top:1px solid #edf1f0}.map-panel .map-meta{padding:13px 17px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#87989a}.map-panel .map-meta strong{color:#317d65;font-size:12px}.map-inner{width:100%;height:100%;z-index:1}.map-fallback{background:radial-gradient(circle at 21% 26%,#c8e5d8 0 12px,transparent 13px),repeating-linear-gradient(40deg,transparent 0 37px,#dae7df 38px 40px,transparent 41px 63px),#eff6f0;display:grid;place-items:center;text-align:center;color:#638178;font-size:12px;padding:22px}.activity-list{padding:0 21px 18px}.activity-item{display:flex;gap:12px;padding:13px 0;border-top:1px solid #f1f4f2}.activity-icon{height:30px;width:30px;display:grid;place-items:center;background:#edf7f1;border-radius:10px;color:#42886d;flex:none;font-size:14px}.activity-text{flex:1;min-width:0}.activity-text b{display:block;font-size:11px;color:#3b5155;margin-bottom:4px}.activity-text span{display:block;color:#95a5a5;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{font-size:10px;color:#adbbbb;white-space:nowrap}.alert-bar{padding:12px 17px;border:1px solid #f3e1b7;background:#fff8e6;border-radius:11px;color:#987027;font-size:12px;margin-bottom:19px}.alert-bar strong{color:#8d6119}.filters{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:17px;flex-wrap:wrap}.search-wrap{position:relative;flex:1;max-width:370px;min-width:195px}.search-wrap input{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;padding:12px 15px 12px 38px;font-size:12px;outline:none}.search-wrap::before{content:'⌕';position:absolute;left:13px;top:7px;font-size:23px;color:#9aa8a8}.filter-select{border:1px solid var(--border);background:white;padding:11px 32px 11px 13px;border-radius:10px;color:#5c7275;font-size:12px;font-weight:650}.result-note{font-size:11px;color:#91a09e;margin:0 0 12px}.wide-card{padding:0}.wide-card .data-table th{padding:16px 20px}.wide-card .data-table td{padding:17px 20px}.site-avatar{height:32px;width:32px;border-radius:10px;background:#e7f3ec;color:#3b7c6c;font-size:11px;font-weight:850;display:grid;place-items:center;flex:none}.site-ident{display:flex;align-items:center;gap:10px}.grid-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.upcoming-card{padding:19px;background:#fff;border:1px solid var(--border);border-radius:15px;min-width:0;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:15px}.upcoming-top{display:flex;align-items:center;justify-content:space-between}.upcoming-card h3{font:800 15px Manrope,sans-serif;margin:0 0 5px}.upcoming-card p{font-size:11px;color:#95a5a5;margin:0}.detail-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf2f0;padding-top:12px;color:#849498;font-size:11px;gap:8px}.detail-line b{color:#365258;font-size:11px}.map-layout{display:grid;grid-template-columns:minmax(270px,.35fr) 1fr;gap:16px;min-height:590px}.map-directory{background:white;border:1px solid var(--border);border-radius:15px;overflow:auto;max-height:615px}.map-dir-heading{padding:20px;border-bottom:1px solid var(--border)}.map-dir-heading strong{font-size:14px}.map-dir-heading span{display:block;font-size:11px;color:#97a6a7;margin-top:5px}.map-dir-item{padding:15px 18px;border-bottom:1px solid #eff3f1;cursor:pointer;display:flex;gap:10px;align-items:start}.map-dir-item:hover,.map-dir-item.selected{background:#eef8f2}.map-dir-item b{display:block;font-size:12px;margin-bottom:4px}.map-dir-item p{color:#9aabaa;margin:0;font-size:11px;line-height:1.5}.map-dir-item .pin{color:#348a70;font-size:17px}.bigmap{height:615px;border-radius:15px;border:1px solid #d8e5df;overflow:hidden;background:#eaf3ed;position:relative}.map-info{position:absolute;bottom:18px;left:18px;right:18px;max-width:340px;background:#fff;z-index:500;padding:16px 17px;border-radius:11px;box-shadow:0 7px 30px #153a3540}.map-info b{display:block;font-size:13px}.map-info p{font-size:11px;color:#788c8b;margin:7px 0 10px}.map-info a{color:var(--green);font-size:11px;font-weight:800}.empty-state{text-align:center;padding:65px 25px;color:#99a9aa}.empty-icon{height:60px;width:60px;margin:0 auto 15px;border-radius:19px;background:#e9f5ee;display:grid;place-items:center;color:#408769;font-size:26px}.empty-state h3{font:800 16px Manrope,sans-serif;color:#3c565a;margin:0 0 8px}.empty-state p{font-size:12px;line-height:1.7;margin:0 auto 18px;max-width:390px}.loading-mini{text-align:center;padding:30px;color:#94a5a4}.map-badge{position:absolute;top:16px;right:16px;background:#fff;z-index:500;padding:10px 14px;border-radius:9px;font-size:11px;box-shadow:0 4px 18px #2b3c3820;font-weight:800;color:#3a7062}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.info-grid .panel{padding:20px}.info-grid h3{font-size:11px;color:#9daca9;margin:0 0 7px}.info-grid p{font-weight:850;font-size:20px;margin:0}.small-caps{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#a1afaf;font-weight:800}.admin-table .role-select{min-width:116px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1fr);background:#fff}.auth-art{background:radial-gradient(circle at 80% 12%,#22564c 0,transparent 39%),linear-gradient(135deg,#102c33,#0d252a);color:white;position:relative;padding:60px 8vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:100vh}.auth-art:after{content:'';position:absolute;border:1px solid #446d62;border-radius:50%;width:520px;height:520px;bottom:-230px;left:15%;box-shadow:0 0 0 60px #28574e19,0 0 0 120px #28574e14}.auth-art header{display:flex;gap:12px;align-items:center;z-index:1}.auth-art h1{font:800 clamp(31px,4.2vw,55px)/1.13 Manrope,sans-serif;letter-spacing:-2.2px;margin:0 0 20px;max-width:500px}.auth-art h1 em{font-style:normal;color:#aaf4d0}.auth-art p{font-size:14px;color:#a5bdba;line-height:1.8;max-width:400px}.auth-art .art-foot{font-size:11px;color:#84a4a2;z-index:1}.auth-form-wrap{display:grid;place-items:center;padding:30px}.auth-box{max-width:390px;width:100%}.auth-box h2{font:800 29px Manrope,sans-serif;margin:0 0 7px;letter-spacing:-1px}.auth-box>p{color:#96a5a5;font-size:13px;line-height:1.65;margin-bottom:29px}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:11px;font-weight:850;color:#526d70;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #dce6e5;background:#fff;border-radius:10px;padding:12px 13px;font-size:13px;color:#29444a;outline:none;min-height:43px;transition:border .15s}.form-field textarea{min-height:87px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#74c4a6;box-shadow:0 0 0 3px #9ae6c42b}.helper{font-size:10px;color:#99a6a5;line-height:1.6;margin:6px 0 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error{background:#fff0ed;color:#ba5048;padding:12px 14px;border-radius:9px;font-size:12px;margin-bottom:16px}.auth-box .btn{width:100%;margin-top:6px;padding:14px;font-size:13px}.auth-demo{background:#f3f9f5;color:#55806c;border:1px solid #e0efe7;padding:12px 15px;font-size:11px;border-radius:10px;margin-top:19px;line-height:1.7}.overlay{position:fixed;inset:0;background:#071f26a8;z-index:1000;display:flex;justify-content:flex-end;animation:fade .14s ease}@keyframes fade{from{opacity:0}to{opacity:1}}.drawer{background:#fff;max-width:650px;width:100%;height:100%;display:flex;flex-direction:column;box-shadow:-20px 0 90px #061b1b3b;animation:slide .18s ease}@keyframes slide{from{transform:translateX(24px)}to{transform:translateX(0)}}.drawer-head{padding:25px 30px 19px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--border)}.drawer-head h2{font:800 20px Manrope,sans-serif;letter-spacing:-.5px;margin:0 0 6px}.drawer-head p{font-size:11px;color:#9aaba8;margin:0}.close-btn{background:#f1f5f3;border:0;border-radius:9px;color:#6b8583;font-size:24px;width:33px;height:33px;line-height:1}.drawer-body{overflow:auto;padding:25px 30px;flex:1}.drawer-actions{padding:17px 30px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:9px;background:#fff}.form-section{font:800 13px Manrope,sans-serif;color:#2a474b;display:flex;align-items:center;gap:9px;padding-bottom:13px;margin:9px 0 19px;border-bottom:1px solid #ecf1ee}.form-section .step{background:#eaf7ee;color:#278164;font:800 11px 'DM Sans',sans-serif;display:grid;place-items:center;width:23px;height:23px;border-radius:7px}.setup-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.setup-choice{border:1px solid #dde8e3;border-radius:11px;text-align:left;background:white;padding:14px 10px;display:flex;flex-direction:column;align-items:start;gap:8px;min-height:100px}.setup-choice i{font-size:23px;font-style:normal}.setup-choice span{font-size:11px;font-weight:800;color:#607979}.setup-choice.selected{border:2px solid #4ba984;background:#f0faf4;padding:13px 9px}.setup-choice.selected span{color:#1a7458}.upload-zone{border:1.5px dashed #b8d9c8;background:#f8fbf8;border-radius:11px;min-height:118px;display:grid;place-content:center;text-align:center;padding:13px;cursor:pointer;color:#628978;position:relative}.upload-zone b{font-size:12px;margin:5px 0 2px}.upload-zone small{font-size:10px;color:#9fb0a6}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-preview{max-height:155px;max-width:100%;object-fit:cover;border-radius:9px;margin:6px auto}.detail-photo{height:170px;object-fit:cover;width:100%;border-radius:12px;background:#e7f0eb;margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.detail-entry span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#9daead;margin-bottom:6px}.detail-entry b{display:block;color:#415e62;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.detail-entry.wide{grid-column:1/-1}.detail-entry a{color:#288467}.detail-card{border:1px solid #e5eeea;border-radius:12px;padding:17px;margin-bottom:20px;background:#fbfdfb}.detail-card h3{font:800 12px Manrope,sans-serif;margin:0 0 14px}.detail-card p{font-size:12px;color:#728b89;line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.footnote{font-size:11px;color:#92a5a3;line-height:1.8;margin-top:19px}.number-indicator{color:#5a9b7e}.row-actions{display:flex;gap:6px;align-items:center}.control-label{font-size:11px;color:#8d9f9c;font-weight:700}.map-link{color:#298568;font-weight:850;font-size:11px}.demo-flag{background:#fff4db;color:#ae7921;border:1px solid #f0dfb0;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:850}.toast{position:fixed;right:20px;bottom:19px;background:#102c31;color:white;box-shadow:0 10px 30px #072c2752;border-radius:12px;padding:13px 18px;font-size:12px;font-weight:750;z-index:3000;max-width:380px;animation:slide .2s ease}.toast.bad{background:#ad4e46}.mobile-menu{display:none}.mobile-cover{display:none}.leaflet-container{font-family:'DM Sans',sans-serif!important;z-index:1}.leaflet-popup-content-wrapper{border-radius:10px!important}.leaflet-popup-content{font-size:12px!important;line-height:1.5!important}
@media(max-width:1260px){.sidebar{width:215px;flex-basis:215px}.content{padding-left:22px;padding-right:22px}.topbar{padding:0 22px}.workspace-grid{grid-template-columns:minmax(0,1.35fr) minmax(265px,1fr)}}
@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.map-panel .mapbox{height:260px}.grid-mini{grid-template-columns:repeat(2,1fr)}.map-layout{grid-template-columns:1fr}.map-directory{max-height:240px}.bigmap{height:480px}}
@media(max-width:700px){.sidebar{position:fixed;left:-280px;width:252px;transition:left .18s;box-shadow:15px 0 40px #061d1a29}.sidebar.open{left:0}.mobile-cover.open{display:block;position:fixed;inset:0;background:#061d20a6;z-index:5}.mobile-menu{display:inline-flex}.topbar{height:65px;padding:0 17px}.content{padding:26px 15px 50px}.page-heading{flex-direction:column;gap:17px}.stats-grid{gap:10px}.stat-card{padding:15px 13px;min-height:130px}.stat-value{font-size:28px}.pipeline{grid-template-columns:repeat(2,1fr)}.grid-mini{grid-template-columns:1fr}.auth-screen{grid-template-columns:1fr}.auth-art{min-height:200px;padding:22px 28px}.auth-art>div:nth-child(2){display:none}.auth-form-wrap{min-height:65vh}.auth-art h1{font-size:25px}.drawer{max-width:none}.drawer-head,.drawer-body,.drawer-actions{padding-left:18px;padding-right:18px}.form-row{grid-template-columns:1fr}.setup-cards{grid-template-columns:1fr 1fr}.today-pill{display:none}.map-info{right:10px;left:10px}.panel-head{padding-left:15px;padding-right:15px}.panel-body{padding:0 15px 15px}}

/* Express Deck v2: staff-only request workspace, support tickets and reporting */
.main{display:flex;flex-direction:column;min-height:100vh}.main .content{width:100%;flex:1}.legal-footer{font-size:12px;color:#718884;border-top:1px solid #e2ece8;padding:17px 27px;text-align:center;background:#fff;font-weight:700;letter-spacing:.03em}.auth-form-wrap{flex-direction:column}.auth-legal{color:#78918b;font-size:12px;font-weight:700;text-align:center;padding:18px}.staff-banner{border-radius:18px;padding:29px 32px;background:linear-gradient(113deg,#133c3e,#216950);color:#eefdf2;margin-bottom:22px;box-shadow:0 16px 36px #214c3520}.staff-banner .eyebrow{color:#9becb6}.staff-banner h1{font:800 clamp(23px,3vw,34px) Manrope,sans-serif;margin:10px 0 8px}.staff-banner p{font-size:13px;line-height:1.7;margin:0;color:#def0e5}.staff-banner strong{color:#fff}.staff-banner .staff-privacy{color:#b9dcc7;font-size:12px;margin-top:7px}.staff-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.88fr);gap:22px;align-items:start}.staff-form-panel,.staff-my-panel{overflow:hidden}.staff-form-body{padding:23px 25px}.staff-submit{margin-top:18px;width:100%;justify-content:center}.staff-entries{padding:9px 19px 19px}.my-request-item{padding:17px 3px;border-bottom:1px solid #edf2ef}.my-request-item:last-child{border-bottom:0}.request-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;font-size:13px;margin-bottom:7px}.request-item-head b{font-weight:800}.my-request-actions{display:flex;align-items:center;gap:7px;margin-top:11px}.my-request-actions span{font-size:11px;color:#79908c;margin-right:auto}.count-pill{font-size:11px;background:#eaf7ee;padding:5px 10px;border-radius:99px;color:#197154;font-weight:800}.staff-form-panel .form-section{margin-top:18px}.staff-form-panel .form-section:first-child{margin-top:0}.sla-chip{display:inline-flex;align-items:center;gap:4px;border-radius:8px;padding:7px 8px;font-size:10px;font-weight:900;white-space:nowrap;letter-spacing:.01em}.sla-chip.ok,.sla-chip.met{background:#e0f8e9;color:#247858}.sla-chip.risk{background:#fff0d9;color:#966014}.sla-chip.breach{background:#fce8e5;color:#ac3b3b}.ticket-fixed{border:1px solid #deebe4;background:#f4faf6;padding:14px 16px;border-radius:12px;margin-bottom:22px;display:flex;align-items:center;flex-wrap:wrap;gap:13px;font-size:11px;color:#557368}.ticket-fixed strong{font-size:13px;color:#1d4d3c}.ticket-fixed span{display:inline-block}.form-readonly{padding:13px 12px;background:#f4f8f5;border:1px solid #e4ede8;border-radius:8px;font-size:12px;color:#5d7f71}.report-controls{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e5ecee;border-radius:12px;padding:17px 20px;margin-bottom:20px}.report-controls label{font-size:12px;font-weight:850}.report-controls input{border:1px solid #d8e5df;border-radius:8px;padding:10px 12px;background:#fff}.report-controls span{font-size:11px;color:#718884}.report-total{background:#f0f8f2;font-weight:850}.report-total td{color:#1b5d44}.site-code{overflow-wrap:anywhere}
@media(max-width:1150px){.staff-grid{grid-template-columns:1fr}.staff-my-panel{order:-1}}
@media(max-width:700px){.staff-banner{padding:20px 19px}.staff-form-body{padding:17px}.report-controls{flex-wrap:wrap;padding:14px}.ticket-fixed{flex-direction:column;align-items:flex-start}}
.ticket-pulse{padding:8px 13px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ticket-pulse>div{background:#f3f8f5;border:1px solid #e4efeb;border-radius:10px;text-align:center;padding:13px 4px}.ticket-pulse b{display:block;color:#1d5b47;font-size:26px}.ticket-pulse span{display:block;color:#7b9590;font-weight:800;font-size:10px;margin-top:5px}


/* V12.2.5 — ticket forwarding controls */
.ticket-forward-panel{margin:18px 0;padding:16px;border:1px solid #dcebe4;border-radius:12px;background:#f8fcf9}
.ticket-forward-panel h3{margin:0 0 6px;font-size:13px;color:#245c4c}
.ticket-forward-panel>p{margin:0 0 12px;color:#748982;font-size:11px;line-height:1.6}
.ticket-forward-panel .form-row{margin-bottom:0}
.ticket-forward-panel .helper{margin:8px 0 0}


/* V12.2.7 polished password-visibility controls and existing security/ticket-evidence controls */
.password-input-wrap{position:relative;display:flex;width:100%;align-items:center}
.password-input-wrap input{width:100%;padding-right:52px!important}
.password-visibility{
 position:absolute;right:12px;top:50%;transform:translateY(-50%);
 display:inline-flex;align-items:center;justify-content:center;
 width:30px;height:30px;border:0;background:transparent;color:rgba(255,255,255,.72);
 padding:0;margin:0;cursor:pointer;z-index:2;border-radius:999px;
 transition:color .18s ease,background-color .18s ease,transform .18s ease
}
.password-visibility:hover{color:#fff;background:rgba(255,255,255,.08)}
.password-visibility:focus-visible{outline:2px solid rgba(255,255,255,.32);outline-offset:2px;background:rgba(255,255,255,.08)}
.password-visibility svg{width:19px;height:19px;display:block;fill:currentColor}
.password-visibility.is-visible{color:#fff}
.ticket-issue-photo{display:block;max-width:min(100%,520px);max-height:320px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:#fff;margin-top:9px}
.ticket-photo-remove{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:12px;color:var(--muted)}
.ticket-photo-remove input{width:auto}
.password-history-list{display:grid;gap:9px;margin-top:10px}
.password-history-item{padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--canvas)}
.password-history-item b{font-size:12px}
.password-history-item p{margin:5px 0;font-size:12px;line-height:1.45}
.password-history-item small{color:var(--muted);font-size:10px}


/* V12.2.9 department-aware ticket classification and detailed exports */
.report-export-panel{margin:18px 0}
.report-export-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}
.report-export-filters .form-field{min-width:0}
.report-export-filters input,.report-export-filters select{width:100%;min-width:0}
.report-export-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:12px}
.report-export-summary b{color:var(--text)}
.report-export-actions{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:900px){.report-export-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.report-export-filters{grid-template-columns:1fr}.report-export-summary{align-items:flex-start;flex-direction:column}}


/* V12.3.0 — safer export controls and resilient drawer rendering */
.report-export-actions .btn:disabled{opacity:.42;cursor:not-allowed;pointer-events:none}
.drawer[aria-modal="true"]{outline:none}
.quick-search-dialog[role="dialog"]{outline:none}



/* Keep the Overview heading organized independently of the legacy multi-column page header. */
.ops-page-wrap{min-width:0;display:block}
.ops-page-wrap>.page-heading{display:block!important;grid-template-columns:none!important;align-items:initial!important;margin:0 0 20px!important;text-align:left!important;min-width:0}
.ops-page-wrap>.page-heading>div{display:block!important;max-width:100%!important}
.ops-page-wrap>.page-heading .eyebrow{display:block;margin:0 0 6px;color:#ff5264;font:800 10px/1.5 Inter,sans-serif;letter-spacing:1.7px;text-transform:uppercase}
.ops-page-wrap>.page-heading .page-title{display:block;margin:0 0 7px;color:#fff2f4;font:800 clamp(28px,2.5vw,35px)/1.04 'Barlow Condensed',Inter,sans-serif;letter-spacing:.2px;font-style:normal}
.ops-page-wrap>.page-heading .subtitle{display:block;margin:0;color:#bf929f;font:400 12px/1.55 Inter,sans-serif;max-width:830px}
.ops-page-wrap>.page-heading .heading-actions:empty{display:none!important}
/* V12.3.2 — Operation Overview: restored SHWAPNO EXPRESS dark theme.
   All rules are scoped to this page; other modules retain original styling. */
.ops-overview{
 --ops-bg:#180b10;--ops-elev:#260d15;--ops-panel:#1b0c11;--ops-border:#67303c;
 --ops-text:#fff0f2;--ops-muted:#c7a1ac;--ops-red:#ff4058;--ops-green:#44d5a1;
 --ops-blue:#80adf6;--ops-amber:#f9ca72;
 display:grid;gap:18px;min-width:0;color:var(--ops-text);font:400 13px/1.55 Inter,'DM Sans',sans-serif;
}
.ops-overview :is(.ops-hero,.ops-metric-card,.panel){min-width:0;max-width:100%;box-sizing:border-box}
.ops-overview .panel{background:linear-gradient(148deg,#270d16 0%,#160b10 82%);border:1px solid #66303d;border-radius:17px;box-shadow:0 12px 28px #0005;overflow:hidden;color:#fff0f2}
.ops-overview .panel-head{padding:19px 20px 15px;border-bottom:1px solid #49232d;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ops-overview .panel-head h2{margin:0;color:#fff4f5;font:800 clamp(18px,1.6vw,22px)/1.14 'Barlow Condensed',Inter,sans-serif;letter-spacing:.18px}
.ops-overview .panel-head p{margin:6px 0 0;color:#bb919e;font:400 12px/1.45 Inter,sans-serif}
.ops-overview .panel-body{padding:19px 20px 22px}
.ops-overview .tag{border:1px solid #70323f;background:#351421;color:#ffd7df;border-radius:999px;font:700 11px/1.15 Inter,sans-serif;padding:7px 10px;white-space:nowrap}
.ops-overview .tag.active{background:#123b32;color:#93e9c4;border-color:#265d49}
.ops-overview .tag.warn{background:#43231a;color:#ffd7a2;border-color:#75432b}
.ops-overview .muted{color:#c3a1aa}
.ops-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr);gap:20px;align-items:center;overflow:hidden;padding:25px 27px;border:1px solid #a22a3e;border-radius:20px;background:linear-gradient(113deg,#400b18 0%,#220a11 46%,#150c11 100%);box-shadow:0 12px 36px #0007, inset 0 1px #ba4a5940}
.ops-hero:after{content:'';position:absolute;inset:-55% -20% 10% 50%;z-index:-1;background:radial-gradient(ellipse,#c8103028,transparent 65%);transform:rotate(-10deg);pointer-events:none}
.ops-hero-copy{max-width:680px;min-width:0}
.ops-hero-copy .eyebrow{font:800 10px Inter,sans-serif;letter-spacing:1.7px;color:#ff93a4;text-transform:uppercase}
.ops-hero-copy h2{margin:7px 0 9px;color:#fff5f6;font:italic 800 clamp(28px,3vw,40px)/1.03 'Barlow Condensed',Inter,sans-serif;letter-spacing:.25px}
.ops-hero-copy p{max-width:560px;margin:0;color:#e7b9c3;font:400 13px/1.65 Inter,sans-serif}
.ops-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ops-hero-chips span{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #804053;border-radius:999px;background:#220a14b3;color:#dfacb8;font-size:11px;font-weight:600}
.ops-hero-chips b{font-size:12px;color:#fff5f6}
.ops-hero-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.ops-hero-score{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:115px;padding:15px 14px;border:1px solid #733443;border-radius:14px;background:linear-gradient(145deg,#521829aa,#280d17bb)}
.ops-hero-score small{color:#eab0be;font-size:11px;line-height:1.35;font-weight:700}
.ops-hero-score b{color:#fff9f9;font:800 32px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}
.ops-hero-score span{color:#d5a1b0;font-size:10px;line-height:1.3}
.ops-hero-mini{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;padding:12px 13px;border:1px solid #612b3a;border-radius:13px;background:#1a0a12cc}
.ops-hero-mini>div{min-width:0;display:grid;gap:4px;flex:1;text-align:center}
.ops-hero-mini>div+div{border-left:1px solid #542734}
.ops-hero-mini small{color:#ae8593;font:600 10px/1.35 Inter,sans-serif}
.ops-hero-mini b{color:#fff0f2;font:800 17px/1.2 Inter,sans-serif;font-variant-numeric:tabular-nums}
.ops-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;min-width:0}
.ops-metric-card{padding:18px;border:1px solid #66303e;border-radius:16px;background:linear-gradient(145deg,#310f1b 0%,#1a0c11 80%);box-shadow:0 8px 22px #0005,inset 0 1px #e7546820}
.ops-metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;margin-bottom:9px}
.ops-metric-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;background:#6c1b2a;color:#ffacb8;font:700 19px Inter,sans-serif}
.ops-metric-label{color:#e4bdc5;font:700 11px/1.4 Inter,sans-serif;letter-spacing:.1px;text-align:right}
.ops-metric-value{margin-top:5px;color:#fff7f7;font:800 clamp(26px,2.2vw,35px)/1.15 Inter,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
.ops-metric-foot{margin-top:7px;color:#a9818d;font:500 11px/1.5 Inter,sans-serif}
.ops-insight-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr) minmax(0,.92fr);gap:16px;align-items:stretch}
.ops-insight-grid.secondary{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr)}
.ops-insight-grid>.panel{min-width:0;height:100%}
/* Seven-day service trend */
.ops-trend-chart{min-height:210px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:end;padding:6px 0 4px}
.ops-trend-day{display:flex;min-width:0;flex-direction:column;align-items:center;gap:9px}
.ops-bars{height:164px;width:100%;display:flex;align-items:end;justify-content:center;gap:5px;padding:0 1px;border-bottom:1px solid #57313a;background:repeating-linear-gradient(0deg,transparent 0 39px,#4a263019 40px 41px);border-radius:3px}
.ops-bar{display:block;width:min(21px,38%);height:var(--h,0%);min-height:0;max-height:100%;border-radius:7px 7px 2px 2px;transform-origin:bottom;animation:ops-bar-up .9s cubic-bezier(.2,.8,.2,1) both}
.ops-bar.recv{background:linear-gradient(180deg,#ff536c,#a91b35)}
.ops-bar.done{background:linear-gradient(180deg,#56dfb0,#1e856b)}
.ops-trend-meta{width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;color:#c49faa;font-size:10px;text-align:center;white-space:nowrap}
.ops-trend-meta b{color:#f8ebee;font-size:11px}
.ops-chart-legend{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-top:9px;color:#d0aab5;font:600 11px Inter,sans-serif}
.ops-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.ops-chart-legend i{display:inline-block;width:11px;height:11px;border-radius:3px}
.ops-chart-legend .recv{background:#ff536c}.ops-chart-legend .done{background:#56dfb0}
/* Donut and severity summary */
.ops-donut-layout{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center}
.ops-donut-wrap{display:grid;place-items:center}
.ops-donut{width:124px;height:124px;border-radius:50%;position:relative;background:var(--donut);animation:ops-appear .8s ease both;box-shadow:0 0 25px #ff2f4120}
.ops-donut:before{content:'';position:absolute;inset:19px;border-radius:50%;background:#230d15;border:1px solid #542933}
.ops-donut-center{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}
.ops-donut-center b{font:800 26px/1 Inter,sans-serif;color:#fff5f5}
.ops-donut-center span{font-size:10px;color:#b78c9b;font-weight:700}
.ops-key-list{display:grid;gap:8px;min-width:0}
.ops-key-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}
.ops-swatch{width:9px;height:9px;border-radius:3px;background:var(--sw)}
.ops-key-item>div{min-width:0;display:flex;flex-direction:column;gap:1px}
.ops-key-item b{font-size:11px;color:#f6e9eb;line-height:1.25;overflow-wrap:anywhere}
.ops-key-item small{font-size:10px;color:#ab8491}
.ops-key-item>span:last-child{font:700 11px Inter,sans-serif;color:#ffb4c1;font-variant-numeric:tabular-nums}
/* operations pulse */
.ops-pulse-grid{display:grid;grid-template-columns:1fr;gap:16px}
.ops-ring-card{display:grid;grid-template-columns:116px 1fr;gap:14px;align-items:center}
.ops-ring{width:112px;height:112px;position:relative;border-radius:50%;background:conic-gradient(#ff4b61 0 var(--angle),#54303a var(--angle) 360deg);box-shadow:0 0 22px #ff314522;animation:ops-appear .85s ease both}
.ops-ring:before{content:'';position:absolute;inset:12px;border-radius:50%;background:#211017;border:1px solid #582735}
.ops-ring-inner{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ops-ring-inner b{font:800 22px/1 Inter,sans-serif;color:#fff}
.ops-ring-inner span{font-size:10px;color:#b98c9b;margin-top:3px}
.ops-ring-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.ops-ring-copy strong{font:800 30px/1.1 Inter,sans-serif;color:#59dbab}
.ops-ring-copy span{font-size:12px;font-weight:800;color:#fff3f3}
.ops-ring-copy small{font-size:10px;line-height:1.5;color:#ba8e9b}
.ops-status-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ops-status-item{display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;padding:11px;border:1px solid #663140;border-radius:12px;background:#260e17}
.ops-status-item>div{display:flex;justify-content:space-between;align-items:center;gap:7px}
.ops-status-item small{font-size:10px;color:#d4a7b4;font-weight:700;line-height:1.35}
.ops-status-item b{font:800 19px/1 Inter,sans-serif;color:#fff}
.ops-status-item>span{font-size:10px;color:#af8291;line-height:1.4}
.ops-status-item.tone-teal{border-color:#285e51;background:#122d27}.ops-status-item.tone-teal small{color:#a6e6cd}
.ops-status-item.tone-blue{border-color:#2d4e75;background:#112539}.ops-status-item.tone-blue small{color:#acd2ff}
.ops-status-item.tone-rose{border-color:#824050;background:#361521}.ops-status-item.tone-rose small{color:#ffb5c0}
.ops-status-item.tone-gold{border-color:#7f5430;background:#342216}.ops-status-item.tone-gold small{color:#f7d8a4}
/* department workload heatmap */
.ops-heat-wrap{display:grid;gap:14px}
.ops-heat-legend{display:flex;align-items:center;justify-content:flex-end;gap:9px;color:#c49eaa;font-size:10px}
.ops-heat-gradient{width:100px;height:9px;border-radius:12px;background:linear-gradient(90deg,#34151e,#853041,#f24459)}
.ops-heat-table{display:grid;gap:7px;min-width:0}
.ops-heat-head,.ops-heat-row{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(4,minmax(40px,1fr));gap:6px;align-items:center;min-width:0}
.ops-heat-head span{font-size:10px;font-weight:800;color:#b88e9b;text-align:center}
.ops-heat-head span:first-child{text-align:left}
.ops-heat-label{padding-right:5px;font-size:11px;font-weight:700;color:#f1d9df;line-height:1.4;overflow-wrap:anywhere}
.ops-heat-cell{min-height:36px;border:1px solid #804253;border-radius:9px;display:grid;place-items:center;background:rgba(235,55,79,calc(.10 + (var(--heat,0) * .68)));color:#fff4f6;font-variant-numeric:tabular-nums;font-size:12px}
.ops-heat-cell b{font-weight:800}.ops-heat-empty{padding:15px;color:#aa8490;font-size:12px}
/* readiness / stock cards */
.ops-readiness-grid,.ops-stock-grid{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:14px;align-items:start}
.ops-readiness-hero,.ops-stock-hero{border:1px solid #633442;border-radius:13px;background:linear-gradient(135deg,#541c2e 0%,#2a101a 90%);padding:17px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ops-readiness-hero b,.ops-stock-hero b{font:800 26px/1.1 Inter,sans-serif;color:#fff3f4;font-variant-numeric:tabular-nums}
.ops-readiness-hero span,.ops-stock-hero span{color:#f7beca;font-size:11px;font-weight:800;line-height:1.45}
.ops-readiness-hero small,.ops-stock-hero small{color:#c399a5;font-size:10px;line-height:1.5}
.ops-progress-list{display:grid;gap:13px}
.ops-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0;align-items:center}
.ops-progress-row>span{font:600 11px/1.35 Inter,sans-serif;color:#ddb5c0}
.ops-progress-row>b{color:#fff1f4;font:800 12px Inter,sans-serif;font-variant-numeric:tabular-nums}
.ops-progress{height:7px;background:#4c2630;border-radius:99px;overflow:hidden;grid-column:1/-1;grid-row:2}
.ops-progress i{display:block;height:100%;background:linear-gradient(90deg,#e62f4a,#ff8899);border-radius:99px;transform-origin:left;animation:ops-bar-across .9s ease both}
.ops-stock-counters{display:grid;gap:8px}
.ops-stock-counters>div{padding:10px;border:1px solid #51303a;border-radius:11px;background:#241018;display:flex;flex-direction:column;gap:3px}
.ops-stock-counters small{color:#b996a0;font-size:10px}.ops-stock-counters b{color:#fff1f4;font:800 17px Inter,sans-serif;font-variant-numeric:tabular-nums}
/* concise activity lists */
.ops-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.ops-list-grid>.panel{min-width:0}
.ops-list{display:grid;gap:8px}
.ops-list-item{min-width:0;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:start;border:1px solid #522631;border-radius:11px;background:#240f17;transition:border-color .2s,transform .2s}
.ops-list-item:hover{border-color:#a44c5c;transform:translateY(-1px)}
.ops-list-item.alert{border-color:#82414a;background:#33141c}
.ops-list-item>div{min-width:0}.ops-list-item b{display:block;color:#f9eced;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.ops-list-item span{display:block;color:#b78c9a;font-size:10px;line-height:1.45;margin-top:4px;overflow-wrap:anywhere}
.ops-list-item strong{border:1px solid #643440;background:#391421;padding:4px 6px;border-radius:7px;color:#ffc0cc;font-size:10px;max-width:90px;text-align:center;overflow-wrap:anywhere}
/* motion is subtle and respectful of accessibility preferences */
.ops-anim-card{animation:ops-fade .55s ease both}.ops-overview .delay-1{animation-delay:.02s}.ops-overview .delay-2{animation-delay:.06s}.ops-overview .delay-3{animation-delay:.10s}.ops-overview .delay-4{animation-delay:.14s}.ops-overview .delay-5{animation-delay:.18s}.ops-overview .delay-6{animation-delay:.22s}
@keyframes ops-fade{from{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes ops-bar-up{from{transform:scaleY(.08)}to{transform:scaleY(1)}}
@keyframes ops-bar-across{from{transform:scaleX(.06)}to{transform:scaleX(1)}}
@keyframes ops-appear{from{opacity:.4;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
@media(max-width:1500px){.ops-insight-grid,.ops-insight-grid.secondary{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.ops-insight-grid>.panel:last-child{grid-column:1/-1}.ops-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.ops-hero{grid-template-columns:1fr}.ops-insight-grid,.ops-insight-grid.secondary{grid-template-columns:1fr 1fr}.ops-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-donut-layout{grid-template-columns:124px minmax(0,1fr)}}
@media(max-width:820px){.ops-insight-grid,.ops-insight-grid.secondary,.ops-list-grid{grid-template-columns:1fr}.ops-insight-grid>.panel:last-child{grid-column:auto}.ops-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-hero{padding:20px}.ops-heat-table{overflow:auto}}
@media(max-width:520px){.ops-overview{gap:12px}.ops-hero-board{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ops-metric-card{padding:13px}.ops-metric-value{font-size:23px}.ops-metric-label{font-size:10px}.ops-hero-mini{gap:3px;padding:10px 6px}.ops-hero-mini b{font-size:14px}.ops-overview .panel-head{padding:15px}.ops-overview .panel-body{padding:15px}.ops-donut-layout{grid-template-columns:1fr}.ops-ring-card{grid-template-columns:112px minmax(0,1fr)}.ops-readiness-grid,.ops-stock-grid{grid-template-columns:1fr}.ops-heat-table{min-width:450px}.ops-heat-wrap{overflow-x:auto;max-width:100%}}
@media(prefers-reduced-motion:reduce){.ops-overview *,.ops-overview *::before,.ops-overview *::after{animation:none!important;transition:none!important}}

/* V12.4.7: custom issue type/category inputs are only visible after "Other / describe". */
#ticket-custom-type[hidden],#ticket-custom-category[hidden]{display:none!important}
#ticket-custom-type:not([hidden]),#ticket-custom-category:not([hidden]){display:block;margin-top:8px;width:100%}
