:root{--navy:#0f172a;--navy-2:#1e293b;--blue:#1d4ed8;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--bg:#f8fafc;--surface:#fff;--panel:#fff;--panel-soft:#f8fafc;--critical:#dc2626;--high:#ea580c;--normal:#2563eb;--low:#16a34a;--success:#15803d;--warning:#b45309;--radius:14px;--shadow:0 1px 2px rgba(15,23,42,.04),0 12px 28px rgba(15,23,42,.06);--sans:Pretendard,'Noto Sans KR','Segoe UI',sans-serif;--mono:ui-monospace,'Cascadia Code','SFMono-Regular',Consolas,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 var(--sans)}.shell{min-height:100vh;display:grid;grid-template-columns:254px 1fr}.sidebar{color:#dfeafc;padding:20px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;padding:3px 12px 25px;color:#fff;font-weight:700;font-size:18px}.brand-mark{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;font:700 14px var(--mono)}.workspace{font:11px var(--mono);letter-spacing:.08em;color:#9fb7d2;padding:0 12px 9px}.nav{display:grid;gap:3px}.nav button{font:inherit;color:inherit;background:none;border:0;text-align:left;padding:10px 12px;cursor:pointer;display:flex;gap:11px;align-items:center}.nav button:hover,.nav button.active{color:#fff}.nav .section{font-size:11px;color:#9aaec2;letter-spacing:.08em;padding:18px 12px 5px}.nav .indent{padding-left:34px;font-size:13px}.side-user{margin-top:auto;border:1px solid rgba(255,255,255,.08);padding:11px;display:flex;gap:9px;align-items:center}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}.side-user b{display:block;color:#f4f8ff;font-size:12px}.side-user small{color:#b6c7dd}.main{min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.breadcrumb{font-size:18px;font-weight:700;color:var(--ink)}.breadcrumb small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:2px}.top-actions{display:flex;align-items:center;gap:15px}.local-clock{font:12px var(--mono);color:#475569}.icon-button{border:1px solid var(--line);border-radius:8px;background:#fff;width:34px;height:34px;cursor:pointer;position:relative;color:var(--ink)}.count{position:absolute;top:-6px;right:-6px;background:var(--critical);color:#fff;border-radius:9px;min-width:16px;font-size:10px;padding:2px}.page{padding:24px 28px 40px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px}.page-head h1{font-size:22px;margin:0 0 4px}.page-head p{color:var(--muted);margin:0}.button{color:white;padding:9px 13px;font:600 13px var(--sans);cursor:pointer}.button.secondary{border:1px solid #cbd6e1}.button.danger{background:var(--critical)}.button.sm{padding:6px 9px;font-size:12px}.shift-card{border:1px solid var(--line);padding:16px;position:relative;overflow:hidden}.shift-card .team{font-weight:700}.shift-card .tz{font:11px var(--mono);color:var(--muted);margin-left:7px}.shift-card .time{font:600 24px var(--mono);margin:12px 0 8px}.shift-card .time small{font:11px var(--sans);font-weight:400;color:var(--muted)}.online{color:var(--success);font-size:12px}.offline{color:var(--muted);font-size:12px}.timeline{height:12px;background:#dbe3ec;border-radius:8px;overflow:hidden;margin:4px 0 14px;display:flex}.timeline span{display:block;height:100%}.timeline .kr{width:57%;background:#347ecb}.timeline .us{width:43%;background:#587396}.kpi strong{font-size:25px}.kpi.critical strong{color:var(--critical)}.dashboard-grid{display:grid;grid-template-columns:minmax(430px,45fr) minmax(330px,35fr) minmax(220px,20fr);gap:15px}.panel{border:1px solid var(--line);min-width:0}.panel-head{padding:14px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:14px;margin:0}.panel-body{padding:13px 15px}.alert{margin-bottom:16px;border:1px solid #f0c5c8;border-radius:8px;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;color:#8a2731}.task-list{width:100%;border-collapse:collapse;font-size:12px}.task-list th{text-align:left;font-size:10px;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:8px 6px;border-bottom:1px solid var(--line);white-space:nowrap}.task-list td{padding:10px 6px;border-bottom:1px solid #eef1f5;vertical-align:middle}.task-list tr:last-child td{border:0}.task-list tbody tr{cursor:pointer}.task-id{font:600 11px var(--mono);color:#41617e;white-space:nowrap}.task-title{font-weight:600;max-width:180px}.subtext{font-size:10px;color:var(--muted);display:block;margin-top:2px}.badge{font-size:10px;font-weight:700;border-radius:10px;padding:3px 7px;white-space:nowrap;display:inline-block}.priority-critical{background:#fde8ea;color:#ae2531}.priority-high{background:#fff0e4;color:#bc5915}.priority-normal{background:#e8f1fd;color:#2365b4}.priority-low{background:#e9f5ed;color:#34734a}.status-new{background:#edf1f5;color:#57697b}.status-in-progress{background:#e6f0ff;color:#2166bd}.status-waiting{background:#fff3db;color:#9e650d}.status-handover{background:#f1eafe;color:#6842a4}.status-scheduled{background:#e7f7f7;color:#217478}.status-completed{background:#e6f5ed;color:#28734b}.status-cancelled{background:#f2f3f5;color:#6c727a}.handover-card{border-left:3px solid #7052af;padding:2px 0 2px 12px;margin-bottom:14px}.handover-card h3{font-size:13px;margin:0 0 5px}.handover-card p{font-size:12px;color:#53687d;line-height:1.55;margin:7px 0}.meta{font-size:11px;color:var(--muted)}.candidate{border:1px solid #e2d8f2;background:#fbf9ff;border-radius:7px;padding:9px;margin:9px 0;font-size:12px}.todo{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid #eef1f5;align-items:flex-start}.todo:last-child{border:0}.todo input{margin-top:3px;accent-color:var(--blue)}.todo.done span{text-decoration:line-through;color:var(--muted)}.event-row{padding:9px 0;border-bottom:1px solid #eef1f5;font-size:12px}.event-row:last-child{border:0}.event-row time{font:11px var(--mono);color:#53687d;display:block}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.input,.select,textarea{font:13px var(--sans);border:1px solid #cfd9e4;border-radius:7px;background:#fff;color:var(--ink);padding:8px 9px}.input:focus,.select:focus,textarea:focus{outline:2px solid #bdd8f7}.input.search{width:255px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.data-table th{color:#5d7185;text-align:left;font-size:11px;padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap}.data-table td{font-size:12px;padding:12px;border-bottom:1px solid #edf0f4}.data-table tr:last-child td{border:0}.data-table tbody tr{cursor:pointer}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:var(--muted);font-size:12px}.empty{padding:38px 15px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;color:#465b6d}.field .input,.field .select,.field textarea{width:100%}.field textarea{min-height:88px;resize:vertical}.detail-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,1fr);gap:16px}.detail-header{border:1px solid var(--line);padding:18px;margin-bottom:16px}.detail-header .heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.detail-header h1{font-size:21px;margin:0}.description{white-space:pre-wrap;line-height:1.7;color:#405468}.info-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid #edf0f4;margin-top:18px}.info-list div{padding:10px 0;border-bottom:1px solid #edf0f4}.info-list label{display:block;color:var(--muted);font-size:11px}.timeline-event{border-left:2px solid #d4e0ed;margin-left:6px;padding:0 0 17px 15px;position:relative}.timeline-event:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#4d84be;left:-5px;top:4px}.timeline-event h4{margin:0;font-size:12px}.timeline-event p{margin:4px 0;color:#566b80;font-size:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(14,28,45,.45);z-index:20;display:grid;place-items:center;padding:20px}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 16px 50px rgba(0,0,0,.22)}.modal-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:16px;margin:0}.close{border:0;background:none;font-size:22px;color:#64778a;cursor:pointer}.modal-body{padding:18px}.modal-foot{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:18px;margin-bottom:15px}.tabs button{border:0;background:none;padding:9px 1px;color:var(--muted);font:600 12px var(--sans);cursor:pointer}.tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue)}.settings-row{padding:13px 0;border-bottom:1px solid #edf0f4;display:flex;gap:16px;align-items:center}.settings-row:last-child{border:0}.settings-row > div:first-child{flex:1}.settings-row h3{font-size:13px;margin:0 0 3px}.settings-row p{font-size:11px;color:var(--muted);margin:0}.toast{background:#1e354e;color:#fff;padding:10px 13px;border-radius:7px;box-shadow:0 4px 15px rgba(0,0,0,.17);margin-top:8px;font-size:12px}#toast-root{position:fixed;right:22px;bottom:22px;z-index:40}.hidden{display:none!important}
@media(max-width:1100px){.shell{grid-template-columns:66px 1fr}.sidebar{padding:20px 8px}.brand{padding:3px 10px 25px}.brand span,.workspace,.nav .section,.nav button span,.side-user div{display:none}.nav button{justify-content:center;padding:11px}.nav .indent{padding-left:11px}.side-user{justify-content:center;padding:9px}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid>.panel:last-child{grid-column:span 2}.kpi-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.page{padding:17px}.topbar{padding:0 17px}.dashboard-grid,.detail-layout{grid-template-columns:1fr}.dashboard-grid>.panel:last-child{grid-column:auto}.kpi-grid{grid-template-columns:repeat(2,1fr)}.top-actions .local-clock{display:none}.form-grid{grid-template-columns:1fr}.task-list th:nth-child(5),.task-list td:nth-child(5),.task-list th:nth-child(6),.task-list td:nth-child(6){display:none}}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-head{min-width:0;padding:8px;font-size:11px;font-weight:700;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-cell{min-width:0;min-height:108px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.cal-cell>b{display:block;margin-bottom:5px}.muted-day{background:#fbfcfd;color:#aab4bf}.today-cell>b{color:var(--blue)}.cal-event{display:block;min-width:0;width:100%;border:0;background:#e7f0fd;color:#245d9f;border-radius:3px;text-align:left;font:10px/1.35 var(--sans);padding:3px 4px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.language-float{position:fixed;right:24px;bottom:24px;z-index:12;border:0;border-radius:22px;color:#fff;padding:10px 15px;font:600 12px var(--sans);cursor:pointer}
.shift-overview{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;margin-bottom:17px}.shift-overview-main,.shift-countdown{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.shift-overview-main{padding:16px 18px}.shift-overview-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.shift-overview-head h2{font-size:14px;margin:0 0 2px}.shift-overview-head p{font-size:11px;color:var(--muted);margin:0}.coverage-badge{font:700 10px var(--mono);letter-spacing:.03em;color:#176346;background:#e8f5ed;border-radius:999px;padding:5px 8px}.shift-row{display:grid;grid-template-columns:146px minmax(0,1fr);gap:16px}.shift-row+.shift-row{border-top:1px solid #edf1f5}.shift-row-label{padding-top:4px}.shift-row-label b{display:block;font-size:13px}.shift-row-label span{display:block;font:10px var(--mono);color:var(--muted);margin-top:2px}.shift-row-meta{display:flex;justify-content:space-between;align-items:center}.shift-row-meta strong{font:700 18px var(--mono);letter-spacing:-.03em}.shift-row-meta strong small{font:10px var(--sans);color:var(--muted);letter-spacing:0}.shift-row-meta .online,.shift-row-meta .offline{font:700 10px var(--mono)}.shift-rail{position:relative;overflow:visible;border:1px solid #dce5ee}.shift-segment{position:absolute}.shift-now{position:absolute;z-index:2}.shift-now i{position:absolute;border-radius:50%}.shift-now em{position:absolute;top:-15px;left:5px;color:#0f2747;font:700 9px var(--mono);font-style:normal}.shift-axis{display:flex;justify-content:space-between;font:9px var(--mono);color:#8293a6}.shift-range{font:600 10px var(--mono);color:#365069}.shift-range span{font:10px var(--sans);color:var(--muted);margin-left:5px}.shift-countdown{background:#102a43;border-color:#102a43;color:#fff;flex-direction:column}.shift-countdown>span{color:#b9cce0;font:700 10px var(--mono);letter-spacing:.08em}.shift-countdown>strong{font:700 32px var(--mono);letter-spacing:-.06em}.shift-countdown>p{font-size:11px;color:#c3d4e6;margin:0}.shift-countdown>div{border-top:1px solid rgba(255,255,255,.17)}.shift-countdown b{font-size:12px;display:block}.shift-countdown small{display:block;font:10px/1.5 var(--mono);color:#b8cde1;margin-top:3px}@media(max-width:900px){.shift-overview{grid-template-columns:1fr}.shift-countdown{min-height:130px}}@media(max-width:600px){.shift-overview-main{padding:13px}.shift-overview-head{gap:8px}.coverage-badge{font-size:9px}.shift-row{grid-template-columns:1fr;gap:6px}.shift-row-label{display:flex;gap:8px;align-items:center;padding:0}.shift-row-label span{margin:0}.shift-countdown>strong{font-size:28px}}
.dashboard-grid .task-list{table-layout:fixed}.dashboard-grid .task-list th:nth-child(1){width:84px}.dashboard-grid .task-list th:nth-child(2){width:92px}.dashboard-grid .task-list th:nth-child(4){width:110px}.dashboard-grid .task-list th:nth-child(5){width:105px}.dashboard-grid .task-list th:nth-child(6),.dashboard-grid .task-list td:nth-child(6),.dashboard-grid .task-list th:nth-child(7),.dashboard-grid .task-list td:nth-child(7){display:none}.dashboard-grid .task-list td{white-space:nowrap}.dashboard-grid .task-list .task-title,.dashboard-grid .task-list .subtext{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-grid .task-list .task-title{font-size:12px;line-height:1.35}.dashboard-grid .task-list .subtext{line-height:1.35}.candidate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-stat{border:1px solid var(--line);padding:14px 16px}.inventory-stat span{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.inventory-stat strong{display:block;margin-top:5px;font-size:27px;letter-spacing:-.04em}.inventory-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line);background:#fbfdff}.inventory-toolbar .meta{margin-left:auto}.inventory-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#dcfce7;color:#166534}.status-maintenance{background:#fef3c7;color:#b45309}.status-spare{background:#e2e8f0;color:#475569}.inventory-table td{vertical-align:middle}.inventory-table .subtext{margin-top:2px}@media(max-width:760px){.inventory-toolbar .meta{width:100%;margin-left:0}}

/* Enterprise cloud / infrastructure theme */
:root{--navy:#102a43;--navy-2:#163b63;--blue:#1e4f91;--blue-hover:#173e72;--ink:#172b4d;--muted:#5f7188;--line:#d8e2ed;--bg:#f8fafc;--surface:#fff;--panel:#fff;--panel-soft:#f8fafc;--radius:8px;--shadow:0 1px 2px rgba(15,42,67,.04)}
.sidebar{background:var(--navy);border-right-color:#0b2038}.brand-mark,.avatar{background:#2c6098;box-shadow:none}.nav button{border-radius:6px;transition:none}.nav button:hover,.nav button.active{background:#1b4778;box-shadow:none}.side-user{background:#163b63;border-color:#285681;border-radius:7px}.topbar{background:#fff;backdrop-filter:none}.button{background:var(--blue);border:1px solid var(--blue);border-radius:6px}.button:hover{background:var(--blue-hover);border-color:var(--blue-hover);filter:none}.button.secondary{background:#fff;color:#1e4f91;border-color:#c5d4e4}.button.secondary:hover{background:#f5f9fd;border-color:#9fb9d4}.shift-card,.kpi,.panel,.detail-header,.inventory-stat{background:#fff;border-color:var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}.kpi:hover{border-color:#aebfd1}.alert{background:#fff8f8;border-color:#f1c6cb}.input,.select,textarea{border-color:#cbd8e6}.input:focus,.select:focus,textarea:focus{outline-color:#c7dbf1;border-color:#6f9dce}.data-table th,.cal-head{background:#f8fafc}.task-list tbody tr:hover,.data-table tbody tr:hover{background:#f7fafd}.language-float{background:#102a43;box-shadow:0 3px 10px rgba(15,42,67,.2)}.language-float:hover{background:#163b63}
.shift-countdown{min-height:0}.shift-countdown>strong{display:block}.shift-countdown>p{line-height:1.35}
.shift-overview-head{padding-bottom:8px;margin-bottom:0}.shift-overview-head p{display:none}.shift-row{padding:8px 0 7px}.shift-row-meta{margin-bottom:3px}.shift-range{margin-top:3px}.shift-axis{margin-top:3px}.shift-countdown{align-self:stretch;display:flex;justify-content:center;padding:16px 17px}.shift-countdown>strong{font-size:31px;margin:6px 0 2px}.shift-countdown>div{margin-top:12px;padding-top:10px}
.inventory-page .page-head{align-items:center}.inventory-type-grid{display:grid;grid-template-columns:repeat(8,minmax(104px,1fr))}.inventory-type-card{appearance:none;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;cursor:pointer;min-width:0}.inventory-type-card:hover{border-color:#93b1d1;background:#f8fbff}.inventory-type-card.active{background:#edf4fc;border-color:#3973ad;box-shadow:inset 0 0 0 1px #3973ad}.inventory-type-card span{display:block;color:var(--muted);font-size:11px}.inventory-type-card strong{display:block;font:700 25px var(--mono);letter-spacing:-.04em}.inventory-type-card small{display:block;color:#718399;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-overview{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) minmax(250px,1.8fr)}.inventory-overview-stat,.inventory-location-stock{background:#fff;border:1px solid var(--line);border-radius:8px}.inventory-overview-stat span,.inventory-location-stock>span{display:block;font-size:11px;color:var(--muted)}.inventory-overview-stat strong{display:block;font:700 24px var(--mono)}.inventory-location-stock>div{display:flex;gap:6px;flex-wrap:wrap}.inventory-location-stock b{font:600 11px var(--sans);background:#eef4fa;color:#315a83;border-radius:4px;padding:3px 6px}.inventory-location-stock em{font-style:normal;font-family:var(--mono);margin-left:4px}.inventory-location-stock small{color:var(--muted);font-size:11px}.inventory-table th:nth-child(5),.inventory-table td:nth-child(5){display:table-cell}@media(max-width:1200px){.inventory-type-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.inventory-overview{grid-template-columns:repeat(4,minmax(100px,1fr))}.inventory-location-stock{grid-column:1/-1}}@media(max-width:700px){.inventory-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-location-stock{grid-column:1/-1}.inventory-page .page-head{align-items:flex-start}.inventory-table{min-width:640px}}
/* Compact inventory cards and keep manual-sync metadata with its button. */
.inventory-type-grid{gap:8px;margin-bottom:10px}.inventory-type-card{min-height:72px;padding:8px 11px}.inventory-type-card strong{font-size:21px;margin:1px 0}.inventory-type-card small{font-size:9px}.inventory-overview{gap:8px;margin-bottom:11px}.inventory-overview-stat,.inventory-location-stock{padding:8px 11px}.inventory-overview-stat strong{font-size:20px;margin-top:1px}.inventory-location-stock>div{margin-top:4px}.inventory-sync-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.inventory-sync-actions .meta{font-size:10px;line-height:1.25;white-space:nowrap;color:var(--muted)}.inventory-toolbar .meta{display:none}@media(max-width:700px){.inventory-sync-actions{align-items:flex-start;margin-top:9px}.inventory-page .page-head{flex-direction:column}.inventory-type-card{min-height:68px}}

/* Inventory: compact category selector and geographic comparison. */
.inventory-filter-bar{display:flex;align-items:center;gap:13px;margin:0 0 10px;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:8px}.inventory-filter-bar>span{font:700 10px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;white-space:nowrap}.inventory-filter-bar>div{display:flex;gap:6px;flex-wrap:wrap}.inventory-filter-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:5px;background:#f4f7fa;color:#476078;padding:5px 8px;font:600 11px var(--sans);cursor:pointer}.inventory-filter-chip b{font:700 11px var(--mono);color:#163b63}.inventory-filter-chip:hover{background:#eaf2fb}.inventory-filter-chip.active{background:#e4effb;border-color:#9dbcdc;color:#173e72}.inventory-region-card{min-height:104px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 13px}.inventory-total-stats{display:grid;grid-template-columns:repeat(3,auto);gap:9px}.inventory-total-stats span,.inventory-region-stats span{color:var(--muted);font-size:10px;white-space:nowrap}.inventory-total-stats b,.inventory-region-stats b{display:block;color:var(--ink);font:700 16px var(--mono);margin-top:1px}.inventory-region-head{display:flex;justify-content:space-between;align-items:start}.inventory-region-head b{display:block;font-size:13px;color:#173e72}.inventory-region-head span{display:block;font:9px var(--mono);color:var(--muted);margin-top:1px}.inventory-region-head>strong{font:700 24px var(--mono);color:#163b63;line-height:1}.inventory-region-stats{display:flex;gap:15px;margin-top:8px}.inventory-region-stats b{font-size:13px}.inventory-region-locations{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;min-height:17px}.inventory-region-locations span{font-size:10px;color:#315a83;background:#eef4fa;border-radius:4px;padding:2px 5px}.inventory-region-locations span b{font-family:var(--mono);margin-left:3px}.inventory-region-locations small{font-size:10px;color:#93a1b1}@media(max-width:600px){.inventory-filter-bar{align-items:flex-start;flex-direction:column;gap:6px}.inventory-filter-bar>div{width:100%}.inventory-total-stats{width:100%;justify-content:space-between}.inventory-region-card{min-height:96px}}

/* Site cards are direct inventory filters; status values narrow the same site. */
.inventory-site-filter{cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.inventory-site-filter:hover{border-color:#91b2d3;background:#f8fbff}.inventory-site-filter.active{border-color:#3975b0;background:#edf5fd;box-shadow:inset 0 0 0 1px #3975b0}.inventory-region-stat{appearance:none;border:0;background:transparent;padding:0;color:var(--muted);font:inherit;font-size:10px;line-height:1.2;text-align:left;white-space:nowrap;cursor:pointer}.inventory-region-stat b{display:block;color:var(--ink);font:700 13px var(--mono);margin-top:1px}.inventory-region-stat:hover b,.inventory-region-stat.active b{color:#1d5e9f;text-decoration:underline}.inventory-region-stat.active{color:#1d5e9f}.inventory-region-stat:focus-visible,.inventory-site-filter:focus-visible{outline:2px solid #3975b0;outline-offset:2px}

/* Inventory summary status filters. */
.inventory-total-stat{appearance:none;border:0;background:transparent;padding:0;color:var(--muted);font:inherit;font-size:10px;line-height:1.2;text-align:left;white-space:nowrap;cursor:pointer}.inventory-total-stat b{display:block;color:var(--ink);font:700 16px var(--mono);margin-top:1px}.inventory-total-stat:hover b,.inventory-total-stat.active b{color:#1d5e9f;text-decoration:underline}.inventory-total-stat.active{color:#1d5e9f}.inventory-total-stat:focus-visible{outline:2px solid #3975b0;outline-offset:2px}

/* Operational reports. */
.report-kpi-grid{display:grid;gap:10px;margin-bottom:12px}.report-kpi-grid article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 13px}.report-kpi-grid span{display:block;color:var(--muted);font-size:11px}.report-kpi-grid strong{display:block;margin:3px 0;font:700 25px var(--mono);color:#163b63}.report-kpi-grid small{display:block;color:#64788e;font-size:10px}.report-kpi-grid .attention strong{color:#a6640c}.report-kpi-grid .fault strong,.report-health .fault strong{color:#b42330}.report-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:12px}.report-grid-bottom{margin-top:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.report-table{min-width:610px}.report-stock{color:#19704a;font-weight:700}.report-use{color:#1d5e9f;font-weight:700}.report-fault{color:#bd2735;font-weight:700}.report-team-list{display:grid;gap:11px}.report-team-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:end}.report-team-row b{font-size:12px}.report-team-row span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.report-team-row>strong{font:700 18px var(--mono);color:#163b63}.report-bar{grid-column:1/-1;height:6px;border-radius:6px;background:#e8eef5;overflow:hidden}.report-bar i{display:block;height:100%;background:#3d76ae;border-radius:6px}.report-health{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-health>div{border:1px solid #e1e8ef;border-radius:7px;padding:10px;background:#fbfdff}.report-health span{display:block;color:var(--muted);font-size:10px}.report-health strong{display:block;margin-top:3px;font:700 22px var(--mono);color:#163b63}.report-incidents{display:grid;gap:8px}.report-incidents>div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:7px;align-items:start;padding-bottom:8px;border-bottom:1px solid #edf1f5}.report-incidents>div:last-child{border-bottom:0;padding-bottom:0}.report-incidents b{font-size:12px;min-width:0}.report-incidents small{grid-column:2;color:var(--muted);font-size:10px;margin-top:2px}@media(max-width:1050px){.report-kpi-grid{grid-template-columns:repeat(3,1fr)}.report-grid{grid-template-columns:1fr}.report-grid-bottom{grid-template-columns:1fr 1fr}}@media(max-width:650px){.report-kpi-grid{grid-template-columns:repeat(2,1fr)}.report-grid-bottom{grid-template-columns:1fr}.report-health{grid-template-columns:1fr}.reports-page .page-head{flex-direction:column;gap:9px}.report-table{min-width:540px}}

.report-export-actions{display:flex;gap:7px}.task-todo-link{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.task-todo-link:hover{background:#f5f9fd}.handover-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.handover-summary-strip article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 13px}.handover-summary-strip span{display:block;color:var(--muted);font-size:10px}.handover-summary-strip strong{display:block;margin:2px 0;font:700 25px var(--mono);color:#163b63}.handover-summary-strip small{font-size:10px;color:#64788e}.handover-detail-list{display:grid;gap:16px}.handover-detail{border-bottom:1px solid var(--line);padding-bottom:16px}.handover-detail:last-child{border:0;padding-bottom:0}.handover-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.handover-detail>header b{display:block;font:700 13px var(--mono);color:#173e72}.handover-detail>header span,.handover-detail>header small{display:block}.handover-detail>header span{font-size:12px;font-weight:700;margin-top:2px}.handover-detail>header small{color:var(--muted);font-size:10px;margin-top:2px}.handover-focus-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.handover-focus-grid section,.handover-all-notes{border:1px solid #dce6f0;border-radius:7px;padding:10px 11px;background:#fbfdff}.handover-focus-grid .next-action{border-color:#bcd3e8;background:#f3f8fd}.handover-focus-grid .critical-note{border-color:#efd0d4;background:#fff9f9}.handover-focus-grid h3,.handover-all-notes h3,.handover-task-section h3{margin:0;color:#1c426d;font-size:11px}.handover-focus-grid ul,.handover-all-notes ul{margin:7px 0 0;padding-left:17px}.handover-focus-grid li,.handover-all-notes li{font-size:11px;line-height:1.5;margin:2px 0}.handover-focus-grid p,.handover-all-notes p{margin:7px 0 0}.handover-all-notes{margin-top:9px;background:#fff}.handover-task-section>div:first-child{display:flex;justify-content:space-between;align-items:center}@media(max-width:850px){.handover-focus-grid{grid-template-columns:1fr}.handover-summary-strip{grid-template-columns:1fr 1fr}}@media(max-width:540px){.handover-summary-strip{grid-template-columns:1fr}.report-export-actions{width:100%}.report-export-actions .button{flex:1}.handover-detail>header{flex-direction:column}.handover-task-section>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}}

/* Readable handover workspace: compact status, document-like content, one font rhythm. */
@font-face{font-family:Pretendard;src:url('/fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}.handover-page,.handover-page button,.handover-page table{font-family:Pretendard,'Noto Sans KR','Segoe UI',sans-serif}.handover-page .page-head{align-items:center;margin-bottom:14px}.handover-page .page-head h1{font-size:24px;letter-spacing:-.025em}.handover-page .page-head p{font-size:12px}.handover-overview{margin-bottom:12px;border:1px solid #cad8e6;border-left:4px solid #1f5b99;border-radius:8px;background:#fff}.handover-overview>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 15px;border-bottom:1px solid #e6edf4}.handover-overview>header>div:first-child{display:flex;align-items:center;gap:10px}.handover-overview>header span{color:#60758b;font-size:11px;font-weight:600}.handover-overview>header b{color:#173e72;font-size:13px;letter-spacing:.01em}.handover-overview-actions{display:flex;align-items:center;gap:8px}.handover-overview dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0 15px}.handover-overview dl>div{min-width:0;padding:10px 15px 11px 0}.handover-overview dl>div+div{padding-left:15px;border-left:1px solid #e6edf4}.handover-overview dt{color:#6b7f93;font-size:10px}.handover-overview dd{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#142f4b;font-size:14px;font-weight:700}.handover-current-panel .panel-head{padding:12px 16px}.handover-current-panel .panel-body{padding:0 17px 15px}.handover-reading-grid{display:grid;grid-template-columns:1.1fr .9fr}.handover-reading-section{min-width:0;padding:16px 18px 16px 0;border-bottom:1px solid #e6edf4}.handover-reading-section:nth-child(even){padding-right:0;padding-left:18px;border-left:1px solid #e6edf4}.handover-reading-section h3,.handover-task-section h3{margin:0;color:#173e72;font-size:13px;letter-spacing:-.01em}.handover-reading-section h3:before{content:'';display:inline-block;width:3px;height:13px;margin-right:7px;border-radius:2px;background:#2f78ba;vertical-align:-2px}.handover-reading-section.caution h3:before{background:#c43b47}.handover-reading-section ul{margin:8px 0 0;padding-left:19px}.handover-reading-section li{margin:4px 0;color:#334e68;font-size:12px;line-height:1.55}.handover-reading-section p{margin:8px 0 0}.handover-task-section{margin-top:14px}.handover-task-section>div:first-child{margin-bottom:8px}.handover-task-section h3 span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:10px;background:#e7f0fa;color:#1d5e9f;font-size:10px}.handover-task-table,.handover-candidate-table{min-width:760px;table-layout:fixed}.handover-task-table th:nth-child(1),.handover-candidate-table th:nth-child(1){width:90px}.handover-task-table th:nth-child(2),.handover-candidate-table th:nth-child(2){width:90px}.handover-task-table th:nth-child(4),.handover-candidate-table th:nth-child(4){width:105px}.handover-task-table th:nth-child(5),.handover-candidate-table th:nth-child(5){width:115px}.handover-task-table th:nth-child(6),.handover-candidate-table th:nth-child(6){width:140px}.handover-task-table td,.handover-candidate-table td{padding-top:10px;padding-bottom:10px}.handover-recommended,.handover-history-panel{margin-top:12px}.handover-history-list{display:grid}.handover-history-list article{display:grid;grid-template-columns:150px minmax(250px,.7fr) 180px minmax(260px,1.3fr);gap:12px;align-items:center;padding:11px 15px;border-bottom:1px solid #e7edf3}.handover-history-list article:last-child{border:0}.handover-history-list article>b{color:#1d5e9f;font-size:11px}.handover-history-list article>span{display:flex;gap:6px;color:#3d556d;font-size:11px}.handover-history-list article>span strong{color:#718399;font-size:9px}.handover-history-list time{color:#6a7e92;font-size:10px}.handover-history-list p{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334e68;font-size:11px}@media(max-width:900px){.handover-overview dl{grid-template-columns:1fr 1fr}.handover-overview dl>div:nth-child(3){padding-left:0;border-left:0;border-top:1px solid #e6edf4}.handover-overview dl>div:nth-child(4){border-top:1px solid #e6edf4}.handover-reading-grid{grid-template-columns:1fr}.handover-reading-section,.handover-reading-section:nth-child(even){padding:14px 0;border-left:0}.handover-history-list article{grid-template-columns:130px 1fr 155px}.handover-history-list p{grid-column:1/-1}}@media(max-width:600px){.handover-page .page-head{align-items:flex-start;flex-direction:column;gap:10px}.handover-page .page-head .button{width:100%}.handover-overview>header{align-items:flex-start}.handover-overview dl{grid-template-columns:1fr}.handover-overview dl>div,.handover-overview dl>div+div{padding:9px 0;border-left:0;border-top:1px solid #e6edf4}.handover-overview dl>div:first-child{border-top:0}.handover-history-list article{grid-template-columns:1fr}.handover-history-list p{grid-column:auto}}

@media print{.sidebar,.topbar,.language-float,.reports-page .page-head .report-export-actions{display:none!important}.shell{display:block!important}.main{display:block!important}.reports-page{font-size:10px}.reports-page .page-head{margin-bottom:10px}.report-kpi-grid{gap:6px;margin-bottom:7px}.report-kpi-grid article,.panel{box-shadow:none!important;break-inside:avoid}.report-grid{gap:7px}.report-grid-bottom{margin-top:7px}.report-kpi-grid strong{font-size:20px}.report-table{min-width:0}.report-incidents>div,.report-team-row{break-inside:avoid}}

/* Emergency field dispatch workflow. */
.dispatch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.dispatch-summary article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 13px}.dispatch-summary span{display:block;font-size:10px;color:var(--muted)}.dispatch-summary strong{display:block;margin:2px 0;font:700 25px var(--mono);color:#163b63}.dispatch-summary small{font-size:10px;color:#64788e}.dispatch-table{min-width:980px}.dispatch-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap;background:#edf1f5;color:#526579}.dispatch-requested{background:#fff3db;color:#9b650d}.dispatch-dispatched{background:#e7f0fd;color:#225f9e}.dispatch-on-site{background:#fde8ea;color:#ad2633}.dispatch-resolved{background:#e6f5ed;color:#237246}.dispatch-closed{background:#edf1f5;color:#5d6c7a}.dispatch-actions{display:flex;gap:5px;flex-wrap:wrap}.dispatch-task-link{display:block;border:0;background:transparent;padding:0;margin-top:3px;color:#1e5d9c;font:600 11px var(--mono);cursor:pointer}.dispatch-task-link:hover{text-decoration:underline}.active-dispatch-panel{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:12px;border:1px solid #ecb6bc;background:#fff5f6;border-radius:8px}.active-dispatch-panel>div:first-child span{display:block;font:700 9px var(--mono);letter-spacing:.07em;color:#ae2632}.active-dispatch-panel>div:first-child b{display:block;font-size:12px;color:#7e202a;margin-top:2px}.active-dispatch-panel>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.active-dispatch-panel button{border:1px solid #edc4c8;background:#fff;border-radius:5px;padding:5px 7px;color:#6f2530;font:600 10px var(--sans);cursor:pointer}.active-dispatch-panel button strong{margin-left:4px}@media(max-width:700px){.dispatch-summary{grid-template-columns:1fr}.dispatch-page .page-head{flex-direction:column;gap:9px}.active-dispatch-panel{align-items:flex-start;flex-direction:column}.active-dispatch-panel>div:last-child{justify-content:flex-start}}
.report-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}

/* Dispatch action stages and precise time records. */
.dispatch-flow{display:flex;align-items:stretch;gap:7px;margin-bottom:12px}.dispatch-flow article{flex:1;background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px 10px}.dispatch-flow b{display:block;font:700 10px var(--mono);color:#1d4f83}.dispatch-flow span{display:block;margin-top:3px;font-size:10px;color:var(--muted);line-height:1.35}.dispatch-flow>i{align-self:center;color:#7a91a8;font-style:normal}.dispatch-title-link{display:block;border:0;background:transparent;padding:0;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.dispatch-title-link:hover b{color:#1d5e9f;text-decoration:underline}.dispatch-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.dispatch-time-grid article{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 11px}.dispatch-time-grid span{display:block;color:var(--muted);font-size:10px}.dispatch-time-grid strong{display:block;color:#163b63;font:700 13px/1.35 var(--mono);margin-top:3px}.dispatch-time-grid small{display:block;margin-top:2px;color:#718399;font-size:9px}.dispatch-time-grid .time-total{background:#f4f8fd;border-color:#c9dcec}.dispatch-time-grid .time-total strong{font-size:20px}@media(max-width:900px){.dispatch-flow{display:grid;grid-template-columns:1fr 1fr}.dispatch-flow>i{display:none}.dispatch-time-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.dispatch-flow,.dispatch-time-grid{grid-template-columns:1fr}}

.license-table{min-width:1100px}.license-table th:nth-child(1),.license-table td:nth-child(1){min-width:260px}.license-table th:nth-child(3),.license-table td:nth-child(3){min-width:190px}.license-period{font-family:var(--mono);font-size:11px!important;white-space:nowrap}.license-pool-meta{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.license-quantity{font:700 13px var(--mono);text-align:center}.license-quantity.available{color:#16804a}.license-quantity.quantity-invalid{color:#c62832;background:#fff1f2}.license-region-summary .inventory-total-stats{grid-template-columns:repeat(4,auto)}.inventory-status.status-active{background:#dcfce7;color:#147a42}.inventory-status.status-expiring{background:#fef3c7;color:#a45d08}.inventory-status.status-expired{background:#fee2e2;color:#c3222a}@media(max-width:600px){.license-region-summary .inventory-total-stats{grid-template-columns:repeat(2,1fr);gap:8px 20px}}
.renewal-table{min-width:980px}.renewal-table th:first-child,.renewal-table td:first-child{min-width:220px}.renewal-table .license-period{min-width:120px}.renewal-region-summary .inventory-total-stats{grid-template-columns:repeat(4,auto)}.inventory-status.status-unclassified{background:#e2e8f0;color:#475569}@media(max-width:600px){.renewal-region-summary .inventory-total-stats{grid-template-columns:repeat(2,1fr);gap:8px 20px}}

.inventory-table .subtext.task-id{display:none}

.inventory-table{min-width:880px}.asset-serial{font-family:var(--mono);font-size:11px!important;white-space:nowrap}.inventory-status.status-in-stock{background:#dcfce7;color:#147a42}.inventory-status.status-in-use{background:#dbeafe;color:#1d4ed8}.inventory-status.status-fault{background:#fee2e2;color:#c3222a}

.leave-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.leave-summary>div{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 13px}.leave-summary span{font-size:11px;color:var(--muted)}.leave-summary strong{font:700 24px var(--mono);color:#163b63}.leave-approval-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px}.leave-table{min-width:720px}.leave-actions{white-space:nowrap;display:flex;gap:5px}.leave-team-list{display:grid;gap:8px}.leave-team-list>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #edf1f5}.leave-team-list>div:last-child{padding-bottom:0;border:0}.leave-team-list b{font-size:12px}.leave-team-list span{font-size:10px;color:var(--muted);text-align:right}.leave-request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.leave-request-form .wide{grid-column:1/-1}@media(max-width:900px){.leave-approval-grid{grid-template-columns:1fr}.leave-approval-grid>aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leave-approval-grid>aside .panel{margin-top:0!important}}@media(max-width:600px){.leave-summary{grid-template-columns:1fr}.leave-approval-grid>aside{grid-template-columns:1fr}.leave-request-form{grid-template-columns:1fr}.leave-request-form .wide{grid-column:auto}}

.calendar-actions{display:flex;gap:8px}.cal-holiday{display:block;min-width:0;width:100%;border-radius:3px;font:10px/1.35 var(--sans);padding:3px 4px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-holiday-kr{background:#fce8eb;color:#aa3342}.cal-holiday-la{background:#e7f0fd;color:#285f9f}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;font-size:11px;color:var(--muted)}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-legend i{width:8px;height:8px;border-radius:2px}.calendar-legend .kr{background:#f3bdc5}.calendar-legend .la{background:#b9d4f5}@media(max-width:600px){.calendar-actions{width:100%;margin-top:9px}.calendar-actions .button{flex:1;font-size:11px}}

.calendar-panel-head{gap:10px;flex-wrap:wrap}.calendar-navigator{display:flex;align-items:center;gap:6px}.calendar-navigator .select{padding:6px 8px;font-size:12px}@media(max-width:600px){.calendar-panel-head{align-items:flex-start}.calendar-navigator{width:100%}.calendar-navigator .select{flex:1}.calendar-panel-head>.meta{width:100%}}

.shift-now.edge-right em{left:auto;right:6px;text-align:right}

.shift-now em{display:none}.shift-rail{height:18px;border-radius:5px;border-color:#cbd9e7;background:repeating-linear-gradient(90deg,#edf3f8 0,#edf3f8 calc(25% - 1px),#fff calc(25% - 1px),#fff 25%)}.shift-segment{top:-1px;height:18px;border-radius:4px}.shift-segment.kr{background:linear-gradient(90deg,#1479d0,#258ee4)}.shift-segment.us{background:linear-gradient(90deg,#6f55ca,#8b6de3)}.shift-now i{width:8px;height:8px;left:-4px;top:-2px;background:#fff;border:2px solid #102a43;box-shadow:0 0 0 1px #102a43}
.shift-row:has(.offline) .shift-segment{background:#aebdcb}.shift-now{width:3px;margin-left:-1px;background:#0d2d50}.shift-now i{display:none}

.shift-now{top:-4px;height:26px}

.report-period{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;background:#fff;border:1px solid #d7e3ef;border-radius:10px}.report-period-buttons,.report-page-tabs{display:flex;gap:7px;flex-wrap:wrap}.report-period .button.active,.report-page-tabs button.active{background:#1f5b99;color:#fff;border-color:#1f5b99}.report-custom-dates{display:flex;align-items:center;gap:7px;color:#5c7289;font-size:12px}.report-custom-dates .input{width:136px;height:34px;padding:5px 8px}.report-page-tabs{margin:4px 0 10px;border-bottom:1px solid #d7e3ef}.report-page-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#5c7289;padding:10px 14px;font-weight:700;cursor:pointer}.report-page-tabs button.active{background:transparent;color:#1f5b99;border-color:#1f5b99}.report-period-note{margin:0 0 14px;color:#5c7289;font-size:13px}.report-section-gap{margin-top:14px}.management-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:820px){.report-period{align-items:flex-start;flex-direction:column}.management-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.report-custom-dates{width:100%}}

.license-expiry-alert{margin:0 0 16px;border:1px solid #f2c98b;border-left:5px solid #d97706;background:#fffaf1}.license-expiry-alert header{display:flex;justify-content:space-between}.license-expiry-alert header span{display:block;color:#a85d00;font:700 10px/1.3 var(--mono,monospace);letter-spacing:.08em}.license-expiry-alert h2{color:#6b3c00}.license-expiry-alert p{margin:0;color:#8a5d22;font-size:13px}.license-alert-list{display:grid}.license-alert-row{display:grid;align-items:center;background:#fff;border:1px solid #f4dfbd}.license-alert-row span,.license-alert-row time{color:#5c7289}.license-alert-row em{font-style:normal;font-weight:700;color:#b45309}

.reports-page .report-table{width:100%;min-width:0;table-layout:fixed}.reports-page .report-table th,.reports-page .report-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reports-page .report-table th:nth-child(1){width:14%}.reports-page .report-table th:nth-child(2){width:38%}.reports-page .report-table th:nth-child(3),.reports-page .report-table th:nth-child(4){width:16%}.reports-page .report-table th:nth-child(5){width:16%}

/* Modern report workspace: three topics, card-led presentation, no spreadsheet export. */
.reports-modern{max-width:1480px}.reports-modern-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px;padding:20px 22px;border-radius:12px;background:#102f4c;color:#fff}.reports-modern-head>div>span{color:#7dc4ff;font:700 10px var(--mono);letter-spacing:.12em}.reports-modern-head h1{margin:4px 0 2px;font-size:28px}.reports-modern-head p{margin:0;color:#c9d8e6;font-size:13px}.reports-modern-head .button{background:#fff;color:#174f83;border-color:#fff}.report-period.modern{display:grid;grid-template-columns:auto minmax(280px,1fr) auto}.report-period-summary{display:grid;justify-items:end;gap:2px;color:#173e72}.report-period-summary strong{font:700 12px var(--mono)}.report-period-summary small{color:#71869b;font:500 10px var(--mono)}
.report-topic-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}.report-topic-tabs button{display:flex;align-items:center;gap:10px;border:1px solid #cfdae6;border-radius:9px;background:#fff;padding:12px 14px;color:#5c7289;font:700 13px var(--sans);text-align:left;cursor:pointer}.report-topic-tabs button span{color:#8ba0b5;font:700 11px var(--mono)}.report-topic-tabs button.active{border-color:#2875bc;background:#eaf3fc;color:#174f83;box-shadow:inset 0 -3px 0 #2875bc}.report-topic-tabs button.active span{color:#2875bc}.report-topic-body{display:grid;gap:14px}
.report-hero-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.report-hero-kpis article{position:relative;min-height:96px;padding:15px 16px;border:1px solid #d7e3ef;border-radius:10px;background:#fff;overflow:hidden}.report-hero-kpis span{display:block;color:#60778f;font-size:11px}.report-hero-kpis strong{display:block;margin-top:7px;color:#122f4c;font:700 30px var(--mono)}.report-hero-kpis small{position:absolute;left:55px;bottom:17px;color:#60778f;font-size:10px}.report-hero-kpis .urgent{border-color:#e8c78b}.report-hero-kpis .urgent strong{color:#a76500}.report-hero-kpis .danger{border-color:#efbdc2}.report-hero-kpis .danger strong{color:#b42330}
.report-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px}.report-visual-panel{border:1px solid #d7e3ef;border-radius:10px;background:#fff;overflow:hidden}.report-visual-panel>header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e6edf4}.report-visual-panel>header span,.report-section-heading>div>span{display:block;color:#2875bc;font:700 9px var(--mono);letter-spacing:.1em}.report-visual-panel h2,.report-section-heading h2{margin:3px 0 0;color:#173e72;font-size:16px}.report-bars{display:grid;gap:11px;padding:16px}.report-bars>div{display:grid;grid-template-columns:74px 1fr 28px;gap:9px;align-items:center;font-size:12px}.report-bars i{height:10px;border-radius:8px;background:#edf2f7;overflow:hidden}.report-bars i b{display:block;height:100%;border-radius:8px;background:#2875bc}.report-bars strong{text-align:right;font:700 12px var(--mono)}.report-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:10px 5px}.report-focus-grid article{padding:15px;border-right:1px solid #e6edf4}.report-focus-grid article:last-child{border:0}.report-focus-grid span,.report-focus-grid small{display:block;color:#6a7f94;font-size:10px}.report-focus-grid strong{display:block;margin:6px 0;color:#173e72;font:700 27px var(--mono)}
.report-activity>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.report-activity article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:5px 10px;padding:12px 15px;border-bottom:1px solid #e6edf4}.report-activity article:nth-child(odd){border-right:1px solid #e6edf4}.report-activity .id{color:#2875bc;font:700 10px var(--mono)}.report-activity article>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.report-activity .status{grid-column:1;color:#4a657f;font-size:10px}.report-activity article>span:not(.id):not(.status),.report-activity em{color:#6a7f94;font-size:10px;font-style:normal}.report-activity em{text-align:right}
.report-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-asset-card{padding:13px 14px;border:1px solid #d7e3ef;border-radius:9px;background:#fff}.report-asset-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.report-asset-card strong{font:700 22px var(--mono);color:#173e72}.report-asset-card p{display:flex;gap:13px;margin:8px 0;color:#6a7f94;font-size:10px}.report-asset-card p b{color:#334f69}.report-stack{display:flex;height:7px;border-radius:6px;background:#edf2f7;overflow:hidden}.report-stack i{height:100%}.report-stack .stock,.report-section-heading .stock{background:#20a45b}.report-stack .use,.report-section-heading .use{background:#2875bc}.report-stack .fault,.report-section-heading .fault{background:#d63442}.report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-top:4px}.report-section-heading>p{display:flex;align-items:center;gap:6px;margin:0;color:#6a7f94;font-size:10px}.report-section-heading>p i{width:8px;height:8px;border-radius:2px;margin-left:5px}
.report-site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:11px;align-items:start}.report-site-card{border:1px solid #d7e3ef;border-radius:10px;background:#fff;overflow:hidden}.report-site-card>header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#173e72;color:#fff}.report-site-card>header small{color:#7dc4ff;font:700 9px var(--mono)}.report-site-card h3{margin:2px 0 0;font-size:18px}.report-site-card>header p{display:flex;gap:10px;margin:0;color:#c9d8e6;font-size:10px}.report-site-card>header p b{color:#fff}.report-model-list>div{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 11px;border-top:1px solid #e6edf4}.report-model-list .type{color:#2875bc;font-size:10px;font-weight:700}.report-model-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.report-model-list p{display:flex;gap:4px;margin:0}.report-model-list em{display:grid;place-items:center;min-width:24px;height:22px;border-radius:4px;background:#f0f4f8;color:#526a80;font:700 9px var(--mono);font-style:normal}.report-model-list em.stock{color:#148347;background:#e6f6ed}.report-model-list em.use{color:#1d5f9e;background:#e5f0fb}.report-model-list em.fault{color:#b42330;background:#fbeaec}
.report-license-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px}.report-license-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:13px 14px;border:1px solid #edcf9d;border-left:4px solid #d48710;border-radius:8px;background:#fff}.report-license-card span{color:#a76500;font:700 9px var(--mono)}.report-license-card h3{margin:3px 0 2px;color:#173e72;font-size:13px}.report-license-card p{margin:0;color:#6a7f94;font-size:10px}.report-license-card>strong{align-self:center;color:#a76500;font:700 18px var(--mono)}.report-license-card>em{grid-column:1/-1;color:#8a5d22;font-size:10px;font-style:normal}
.report-people-list,.report-leave-list{display:grid}.report-people-list article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #e6edf4}.report-people-list article:last-child,.report-leave-list article:last-child{border-bottom:0}.report-people-list .avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6f1fb;color:#1d5f9e;font-weight:700}.report-people-list p,.report-people-list small{display:block;margin:1px 0;color:#6a7f94;font-size:10px}.report-people-list em{color:#148347;font-size:10px;font-style:normal}.report-leave-list article{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:13px 15px;border-bottom:1px solid #e6edf4}.report-leave-list article div span{margin-left:8px;color:#2875bc;font-size:10px}.report-leave-list p{margin:0;color:#6a7f94;font:10px var(--mono)}.report-leave-list em{grid-row:1/span 2;grid-column:2;align-self:center;color:#526a80;font-size:10px;font-style:normal}
@media(max-width:1000px){.report-hero-kpis{grid-template-columns:repeat(3,1fr)}.report-dashboard-grid{grid-template-columns:1fr}.report-activity>div{grid-template-columns:1fr}.report-activity article:nth-child(odd){border-right:0}.report-asset-grid{grid-template-columns:repeat(2,1fr)}.report-period.modern{grid-template-columns:1fr}.report-period-summary{justify-items:start}}

/* PDF export options: checkbox and label stay on one centered row. */
.pdf-modal-options{display:grid;gap:8px}.pdf-option-card{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;min-height:48px;padding:11px 14px;border:1px solid #d7e3ef;border-radius:8px;background:#fff;cursor:pointer}.pdf-option-card:hover{border-color:#86b4df;background:#f8fbff}.pdf-option-card input{width:18px;height:18px;margin:0;align-self:center;accent-color:#1f5b99}.pdf-option-card>span{color:#1f3653;font-size:14px;font-weight:700;line-height:1.35}
@media(max-width:650px){.reports-modern-head{align-items:flex-start;flex-direction:column}.reports-modern-head .button{width:100%}.report-topic-tabs{grid-template-columns:1fr}.report-hero-kpis,.report-hero-kpis.management,.report-asset-grid{grid-template-columns:1fr 1fr}.report-site-grid{grid-template-columns:1fr}.report-model-list>div{grid-template-columns:68px minmax(0,1fr)}.report-model-list p{grid-column:2}.report-activity article{grid-template-columns:62px minmax(0,1fr)}.report-activity em{display:none}}

/* Confirmed custom report range and space-efficient license alerts. */
.report-custom-dates .report-date-apply{height:34px;min-width:54px;padding:5px 12px}.license-expiry-alert{margin-bottom:10px;padding:10px 12px;border-left-width:4px;border-radius:8px}.license-expiry-alert header{align-items:center;gap:10px}.license-expiry-alert header span{font-size:8px}.license-expiry-alert h2{display:flex;align-items:center;gap:7px;margin:2px 0 0;font-size:13px}.license-expiry-alert h2 b{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 5px;border-radius:9px;background:#fff0d5;color:#9b5c00;font:700 9px var(--mono)}.license-expiry-alert header .button{padding:5px 9px;font-size:10px}.license-alert-list{gap:4px;margin-top:7px}.license-alert-row{grid-template-columns:minmax(150px,1.2fr) minmax(80px,.55fr) minmax(135px,.75fr) minmax(145px,.85fr);gap:7px;padding:5px 7px;border-radius:5px;font-size:11px;line-height:1.25}.license-alert-row b,.license-alert-row span,.license-alert-row time,.license-alert-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.license-alert-more{margin-top:5px;color:#94621e;font-size:9px;text-align:right}.license-expiry-alert.compact{padding:8px 11px}.license-expiry-alert.compact h2{font-size:12px}.license-expiry-alert.compact .license-alert-list{margin-top:5px}.license-expiry-alert.compact .license-alert-row{padding:4px 7px;font-size:10px}.license-expiry-alert.compact .license-alert-more{margin-top:3px}@media(max-width:820px){.license-alert-row{grid-template-columns:minmax(0,1fr) auto}.license-alert-row span,.license-alert-row em{display:none}.license-expiry-alert header{flex-direction:row}.report-custom-dates{flex-wrap:wrap}.report-custom-dates .report-date-apply{flex:0 0 auto}}

/* Manager-curated technical runbooks */
.runbook-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.runbook-summary article{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.runbook-summary span,.runbook-summary small{display:block;color:var(--muted);font-size:11px}.runbook-summary strong{display:block;font:700 25px var(--mono);color:#163b63}.runbook-toolbar{display:flex;gap:8px;align-items:center;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.runbook-toolbar .search{margin-right:auto}.runbook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.runbook-card{display:flex;flex-direction:column;min-height:215px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:border-color .15s,transform .15s}.runbook-card:hover{border-color:#7fa8d2;transform:translateY(-1px)}.runbook-card header,.runbook-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.runbook-card h3{margin:13px 0 6px;color:#102f4c;font-size:16px}.runbook-card>p{display:-webkit-box;min-height:44px;margin:0 0 13px;overflow:hidden;color:#60758a;font-size:12px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.runbook-card footer{margin-top:auto;padding-top:12px;border-top:1px solid #e8eef4;color:#718398;font-size:10px}.runbook-status,.runbook-default{display:inline-block;padding:3px 7px;border-radius:10px;font-size:9px;font-weight:700}.runbook-status.approved{background:#e6f5ed;color:#19704a}.runbook-status.draft{background:#fff3db;color:#9e650d}.runbook-status.deprecated{background:#edf1f5;color:#64748b}.runbook-default{margin-left:5px;background:#e7f0fb;color:#1d5f9e}.runbook-taxonomy{display:flex;flex-wrap:wrap;gap:5px}.runbook-taxonomy span,.task-classification span{padding:3px 7px;border-radius:4px;background:#edf4fb;color:#285d91;font-size:10px}.runbook-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:var(--radius);background:#fff}
.runbook-detail-head{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:22px;padding:20px;border:1px solid var(--line);border-top:4px solid #2875bc;border-radius:var(--radius);background:#fff}.runbook-detail-head h1{margin:5px 0 7px;color:#102f4c;font-size:25px}.runbook-detail-head p{max-width:780px;margin:0;color:#5d7185}.runbook-detail-head>div:last-child{text-align:right}.runbook-detail-head dl{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:13px 0 0;text-align:left}.runbook-detail-head dl div,.runbook-side-card dl div{padding-top:7px;border-top:1px solid #e7edf3}.runbook-detail-head dt,.runbook-side-card dt{color:var(--muted);font-size:9px}.runbook-detail-head dd,.runbook-side-card dd{margin:2px 0 0;font-size:11px;font-weight:600}.runbook-scope{display:grid;grid-template-columns:1fr 1fr .7fr;gap:1px;margin:12px 0;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.runbook-scope>div{padding:11px 13px;background:#fff}.runbook-scope span{color:var(--muted);font-size:10px}.runbook-scope p{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 0}.runbook-scope b{padding:3px 7px;border-radius:4px;background:#edf4fb;color:#285d91;font-size:10px}.runbook-scope em{color:#718398;font-size:11px;font-style:normal}.runbook-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.7fr);gap:14px;align-items:start}.runbook-content-grid main{display:grid;gap:12px}.runbook-section,.runbook-side-card{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.runbook-section header{display:flex;align-items:center;gap:9px;margin-bottom:11px}.runbook-section header span{font:700 11px var(--mono);color:#2875bc}.runbook-section h2,.runbook-side-card h2{margin:0;color:#163b63;font-size:14px}.runbook-section ul,.runbook-section ol,.runbook-side-card ul{margin:0;padding-left:20px;color:#40566d}.runbook-section li,.runbook-side-card li{margin:7px 0}.runbook-section.procedure ol{padding:0;list-style:none;counter-reset:step}.runbook-section.procedure li{position:relative;min-height:30px;margin:0;padding:7px 8px 7px 41px;border-bottom:1px solid #edf1f5;counter-increment:step}.runbook-section.procedure li:last-child{border:0}.runbook-section.procedure li:before{content:counter(step);position:absolute;left:6px;top:5px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8f2fc;color:#1e5c99;font:700 10px var(--mono)}.runbook-content-grid aside{display:grid;gap:12px}.runbook-side-card>span{display:block;margin-bottom:4px;color:#2875bc;font:700 9px var(--mono);letter-spacing:.08em}.runbook-side-card.warning{border-left:4px solid #d97706;background:#fffaf1}.runbook-side-card.warning>span{color:#a65d00}.runbook-side-card.review{background:#f8fafc}.runbook-side-card dl{margin:10px 0 0}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.choice-grid label{padding:7px 8px;border:1px solid #dce5ee;border-radius:5px;background:#f9fbfd;font-size:11px;font-weight:500}.choice-grid input{margin-right:6px;accent-color:#2875bc}.choice-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.runbook-form textarea{min-height:84px}.runbook-default-check{display:flex!important;align-items:center;gap:7px;padding:9px;border:1px solid #dce5ee;border-radius:6px;background:#f8fbfe}.runbook-default-check input{accent-color:#2875bc}
.task-classification{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f5}.task-runbook-link{border-bottom:1px solid #edf1f5}.task-runbook-link:last-child{border:0}.task-runbook-link>span{padding:3px 6px;border-radius:4px;background:#e7f0fb;color:#1d5f9e;font-size:9px;font-weight:700}.task-runbook-link b,.task-runbook-link small{display:block}.task-runbook-link b{font-size:12px}.task-runbook-link small{margin-top:2px;color:var(--muted);font-size:9px}.runbook-empty-state{display:grid;gap:4px;padding:8px 0}.runbook-empty-state b{font-size:12px}.runbook-empty-state span{color:var(--muted);font-size:10px}
.task-checklist-progress{display:flex;align-items:center;gap:8px}.task-checklist-progress b{font:700 10px var(--mono);color:#285d91}.task-checklist-progress i{display:block;width:90px;height:6px;overflow:hidden;border-radius:5px;background:#e7edf4}.task-checklist-progress span{display:block;height:100%;border-radius:5px;background:#2875bc}
@media(max-width:1150px){.runbook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid,.choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.runbook-summary,.runbook-grid,.runbook-detail-head,.runbook-scope,.runbook-content-grid{grid-template-columns:1fr}.runbook-toolbar{align-items:stretch;flex-direction:column}.runbook-toolbar .search{width:100%;margin:0}.runbook-detail-head>div:last-child{text-align:left}.choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Editable runbook taxonomy and shared master data */
.runbook-head-actions{display:flex;gap:8px;align-items:center}.taxonomy-settings-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.taxonomy-list{padding-top:4px;padding-bottom:4px}.taxonomy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.taxonomy-row:last-child{border-bottom:0}.taxonomy-row b,.taxonomy-row small{display:block}.taxonomy-row b{font-size:12px;color:#153754}.taxonomy-row small{margin-top:2px;color:var(--muted);font-size:10px}.taxonomy-row>span,.master-status{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e8f5ed;color:#24714b;font-size:9px;font-weight:700}.taxonomy-row.inactive{opacity:.55}.taxonomy-row.inactive>span,.master-status{background:#edf1f5;color:#617284}.master-status.active{background:#e8f5ed;color:#24714b}.taxonomy-symptoms-panel{margin-top:14px}.symptom-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.symptom-group{min-width:0;padding:11px;border:1px solid #dfe7ef;border-radius:8px;background:#fbfdff}.symptom-group header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.symptom-group header b{color:#153754;font-size:12px}.symptom-group header span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#e6f0fb;color:#1f609f;font:700 9px var(--mono)}.symptom-group>div{display:flex;flex-wrap:wrap;gap:5px}.symptom-group small{color:var(--muted);font-size:10px}.symptom-chip{border:1px solid #d6e3ef;border-radius:5px;background:#fff;padding:5px 7px;color:#355a7c;font:500 10px var(--sans);cursor:pointer}.symptom-chip:hover{border-color:#7fa8d2;background:#f3f8fd}.symptom-chip.inactive{opacity:.45;text-decoration:line-through}.taxonomy-none{grid-column:1/-1;padding:8px;color:var(--muted);font-size:11px;border:1px dashed #dce5ee;border-radius:5px}.taxonomy-relation-checks{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.symptom-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.runbook-head-actions{width:100%;flex-wrap:wrap}.taxonomy-settings-grid,.symptom-groups{grid-template-columns:1fr}.taxonomy-relation-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}.collaboration-control{display:grid;gap:7px}.organization-tokens,.organization-detail-tokens{display:flex;flex-wrap:wrap;gap:6px}.organization-tokens:empty{display:none}.organization-token,.organization-detail-token{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:5px;background:#eef5fc;color:#265f96;font-size:10px;font-weight:600}.organization-token button{border:0;background:transparent;color:#4c7296;font:700 15px/1 var(--sans);padding:0;cursor:pointer}.organization-token button:hover{color:#b4232f}.organization-add{display:flex;gap:6px}.organization-add .input{min-width:0;flex:1}.organization-info-wide{grid-column:1/-1}.organization-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf1f5;color:#526579;font-size:9px;font-weight:700;white-space:nowrap}.organization-type.internal{background:#e7f0fb;color:#205f9d}.organization-type.customer{background:#e8f5ed;color:#237246}.organization-type.vendor{background:#fff0e4;color:#aa5d18}.organization-type.carrier{background:#f0eafa;color:#6844a5}.organization-master-panel .panel-head>div{min-width:0}.organization-master-panel .panel-head .meta{display:block;margin-top:2px}.organization-master-table td:last-child,.organization-master-table th:last-child{text-align:right}
@media(max-width:760px){.organization-add{align-items:stretch;flex-direction:column}}

/* 5. Dark mode theme for 24/7 shift operations. */
body.theme-dark{
  --bg:#0b1320;
  --surface:#111d2e;
  --panel:#111d2e;
  --panel-soft:#16263b;
  --ink:#e2e8f0;
  --muted:#8ba1b7;
  --line:#1f334d;
  --shadow:0 1px 3px rgba(0,0,0,.35);
  background:#0b1320;
  color:#e2e8f0;
}

/* Task detail: readable Activity & History cards. */
.task-activity-panel .panel-body{padding:12px 14px 14px}.activity-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #d9e3ed}.activity-comment-form .input{width:100%;min-height:36px;padding:7px 10px;font-size:12px;background:#fbfdff;border-color:#bdcede}.activity-comment-form .button{min-width:106px;padding-inline:13px;font-size:12px}.task-activity-list{position:relative;display:grid;gap:8px}.task-activity-list:before{content:'';position:absolute;left:11px;top:12px;bottom:12px;width:2px;background:#cbd9e7}.task-activity-item{position:relative;padding-left:30px}.task-activity-marker{position:absolute;z-index:1;left:6px;top:16px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#8ba1b7;box-shadow:0 0 0 2px #cbd9e7}.task-activity-card{overflow:hidden;border:1px solid #d6e1eb;border-left:3px solid #9badbf;border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(16,47,76,.04)}.task-activity-item.is-comment .task-activity-marker{background:#2574b9;box-shadow:0 0 0 2px #a9c9e6}.task-activity-item.is-comment .task-activity-card{border-color:#c4d8eb;border-left-color:#2574b9;background:#fbfdff}.task-activity-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;background:#f7f9fc;border-bottom:1px solid #e0e7ef}.task-activity-item.is-comment .task-activity-head{background:#edf5fc;border-bottom-color:#d2e2f1}.task-activity-actor{display:flex;align-items:center;gap:7px;min-width:0}.task-activity-avatar{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#dfe7ef;color:#36536f;font-size:10px;font-weight:800}.task-activity-item.is-comment .task-activity-avatar{background:#d4e8f9;color:#155a96}.task-activity-actor>div{display:flex;align-items:center;gap:6px;min-width:0}.task-activity-kind{display:inline-flex;align-items:center;min-height:19px;padding:2px 6px;border-radius:4px;background:#e7edf3;color:#52677c;font-size:9px;font-weight:800;letter-spacing:.025em;white-space:nowrap}.task-activity-item.is-comment .task-activity-kind{background:#d9ecfb;color:#155a96}.task-activity-actor strong{overflow:hidden;color:#17324d;font-size:11.5px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.task-activity-time{display:grid;justify-items:end;flex:0 0 auto;padding-left:10px;border-left:1px solid #d8e2eb;font-style:normal}.task-activity-time span{color:#7a8da1;font-size:8px;font-weight:700;letter-spacing:.04em}.task-activity-time b{margin-top:1px;color:#3d5872;font:600 9.5px var(--mono);white-space:nowrap}.task-activity-message{padding:7px 9px 8px}.task-activity-message>span{display:block;margin-bottom:2px;color:#73879b;font-size:8px;font-weight:800;letter-spacing:.06em}.task-activity-message p{margin:0;color:#243b53;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.task-activity-item.is-comment .task-activity-message p{color:#102f4c;font-size:12.25px}.task-activity-empty{padding:18px;border:1px dashed #cbd8e5;border-radius:6px;color:var(--muted);font-size:12px;text-align:center}
.task-reference-link{display:inline-flex;align-items:center;margin:0 2px;padding:1px 6px;border:1px solid #9bc2e3;border-radius:5px;background:#eaf4fc;color:#165e9d;font:750 10.5px var(--mono);vertical-align:baseline;cursor:pointer}.task-reference-link:hover{border-color:#4f8fc5;background:#dceefa;text-decoration:underline}body.theme-dark .task-reference-link{border-color:#3d6f98;background:#193c5a;color:#bfe2ff}
body.theme-dark .activity-comment-form{border-bottom-color:#29415e}body.theme-dark .activity-comment-form .input{background:#14263b;border-color:#36516e;color:#e2e8f0}body.theme-dark .task-activity-list:before{background:#36516e}body.theme-dark .task-activity-marker{border-color:#111d2e;box-shadow:0 0 0 2px #48617b}body.theme-dark .task-activity-item.is-comment .task-activity-marker{box-shadow:0 0 0 2px #3e75a7}body.theme-dark .task-activity-card{background:#14243a;border-color:#29415e;border-left-color:#60778e}body.theme-dark .task-activity-item.is-comment .task-activity-card{background:#142a43;border-color:#315573;border-left-color:#4d91cb}body.theme-dark .task-activity-head{background:#182a40;border-bottom-color:#29415e}body.theme-dark .task-activity-item.is-comment .task-activity-head{background:#183550;border-bottom-color:#315573}body.theme-dark .task-activity-avatar{background:#29415e;color:#d9e6f2}body.theme-dark .task-activity-item.is-comment .task-activity-avatar{background:#24547b;color:#e3f1fc}body.theme-dark .task-activity-kind{background:#263c54;color:#b8c9da}body.theme-dark .task-activity-item.is-comment .task-activity-kind{background:#24547b;color:#e3f1fc}body.theme-dark .task-activity-actor strong{color:#edf4fb}body.theme-dark .task-activity-time{border-left-color:#36516e}body.theme-dark .task-activity-time span{color:#8ea3b8}body.theme-dark .task-activity-time b{color:#bed0e2}body.theme-dark .task-activity-message>span{color:#8ea3b8}body.theme-dark .task-activity-message p,body.theme-dark .task-activity-item.is-comment .task-activity-message p{color:#e0e9f2}
@media(max-width:650px){.task-activity-panel .panel-body{padding:10px}.activity-comment-form{grid-template-columns:1fr;gap:7px;margin-bottom:10px;padding-bottom:10px}.activity-comment-form .button{width:100%;min-height:34px}.task-activity-list{gap:7px}.task-activity-list:before{left:8px;top:10px;bottom:10px}.task-activity-item{padding-left:24px}.task-activity-marker{left:3px;top:14px}.task-activity-head{align-items:flex-start;flex-direction:column;gap:5px;padding:7px 8px}.task-activity-time{justify-items:start;width:100%;padding:5px 0 0;border-top:1px solid #d8e2eb;border-left:0}.task-activity-message{padding:7px 8px}}

/* Inventory readability refresh: clearer hierarchy, state colors and denser data rows. */
.inventory-page .page-head{margin-bottom:14px}.inventory-page .page-head h1{font-size:24px;letter-spacing:-.025em;color:#102f4c}.inventory-page .inventory-filter-bar{box-shadow:0 1px 2px rgba(16,47,76,.04)}.inventory-page .inventory-filter-bar>span{color:#48627c;font-family:var(--sans);font-size:10px;font-weight:750}.inventory-page .inventory-filter-chip{border-color:#d8e3ed}.inventory-page .inventory-filter-chip b{color:#173e72;font-size:12px}.inventory-page .inventory-filter-chip:hover{background:#edf4fb;border-color:#9bb8d4}
.inventory-page .inventory-hierarchy{border-color:#c6d5e4}.inventory-page .inventory-tree-root{border-left-width:5px}.inventory-page .inventory-tree-root.active{background:#e3eef9}.inventory-page .inventory-tree-root-button small,.inventory-page .inventory-tree-copy small{font-family:var(--sans);font-size:9px;font-weight:800;letter-spacing:.1em;color:#607b96}.inventory-page .inventory-tree-root-button b{color:#102f4c}.inventory-page .inventory-tree-root-button>strong{color:#123f70}.inventory-page .inventory-tree-root .inventory-total-stats{gap:8px;padding:9px 14px;border-left-color:#c4d5e6}.inventory-page .inventory-total-stat{min-width:82px;padding:6px 10px;border:1px solid #d2dfeb;border-radius:6px;background:#fff;color:#526b83;font-size:10px}.inventory-page .inventory-total-stat b{font-size:15px;text-decoration:none!important}.inventory-page .inventory-total-stat[data-inventory-global-status="IN STOCK"] b{color:#08783f}.inventory-page .inventory-total-stat[data-inventory-global-status="IN USE"] b{color:#145da5}.inventory-page .inventory-total-stat[data-inventory-global-status="FAULT"] b{color:#bd2430}.inventory-page .inventory-total-stat[data-inventory-global-status="IN STOCK"].active{background:#e7f7ed;border-color:#7bc89d;color:#08783f}.inventory-page .inventory-total-stat[data-inventory-global-status="IN USE"].active{background:#e7f1fc;border-color:#85b1df;color:#145da5}.inventory-page .inventory-total-stat[data-inventory-global-status="FAULT"].active{background:#fff0f1;border-color:#e3a2a8;color:#bd2430}.inventory-page .inventory-tree-branch+.inventory-tree-branch{border-top-color:#d9e3ed}.inventory-page .inventory-tree-site-row.active,.inventory-page .inventory-tree-branch.expanded>.inventory-tree-site-row{background:#edf4fb}.inventory-page .inventory-tree-node{padding:11px 18px}.inventory-page .inventory-tree-toggle{border-color:#9fb7ce;background:#f8fbff;color:#174f84;font-size:16px}.inventory-page .inventory-tree-copy b{font-size:14px;font-weight:750;color:#152f4c}.inventory-page .inventory-tree-node>strong{font-size:21px;color:#123f70}.inventory-page .inventory-tree-metrics{border-left-color:#d6e1eb}.inventory-page button.inventory-tree-metric[data-inventory-status="IN STOCK"]{background:#f0faf4}.inventory-page button.inventory-tree-metric[data-inventory-status="IN STOCK"] b{color:#08783f}.inventory-page button.inventory-tree-metric[data-inventory-status="IN USE"]{background:#f0f6fd}.inventory-page button.inventory-tree-metric[data-inventory-status="IN USE"] b{color:#145da5}.inventory-page button.inventory-tree-metric[data-inventory-status="FAULT"]{background:#fff5f5}.inventory-page button.inventory-tree-metric[data-inventory-status="FAULT"] b{color:#bd2430}.inventory-page button.inventory-tree-metric:hover{border-color:#9ebbd6!important;box-shadow:0 1px 3px rgba(16,47,76,.08)}.inventory-page button.inventory-tree-metric.active{box-shadow:inset 0 0 0 1px currentColor}.inventory-page .inventory-tree-location-row{border-bottom-color:#dfe7ef}.inventory-page .inventory-tree-location .inventory-tree-copy b{font-size:13px}.inventory-page .inventory-tree-location>strong{font-size:17px}
.inventory-page>.panel{border-color:#c5d4e3;box-shadow:0 4px 14px rgba(16,47,76,.07)}.inventory-page .inventory-toolbar{background:#f5f8fb;border-bottom-color:#ccd9e6}.inventory-page .inventory-toolbar .input.search{width:min(360px,100%);font-size:13px;background:#fff;border-color:#bfcfdf}.inventory-page .inventory-table{border-color:#cbd8e5}.inventory-page .inventory-table th{position:sticky;top:0;z-index:1;border-bottom:2px solid #0f2d4d;font-weight:750}.inventory-page .inventory-table td{border-bottom:1px solid #dce5ee;color:#263b52;line-height:1.45}.inventory-page .inventory-table tbody tr:hover{background:#eaf2fa}.inventory-page .inventory-table td:first-child b{color:#102f4c;font-weight:750}.inventory-page .inventory-table td[data-no-i18n]>b{color:#173e72;font-weight:750}.inventory-page .inventory-table .subtext{margin-top:3px;color:#687d92}.inventory-page .asset-serial{font-size:12px!important;color:#334f69}.inventory-page .inventory-status{border:1px solid transparent;font-weight:800;letter-spacing:.015em}.inventory-page .inventory-status.status-in-stock{background:#e6f7ed;border-color:#b4dfc6;color:#08783f}.inventory-page .inventory-status.status-in-use{background:#e7f1fd;border-color:#bad3ef;color:#145da5}.inventory-page .inventory-status.status-fault{background:#ffebed;border-color:#efbcc1;color:#bd2430}
body.theme-dark .inventory-page .page-head h1{color:#e7eef7}body.theme-dark .inventory-page .inventory-filter-bar,body.theme-dark .inventory-page .inventory-toolbar{background:#14263b;border-color:#29415e}body.theme-dark .inventory-page .inventory-filter-bar>span{color:#9fb4c8}body.theme-dark .inventory-page .inventory-filter-chip{background:#1a2d44;border-color:#314b68;color:#b9c9da}body.theme-dark .inventory-page .inventory-filter-chip b{color:#bfdbfe}body.theme-dark .inventory-page .inventory-filter-chip.active{background:#2d6baa;border-color:#5b91c8;color:#fff}body.theme-dark .inventory-page .inventory-filter-chip.active b{color:#fff}body.theme-dark .inventory-page .inventory-total-stat,body.theme-dark .inventory-page .inventory-tree-metric{background:#172b42;border-color:#34506e!important}body.theme-dark .inventory-page .inventory-tree-site-row.active,body.theme-dark .inventory-page .inventory-tree-branch.expanded>.inventory-tree-site-row,body.theme-dark .inventory-page .inventory-tree-location-row.active{background:#1b3756}body.theme-dark .inventory-page .inventory-tree-copy b,body.theme-dark .inventory-page .inventory-tree-root-button b{color:#e7eef7}body.theme-dark .inventory-page .inventory-table th{background:#102a43;color:#f1f5f9;border-bottom-color:#315a83}body.theme-dark .inventory-page .inventory-table td{color:#d8e3ee;border-bottom-color:#29415e}body.theme-dark .inventory-page .inventory-table tbody tr:nth-child(even){background:#15273c}body.theme-dark .inventory-page .inventory-table tbody tr:hover{background:#1b3653}body.theme-dark .inventory-page .inventory-table td:first-child b,body.theme-dark .inventory-page .inventory-table td[data-no-i18n]>b{color:#e6f0fb}body.theme-dark .inventory-page .inventory-table .subtext{color:#91a7bd}
@media(max-width:650px){.inventory-page .inventory-filter-chip{font-size:11px;padding:5px 8px}.inventory-page .inventory-tree-node{padding:10px 12px}.inventory-page .inventory-tree-metrics{gap:5px}.inventory-page .inventory-tree-metric{min-width:0;padding:5px 7px}.inventory-page .inventory-table th{padding:9px 10px}.inventory-page .inventory-table td{padding:11px 10px;font-size:12px}}

/* Inventory hierarchy: All assets -> SITE -> LOCATION. */
.inventory-hierarchy{margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.inventory-tree-root{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.2fr);align-items:stretch;background:#f8fbff;border-left:4px solid #1e4f91}.inventory-tree-root.active{background:#f2f7fd}.inventory-tree-root-button,.inventory-tree-node{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.inventory-tree-root-button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px}.inventory-tree-root-button:hover{background:#eaf2fb}.inventory-tree-root-button span{min-width:0}.inventory-tree-root-button small,.inventory-tree-copy small{display:block;color:#6d8298;font:700 9px/1.2 var(--mono);letter-spacing:.09em}.inventory-tree-root-button b{display:block;margin-top:2px;font-size:14px}.inventory-tree-root-button>strong{font:700 25px/1 var(--mono);color:#173e72}.inventory-tree-root .inventory-total-stats{display:flex;align-items:center;justify-content:flex-end;gap:25px;padding:10px 16px;border-left:1px solid #dbe6f0}.inventory-tree-sites{border-top:1px solid var(--line)}.inventory-tree-branch+.inventory-tree-branch{border-top:1px solid #e7edf4}.inventory-tree-site-row,.inventory-tree-location-row{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.2fr);align-items:stretch;min-height:58px}.inventory-tree-site-row{background:#fff}.inventory-tree-site-row:hover{background:#f9fbfd}.inventory-tree-site-row.active,.inventory-tree-branch.expanded>.inventory-tree-site-row{background:#f2f7fd}.inventory-tree-node{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 16px}.inventory-tree-node:hover .inventory-tree-copy b{color:#1d5e9f}.inventory-tree-toggle{width:22px;height:22px;display:grid;place-items:center;border:1px solid #b9cadd;border-radius:5px;background:#fff;color:#315a83;font:700 15px/1 var(--mono)}.inventory-tree-copy{min-width:0}.inventory-tree-copy b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.inventory-tree-node>strong{font:700 19px/1 var(--mono);color:#173e72}.inventory-tree-metrics{display:flex;align-items:stretch;justify-content:flex-end;border-left:1px solid #e2e9f1;padding:7px 10px}.inventory-tree-metric{appearance:none;min-width:76px;border:0;border-left:1px solid #e8edf3;background:transparent;padding:3px 12px;color:#64778c;font:inherit;text-align:left}.inventory-tree-metric:first-child{border-left:0}.inventory-tree-metric span{display:block;font-size:9px;white-space:nowrap}.inventory-tree-metric b{display:block;margin-top:1px;color:#183b63;font:700 13px/1.2 var(--mono)}button.inventory-tree-metric{cursor:pointer;border-radius:4px}button.inventory-tree-metric:hover,button.inventory-tree-metric.active{background:#e4effb;color:#1d5e9f}button.inventory-tree-metric.active b{color:#1d5e9f}.inventory-tree-children{position:relative;padding:4px 0 6px 44px;background:#f8fafc;border-top:1px solid #e1e9f1}.inventory-tree-children:before{content:'';position:absolute;left:26px;top:0;bottom:17px;border-left:1px solid #b9c9da}.inventory-tree-location-row{position:relative;min-height:48px;border-bottom:1px solid #e8edf3}.inventory-tree-location-row:last-child{border-bottom:0}.inventory-tree-location-row:before{content:'';position:absolute;left:-18px;top:24px;width:18px;border-top:1px solid #b9c9da}.inventory-tree-location-row.active{background:#eaf3fc;border-radius:6px}.inventory-tree-location{grid-template-columns:12px minmax(0,1fr) auto;padding:7px 14px}.inventory-tree-connector{width:7px;height:7px;border-radius:50%;background:#8ba6c0}.inventory-tree-location-row.active .inventory-tree-connector{background:#1e5e9d;box-shadow:0 0 0 3px #d8e8f7}.inventory-tree-location .inventory-tree-copy b{font-size:12px}.inventory-tree-location>strong{font-size:16px}.inventory-tree-no-location,.inventory-tree-empty{padding:10px 18px 11px 80px;background:#f8fafc;border-top:1px solid #e6edf4;color:var(--muted);font-size:11px}.inventory-tree-empty{padding:24px;text-align:center}.inventory-tree-root-button:focus-visible,.inventory-tree-node:focus-visible,.inventory-tree-metric:focus-visible{outline:2px solid #3975b0;outline-offset:-2px}
body.theme-dark .inventory-hierarchy{background:#16263b;border-color:#1f334d}body.theme-dark .inventory-tree-root,body.theme-dark .inventory-tree-site-row,body.theme-dark .inventory-tree-children,body.theme-dark .inventory-tree-no-location{background:#14243a}body.theme-dark .inventory-tree-root.active,body.theme-dark .inventory-tree-site-row.active,body.theme-dark .inventory-tree-branch.expanded>.inventory-tree-site-row,body.theme-dark .inventory-tree-location-row.active{background:#18314d}body.theme-dark .inventory-tree-root-button,body.theme-dark .inventory-tree-node{color:#e2e8f0}body.theme-dark .inventory-tree-root .inventory-total-stats,body.theme-dark .inventory-tree-metrics,body.theme-dark .inventory-tree-sites,body.theme-dark .inventory-tree-branch+.inventory-tree-branch,body.theme-dark .inventory-tree-children,body.theme-dark .inventory-tree-location-row{border-color:#29415e}body.theme-dark .inventory-tree-toggle{background:#162b45;border-color:#3b5879;color:#bfdbfe}body.theme-dark .inventory-tree-metric{border-color:#29415e;color:#8ba1b7}body.theme-dark .inventory-tree-metric b,body.theme-dark .inventory-tree-node>strong,body.theme-dark .inventory-tree-root-button>strong{color:#bfdbfe}body.theme-dark button.inventory-tree-metric:hover,body.theme-dark button.inventory-tree-metric.active{background:#1e3a5b;color:#93c5fd}
@media(max-width:850px){.inventory-tree-root,.inventory-tree-site-row,.inventory-tree-location-row{grid-template-columns:minmax(190px,.9fr) minmax(330px,1.1fr)}.inventory-tree-root .inventory-total-stats{gap:12px}.inventory-tree-metric{min-width:66px;padding-inline:8px}}
@media(max-width:650px){.inventory-tree-root,.inventory-tree-site-row,.inventory-tree-location-row{grid-template-columns:1fr}.inventory-tree-root .inventory-total-stats,.inventory-tree-metrics{border-left:0;border-top:1px solid #e2e9f1;justify-content:flex-start;padding:7px 10px}.inventory-tree-root .inventory-total-stats{gap:18px}.inventory-tree-metric{flex:1;min-width:0;padding-inline:8px}.inventory-tree-children{padding-left:25px}.inventory-tree-children:before{left:14px}.inventory-tree-location-row:before{left:-11px;width:11px}.inventory-tree-no-location{padding-left:48px}}
body.theme-dark .topbar{background:#111d2e;border-bottom-color:#1f334d}
body.theme-dark .breadcrumb{color:#f1f5f9}
body.theme-dark .breadcrumb small{color:#8ba1b7}
body.theme-dark .local-clock{color:#94a3b8}
body.theme-dark .icon-button{background:#16263b;border-color:#1f334d;color:#e2e8f0}
body.theme-dark .button.secondary{background:#16263b;color:#93c5fd;border-color:#2b486d}
body.theme-dark .button.secondary:hover{background:#1e3654}
body.theme-dark .panel,body.theme-dark .shift-card,body.theme-dark .kpi,body.theme-dark .detail-header,body.theme-dark .inventory-stat,body.theme-dark .inventory-overview-stat,body.theme-dark .inventory-location-stock,body.theme-dark .inventory-filter-bar,body.theme-dark .inventory-region-card,body.theme-dark .runbook-summary article,body.theme-dark .runbook-toolbar,body.theme-dark .runbook-card,body.theme-dark .runbook-detail-head,body.theme-dark .runbook-section,body.theme-dark .runbook-side-card,body.theme-dark .symptom-group,body.theme-dark .symptom-chip,body.theme-dark .report-hero-kpis article,body.theme-dark .report-visual-panel,body.theme-dark .report-asset-card,body.theme-dark .report-site-card,body.theme-dark .report-period,body.theme-dark .report-topic-tabs button,body.theme-dark .leave-summary>div,body.theme-dark .dispatch-summary article,body.theme-dark .dispatch-flow article,body.theme-dark .dispatch-time-grid article,body.theme-dark .aging-stat-card{
  background:#111d2e;
  border-color:#1f334d;
  color:#e2e8f0;
}
body.theme-dark .data-table,body.theme-dark .data-table th,body.theme-dark .cal-head{background:#16263b;border-color:#1f334d;color:#cbd5e1}
body.theme-dark .data-table td{border-bottom-color:#1a2b42}
body.theme-dark .data-table tbody tr:hover,body.theme-dark .task-list tbody tr:hover{background:#162b45}
body.theme-dark .input,body.theme-dark .select,body.theme-dark textarea{background:#16263b;border-color:#2b486d;color:#e2e8f0}
body.theme-dark .input:focus,body.theme-dark .select:focus,body.theme-dark textarea:focus{border-color:#3b82f6;outline-color:#1d4ed8}
body.theme-dark .modal{background:#111d2e;color:#e2e8f0;border:1px solid #1f334d}
body.theme-dark .modal-head,body.theme-dark .modal-foot{border-color:#1f334d}
body.theme-dark .triage-panel{background:#102238;border-color:#1d4ed8}
body.theme-dark .triage-card{background:#152438;border-color:#233d5d}
body.theme-dark .triage-card-title{color:#93c5fd}
body.theme-dark .pdf-option-card{background:#152438;border-color:#1f334d}
body.theme-dark .pdf-option-card b,body.theme-dark .pdf-option-card>span{color:#dbeafe}
body.theme-dark .handover-overview{background:#111d2e;border-color:#29445f;border-left-color:#4c8fca}
body.theme-dark .handover-overview>header,body.theme-dark .handover-overview dl>div+div{border-color:#1f334d}
body.theme-dark .handover-overview>header b,body.theme-dark .handover-overview dd,body.theme-dark .handover-reading-section h3,body.theme-dark .handover-task-section h3{color:#dbeafe}
body.theme-dark .handover-overview>header span,body.theme-dark .handover-overview dt{color:#8ba1b7}
body.theme-dark .handover-reading-section,body.theme-dark .handover-history-list article{border-color:#1f334d}
body.theme-dark .handover-reading-section li,body.theme-dark .handover-history-list article>span,body.theme-dark .handover-history-list p{color:#cbd5e1}
body.theme-dark .handover-history-list time{color:#8ba1b7}
body.theme-dark .report-hero-kpis strong,body.theme-dark .report-focus-grid strong,body.theme-dark .report-bars strong{color:#e2e8f0}
body.theme-dark .report-hero-kpis span,body.theme-dark .report-focus-grid span{color:#8ba1b7}
body.theme-dark .report-bars i{background:#1f334d}
body.theme-dark .reports-modern-head{background:#0e1e33;border:1px solid #1f334d}
body.theme-dark .license-expiry-alert{background:#261d0f;border-color:#92400e}
body.theme-dark .license-expiry-alert h2{color:#fde68a}
body.theme-dark .license-alert-row{background:#191612;border-color:#78350f}
body.theme-dark .shift-overview-main{background:#111d2e;border-color:#1f334d}
body.theme-dark .shift-countdown{background:#0a1728;border-color:#1f334d}
body.theme-dark .theme-toggle-btn{background:#16263b;border-color:#2b486d;color:#e2e8f0}

/* Active shift status highlight. */
.shift-row.is-active-shift{background:#f8fbff;border-left:3px solid #1e3a5f;padding-left:12px;margin-left:-12px;border-radius:4px}
.active-shift-pill{display:inline-flex;padding:2px 7px;border-radius:4px;background:#e2e8f0;color:#1e3a5f;font-size:10px;font-weight:700;letter-spacing:0.3px}
.active-shift-time{font-family:var(--mono);font-size:18px;font-weight:700;color:#1e3a5f}
.shift-rail.active-rail{border-color:#94a3b8;background:#f1f5f9}
.shift-segment.is-working.kr{background:#1e3a5f;border:1px solid #0f2747;box-shadow:0 1px 3px rgba(30,58,95,.2)}
.shift-segment.is-working.us{background:#475569;border:1px solid #334155;box-shadow:0 1px 3px rgba(71,85,105,.2)}
.shift-segment.is-off{background:#e2e8f0!important;border:1px dashed #94a3b8!important;box-shadow:none!important;opacity:0.65}
.active-rail .shift-now{background:#1e3a5f;z-index:3}
.active-rail .shift-now i{background:#1e3a5f;border-color:#fff;box-shadow:0 0 0 1px #1e3a5f}
.active-rail .shift-now em{color:#1e3a5f;font-weight:700}
body.theme-dark .shift-row.is-active-shift{background:#111d2e;border-left-color:#38bdf8}
body.theme-dark .active-shift-pill{background:#1e293b;color:#93c5fd;border-color:#334155}
body.theme-dark .active-shift-time{color:#38bdf8}
body.theme-dark .shift-rail.active-rail{border-color:#334155;background:#0f172a}
body.theme-dark .shift-segment.is-working.kr{background:#2563eb;border-color:#1d4ed8;box-shadow:none}
body.theme-dark .shift-segment.is-working.us{background:#475569;border-color:#334155;box-shadow:none}

/* Regional routing, compact dashboard KPIs and assignment controls */
.shift-overview + .kpi-grid{grid-template-columns:repeat(5,minmax(105px,1fr))}
.shift-overview + .kpi-grid .kpi:last-child{display:block}
.shift-overview + .kpi-grid .kpi{min-height:72px;padding:9px 14px}
.shift-overview + .kpi-grid .kpi strong{font-size:23px;line-height:1.1;margin-top:4px}
.assignment-field{padding:13px;border:1px solid #d8e3ef;border-radius:9px;background:#f8fbff}
.assignment-control{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:stretch}
.assignment-team{display:flex;flex-direction:column;justify-content:center;border:1px solid #cbd8e6;border-radius:7px;background:#fff;padding:6px 11px}
.assignment-team span{font-size:10px;color:var(--muted)}
.assignment-team b{font-size:13px;color:#163b63}
.assignment-field>small{display:block;margin-top:7px;color:var(--muted);font-size:10px}
.triage-panel{border:1px solid #c9d9ea;background:#f8fbff;border-radius:10px;margin-bottom:14px;padding:12px 14px}
.triage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.triage-head h2{font-size:14px;margin:0;color:#123354}
.triage-list{display:grid;gap:7px}
.triage-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid #dce6f0;border-radius:8px;padding:9px 10px}
.triage-card-title{display:flex;gap:8px;align-items:center;min-width:0;color:#143f6b}
.triage-card-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.triage-card-meta{display:flex;gap:8px;align-items:center;margin-top:3px;color:var(--muted);font-size:10px}
.triage-card-actions{display:flex;align-items:center;gap:7px}
.triage-assign-select{width:190px}
.cal-shift-chip{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;min-width:0;margin:2px 0;padding:3px 5px;border-radius:4px;font-size:10px;line-height:1.3;border:1px solid #c8d8e8}
.cal-shift-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.cal-shift-chip time{flex:none;font:600 9px var(--mono);color:#526579}
.cal-shift-chip.work-kr{background:#edf5fd;color:#174f86}
.cal-shift-chip.work-us{background:#eef1f5;border-color:#d4dbe3;color:#475569}
.calendar-legend .work-shift{background:#607d9c}
body.theme-dark .assignment-field{background:#102238;border-color:#233d5d}
body.theme-dark .assignment-team{background:#16263b;border-color:#2b486d}
body.theme-dark .assignment-team b{color:#93c5fd}
body.theme-dark .cal-shift-chip.work-kr{background:#132f4b;border-color:#285681;color:#bfdbfe}
body.theme-dark .cal-shift-chip.work-us{background:#1e293b;border-color:#334155;color:#cbd5e1}
body.theme-dark .cal-shift-chip time{color:#94a3b8}
@media(max-width:1100px){.shift-overview + .kpi-grid{grid-template-columns:repeat(5,minmax(90px,1fr))}}
@media(max-width:760px){.shift-overview + .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-control{grid-template-columns:1fr}.triage-card{grid-template-columns:1fr}.triage-card-actions{align-items:stretch;flex-direction:column}.triage-assign-select{width:100%}}
body.theme-dark .shift-segment.is-off{background:#1e293b!important;border-color:#334155!important;opacity:0.5}
body.theme-dark .active-rail .shift-now{background:#38bdf8}
body.theme-dark .active-rail .shift-now i{background:#38bdf8;border-color:#0f172a;box-shadow:0 0 0 1px #38bdf8}
body.theme-dark .active-rail .shift-now em{color:#38bdf8}

/* Recommended runbook cards. */
.task-runbooks .panel-head{display:flex;justify-content:space-between;align-items:center}
.task-runbooks .panel-head>div span{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.task-runbooks .panel-body{display:grid;gap:8px;padding:12px 14px}
.task-runbook-link{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.03);
  transition:border-color .15s ease,background .15s ease,transform .1s ease;
}
.task-runbook-link:hover{
  border-color:#93c5fd;
  background:#f8fbff;
  transform:translateY(-1px);
}
.task-runbook-link .runbook-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 7px;
  border-radius:4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.2px;
  white-space:nowrap;
}
.task-runbook-link .runbook-tag.default{background:#e0f2fe;color:#0369a1}
.task-runbook-link .runbook-tag.recommended{background:#f1f5f9;color:#334155}
.task-runbook-link .runbook-info{min-width:0}
.task-runbook-link .runbook-info b{display:block;font-size:12px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-runbook-link .runbook-info small{display:block;margin-top:2px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-runbook-link em{color:#94a3b8;font-size:16px;font-style:normal;font-weight:700;line-height:1}
body.theme-dark .task-runbook-link{background:#16263b;border-color:#1f334d;color:#e2e8f0}
body.theme-dark .task-runbook-link:hover{border-color:#3b82f6;background:#1e3654}
body.theme-dark .task-runbook-link .runbook-info b{color:#f1f5f9}
body.theme-dark .task-runbook-link .runbook-tag.default{background:#0c4a6e;color:#7dd3fc}
body.theme-dark .task-runbook-link .runbook-tag.recommended{background:#1e293b;color:#cbd5e1}
body.theme-dark .task-runbook-link em{color:#64748b}
/* Secure authentication shell */
.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f1f5f9;color:#102a43}
.auth-card{width:min(100%,440px);padding:34px;background:#fff;border:1px solid #d7e3ef;border-radius:16px;box-shadow:0 18px 50px rgba(15,42,67,.1)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.auth-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#123354;color:#fff;font-weight:800}.auth-brand b,.auth-brand small{display:block}.auth-brand b{font-size:17px}.auth-brand small{margin-top:2px;color:#64748b;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.auth-heading>span{color:#2369ad;font-size:11px;font-weight:800;letter-spacing:.14em}.auth-heading h1{margin:7px 0 8px;font-size:25px;line-height:1.3}.auth-heading p{margin:0 0 24px;color:#64748b}
.auth-form{display:grid;gap:16px}.auth-form label{display:grid;gap:7px;color:#334e68;font-size:13px;font-weight:700}.auth-form input{width:100%;height:46px;padding:0 13px;border:1px solid #cbd9e8;border-radius:8px;background:#fff;color:#102a43;font:inherit;outline:none}.auth-form input:focus{border-color:#2369ad;box-shadow:0 0 0 3px rgba(35,105,173,.12)}
.button.auth-primary{width:100%;min-height:46px;margin-top:2px;justify-content:center;background:#164f87;color:#fff;border-color:#164f87;font-weight:700}.button.auth-primary:hover{background:#123f6c}.button.auth-primary:disabled{opacity:.6}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#829ab1;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#d9e2ec}
.button.auth-microsoft{width:100%;min-height:46px;justify-content:center;background:#fff;color:#183b56;border-color:#bcccdc}.auth-microsoft span{color:#2369ad;font-size:18px}
.auth-security{margin-top:24px;padding:13px 14px;border-left:3px solid #2e8dd7;background:#f3f8fd}.auth-security b{font-size:12px}.auth-security p,.auth-help,.auth-rule{margin:4px 0 0;color:#627d98;font-size:11px;line-height:1.55}.auth-rule{margin-top:-6px}
.auth-loading{display:grid;justify-items:center;gap:13px;padding:30px 0}.auth-loading p{margin:0;color:#627d98}.auth-spinner{width:28px;height:28px;border:3px solid #d9e2ec;border-top-color:#2369ad;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}
.auth-status{margin:0 0 18px;padding:11px 13px;border-radius:7px;font-size:12px;line-height:1.5}.auth-status p{margin:5px 0 0}.auth-status-error{border:1px solid #fecaca;background:#fff1f2;color:#9f1239}.auth-help{text-align:center;margin-top:15px}
body.theme-dark .auth-page{background:#071727}.theme-dark .auth-card{background:#102a43;border-color:#294b68;color:#edf5fc}.theme-dark .auth-heading h1,.theme-dark .auth-form input{color:#edf5fc}.theme-dark .auth-form input{background:#0b2237;border-color:#486581}.theme-dark .auth-form label{color:#d9e2ec}.theme-dark .button.auth-microsoft{background:#163a59;color:#edf5fc;border-color:#486581}
@media(max-width:520px){.auth-page{padding:14px}.auth-card{padding:25px 20px;border-radius:13px}.auth-heading h1{font-size:22px}}

/* =========================================================
   Settings 4 Sub-Tabs & Shift Templates Styles
   ========================================================= */
.settings-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:8px;overflow-x:auto}
.settings-tabs button{background:transparent;border:1px solid transparent;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s ease;white-space:nowrap}
.settings-tabs button:hover{background:#f1f5f9;color:var(--ink)}
.settings-tabs button.active{background:#1e3a5f;border-color:#1e3a5f;color:#fff}
body.theme-dark .settings-tabs button:hover{background:#1e293b;color:#f8fafc}
body.theme-dark .settings-tabs button.active{background:#2563eb;border-color:#1d4ed8;color:#fff}

.shift-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px}
.shift-template-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.shift-template-card header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.shift-card-title-group{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden}
.shift-tmpl-code{display:inline-block;padding:1px 6px;border-radius:3px;background:#e0f2fe;color:#0369a1;font-weight:700;font-size:10.5px;font-family:var(--mono);flex-shrink:0}
.shift-template-card h3{margin:0;font-size:13px;font-weight:700;color:var(--ink);flex-shrink:0;white-space:nowrap}
.shift-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.shift-team-tag{font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:3px;background:#f1f5f9;color:#475569}
.shift-team-tag.kr{background:#eff6ff;color:#1d4ed8}
.shift-team-tag.us{background:#f8fafc;color:#475569}

/* Seven-day shift mini strip. */
.shift-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:3px;user-select:none}
.shift-day-col{display:flex;flex-direction:column;align-items:center;border-radius:4px;padding:2px 1px;background:#fff;border:1px solid #e2e8f0;transition:all .15s ease;min-height:36px;justify-content:center;gap:1px}
.shift-day-col.is-weekend .day-lbl{color:#94a3b8}
.shift-day-col .day-lbl{font-size:9.5px;font-weight:700;color:#475569;line-height:1}
.shift-day-col.is-work{background:#eff6ff;border-color:#bfdbfe}
.shift-day-col.is-work .day-lbl{color:#1d4ed8}
.shift-day-col .day-time{display:flex;flex-direction:column;align-items:center;font-size:8.5px;font-family:var(--mono);font-weight:600;color:#1e40af;line-height:1.05}
.shift-day-col.is-off{background:#f8fafc;border-color:#e2e8f0;opacity:0.6}
.shift-day-col.is-off .off-lbl{font-size:8px;color:#94a3b8;font-weight:600}

.shift-template-card footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px solid #f1f5f9;font-size:10.5px;color:var(--muted);line-height:1.2}
.shift-template-card footer b{color:#1e3a5f}
.shift-template-card footer small{color:#64748b}

body.theme-dark .shift-template-card{background:#111d2e;border-color:#1f334d}
body.theme-dark .shift-tmpl-code{background:#0c4a6e;color:#7dd3fc}
body.theme-dark .shift-team-tag.kr{background:#1e3a8a;color:#bfdbfe}
body.theme-dark .shift-team-tag.us{background:#1e293b;color:#cbd5e1}
body.theme-dark .shift-week-strip{background:#091322;border-color:#1e293b}
body.theme-dark .shift-day-col{background:#0f1d30;border-color:#1e293b}
body.theme-dark .shift-day-col .day-lbl{color:#94a3b8}
body.theme-dark .shift-day-col.is-work{background:#172554;border-color:#1d4ed8}
body.theme-dark .shift-day-col.is-work .day-lbl{color:#93c5fd}
body.theme-dark .shift-day-col.is-work .day-time{color:#bfdbfe}
body.theme-dark .shift-day-col.is-off{background:#0a1424;border-color:#152238}
body.theme-dark .shift-day-col.is-off .off-lbl{color:#475569}
body.theme-dark .shift-template-card footer{border-top-color:#1e293b}
body.theme-dark .shift-template-card footer b{color:#93c5fd}
body.theme-dark .shift-template-card footer small{color:#94a3b8}

.shift-tmpl-pill{display:inline-block;padding:2px 8px;border-radius:12px;background:#edf5fd;color:#1e40af;font-size:11px;font-weight:600;border:1px solid #bfdbfe}
body.theme-dark .shift-tmpl-pill{background:#172554;color:#93c5fd;border-color:#1d4ed8}

/* Daily shift-time editor. */
.shift-days-grid{display:grid;gap:6px;margin-top:6px}
.shift-day-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:6px 12px}
.shift-day-toggle{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}
.shift-day-times{display:flex;align-items:center;gap:6px}
.shift-day-times input.input.sm{width:110px;padding:4px 8px;font-size:12px}
body.theme-dark .shift-day-row{background:#0b1727;border-color:#1f334d}

/* Calendar navigation and event chips. */
.calendar-nav-actions{display:flex;gap:6px;align-items:center}
.cal-cell-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.cal-today-badge{font-size:9px;font-weight:800;background:#2563eb;color:#fff;padding:1px 4px;border-radius:3px}
.cal-cell-body{display:flex;flex-direction:column;gap:3px;max-height:105px;overflow-y:auto}
.cal-chip{font-size:10px;padding:2px 5px;border-radius:4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.cal-chip.chip-leave{background:#fef3c7;color:#92400e;border:1px solid #fde68a;font-weight:700}
.cal-chip.chip-shift{border:1px solid #cbd5e1;background:#f8fafc;color:#334155}
.cal-chip.chip-shift.chip-kr{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
.cal-chip.chip-shift.chip-us{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.cal-chip.chip-shift small{font-family:var(--mono);font-size:9px;opacity:0.85}
.cal-chip.chip-more{background:#f1f5f9;color:#64748b;font-size:9px;text-align:center}

body.theme-dark .cal-chip.chip-leave{background:#78350f;color:#fde68a;border-color:#92400e}
body.theme-dark .cal-chip.chip-shift.chip-kr{background:#1e3a8a;color:#dbeafe;border-color:#2563eb}
body.theme-dark .cal-chip.chip-shift.chip-us{background:#334155;color:#f1f5f9;border-color:#475569}
body.theme-dark .cal-chip.chip-more{background:#1e293b;color:#94a3b8}

/* =========================================================
   Dashboard 5-Column Full-Width KPI Cards
   ========================================================= */
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px;margin-bottom:18px;width:100%}
.kpi{background:#fff;border:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,0.03);border-radius:8px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:all .16s ease;min-height:82px;border-top:3px solid transparent}
.kpi:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,42,67,.08)}
.kpi-header{display:flex;justify-content:space-between;align-items:center}
.kpi .kpi-label{font-size:13px;font-weight:700;color:#475569}
.kpi-icon{font-size:13px;opacity:0.85}
.kpi strong.kpi-count,.kpi strong{font:700 28px/1 var(--mono);color:#0f172a;margin-top:10px;display:block}

.kpi.kpi-new{border-top-color:#64748b;background:#fafbfc}
.kpi.kpi-new:hover{border-color:#94a3b8;border-top-color:#475569}
.kpi.kpi-new strong{color:#334155}

.kpi.kpi-progress{border-top-color:#2563eb;background:#fbfdff}
.kpi.kpi-progress:hover{border-color:#93c5fd;border-top-color:#1d4ed8}
.kpi.kpi-progress strong{color:#1d4ed8}

.kpi.kpi-completed{border-top-color:#16a34a;background:#fbfdfb}
.kpi.kpi-completed:hover{border-color:#86efac;border-top-color:#15803d}
.kpi.kpi-completed strong{color:#15803d}

.kpi.kpi-critical{border-top-color:#dc2626;background:#fffdfd}
.kpi.kpi-critical:hover{border-color:#fca5a5;border-top-color:#b91c1c}
.kpi.kpi-critical strong{color:#dc2626}
.kpi.kpi-critical .kpi-label{color:#b91c1c;font-weight:800}

.kpi.kpi-waiting{border-top-color:#d97706;background:#fffdfa}
.kpi.kpi-waiting:hover{border-color:#fde68a;border-top-color:#b45309}
.kpi.kpi-waiting strong{color:#b45309}

body.theme-dark .kpi{background:#111d2e;border-color:#1f334d}
body.theme-dark .kpi:hover{background:#152438;border-color:#3b82f6}
body.theme-dark .kpi .kpi-label{color:#94a3b8}
body.theme-dark .kpi strong{color:#f8fafc}
body.theme-dark .kpi.kpi-new strong{color:#cbd5e1}
body.theme-dark .kpi.kpi-progress strong{color:#60a5fa}
body.theme-dark .kpi.kpi-completed strong{color:#4ade80}
body.theme-dark .kpi.kpi-critical{background:#1c141d;border-color:#4c1d24}
body.theme-dark .kpi.kpi-critical strong{color:#f87171}
body.theme-dark .kpi.kpi-critical .kpi-label{color:#fca5a5}
body.theme-dark .kpi.kpi-waiting strong{color:#fbbf24}

@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* =========================================================
   Print and fast browser PDF styles
   ========================================================= */
#report-print-container {
  display: none;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 10mm 10mm 10mm;
  }
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    box-shadow: none !important;
  }
  body {
    background: #fff !important;
    color: #1e293b !important;
    font-size: 11px !important;
  }
  /* Hide interactive UI in print output. */
  .sidebar, .topbar, .modal-backdrop, .reports-modern-head, .report-period,
  .report-topic-tabs, .report-export-actions, .report-page-tabs,
  .page-head, nav, button, .button, input, select, textarea {
    display: none !important;
  } .page, #app {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Enable the print-only report container. */
  #report-print-container {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .print-page-section {
    page-break-after: always !important;
    break-after: page !important;
    padding-bottom: 8mm !important;
    margin-bottom: 8mm !important;
  }
  .print-page-section:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .print-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    border-bottom: 2px solid #2563eb !important;
    padding-bottom: 8px !important;
    margin-bottom: 14px !important;
  }
  .print-header h1 {
    font-size: 20px !important;
    margin: 0 !important;
    color: #0f172a !important;
  }
  .print-header .meta {
    font-size: 11px !important;
    color: #64748b !important;
    text-align: right !important;
  }
  .report-hero-kpis, .report-asset-grid, .report-site-grid, .report-license-grid,
  .report-dashboard-grid, .report-visual-panel, .report-topic-body, .panel, .report-site-card, .report-asset-card, .report-license-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .report-hero-kpis {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .report-hero-kpis article {
    min-height: 70px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }
  .report-hero-kpis strong {
    font-size: 22px !important;
  }
  .report-asset-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .report-asset-card {
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    background: #fff !important;
  }
  .report-site-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: start !important;
  }
  .report-site-card {
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
  }
  .report-site-card > header {
    background: #173e72 !important;
    color: #fff !important;
    padding: 8px 10px !important;
  }
  .report-license-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .report-license-card {
    border: 1px solid #cbd5e1 !important;
    border-left: 4px solid #d97706 !important;
    border-radius: 6px !important;
    padding: 8px 10px !important;
    background: #fff !important;
  }
  .report-dashboard-grid {
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 10px !important;
  }
  .report-visual-panel {
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }
  .aging-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .aging-stat-card {
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 8px !important;
  }
  .data-table, .report-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 10px !important;
  }
  .data-table th, .report-table th {
    background: #f1f5f9 !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    padding: 5px 6px !important;
  }
  .data-table td, .report-table td {
    border: 1px solid #e2e8f0 !important;
    padding: 4px 6px !important;
  }
}



/* 인벤토리 트리·테이블 스타일은 아래 "Inventory · 계층 트리와 자산 테이블" 한 블록으로 합쳤다. */

/* Mobile-first data-center walkthrough. */
.walkthrough-page{--walkthrough-blue:#1e5fa8;--walkthrough-navy:#102f4c;--walkthrough-border:#cbd9e7;max-width:1440px;margin:0 auto}.walkthrough-page .page-head{margin-bottom:16px}.walkthrough-sync-notice{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid #e7c275;border-left:4px solid #d79317;border-radius:8px;background:#fff9e9;color:#6c4a0a}.walkthrough-sync-notice span{flex:1;color:#795d28;font-size:12px}.walkthrough-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.walkthrough-scope-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--walkthrough-border);border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(16,47,76,.06)}.walkthrough-scope-card>div>span,.walkthrough-progress-head>div>span,.walkthrough-rack-summary span{color:#47739c;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.08em}.walkthrough-scope-card h2{margin:5px 0 4px;color:var(--walkthrough-navy);font-size:18px}.walkthrough-scope-card p{margin:0;color:#687d92;font-size:12px}.walkthrough-scope-card .button{min-width:104px}.walkthrough-scope-card .button:disabled{cursor:not-allowed;opacity:.45}.walkthrough-history{overflow:hidden}.walkthrough-history .panel-head{padding:14px 16px}.walkthrough-history-table td{vertical-align:middle}.walkthrough-history-table .subtext{display:block;margin-top:2px}.walkthrough-task-link{border:0;background:none;color:#1d65aa;font:700 11px var(--mono);cursor:pointer}.walkthrough-task-link:hover{text-decoration:underline}.walkthrough-empty{display:grid;place-items:center;gap:8px;min-height:150px;padding:24px;color:#667d94;text-align:center}.walkthrough-empty strong{color:#294762;font-size:15px}.walkthrough-empty span{font-size:12px}.walkthrough-progress-page{padding-bottom:20px}.walkthrough-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--walkthrough-border);border-radius:10px 10px 0 0;background:#fff}.walkthrough-progress-head h1{margin:4px 0;color:var(--walkthrough-navy);font-size:22px}.walkthrough-progress-head p{margin:0;color:#60778e;font-size:12px}.walkthrough-progress-track{height:7px;margin-bottom:14px;overflow:hidden;border-radius:0 0 8px 8px;background:#dfe8f1}.walkthrough-progress-track span{display:block;height:100%;border-radius:inherit;background:#2b78bd;transition:width .2s ease}.walkthrough-inspection-card{overflow:hidden;border:1px solid #bed0df;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(16,47,76,.07)}.walkthrough-rack-summary{justify-content:space-between;padding:14px 16px;border-bottom:1px solid #d9e3ed;background:#f4f8fc}.walkthrough-rack-summary h2{margin:3px 0;color:#102f4c;font-size:19px}.walkthrough-rack-summary p{margin:0;color:#637b91;font-size:12px}.walkthrough-rack-summary>div:last-child{text-align:right}.walkthrough-rack-summary strong{display:block;color:#154f84;font-size:28px;line-height:1}.walkthrough-rack-map{padding:14px 16px;background:#eef3f7}.walkthrough-rack-frame{overflow:hidden;border:4px solid #263b4d;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1px #8ba0b3}.walkthrough-rack-unit{display:grid;border-bottom:1px solid #d7e0e8;color:#7890a5;font-size:8px}.walkthrough-rack-unit:last-child{border-bottom:0}.walkthrough-rack-unit>span{padding-right:6px;border-right:1px solid #c5d1dc;background:#f4f7fa;font-family:var(--mono);font-weight:700;text-align:right}.walkthrough-rack-unit>div{display:flex;gap:3px;min-width:0}.walkthrough-rack-unit b{overflow:hidden;color:#174a76;font-size:8px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.walkthrough-rack-unit.occupied{background:#dcecf9;box-shadow:inset 3px 0 #2574b9}.walkthrough-rack-unit.occupied>span{background:#cfe1ef;color:#214d72}.walkthrough-mounted-assets{border-top:1px solid #d7e2eb}.walkthrough-mounted-assets summary{padding:11px 16px;color:#234866;font-size:12px;font-weight:750;cursor:pointer}.walkthrough-mounted-assets ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0 16px 14px;list-style:none}.walkthrough-mounted-assets li{display:flex;justify-content:space-between;gap:10px;padding:7px 8px;border-bottom:1px solid #e2e9f0;font-size:11px}.walkthrough-mounted-assets li b{overflow:hidden;color:#183b59;text-overflow:ellipsis;white-space:nowrap}.walkthrough-mounted-assets li span{color:#71879b;text-align:right}.walkthrough-mounted-assets p{margin:0;padding:0 16px 14px;color:#71879b;font-size:11px}.walkthrough-result-actions{position:sticky;z-index:5;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0 2px;background:linear-gradient(to bottom,rgba(247,249,252,0),#f7f9fc 22%)}.walkthrough-result{min-height:68px;border:0;border-radius:10px;color:#fff;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 5px 14px rgba(15,47,76,.16)}.walkthrough-result small{display:block;margin-top:2px;font-size:10px;font-weight:700;letter-spacing:.08em;opacity:.78}.walkthrough-result.pass{background:#12824b}.walkthrough-result.pass:hover{background:#0d6f3f}.walkthrough-result.fail{background:#c72a35}.walkthrough-result.fail:hover{background:#ad202a}.walkthrough-last-check{min-width:104px}.walkthrough-check-badge{display:inline-flex;align-items:center;justify-content:center;min-width:43px;padding:3px 7px;border:1px solid transparent;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.walkthrough-check-badge.pass{border-color:#9fd5b5;background:#e7f7ed;color:#08783f}.walkthrough-check-badge.fail{border-color:#efb6bb;background:#ffebed;color:#b71f2c}.walkthrough-last-check time{display:block;margin-top:3px;color:#6f8497;font:600 9px var(--mono);white-space:nowrap}.walkthrough-check-empty{color:#8999a9;font-size:10px;white-space:nowrap}
body.theme-dark .walkthrough-sync-notice{border-color:#725823;background:#2b2415;color:#f4d58d}body.theme-dark .walkthrough-sync-notice span{color:#d8be83}body.theme-dark .walkthrough-scope-card,body.theme-dark .walkthrough-progress-head,body.theme-dark .walkthrough-inspection-card{border-color:#29415e;background:#14243a}body.theme-dark .walkthrough-scope-card h2,body.theme-dark .walkthrough-progress-head h1,body.theme-dark .walkthrough-rack-summary h2,body.theme-dark .walkthrough-empty strong{color:#edf4fb}body.theme-dark .walkthrough-scope-card p,body.theme-dark .walkthrough-progress-head p{color:#9fb2c4}body.theme-dark .walkthrough-progress-track{background:#263d56}body.theme-dark .walkthrough-rack-summary{border-color:#29415e;background:#182d45}body.theme-dark .walkthrough-rack-map{background:#101e2e}body.theme-dark .walkthrough-rack-frame{border-color:#61768a;background:#132338;box-shadow:inset 0 0 0 1px #344c65}body.theme-dark .walkthrough-rack-unit{border-color:#29415e;color:#7f97ad}body.theme-dark .walkthrough-rack-unit>span{border-color:#36506a;background:#172a40}body.theme-dark .walkthrough-rack-unit.occupied{background:#173b59;box-shadow:inset 3px 0 #4c93ce}body.theme-dark .walkthrough-rack-unit.occupied>span{background:#214764;color:#c6e2f7}body.theme-dark .walkthrough-rack-unit b{color:#dcecf8}body.theme-dark .walkthrough-mounted-assets{border-color:#29415e}body.theme-dark .walkthrough-mounted-assets summary,body.theme-dark .walkthrough-mounted-assets li b{color:#dce9f5}body.theme-dark .walkthrough-mounted-assets li{border-color:#29415e}body.theme-dark .walkthrough-result-actions{background:linear-gradient(to bottom,rgba(15,27,42,0),#0f1b2a 22%)}body.theme-dark .walkthrough-check-badge.pass{border-color:#276f4a;background:#143a2a;color:#78d7a2}body.theme-dark .walkthrough-check-badge.fail{border-color:#7b3840;background:#3a1d23;color:#f29aa3}
@media(max-width:760px){.walkthrough-page{margin:-2px -4px 0}.walkthrough-page .page-head{margin-bottom:12px}.walkthrough-page .page-head p{font-size:11px}.walkthrough-sync-notice{align-items:flex-start;flex-wrap:wrap}.walkthrough-sync-notice span{flex-basis:70%}.walkthrough-scope-grid{grid-template-columns:1fr;gap:10px}.walkthrough-scope-card{padding:14px}.walkthrough-history-table{min-width:760px}.walkthrough-progress-head{padding:12px}.walkthrough-progress-head h1{font-size:18px}.walkthrough-progress-head p{font-size:10px}.walkthrough-rack-summary{padding:12px}.walkthrough-rack-map{padding:10px}.walkthrough-mounted-assets ul{grid-template-columns:1fr}.walkthrough-result-actions{gap:8px;padding-top:12px}.walkthrough-result{min-height:64px;font-size:18px}.walkthrough-last-check{min-width:88px}}
@media(max-width:430px){.walkthrough-scope-card{align-items:stretch;flex-direction:column}.walkthrough-scope-card .button{width:100%}.walkthrough-progress-head .button{padding:6px 8px}.walkthrough-rack-summary h2{font-size:16px}.walkthrough-rack-unit b{font-size:7.5px}}

.walkthrough-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.walkthrough-kpis article{padding:12px 14px;border:1px solid #ccdae7;border-radius:8px;background:#fff}.walkthrough-kpis span{display:block;color:#647b91;font-size:10px;font-weight:700}.walkthrough-kpis strong{display:block;margin-top:4px;color:#143f6c;font-size:23px}.walkthrough-kpis article.pass strong{color:#08783f}.walkthrough-kpis article.fail strong{color:#bd2430}.walkthrough-customer-templates{margin:-2px 0 18px;border:1px solid #cbd9e7;border-radius:9px;background:#fff}.walkthrough-customer-templates summary{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;color:#173d62;cursor:pointer;list-style:none}.walkthrough-customer-templates summary::-webkit-details-marker{display:none}.walkthrough-customer-templates summary span{display:grid;gap:2px}.walkthrough-customer-templates summary b{font-size:13px}.walkthrough-customer-templates summary small{color:#71869a;font-size:10px;font-weight:500}.walkthrough-customer-templates summary em{color:#2a6ca8;font-size:10px;font-style:normal;font-weight:700}.walkthrough-customer-templates[open] summary{border-bottom:1px solid #d9e3ed}.walkthrough-customer-templates[open] summary em{font-size:0}.walkthrough-customer-templates[open] summary em:after{content:'접기';font-size:10px}.walkthrough-customer-templates>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.walkthrough-customer-templates button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #d5e0ea;border-radius:6px;background:#f7fafe;color:#24445f;cursor:pointer;text-align:left}.walkthrough-customer-templates button:hover{border-color:#79a9d4;background:#edf5fc}.walkthrough-customer-templates button span{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.walkthrough-customer-templates button b{flex:0 0 auto;color:#1f68a7;font-size:9px}
body.theme-dark .walkthrough-kpis article,body.theme-dark .walkthrough-customer-templates{border-color:#29415e;background:#14243a}body.theme-dark .walkthrough-kpis span,body.theme-dark .walkthrough-customer-templates summary small{color:#94a9bd}body.theme-dark .walkthrough-kpis strong,body.theme-dark .walkthrough-customer-templates summary{color:#dce9f5}body.theme-dark .walkthrough-customer-templates[open] summary{border-color:#29415e}body.theme-dark .walkthrough-customer-templates button{border-color:#314b68;background:#192c43;color:#dce9f5}body.theme-dark .walkthrough-customer-templates button:hover{border-color:#4b83b7;background:#1d3855}
@media(max-width:760px){.walkthrough-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.walkthrough-kpis article{padding:10px 11px}.walkthrough-kpis strong{font-size:20px}.walkthrough-customer-templates>div{grid-template-columns:repeat(2,minmax(0,1fr))}.walkthrough-progress-page{padding-bottom:92px}.walkthrough-progress-page .walkthrough-result-actions{position:fixed;z-index:30;right:8px;bottom:8px;left:8px;padding:8px;border:1px solid #c9d7e4;border-radius:12px;background:#f7f9fc;box-shadow:0 -4px 18px rgba(15,47,76,.16)}body.theme-dark .walkthrough-progress-page .walkthrough-result-actions{border-color:#314b68;background:#101e2e}}
@media(max-width:430px){.walkthrough-customer-templates>div{grid-template-columns:1fr}}

/* Walkthrough v2: reusable templates, session summaries and object-level checks. */
.walkthrough-page-title{align-items:center}.walkthrough-kpis article{position:relative;min-height:92px}.walkthrough-kpis article>small{display:block;margin-top:2px;color:#8293a4;font-size:9px;font-weight:500}.walkthrough-kpis article.fail:last-child{border-color:#efc2c6;background:#fffafb}.walkthrough-template-section{margin-bottom:18px}.walkthrough-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.walkthrough-section-head h2{margin:0;color:#123b63;font-size:17px}.walkthrough-section-head p{margin:3px 0 0;color:#70859a;font-size:11px}.walkthrough-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.walkthrough-template-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:16px;border:1px solid #cbd9e7;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(16,47,76,.05)}.walkthrough-template-card>div:first-child>span{color:#3974a9;font:800 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.walkthrough-template-card h3{margin:4px 0;color:#123b63;font-size:17px}.walkthrough-template-card p{margin:0 0 5px;color:#526b82;font-size:11px}.walkthrough-template-card>div:first-child>small{display:block;overflow:hidden;color:#8494a4;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.walkthrough-template-card>strong{align-self:start;color:#174e82;font:800 25px var(--mono)}.walkthrough-template-card>strong small{font-size:8px;letter-spacing:.06em}.walkthrough-template-actions{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding-top:2px}.walkthrough-template-actions .button:first-child{margin-right:auto}.walkthrough-icon-button{padding:7px;border:0;background:transparent;color:#63798d;font-size:10px;font-weight:700;cursor:pointer}.walkthrough-icon-button.danger:hover{color:#bd2430}.walkthrough-template-card button:disabled{cursor:not-allowed;opacity:.45}.walkthrough-template-empty{border:1px dashed #b9cadb;border-radius:10px;background:#fff}.walkthrough-template-empty .button{margin-top:4px}.walkthrough-session-list{display:grid}.walkthrough-session-row{display:flex;align-items:center;border-bottom:1px solid #e0e8ef;background:#fff}.walkthrough-session-row:last-child{border-bottom:0}.walkthrough-session-row>button:first-child{display:flex;flex:1;align-items:center;justify-content:space-between;gap:22px;min-width:0;padding:14px 16px;border:0;background:transparent;color:#173b5c;cursor:pointer;text-align:left}.walkthrough-session-row>button:first-child:hover{background:#f4f8fc}.walkthrough-session-row>button>span:first-child{display:grid;gap:3px;min-width:180px}.walkthrough-session-row>button>span:first-child>b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.walkthrough-session-row>button>span:first-child>small{color:#71869a;font-size:9px}.walkthrough-session-row>.button{margin-right:14px}.walkthrough-session-counts{display:flex;align-items:center;justify-content:flex-end;gap:8px}.walkthrough-session-counts>small{padding:5px 8px;border-left:1px solid #dfe7ee;color:#6e8193;font-size:9px;white-space:nowrap}.walkthrough-session-counts>small b{color:#173f68;font:800 12px var(--mono)}.walkthrough-session-counts>small.fail b{color:#b92430}.walkthrough-session-counts em{padding:3px 7px;border-radius:999px;font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.walkthrough-session-counts em.complete{background:#e7f7ed;color:#08783f}.walkthrough-session-counts em.progress{background:#e8f1fc;color:#1d63a1}.walkthrough-session-counts em.cancelled{background:#eef1f4;color:#657383}
.walkthrough-progress-page{max-width:1040px}.walkthrough-rack-unit{grid-template-columns:45px minmax(0,1fr);min-height:17px;line-height:16px}.walkthrough-rack-unit.occupied{min-height:25px;line-height:24px}.walkthrough-rack-unit>div{align-items:stretch;padding:0 4px}.walkthrough-rack-unit button{display:block;overflow:hidden;flex:1;min-width:0;padding:0 7px;border:0;border-radius:3px;background:transparent;color:#154b78;font-size:9px;font-weight:750;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.walkthrough-rack-unit button:hover{background:#c5e1f5}.walkthrough-rack-unit button.selected{background:#bd2430;color:#fff;box-shadow:inset 0 0 0 1px #9f1722}.walkthrough-result:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.48;box-shadow:none}.walkthrough-result small b{font:800 inherit var(--mono)}
.walkthrough-template-form{display:grid;gap:11px}.walkthrough-template-form>.field{margin:0}.walkthrough-template-help{margin:0;padding:9px 10px;border-left:3px solid #2d78b9;background:#eef6fd;color:#49677f;font-size:10px}.walkthrough-template-form details{overflow:hidden;border:1px solid #d3dee8;border-radius:7px}.walkthrough-template-form summary{padding:9px 11px;background:#f5f8fb;color:#214969;font-size:11px;font-weight:750;cursor:pointer}.walkthrough-template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:154px;overflow:auto;padding:9px}.walkthrough-template-options.rack-options{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.walkthrough-template-check{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 7px;border:1px solid #e0e7ee;border-radius:5px;color:#36536d;font-size:10px;cursor:pointer}.walkthrough-template-check:has(input:checked){border-color:#6da5d4;background:#edf6fd;color:#174f80;font-weight:700}.walkthrough-template-check input{flex:0 0 auto;accent-color:#1e63a2}.walkthrough-template-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.walkthrough-option-empty{grid-column:1/-1;padding:8px;color:#7c8e9e;font-size:10px}.walkthrough-issue-form{display:grid;gap:10px}.walkthrough-issue-form>div{display:grid;gap:2px;padding:9px 10px;border:1px solid #d9e3ec;border-radius:6px;background:#f7f9fb}.walkthrough-issue-form span,.walkthrough-issue-form label{color:#657b90;font-size:10px;font-weight:700}.walkthrough-issue-form b{color:#173c5f;font-size:12px}.walkthrough-issue-form textarea{min-height:110px}.walkthrough-issue-form small{color:#8a5b18;font-size:9px}
.walkthrough-back{display:block;margin-bottom:7px;padding:0;border:0;background:transparent;color:#276ba7;font-size:10px;font-weight:700;cursor:pointer}.walkthrough-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:13px}.walkthrough-detail-kpis article{padding:11px 13px;border:1px solid #d1dce7;border-radius:8px;background:#fff}.walkthrough-detail-kpis span{display:block;color:#6e8295;font-size:9px}.walkthrough-detail-kpis strong{display:block;margin-top:3px;color:#153f69;font:800 20px var(--mono)}.walkthrough-detail-kpis .pass strong{color:#08783f}.walkthrough-detail-kpis .fail strong{color:#b92430}.walkthrough-result-list{overflow:hidden;border:1px solid #cfdae5;border-radius:9px;background:#fff}.walkthrough-result-row{display:grid;grid-template-columns:38px minmax(0,1fr) 150px;gap:12px;padding:13px 15px;border-bottom:1px solid #e0e8ef}.walkthrough-result-row:last-child{border-bottom:0}.walkthrough-result-row.fail{box-shadow:inset 4px 0 #c72a35}.walkthrough-result-row.pass{box-shadow:inset 4px 0 #16824d}.walkthrough-result-index{color:#7b90a4;font:800 10px var(--mono)}.walkthrough-result-title{display:flex;align-items:baseline;gap:10px}.walkthrough-result-title b{color:#153c60;font-size:12px}.walkthrough-result-title span{color:#71869a;font-size:9px}.walkthrough-pass-detail{margin:5px 0 0;color:#638077;font-size:10px}.walkthrough-issue-detail{display:grid;grid-template-columns:88px minmax(0,1fr);gap:3px 8px;margin-top:8px;padding:8px;border-radius:6px;background:#fff3f4}.walkthrough-issue-detail strong{color:#9e2932;font-size:9px}.walkthrough-issue-detail p{margin:0;color:#4e5f70;font-size:10px}.walkthrough-result-meta{display:grid;justify-items:end;align-content:start;gap:5px}.walkthrough-result-meta time{color:#72879a;font:600 8px var(--mono)}
body.theme-dark .walkthrough-template-card,body.theme-dark .walkthrough-template-empty,body.theme-dark .walkthrough-session-row,body.theme-dark .walkthrough-detail-kpis article,body.theme-dark .walkthrough-result-list{border-color:#29415e;background:#14243a}body.theme-dark .walkthrough-section-head h2,body.theme-dark .walkthrough-template-card h3,body.theme-dark .walkthrough-session-row>button:first-child,body.theme-dark .walkthrough-detail-kpis strong,body.theme-dark .walkthrough-result-title b{color:#e1edf8}body.theme-dark .walkthrough-session-row{border-color:#29415e}body.theme-dark .walkthrough-session-row>button:first-child:hover{background:#182d45}body.theme-dark .walkthrough-template-form details{border-color:#314b68}body.theme-dark .walkthrough-template-form summary{background:#182b41;color:#dbe8f4}body.theme-dark .walkthrough-template-check{border-color:#314b68;color:#bdd0e0}body.theme-dark .walkthrough-template-check:has(input:checked){background:#1b3a57}body.theme-dark .walkthrough-result-row{border-color:#29415e}body.theme-dark .walkthrough-issue-detail{background:#3a1d23}body.theme-dark .walkthrough-issue-detail p{color:#d6c3c5}
@media(max-width:760px){.walkthrough-page-title{flex-direction:row!important}.walkthrough-page-title .button{padding:8px 10px}.walkthrough-kpis article{min-height:78px}.walkthrough-kpis article>small{font-size:8px}.walkthrough-template-grid{grid-template-columns:1fr}.walkthrough-session-row{align-items:stretch}.walkthrough-session-row>button:first-child{align-items:flex-start;flex-direction:column;gap:9px;padding:12px}.walkthrough-session-row>button>span:first-child{min-width:0}.walkthrough-session-counts{justify-content:flex-start;flex-wrap:wrap}.walkthrough-session-counts>small{padding:2px 6px}.walkthrough-session-row>.button{align-self:center;margin:0 9px 0 0}.walkthrough-progress-page .walkthrough-rack-map{overflow:auto}.walkthrough-rack-unit{grid-template-columns:38px minmax(0,1fr);min-height:20px;line-height:19px}.walkthrough-rack-unit.occupied{min-height:30px;line-height:29px}.walkthrough-rack-unit button{font-size:9px}.walkthrough-template-options,.walkthrough-template-options.rack-options{grid-template-columns:1fr 1fr}.walkthrough-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.walkthrough-result-row{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:11px}.walkthrough-result-meta{grid-column:2;grid-template-columns:auto auto auto;align-items:center;justify-content:start}.walkthrough-issue-detail{grid-template-columns:1fr}.walkthrough-result-title{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:430px){.walkthrough-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.walkthrough-template-card{grid-template-columns:minmax(0,1fr) auto;padding:13px}.walkthrough-template-options,.walkthrough-template-options.rack-options{grid-template-columns:1fr}.walkthrough-session-counts{gap:3px}.walkthrough-session-counts em{margin-right:5px}.walkthrough-result{font-size:16px}}

/* Walkthrough v3 rack elevation: one physical device block per U-span. */
.walkthrough-rack-summary{display:flex; flex-wrap:wrap; align-items:center; gap:16px;} .walkthrough-rack-summary > div:first-child{flex: 1 1 180px;}.walkthrough-rack-target{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-width:230px;padding:8px 11px;border:1px solid #bdcddd;border-radius:7px;background:#fff;color:#173f64;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.walkthrough-rack-target:hover{border-color:#6d9fc9;background:#f5faff}.walkthrough-rack-target>span{grid-row:1/3;align-self:stretch;display:grid;place-items:center;margin:-8px 10px -8px -11px;padding:0 8px;border-right:1px solid #d7e2eb;color:#4c7396;font:800 8px var(--mono);letter-spacing:.06em}.walkthrough-rack-target>b{font-size:11px}.walkthrough-rack-target>small{color:#71869a;font-size:8px}.walkthrough-rack-target.selected{border-color:#b51f2b;background:#fff0f1;box-shadow:inset 3px 0 #b51f2b}.walkthrough-rack-target.selected>span,.walkthrough-rack-target.selected>b{color:#aa1e29}.walkthrough-progress-page .walkthrough-rack-map{padding:18px;background:#e7edf3}.walkthrough-rack-elevation{display:grid;grid-template-columns:58px minmax(0,1fr);overflow:hidden;border:6px solid #1a2d3d;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(13,32,49,.14),inset 0 0 0 1px #627b90}.walkthrough-rack-labels{display:grid;grid-template-rows:repeat(var(--rack-units),30px);border-right:1px solid #9eb0bf;background:#dce5ec}.walkthrough-rack-labels>span{display:flex;align-items:center;justify-content:flex-end;padding-right:9px;border-bottom:1px solid #bdcad5;color:#34536d;font:800 10px var(--mono)}.walkthrough-rack-labels>span:last-child{border-bottom:0}.walkthrough-rack-labels small{margin-left:1px;font-size:6px;opacity:.7}.walkthrough-rack-canvas{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--rack-units),30px);min-width:0;background:#f7f9fb}.walkthrough-rack-canvas>i{z-index:0;grid-column:1/-1;border-bottom:1px solid #d5dfe7;background:linear-gradient(90deg,rgba(33,75,110,.025),rgba(33,75,110,0));pointer-events:none}.walkthrough-rack-device{z-index:2;display:flex;overflow:hidden;flex-direction:column;justify-content:center;min-width:0;margin:2px 3px;padding:5px 10px;border:1px solid #2b638e;border-left:5px solid #2aa0a1;border-radius:5px;background:#e7f3fa;color:#0f426b;cursor:pointer;text-align:left;box-shadow:0 1px 3px rgba(18,55,84,.14);transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}.walkthrough-rack-device:hover{z-index:3;border-color:#155985;background:#d7ecf8;box-shadow:0 3px 9px rgba(18,55,84,.2);transform:translateY(-1px)}.walkthrough-rack-device:nth-of-type(3n){border-left-color:#6a6fc7;background:#edf0fb}.walkthrough-rack-device.full-depth{border-left-color:#287ab3;background:#deedf8}.walkthrough-rack-device>b{display:block;overflow:hidden;font-size:11px;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.walkthrough-rack-device>small{display:block;overflow:hidden;margin-top:3px;color:#56758e;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.walkthrough-rack-device.compact{justify-content:center;padding:2px 8px}.walkthrough-rack-device.compact>b{font-size:10px}.walkthrough-rack-device.compact>small{display:none}.walkthrough-rack-device.selected{z-index:4;border-color:#9f1723;border-left-color:#9f1723;background:#b9212e;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px #c82d39}.walkthrough-rack-device.selected>small{color:#ffe1e4}.walkthrough-rack-legend{display:flex;align-items:center;gap:14px;padding:10px 6px 0;color:#61798e;font-size:9px}.walkthrough-rack-legend span{display:flex;align-items:center;gap:5px}.walkthrough-rack-legend i{width:12px;height:8px;border:1px solid #2b638e;border-left:4px solid #2aa0a1;border-radius:2px;background:#e7f3fa}.walkthrough-rack-legend i.rear{border-left-color:#6a6fc7;background:#edf0fb}.walkthrough-result.fail:not(:disabled) small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.walkthrough-template-form summary{display:flex;align-items:center;justify-content:space-between}.walkthrough-template-form summary small{color:#688299;font-size:8px;font-weight:600}.walkthrough-template-check[hidden]{display:none!important}.walkthrough-template-options{align-content:start}.walkthrough-issue-form>div>small{margin-top:2px;color:#71869a;font-size:9px}
body.theme-dark .walkthrough-rack-target{border-color:#3a536c;background:#182c42;color:#dce9f5}body.theme-dark .walkthrough-rack-target>span{border-color:#3a536c;color:#9eb5ca}body.theme-dark .walkthrough-rack-target.selected{border-color:#d14a55;background:#3a1d23}body.theme-dark .walkthrough-progress-page .walkthrough-rack-map{background:#101e2e}body.theme-dark .walkthrough-rack-elevation{border-color:#657a8d;background:#122238;box-shadow:0 8px 22px rgba(0,0,0,.28)}body.theme-dark .walkthrough-rack-labels{border-color:#40566a;background:#1a3046}body.theme-dark .walkthrough-rack-labels>span{border-color:#30475d;color:#abc0d2}body.theme-dark .walkthrough-rack-canvas{background:#132338}body.theme-dark .walkthrough-rack-canvas>i{border-color:#29415e}body.theme-dark .walkthrough-rack-device{border-color:#3979a8;border-left-color:#31a9aa;background:#173c59;color:#e6f2fb}body.theme-dark .walkthrough-rack-device:nth-of-type(3n){border-left-color:#858ae0;background:#252b51}body.theme-dark .walkthrough-rack-device>small{color:#a9c3d6}body.theme-dark .walkthrough-rack-device.selected{border-color:#f0717a;background:#a91e2a;color:#fff}.walkthrough-rack-device:focus-visible,.walkthrough-rack-target:focus-visible{outline:3px solid #f3ad2f;outline-offset:2px}
@media(max-width:760px){.walkthrough-rack-summary{display:flex; flex-wrap:wrap; flex-direction:row; align-items:center; gap:10px;} .walkthrough-rack-summary > div:first-child{flex:1 1 100%;}.walkthrough-progress-page .walkthrough-rack-map{max-height:58dvh;padding:11px}.walkthrough-rack-elevation{grid-template-columns:48px minmax(0,1fr);border-width:5px}.walkthrough-rack-labels,.walkthrough-rack-canvas{grid-template-rows:repeat(var(--rack-units),34px)}.walkthrough-rack-labels>span{padding-right:7px;font-size:10px}.walkthrough-rack-device{margin:2px;padding:5px 7px;border-left-width:5px}.walkthrough-rack-device>b{font-size:11px}.walkthrough-rack-device.compact>b{font-size:10px}.walkthrough-rack-legend{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:430px){.walkthrough-progress-page .walkthrough-rack-map{max-height:60dvh}.walkthrough-rack-elevation{grid-template-columns:44px minmax(0,1fr)}.walkthrough-rack-labels,.walkthrough-rack-canvas{grid-template-rows:repeat(var(--rack-units),36px)}.walkthrough-rack-device>b{font-size:10.5px}.walkthrough-rack-device>small{font-size:7.5px}}


.mention-popup { position: absolute; background: #fff; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); list-style: none; padding: 4px; margin: 0; z-index: 9999; min-width: 250px; font-size: 13px; }
.mention-popup li { padding: 8px 12px; cursor: pointer; border-radius: 4px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mention-popup li b { color: var(--blue); margin-right: 6px; }
.mention-popup li.selected, .mention-popup li:hover { background: #f0f4f8; }


.asset-reference-link { background: #e7f3fa !important; color: #0f426b !important; border-color: #bbdefb !important; }
.mention-preview-card { animation: fade-in 0.2s ease-out; } @keyframes fade-in { from { opacity: 0; } to { opacity: 1; transform: translateY(0); } }

/* Managed Excel originals and rack temperature capture. */
.excel-template-settings .panel-head{align-items:flex-start}.excel-template-upload{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr) auto;align-items:end;gap:12px;padding:16px;border-bottom:1px solid #dce5ee;background:#f7f9fc}.excel-template-upload label{display:grid;gap:6px;color:#526a81;font-size:11px;font-weight:700}.excel-template-list{display:grid}.excel-template-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid #e2e8ef}.excel-template-row:last-child{border-bottom:0}.excel-template-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:#e5f4eb;color:#157347;font:800 10px var(--mono)}.excel-template-row>div:nth-child(2){display:grid;gap:2px}.excel-template-row strong{color:#163b60;font-size:13px}.excel-template-row span{color:#667d93;font-size:10px}.excel-template-row small{overflow:hidden;color:#8797a6;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.settings-error{margin:14px;padding:10px 12px;border-left:4px solid #c72a35;background:#fff0f1;color:#9f1723;font-size:11px}.walkthrough-temperature-setting{display:grid;gap:10px;padding:12px;border:1px solid #cbd9e7;border-radius:8px;background:#f7fafc}.walkthrough-temperature-setting>label{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.walkthrough-temperature-setting>label input{margin-top:3px;accent-color:#1d65aa}.walkthrough-temperature-setting>label span,.walkthrough-temperature-setting>[data-temperature-template]{display:grid;gap:3px}.walkthrough-temperature-setting b{color:#173f64;font-size:12px}.walkthrough-temperature-setting small{color:#71869a;font-size:9px}.walkthrough-temperature-setting>[data-temperature-template]{padding:10px;border-top:1px solid #dce5ee}.walkthrough-temperature-setting>[data-temperature-template][hidden]{display:none}.walkthrough-temperature-setting label{color:#526a81;font-size:10px;font-weight:700}

/* Field work registry, report, and cross-module relationships. */
.field-work-page{--field-blue:#1f5c9c;--field-line:#d5e0ea}.field-work-tabs{margin-bottom:12px}.field-work-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.field-work-kpis article{min-height:90px;padding:13px 15px;border:1px solid var(--field-line);border-radius:9px;background:#fff}.field-work-kpis span,.field-work-kpis small{display:block;color:#6e8397;font-size:9px}.field-work-kpis strong{display:block;margin:5px 0 2px;color:#123f6d;font:800 23px var(--mono)}.field-work-table td{vertical-align:middle}.field-work-table .dispatch-title-link span{display:block;margin-top:3px;color:#76899b;font:600 9px var(--mono)}.field-emergency{display:inline-flex;margin-right:6px;padding:2px 6px;border-radius:4px;background:#ffeaec;color:#b91f2c;font-size:8px;font-weight:800;vertical-align:middle}.field-link-count{display:inline-block;margin:2px 3px 2px 0;padding:3px 6px;border-radius:999px;background:#edf3f8;color:#46647e;font-size:8px;white-space:nowrap}.field-report-grid{display:grid;grid-template-columns:1fr 1fr}.field-stat-bars>div{display:grid;grid-template-columns:120px minmax(100px,1fr) 42px;align-items:center;gap:10px}.field-link-section{display:grid;gap:9px;padding-top:14px;border-top:1px solid #dce5ed}.field-link-section h3{margin:0;color:#163e64;font-size:14px}.field-link-section>p{margin:-5px 0 2px;color:#75899d;font-size:10px}.field-link-picker{display:grid;gap:7px;margin:0;padding:10px;border:1px solid #d4e0ea;border-radius:7px}.field-link-picker legend{padding:0 5px;color:#214b70;font-size:10px;font-weight:800}.field-link-picker>[data-field-link-options]{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:130px;overflow:auto}.field-link-picker [data-search-text]{display:flex;align-items:flex-start;gap:7px;padding:7px;border:1px solid #e1e8ef;border-radius:5px;color:#3c5870;font-size:9px;cursor:pointer}.field-link-picker [data-search-text]:has(input:checked){border-color:#6a9ecc;background:#edf6fd;color:#184d7b;font-weight:700}.field-auto-task{display:flex;align-items:center;gap:8px;margin:0;cursor:pointer}.field-linked-group{display:grid;gap:6px;margin-bottom:12px}.field-linked-group label{color:#71869a;font-size:9px;font-weight:800;text-transform:uppercase}.field-linked-group button,.field-linked-group span{padding:8px;border:1px solid #d7e2eb;border-radius:6px;background:#f6f9fc;color:#1b568a;font-size:10px;text-align:left}.field-linked-group button{cursor:pointer}.field-work-timeline{display:grid;gap:0}.field-work-timeline>div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:8px;padding:10px 0;border-bottom:1px solid #e2e9ef}.field-work-timeline i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#2b78bd}.field-work-timeline span{display:flex;align-items:center;gap:8px}.field-work-timeline time{color:#74899d;font:600 9px var(--mono)}.cross-linked-field-work{margin:16px 40px}.cross-linked-field-work .panel-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cross-linked-field-work button{display:grid;gap:2px;padding:9px;border:1px solid #d7e2eb;border-radius:6px;background:#f7f9fc;color:#174f80;text-align:left;cursor:pointer}.cross-linked-field-work button span{color:#667d92;font-size:9px}

body.theme-dark .excel-template-upload,body.theme-dark .walkthrough-temperature-setting,body.theme-dark .field-work-kpis article{border-color:#29415e;background:#14243a}body.theme-dark .excel-template-row{border-color:#29415e}body.theme-dark .excel-template-row strong,body.theme-dark .walkthrough-temperature-setting b,body.theme-dark .field-work-kpis strong{color:#e1edf8}body.theme-dark .field-link-picker{border-color:#314b68}body.theme-dark .field-link-picker [data-search-text],body.theme-dark .field-linked-group button,body.theme-dark .field-linked-group span{border-color:#314b68;background:#182b41;color:#c9dae8}
@media(max-width:760px){.excel-template-upload{grid-template-columns:1fr}.excel-template-row{grid-template-columns:46px minmax(0,1fr)}.excel-template-row>.button{grid-column:2;justify-self:start}.field-work-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.field-report-grid{grid-template-columns:1fr}.field-link-picker>[data-field-link-options]{grid-template-columns:1fr}.cross-linked-field-work{margin:12px}.cross-linked-field-work .panel-body{grid-template-columns:1fr}}
@media(max-width:430px){.field-work-kpis article{min-height:78px;padding:10px 12px}.field-work-kpis strong{font-size:20px}.field-stat-bars>div{grid-template-columns:90px minmax(70px,1fr) 36px}}

/* Responsive application navigation and compact field-work signals. */
.mobile-navigation{display:none}.nav-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.field-emergency-icon{display:inline-block;margin-left:6px;font-size:1em;line-height:1;vertical-align:-.08em;white-space:nowrap}.walkthrough-detail-actions{display:flex;align-items:center;gap:8px}.walkthrough-export-button{white-space:nowrap}@keyframes route-spin{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .shell{display:block!important;min-height:100dvh}.sidebar{display:none!important}.main{width:100%;padding-bottom:72px}.page{padding:15px 12px 28px}.topbar{height:56px;padding:0 12px}.breadcrumb{font-size:16px}.breadcrumb small{display:none}.top-actions{gap:7px}.top-actions .button.secondary.sm:not(.logout-button),.logout-button{display:none}.top-actions .avatar{width:30px;height:30px}.mobile-navigation{display:block}.mobile-bottom-nav{position:fixed;z-index:50;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);height:66px;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));border-top:1px solid #cbd8e5;background:#fff;box-shadow:0 -4px 16px rgba(15,42,67,.09)}.mobile-bottom-nav button{display:grid;place-items:center;align-content:center;gap:1px;min-width:0;border:0;border-radius:8px;background:transparent;color:#64788d;font:inherit;cursor:pointer}.mobile-bottom-nav button>span,.mobile-bottom-nav button>.nav-icon{width:22px;height:22px;font-size:18px;line-height:22px}.mobile-bottom-nav button>b{overflow:hidden;max-width:100%;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav button.active{background:#eaf2fb;color:#174f88}.mobile-nav-backdrop{position:fixed;z-index:47;inset:0 0 66px;width:100%;border:0;background:rgba(9,27,45,.38)}.mobile-nav-sheet{position:fixed;z-index:49;right:8px;bottom:72px;left:8px;display:grid;gap:5px;max-height:min(68dvh,520px);padding:10px;border:1px solid #cbd8e5;border-radius:14px;background:#fff;box-shadow:0 15px 38px rgba(15,42,67,.24);overflow:auto}.mobile-nav-sheet header{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 8px;border-bottom:1px solid #e2e9f0}.mobile-nav-sheet header>b{font-size:14px}.mobile-nav-sheet header button{border:0;background:transparent;color:#62778b;font-size:22px;cursor:pointer}.mobile-nav-sheet>button{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:10px;border:1px solid #e0e7ee;border-radius:9px;background:#fff;color:#173b5f;text-align:left;cursor:pointer}.mobile-nav-sheet>button>span{grid-row:1/3;font-size:18px;text-align:center}.mobile-nav-sheet>button>b{font-size:12px}.mobile-nav-sheet>button>small{color:#74889a;font-size:9px}.mobile-more-sheet>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:5px}.mobile-more-sheet>div>button{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px;border:1px solid #dce5ed;border-radius:8px;background:#f8fafc;color:#173b5f;text-align:left;cursor:pointer}.mobile-more-sheet>div>button>span,.mobile-more-sheet>div>button>.nav-icon{width:20px;height:20px;font-size:17px}.mobile-more-sheet>div>button>b{font-size:11px}.walkthrough-detail-page .page-head{align-items:stretch;flex-direction:column!important;gap:10px}.walkthrough-detail-actions{justify-content:flex-end}.walkthrough-detail-actions .button{flex:1}.walkthrough-progress-page{padding-bottom:158px}.walkthrough-progress-page .walkthrough-result-actions{bottom:74px!important}#toast-root{right:10px;bottom:78px;left:10px}.toast{text-align:center}.field-work-table{min-width:900px}
}
body.theme-dark .mobile-bottom-nav,body.theme-dark .mobile-nav-sheet{border-color:#2f4863;background:#122238}body.theme-dark .mobile-nav-sheet>button,body.theme-dark .mobile-more-sheet>div>button{border-color:#2f4863;background:#182c43;color:#dbe8f4}body.theme-dark .mobile-bottom-nav button.active{background:#1e4165;color:#fff}

/* Field Work Cross Filter Styling */
.field-stat-bars > div {
  padding: 6px 8px;
  margin: -6px -8px;
  border-radius: 6px;
  transition: all 0.1s ease;
  user-select: none;
}
.field-stat-bars > div[data-field-filter-key] {
  cursor: pointer;
}
.field-stat-bars > div[data-field-filter-key]:hover {
  background: #f8fafc;
}
.field-stat-bars > div.active-filter {
  background: #eff6ff;
  box-shadow: 0 0 0 1px #bfdbfe inset;
}
.field-stat-bars > div.active-filter span {
  font-weight: 800;
  color: #1e3a8a;
}
.field-stat-bars > div.active-filter strong {
  color: #1e3a8a;
}

body.theme-dark .field-stat-bars > div[data-field-filter-key]:hover {
  background: #1e293b;
}
body.theme-dark .field-stat-bars > div.active-filter {
  background: rgba(59, 130, 246, 0.15);
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.3) inset;
}
body.theme-dark .field-stat-bars > div.active-filter span,
body.theme-dark .field-stat-bars > div.active-filter strong {
  color: #93c5fd;
}

/* Layout fix for top right actions */
.page-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-actions .field-work-tabs {
  margin-bottom: 0;
  display: flex;
}
.page-actions .field-work-tabs button {
  padding: 8px 14px;
  border: 1px solid var(--field-line);
  background: #fff;
  color: #385873;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.page-actions .field-work-tabs button:first-child {
  border-radius: 7px 0 0 7px;
  border-right: 0;
}
.page-actions .field-work-tabs button:last-child {
  border-radius: 0 7px 7px 0;
}
.page-actions .field-work-tabs button.active {
  background: var(--field-blue);
  border-color: var(--field-blue);
  color: #fff;
}
.page-actions .button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Field work cost-analysis report. */
.field-work-page{--field-blue:#1d5b96;--field-navy:#12395f;--field-line:#d7e2ec;--field-muted:#6b8195}.field-work-page .page-head{margin-bottom:10px}.field-work-actions{display:flex;align-items:center;gap:8px}.field-work-actions .button{display:inline-flex;align-items:center;gap:6px}.field-work-tabs{display:inline-flex;margin:0 0 14px;padding:3px;border:1px solid var(--field-line);border-radius:9px;background:#f3f7fa}.field-work-tabs button{min-width:92px;padding:7px 14px;border:0;border-radius:6px;background:transparent;color:#647a8e;font-size:11px;font-weight:750;cursor:pointer}.field-work-tabs button.active{background:#fff;color:var(--field-navy);box-shadow:0 1px 4px rgba(20,57,91,.12)}.field-filter-chips{display:flex;align-items:center;gap:6px;padding:0 10px 9px;color:var(--field-muted);font-size:9px}.field-filter-chips>span{font-weight:750}.field-filter-chips button{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #c8d9e8;border-radius:999px;background:#edf5fb;color:#24557f;font-size:9px;font-weight:700;cursor:pointer}.field-filter-chips button b{font-size:12px;line-height:8px}.field-filter-chips .field-filter-clear{margin-left:auto;border-color:transparent;background:transparent;color:#a12832}
.field-cost-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr);gap:12px;margin-bottom:12px}.field-cost-overview>article{min-height:164px;padding:18px 20px;border:1px solid var(--field-line);border-radius:10px;background:#fff}.field-operations-summary{display:flex;flex-direction:column;justify-content:space-between}.field-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.field-summary-heading>div>span,.field-resource-summary header span,.field-resource-metrics span{display:block;color:var(--field-muted);font-size:9px;font-weight:700}.field-summary-heading strong{display:block;margin-top:5px;color:var(--field-navy);font:800 31px var(--mono)}.field-summary-heading strong small{margin-left:3px;font:700 11px var(--sans)}.field-completion-rate{padding:6px 9px;border-radius:6px;background:#edf4fa;color:#526e87!important}.field-completion-rate b{margin-left:4px;color:var(--field-navy);font-size:12px}.field-status-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:13px;border-top:1px solid #e5ebf1;border-bottom:1px solid #e5ebf1}.field-status-strip span{padding:9px 8px;color:#647a8e;font-size:9px;text-align:center}.field-status-strip span+span{border-left:1px solid #e5ebf1}.field-status-strip b{margin-right:3px;color:#1c4f7c;font:800 14px var(--mono)}.field-status-strip .urgent b{color:#bd2430}.field-progress{height:5px;margin-top:13px;overflow:hidden;border-radius:999px;background:#e8eef4}.field-progress i{display:block;height:100%;border-radius:inherit;background:#24805b}
.field-resource-summary header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.field-resource-summary h2{margin:3px 0 0;color:var(--field-navy);font-size:15px}.field-data-readiness{padding:5px 8px;border:1px solid #a7dcc1;border-radius:999px;background:#effaf4;color:#16734e!important}.field-data-readiness.warning{border-color:#efcf9f;background:#fff8e9;color:#9a5a11!important}.field-resource-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:17px}.field-resource-metrics>div{min-width:0;padding:0 12px}.field-resource-metrics>div:first-child{padding-left:0}.field-resource-metrics>div+div{border-left:1px solid #e1e8ef}.field-resource-metrics strong{display:block;margin-top:6px;color:var(--field-navy);font:800 19px var(--mono);white-space:nowrap}.field-resource-summary>p{margin:15px 0 0;padding-top:10px;border-top:1px solid #e5ebf1;color:#71869a;font-size:9px}
.field-report-grid{gap:12px;margin-bottom:12px}.field-report-grid-primary{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.field-report-grid-secondary{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.field-report-grid .panel,.field-cost-table-panel,.field-report-detail{margin-bottom:0}.field-report-grid .panel-head,.field-cost-table-panel .panel-head,.field-report-detail .panel-head{min-height:56px;padding:12px 15px}.field-report-grid .panel-head h2,.field-cost-table-panel .panel-head h2,.field-report-detail .panel-head h2{font-size:13px}.field-report-grid .panel-body{padding:14px 16px}
.field-stat-bars{display:grid;gap:6px}.field-stat-bars>button{display:grid;grid-template-columns:112px minmax(80px,1fr) 42px;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.field-stat-bars>button:hover{background:#f3f7fa}.field-stat-bars>button.active-filter{background:#eaf3fb;box-shadow:inset 3px 0 #2674b8}.field-stat-bars span{overflow:hidden;color:#35536d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.field-stat-bars i{height:7px;overflow:hidden;border-radius:999px;background:#e6edf3}.field-stat-bars i b{display:block;height:100%;border-radius:inherit;background:#3b82bd}.field-stat-bars strong{color:#1c4c78;font:800 10px var(--mono);text-align:right}
.field-trend{display:grid;grid-template-columns:repeat(var(--trend-columns),minmax(26px,1fr));align-items:end;gap:7px;height:155px;padding:12px 2px 0}.field-trend>div{display:grid;grid-template-rows:18px 1fr 18px;align-items:end;justify-items:center;height:100%;min-width:0}.field-trend>div>i{display:flex;align-items:flex-end;width:min(26px,72%);height:100%;overflow:hidden;border-radius:5px 5px 2px 2px;background:#edf2f6}.field-trend>div>i b{display:block;width:100%;min-height:5px;border-radius:4px 4px 2px 2px;background:#3279b7}.field-trend>div>span{overflow:hidden;max-width:100%;color:#75899b;font:650 8px var(--mono);text-overflow:ellipsis;white-space:nowrap}.field-trend .field-trend-value{color:#244d72;font-size:9px;font-weight:800}
.field-cost-table-panel{margin-bottom:12px}.field-cost-table th:not(:first-child),.field-cost-table td:not(:first-child),.field-staff-cost-table th:not(:first-child),.field-staff-cost-table td:not(:first-child){width:104px;text-align:right}.field-cost-table td,.field-staff-cost-table td{padding-top:9px;padding-bottom:9px}.field-cost-table tbody tr[data-field-filter-key],.field-staff-cost-table tbody tr[data-field-filter-key]{cursor:pointer}.field-cost-table tbody tr[data-field-filter-key]:hover,.field-staff-cost-table tbody tr[data-field-filter-key]:hover{background:#edf5fb}.field-cost-table td strong{color:#154f80}.field-report-detail{margin-top:12px}.field-report-detail .data-table{min-width:760px}.field-live-time{color:#aa6818;font-weight:750}body.theme-dark .field-cost-overview>article,body.theme-dark .field-work-tabs{border-color:#29435e;background:#14243a}body.theme-dark .field-work-tabs{background:#101e31}body.theme-dark .field-work-tabs button.active{background:#25496d;color:#fff}body.theme-dark .field-summary-heading strong,body.theme-dark .field-resource-summary h2,body.theme-dark .field-resource-metrics strong{color:#e2edf7}body.theme-dark .field-status-strip,body.theme-dark .field-resource-summary>p{border-color:#2a435e}body.theme-dark .field-status-strip span+span{border-color:#2a435e}body.theme-dark .field-completion-rate{background:#1e3550;color:#a9bfd2!important}body.theme-dark .field-stat-bars>button:hover,body.theme-dark .field-cost-table tbody tr[data-field-filter-key]:hover,body.theme-dark .field-staff-cost-table tbody tr[data-field-filter-key]:hover{background:#1b3047}body.theme-dark .field-stat-bars>button.active-filter{background:#203f5f}body.theme-dark .field-trend>div>i,body.theme-dark .field-stat-bars i{background:#263c53}body.theme-dark .field-filter-chips button{border-color:#31506d;background:#1b3651;color:#bcd7ee}
@media(max-width:900px){.field-cost-overview{grid-template-columns:1fr}.field-cost-overview>article{min-height:0}.field-report-grid-primary,.field-report-grid-secondary{grid-template-columns:1fr}.field-work-actions .button{padding-right:10px;padding-left:10px}.field-work-page .page-head{align-items:flex-start}.field-resource-metrics{grid-template-columns:repeat(2,1fr);row-gap:14px}.field-resource-metrics>div:nth-child(3){padding-left:0;border-left:0}.field-report-detail{margin-bottom:12px}}
@media(max-width:600px){.field-work-page .page-head{gap:10px}.field-work-actions{width:100%}.field-work-actions .button{flex:1;justify-content:center;font-size:10px}.field-work-tabs{display:flex;width:100%}.field-work-tabs button{flex:1}.field-filter-chips{overflow-x:auto}.field-filter-chips>span{display:none}.field-filter-chips .field-filter-clear{margin-left:0;white-space:nowrap}.field-cost-overview>article{padding:15px}.field-summary-heading strong{font-size:27px}.field-resource-metrics strong{font-size:17px}.field-status-strip span{padding-right:3px;padding-left:3px}.field-trend{gap:4px}.field-trend>div>i{width:min(20px,78%)}.field-stat-bars>button{grid-template-columns:92px minmax(60px,1fr) 38px;padding-right:3px;padding-left:3px}.field-cost-table,.field-staff-cost-table{min-width:560px}}


/* --- Ultra-compact 1-row Temperature Group --- */
.walkthrough-temp-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #bdcddd;
  border-radius: 7px;
  padding: 0 10px;
  height: 42px; /* Matches RACK ISSUE button height */
  margin: 0;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
}
.walkthrough-temp-group .temp-field {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 4px;
}
.walkthrough-temp-group label {
  font-size: 10px;
  font-weight: 800;
  color: #5c748c;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
}
.walkthrough-temp-group .temp-input-wrapper {
  display: flex;
  align-items: center;
}
.walkthrough-temp-group input {
  width: 38px;
  height: 24px;
  padding: 0 2px;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #173f64;
  background: transparent;
  border: none;
  border-bottom: 2px solid #d7e2eb;
  border-radius: 0;
  text-align: center;
  font-family: var(--mono, monospace);
  outline: none;
  transition: all 0.2s ease;
  box-shadow: none !important;
}
.walkthrough-temp-group input:focus {
  border-color: #1f5c9c;
  background: #f4f7f9;
}
.walkthrough-temp-group .temp-input-wrapper span {
  margin-left: 3px;
  font-size: 10px;
  font-weight: 800;
  color: #71869a;
}
.walkthrough-temp-group .temp-divider {
  width: 1px;
  height: 16px;
  background: #d7e2eb;
  margin: 0 4px;
}

body.theme-dark .walkthrough-temp-group {
  background: #182d45;
  border-color: #29415e;
}
body.theme-dark .walkthrough-temp-group label {
  color: #8c9eae;
}
body.theme-dark .walkthrough-temp-group input {
  color: #dcecf8;
  border-color: #36506a;
}
body.theme-dark .walkthrough-temp-group input:focus {
  border-color: #4c93ce;
  background: #132338;
}

.modal-delete-btn {
  align-items: center;
  gap: 5px;
  height: 36px;
}

.modal-delete-btn {
  display: inline-block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  padding: 7px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #dc2626 !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  line-height: 1.2 !important;
  transition: all 0.15s ease !important;
}
.modal-delete-btn:hover {
  background: #fee2e2 !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
}
body.theme-dark .modal-delete-btn {
  color: #f87171 !important;
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.25) !important;
}
.device-results-dropdown {
  background: #ffffff;
}
body.theme-dark .device-results-dropdown {
  background: #0f172a;
  border-color: #334155;
}
.data-table.compact th {
  padding: 6px 8px;
  font-size: 11px;
}
.data-table.compact td {
  padding: 6px 8px;
  font-size: 11px;
}
.empty.sm {
  padding: 12px;
  font-size: 12px;
}

/* UI recovery: shared date controls, inventory hierarchy, runbook summary and system settings. */
input[type="date"],input[type="datetime-local"],input[type="month"],input[type="time"]{
  font-family:var(--sans)!important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  font-weight:600;
  letter-spacing:-.015em;
}
input[type="date"]::-webkit-datetime-edit,input[type="datetime-local"]::-webkit-datetime-edit,input[type="month"]::-webkit-datetime-edit,input[type="time"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-fields-wrapper,input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper{
  font-family:var(--sans);
}
.date-range-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(310px,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  min-height:58px;
  padding:10px 12px!important;
  border-radius:10px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.03);
}
.date-range-toolbar .report-period-buttons{gap:6px}
.date-range-toolbar .report-period-buttons .button{height:34px;padding:0 12px;border-radius:7px;font-size:11px}
.date-range-toolbar .report-custom-dates{justify-self:start;gap:8px}
.date-range-toolbar .report-custom-dates .input{width:142px;height:36px;padding:5px 10px;border-color:#cbd8e6;border-radius:7px;background:#fff;font-size:12px}
.date-range-toolbar .report-custom-dates>span{color:#718397;font-size:12px}
.date-range-toolbar .report-date-apply{height:36px;padding-inline:15px;border-radius:7px}
.date-range-toolbar .report-period-summary{min-width:190px}
.date-range-toolbar .report-period-summary strong{font-family:var(--sans);font-size:11px;font-weight:750;letter-spacing:-.01em}
.date-range-toolbar .report-period-summary small{font-family:var(--sans);font-size:9.5px;font-weight:500}

/* ═══ Inventory · 계층 트리와 자산 테이블 ══════════════════════════════
   원래 이 화면 스타일은 네 개 층으로 쌓여 있었다. 기본 레이어(.inventory-tree-*)
   위에 .inventory-page 레이어, 그 위에 "align grid" 패치와 "Alignment & Hierarchy"
   패치가 얹혀 서로를 !important 로 덮고 있었다. 여기 한 블록으로 합쳤다.
   이 블록은 문서 순서상 기본 레이어보다 뒤에 있고 .inventory-page 만큼 특정도가
   높으므로 !important 없이 이긴다. 다크 테마와 좁은 화면 규칙은 이 블록보다
   더 뒤에 있어 정상적으로 덮어쓴다. 값을 바꿀 때는 이 블록만 고치면 된다.
   ══════════════════════════════════════════════════════════════════ */
.inventory-page{--inventory-tree-label:40%;--inventory-metric-width:88px}

/* 자산 타입 필터 */
.inventory-page .inventory-filter-bar{margin-bottom:14px;padding:10px 14px;border-color:#cfdae6;border-radius:10px;background:#fff}
.inventory-page .inventory-filter-chip{height:32px;padding:0 12px;border:1px solid #dce5ed;border-radius:8px;background:#f7f9fc;color:#40576f;font-size:11px}
.inventory-page .inventory-filter-chip.active{border-color:#245b96;background:#245b96;color:#fff;box-shadow:0 1px 4px rgba(31,91,153,.22)}
.inventory-page .inventory-filter-chip.active b{color:#fff}

/* 계층 카드 */
.inventory-page .inventory-hierarchy{border:1px solid #cbd8e5;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(16,47,76,.06)}
/* 세 단계 모두 같은 2단 그리드다. 왼쪽은 이름과 합계, 오른쪽은 상태 지표.
   덕분에 단계가 달라도 숫자가 같은 세로선 위에 정렬된다. */
.inventory-page .inventory-tree-root,
.inventory-page .inventory-tree-site-row,
.inventory-page .inventory-tree-location-row{
  display:grid;
  grid-template-columns:minmax(320px,var(--inventory-tree-label)) minmax(340px,calc(100% - var(--inventory-tree-label)));
  align-items:stretch;
}

/* 1단계 · 전체 자산 */
.inventory-page .inventory-tree-root{min-height:74px;border-left:4px solid #205f9f;background:#eef4fb;box-shadow:none}
.inventory-page .inventory-tree-root-button{padding:15px 20px}
.inventory-page .inventory-tree-root-button b{font-size:17px;font-weight:750;letter-spacing:-.02em}
.inventory-page .inventory-tree-root-button>strong{font-size:28px;letter-spacing:-.035em}

/* 2단계 · SITE. 선택된 사이트는 왼쪽 강조선으로 hover 와 구분한다. */
.inventory-page .inventory-tree-sites{border-top:1px solid #cbd8e5}
.inventory-page .inventory-tree-site-row{min-height:56px;background:#fff}
.inventory-page .inventory-tree-site-row:hover{background:#f6f9fd}
.inventory-page .inventory-tree-site-row.active,
.inventory-page .inventory-tree-branch.expanded>.inventory-tree-site-row{background:#e9f2fb;box-shadow:inset 3px 0 0 #2b78bd}
.inventory-page .inventory-tree-site-row .inventory-tree-node{padding:11px 20px}
.inventory-page .inventory-tree-site-row .inventory-tree-copy small{font-size:9px}
.inventory-page .inventory-tree-site-row .inventory-tree-copy b{font-size:14px;font-weight:750}
.inventory-page .inventory-tree-site-row .inventory-tree-node>strong{font-size:20px}

/* 3단계 · LOCATION. 연결선 대신 들여쓰기와 배경으로 계층을 나타낸다. */
.inventory-page .inventory-tree-children{padding:0;border-top:1px solid #e3eaf2;background:#f7fafc}
.inventory-page .inventory-tree-children:before,
.inventory-page .inventory-tree-location-row:before{display:none}
.inventory-page .inventory-tree-location-row{min-height:42px;border-bottom:1px solid #e6ecf2;background:transparent}
.inventory-page .inventory-tree-location-row:last-child{border-bottom:0}
.inventory-page .inventory-tree-location-row.active{border-radius:0;background:#e4eefa}
.inventory-page .inventory-tree-location-row .inventory-tree-node{padding:8px 18px 8px 52px}
.inventory-page .inventory-tree-location .inventory-tree-copy small{font-size:8.5px}
.inventory-page .inventory-tree-location .inventory-tree-copy b{font-size:12px;font-weight:700}
.inventory-page .inventory-tree-location>strong{font-size:15px}
.inventory-page .inventory-tree-no-location{padding:10px 18px 11px 52px}
.inventory-page .inventory-tree-connector{width:5px;height:5px;background:#93abc2}
/* 상태 지표 열. 칸 폭을 고정해 행이 달라도 숫자가 세로로 맞는다. */
.inventory-page .inventory-total-stats,
.inventory-page .inventory-tree-metrics{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(76px,var(--inventory-metric-width));
  align-items:stretch;
  justify-content:end;
  gap:0;
  padding:0 10px;
  border-left:1px solid #cbd8e5;
  background:transparent;
}
.inventory-page .inventory-tree-metric{
  display:grid;
  align-content:center;
  min-width:0;
  padding:6px 11px;
  border:0;
  border-left:1px solid #e3eaf2;
  border-radius:0;
  color:#66798d;
  box-shadow:none;
}
/* 상태별 배경 틴트는 쓰지 않는다. 색은 숫자에만 얹어 표가 조용하게 유지된다. */
.inventory-page button.inventory-tree-metric[data-inventory-status]{background:transparent}
.inventory-page .inventory-tree-metric:first-child{border-left:0}
.inventory-page .inventory-tree-metric span{font-family:var(--sans);font-size:9px;font-weight:650;line-height:1.2}
.inventory-page .inventory-tree-metric b{margin-top:2px;font-size:13px;line-height:1.1}
.inventory-page .inventory-tree-root .inventory-tree-metric b{font-size:16px}
.inventory-page .inventory-tree-location-row .inventory-tree-metric span{font-size:8.5px}
.inventory-page .inventory-tree-location-row .inventory-tree-metric b{font-size:11px}
.inventory-page button.inventory-tree-metric:hover,
.inventory-page button.inventory-tree-metric.active{background:#e6f0fb;color:#174f84}

/* 자산 테이블 */
.inventory-page .inventory-toolbar{padding:12px 14px}
.inventory-page .inventory-table th{padding:10px 14px;background:#f4f7fa;color:#52687e;font-size:10px;letter-spacing:.035em}
.inventory-page .inventory-table td{padding:11px 14px;font-size:12px}
.inventory-page .inventory-table td:first-child b{font-size:12px}
.inventory-page .inventory-table .subtext{font-size:10px}
.inventory-page .inventory-status{padding:4px 8px;font-size:10px}
.inventory-page .inventory-table tbody tr:nth-child(even){background:#fafbfd}

.runbook-summary article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:0 12px;min-height:104px;padding:15px 17px}
.runbook-summary article>i{grid-row:1;grid-column:1;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e8f3ed;color:#16734a;font-style:normal;font-size:17px;font-weight:800}
.runbook-summary article>div{grid-column:2;min-width:0}
.runbook-summary article.draft>i{background:#fff3dd;color:#a8670c}
.runbook-summary article.default>i{background:#eaf1fb;color:#235f9c;font-size:15px}
.runbook-summary span{font-size:11px;font-weight:650}
.runbook-summary strong{margin:2px 0;font-size:26px}

.holiday-sync-settings{display:flex;align-items:center;gap:8px}
.holiday-sync-settings .select{width:auto}

body.theme-dark .date-range-toolbar .report-custom-dates .input{border-color:#35506d;background:#14243a;color:#e3edf7}
body.theme-dark .inventory-page .inventory-hierarchy,body.theme-dark .inventory-page .inventory-filter-bar{border-color:#2b425d;background:#14243a}
/* body.theme-dark 접두어가 위 블록보다 특정도가 높고 순서도 뒤라 !important 없이 이긴다. */
body.theme-dark .inventory-page .inventory-tree-root{background:#17314d}
body.theme-dark .inventory-page .inventory-tree-site-row{background:#14243a}
body.theme-dark .inventory-page .inventory-tree-site-row:hover{background:#182f4a}
body.theme-dark .inventory-page .inventory-tree-site-row.active,body.theme-dark .inventory-page .inventory-tree-branch.expanded>.inventory-tree-site-row,body.theme-dark .inventory-page .inventory-tree-location-row.active{background:#1a3654}
body.theme-dark .inventory-page .inventory-tree-location-row,body.theme-dark .inventory-page .inventory-tree-children{background:#112136}
body.theme-dark .inventory-page .inventory-total-stats,body.theme-dark .inventory-page .inventory-tree-metrics{border-color:#314a65;background:transparent}
body.theme-dark .inventory-page .inventory-tree-metric{border-color:#29415b;color:#9fb1c3}
/* 상태 색은 밝은 테마 기준으로 잡혀 있어 어두운 배경에서 대비가 부족하다. 밝은 쪽으로 올린다. */
body.theme-dark .inventory-page button.inventory-tree-metric[data-inventory-status="IN STOCK"] b,
body.theme-dark .inventory-page .inventory-total-stat[data-inventory-global-status="IN STOCK"] b{color:#5ed39a}
body.theme-dark .inventory-page button.inventory-tree-metric[data-inventory-status="IN USE"] b,
body.theme-dark .inventory-page .inventory-total-stat[data-inventory-global-status="IN USE"] b{color:#7fb8f5}
body.theme-dark .inventory-page button.inventory-tree-metric[data-inventory-status="FAULT"] b,
body.theme-dark .inventory-page .inventory-total-stat[data-inventory-global-status="FAULT"] b{color:#f2909a}

@media(max-width:900px){
  .date-range-toolbar{grid-template-columns:1fr!important}
  .date-range-toolbar .report-period-summary{justify-items:start;min-width:0}
  .inventory-page{--inventory-tree-label:44%;--inventory-metric-width:78px}
}
@media(max-width:680px){
  .date-range-toolbar .report-custom-dates{display:grid;grid-template-columns:1fr auto 1fr auto;width:100%}
  .date-range-toolbar .report-custom-dates .input{width:100%;min-width:0}
  /* 미디어 블록이 위 기본 블록보다 뒤에 있고 셀렉터 특정도가 같아 !important 없이 이긴다. */
  .inventory-page .inventory-tree-root,.inventory-page .inventory-tree-site-row,.inventory-page .inventory-tree-location-row{grid-template-columns:1fr}
  .inventory-page .inventory-total-stats,.inventory-page .inventory-tree-metrics{grid-auto-columns:minmax(0,1fr);justify-content:stretch;border-left:0;border-top:1px solid #dde6ef}
  .inventory-page .inventory-tree-root{min-height:0}
  .inventory-page .inventory-tree-root-button{padding:12px 15px}
  .inventory-page .inventory-tree-root-button b{font-size:16px}
  .inventory-page .inventory-tree-root-button>strong{font-size:25px}
  .inventory-page .inventory-tree-site-row .inventory-tree-node{padding:9px 14px}
  .inventory-page .inventory-tree-location-row .inventory-tree-node{padding:7px 14px 7px 38px}
  .runbook-summary{grid-template-columns:1fr}
}

/* 현장작업 연결 편집 모달. .field-link-picker / .field-link-section 은 이미 규칙이
   있으나 목록이 길어질 때의 스크롤과 편집기 간격이 없었다. */
.field-link-editor{display:grid;gap:14px}
.field-link-picker{max-height:230px;overflow:auto}
.field-link-picker .todo{margin:0;padding:5px 6px;border-radius:6px}
.field-link-picker .todo:hover{background:#eef4fa}
.field-link-picker .todo span{font-size:12px}
.field-link-picker .todo b{font-family:var(--mono,monospace);font-size:11px}
body.theme-dark .field-link-picker .todo:hover{background:#1b3350}

/* 장비 / 서버 검색 결과 행. 드롭다운 상자 자체는 taskForm에 인라인 스타일로 있고,
   그 안의 행 스타일이 없어 선택 상태가 보이지 않았다. */
.device-result{display:grid;gap:1px;width:100%;padding:7px 10px;border:0;border-bottom:1px solid var(--line,#eef2f6);background:transparent;color:inherit;text-align:left;cursor:pointer}
.device-result:last-child{border-bottom:0}
.device-result:hover,.device-result.is-on{background:#eaf2fb}
.device-result b{font-size:12px}
.device-result span{color:var(--muted,#6b7f92);font-size:10px}
.device-result small{color:var(--ink-light,#8496a6);font-size:9px}
body.theme-dark .device-result{border-bottom-color:#22344a}
body.theme-dark .device-result:hover,body.theme-dark .device-result.is-on{background:#1b3350}

/* Settings > 사용자 권한. .settings-info-card was referenced by excel-templates.js
   but never had a rule, so it rendered as unstyled text. */
.settings-info-card{padding:12px 14px;border:1px solid var(--line,#d8e2ec);border-left:3px solid #2f6fb0;border-radius:8px;background:#f5f9fd;color:#1c3f63}
.settings-info-card p{margin:5px 0 0}
.access-layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:14px;align-items:start}
.access-user-list{display:grid;gap:6px;max-height:520px;overflow:auto}
.access-user{display:grid;gap:2px;padding:9px 11px;border:1px solid var(--line,#d8e2ec);border-radius:8px;background:#fff;color:inherit;text-align:left;cursor:pointer}
.access-user:hover{border-color:#9dc0e0}
.access-user.is-on{border-color:#2f6fb0;background:#eaf2fb;box-shadow:inset 3px 0 0 #2f6fb0}
.access-editor{display:grid;gap:12px}
.access-editor-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line,#e2e9f0)}
.access-editor-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.access-editor-controls label{display:flex;gap:6px;align-items:center;margin:0;font-size:12px;font-weight:600}
.access-category{margin:0}
.access-table td{vertical-align:middle}
.access-table .access-key{font-family:var(--mono,monospace);font-size:9px;opacity:.72}
.access-default{white-space:nowrap;color:var(--muted,#6b7f92);font-size:11px}
.access-choices{display:flex;gap:4px;white-space:nowrap}
.access-choice{padding:4px 9px;border:1px solid var(--line,#d3dee8);border-radius:999px;background:#fff;color:#4a6076;font-size:11px;cursor:pointer}
.access-choice:hover{border-color:#9dc0e0}
.access-choice.is-on{border-color:#2f6fb0;background:#2f6fb0;color:#fff;font-weight:700}
.access-effective{white-space:nowrap}
body.theme-dark .settings-info-card{border-color:#2a3f56;background:#16263a;color:#cfe0f0}
body.theme-dark .access-user,body.theme-dark .access-choice{border-color:#2a3f56;background:#132132;color:#cfe0f0}
body.theme-dark .access-user.is-on{background:#1b3350;border-color:#4c8ac9}
body.theme-dark .access-choice.is-on{background:#3f7fbe;border-color:#3f7fbe;color:#fff}
@media(max-width:900px){
  .access-layout{grid-template-columns:1fr}
  .access-user-list{max-height:none;grid-auto-flow:row}
}
