:root{--bg:#f6f7f9;--surface:#fff;--text:#1b1f24;--muted:#6a737d;--border:#dde1e6;--ljb-red:#ab0033;--ljb-blue:#004877;--ljb-navy:#00263e;--ljb-teal:#43a8c7;--accent:var(--ljb-blue);--accent-soft:#e5eef5;--red:#c62828;--red-soft:#fdecea;--amber:#a15c00;--amber-soft:#fff4e0;--green:#2e7d32;--green-soft:#e8f5e9;--gray-soft:#eef0f2;--purple:#6a1b9a;--purple-soft:#f3e5f5;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.6;cursor:default}button.link{color:inherit;background:0 0;border:none;padding:0;text-decoration:underline}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:6px 10px}.app-header{background:var(--surface);height:60px;color:var(--ljb-navy);border-top:4px solid var(--ljb-red);border-bottom:1px solid var(--border);align-items:center;gap:28px;padding:0 24px;display:flex;box-shadow:0 1px 3px #00263e0f}.app-header .brand{color:var(--ljb-navy);align-items:center;gap:12px;text-decoration:none;display:flex}.app-header .brand img{width:auto;height:34px;display:block}.app-header .brand span{border-left:1px solid var(--border);letter-spacing:.06em;color:var(--ljb-teal);padding-left:12px;font-size:16px;font-weight:700}.app-header nav{flex:1;align-self:stretch;gap:20px;display:flex}.app-header nav a{color:var(--ljb-navy);opacity:.75;border-bottom:3px solid #0000;align-items:center;font-weight:500;display:flex}.app-header nav a:hover{opacity:1;text-decoration:none}.app-header nav a.active{opacity:1;border-bottom-color:var(--ljb-red);text-decoration:none}.app-header .user{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.app-header .user button.link{color:var(--ljb-blue)}main{max-width:1400px;margin:0 auto;padding:20px 24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header h1{margin:0;font-size:20px}.toolbar{gap:8px;display:flex}.toolbar input[type=search]{width:260px}.chips{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.chip{border-radius:999px;padding:4px 14px}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto}table.grid{border-collapse:collapse;width:100%}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}table.grid th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}table.grid tbody tr:hover{background:#fafbfc}table.grid tbody tr:last-child td{border-bottom:none}.title-link{color:var(--text)}.nowrap{white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:32px}.badge{white-space:nowrap;background:var(--gray-soft);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.status-open{background:var(--accent-soft);color:var(--accent)}.status-in-progress{background:var(--green-soft);color:var(--green)}.status-awaiting-requester,.status-waiting-on-ets,.status-waiting-on-vendor{background:var(--amber-soft);color:var(--amber)}.status-scheduled{background:var(--purple-soft);color:var(--purple)}.status-on-hold,.priority-low{background:var(--gray-soft);color:var(--muted)}.priority-medium{background:var(--accent-soft);color:var(--accent)}.priority-high{background:var(--amber-soft);color:var(--amber)}.priority-urgent{background:var(--red-soft);color:var(--red)}.due-overdue{color:var(--red);font-weight:600}.due-soon{color:var(--amber);font-weight:600}.banner{background:var(--accent-soft);border:1px solid #c3d9f0;border-radius:6px;margin:12px 0;padding:10px 14px}.banner-error{background:var(--red-soft);border-color:#f5c2bd}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center;margin-top:20vh}.diag h3{margin:20px 0 6px;font-size:14px}.diag pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:320px;padding:10px;font-size:12px;overflow-x:auto}code{background:#0000000f;border-radius:3px;padding:1px 4px}button.primary,a.button.primary{background:var(--accent);border:1px solid var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--ljb-navy);border-color:var(--ljb-navy)}a.button{border-radius:6px;padding:6px 12px;text-decoration:none;display:inline-block}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.narrow{max-width:760px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:16px}.card h2{margin:0 0 12px;font-size:15px}.card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-head h2{margin:0}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--muted);font-size:12px;font-weight:600}.field input,.field select,.field textarea,.card textarea{width:100%}.field .row select{flex:1;min-width:0}.category-add{grid-column:1/-1}.category-add .row input{flex:1;min-width:0}textarea{resize:vertical;line-height:1.45}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check{align-items:center;gap:8px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person-search{position:relative}.person-search input{width:100%}.suggestions{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;left:0;right:0;box-shadow:0 4px 16px #00000014}.suggestions button{text-align:left;border:none;border-radius:0;width:100%;padding:6px 10px}.suggestions button:hover{background:var(--accent-soft)}.person-chip{border:1px solid var(--border);background:var(--gray-soft);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.page-header h1+.row{margin-top:6px}.detail{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;margin-top:16px;display:grid}.detail-side .card{margin-bottom:16px}.kv{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.kv dt{color:var(--muted);font-size:12px}.kv dd{margin:0}.files{margin:0;padding:0;list-style:none}.files li{border-top:1px solid var(--border);flex-direction:column;padding:6px 0;display:flex}.files li:first-child{border-top:none}.files a{word-break:break-all}.files li.file-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.composer{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;display:flex}.composer-internal{background:#fffbf2;border-color:#f0dfb8}.composer-public{background:#f5f9fe;border-color:#c3d9f0}.segmented{border:1px solid var(--border);border-radius:6px;align-self:flex-start;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);border:none;border-radius:0}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:#fff}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.note{border:1px solid var(--border);border-left-width:4px;border-radius:6px;padding:10px 12px}.note-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.note-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.note-internal{background:#fffbf2;border-left-color:#e0a526}.note-internal .note-tag{background:var(--amber-soft);color:var(--amber)}.note-public{border-left-color:var(--accent)}.note-public .note-tag{background:var(--accent-soft);color:var(--accent)}.note-inbound{border-left-color:var(--purple);background:#fbf7fd}.note-inbound .note-tag{background:var(--purple-soft);color:var(--purple)}.note-outbound{border-left-color:var(--green);background:#f6fbf6}.note-outbound .note-tag{background:var(--green-soft);color:var(--green)}.rich{overflow-wrap:anywhere;line-height:1.45}.rich img{max-width:100%;height:auto}.rich p{margin:0 0 8px}.rich table{border-collapse:collapse;max-width:100%}.banner-warn{background:var(--amber-soft);border-color:#f0dfb8}.more{border-top:1px solid var(--border);padding-top:10px}.more summary{cursor:pointer;margin-bottom:10px;font-size:13px;font-weight:600}.multi{flex-direction:column;gap:6px;display:flex}.chips-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.person-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.person-tag button{color:inherit;background:0 0;border:none;padding:0 6px;font-size:15px;line-height:1}input.interval{width:80px}.field .row select,.field .row input:not(.interval){flex:1;min-width:0}tr.inactive td{color:var(--muted)}tr.inactive .badge{margin-left:8px}.dialog{border:1px solid var(--border);border-radius:10px;width:min(520px,100vw - 32px);padding:20px;box-shadow:0 12px 40px #0000002e}.dialog::backdrop{background:#00263e59}.dialog h2{margin:0;font-size:16px}.toolbar label.row select{width:auto}.subnav{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;display:flex}.subnav a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 12px}.subnav a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;text-decoration:none}.action-bar{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}button.danger{background:var(--red);border-color:var(--red);color:#fff}button.danger:hover:not(:disabled){background:#a61f1f}button.danger-outline{color:var(--red);border-color:#f0b9b3}button.danger-outline:hover:not(:disabled){border-color:var(--red)}.readonly{border:1px dashed var(--border);background:var(--gray-soft);border-radius:6px;min-height:32px;padding:6px 10px}.mono{font-family:Consolas,Cascadia Mono,monospace}.device-deployed,.line-active{background:var(--green-soft);color:var(--green)}.device-spare,.line-available{background:var(--accent-soft);color:var(--accent)}.device-repair,.line-suspended{background:var(--amber-soft);color:var(--amber)}.device-lost{background:var(--red-soft);color:var(--red)}.device-retired,.line-disconnected{background:var(--gray-soft);color:var(--muted)}.person-pick select{min-width:260px}.dialog p{margin:0}.toast-region{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--green);color:#fff;border-radius:8px;padding:10px 16px;font-weight:600;transition:opacity .4s,transform .4s;animation:.2s ease-out toast-in;box-shadow:0 6px 20px #0000002e}.toast.leaving{opacity:0;transform:translateY(6px)}.toast-check{margin-right:4px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.banner{position:relative}.banner-dismiss{float:right;color:inherit;opacity:.7;background:0 0;border:none;margin:-4px -6px 0 8px;padding:0 6px;font-size:18px;line-height:1}.banner-dismiss:hover{opacity:1}button.sort-header{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}button.sort-header:hover{color:var(--text)}button.sort-header.active{color:var(--accent)}.sort-arrow{opacity:.5;font-size:10px}button.sort-header.active .sort-arrow{opacity:1}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.filters select{width:auto}.kb-layout{display:block}.kb-layout.with-panel{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.kb-panel{max-height:calc(100vh - 24px);margin-bottom:0;position:sticky;top:12px;overflow-y:auto}.kb-edit>.actions{background:var(--surface);border-top:1px solid var(--border);z-index:1;padding:10px 0 12px;position:sticky;bottom:-16px}.kb-panel h2{overflow-wrap:anywhere;margin:0}.kb-panel h3{margin:4px 0 0;font-size:13px}.kb-panel .kv{margin:12px 0}.kb-edit{border-top:1px solid var(--border);padding-top:12px}.kb-retire{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.kb-retire .banner p{margin:0 0 8px}a.button.open-word{margin-top:10px;display:inline-block}tr.clickable{cursor:pointer}tr.selected td{background:var(--accent-soft)}button.link.title-link{color:var(--text);text-align:left;font:inherit;text-decoration:none}button.link.title-link:hover{text-decoration:underline}.kb-published{background:var(--green-soft);color:var(--green)}.kb-draft{background:var(--accent-soft);color:var(--accent)}.kb-retired{background:var(--gray-soft);color:var(--muted)}.banner.cmmc{margin-bottom:14px}@media (width<=1100px){.kb-layout.with-panel{grid-template-columns:1fr}.kb-panel{max-height:none;position:static;overflow-y:visible}}.app-version{opacity:.6;font-size:11px}table.line-items th.num,table.line-items td.num{text-align:right;white-space:nowrap}table.line-items tfoot td{border-top:2px solid var(--border);border-bottom:none}table.line-items tr.editing input,table.line-items tr.editing select{width:100%;min-width:70px}.line-add{grid-template-columns:minmax(0,2fr) 120px 110px 80px minmax(0,2fr) auto;gap:8px;margin-top:10px;display:grid}@media (width<=900px){.line-add{grid-template-columns:1fr}}.fob-list{margin:6px 0;padding-left:20px}.kb-layout.with-panel.asset-layout{grid-template-columns:minmax(0,1fr) 460px}.asset-panel .row{margin-top:6px}.badge.warranty-expired{background:var(--red-soft);color:var(--red)}.badge.follow-up{background:var(--accent-soft)}.badge.follow-up-due{background:var(--amber-soft);color:var(--amber)}.title-link+.badge.follow-up{margin-left:8px}.badge.intune-assigned{background:var(--purple-soft);color:var(--purple)}.asset-panel .action-bar{margin-top:8px}.asset-panel .action-bar+.action-bar{margin-top:4px}.asset-history{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.asset-history h3{margin:0 0 8px;font-size:13px}.card>.asset-history:first-child{border-top:none;margin-top:0;padding-top:0}.card>.asset-history h3{font-size:15px}@media (width<=1100px){.kb-layout.with-panel.asset-layout{grid-template-columns:1fr}}.outage{border:1px solid var(--border);border-radius:8px;margin:0;padding:10px 12px 12px}.outage legend{color:var(--muted);padding:0 4px;font-size:12px;font-weight:600}.detail-side .outage .grid-2{grid-template-columns:1fr}.tasks{margin:0 0 8px;padding:0;list-style:none}.task{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:6px 0;display:grid}.task-done .task-title{color:var(--muted);text-decoration:line-through}.task-editing{grid-template-columns:minmax(0,1fr) auto auto}.task-editing .row{grid-column:1/-1}.task-add,.time-add{align-items:end;gap:8px;margin-top:8px;display:grid}.task-add{grid-template-columns:minmax(0,1fr) auto auto auto}.time-add{grid-template-columns:1.3fr 90px 150px minmax(0,2fr) auto;margin-bottom:12px}table.grid.compact th,table.grid.compact td{padding:6px 8px}@media (width<=900px){.task{grid-template-columns:auto minmax(0,1fr) auto}.task-add,.time-add,.task-editing,.detail,.grid-2{grid-template-columns:1fr}.app-header{flex-wrap:wrap;gap:12px;height:auto;padding:10px 16px}.app-header nav{flex-wrap:wrap;flex-basis:100%;order:3;gap:14px}.app-header nav a{padding:4px 0}.app-header .user{margin-left:auto}main{padding:16px}}.export{display:inline-flex;position:relative}.export .banner{z-index:20;width:340px;margin:6px 0 0;font-size:13px;position:absolute;top:100%;right:0}.card-head .card-actions{align-items:center;gap:12px;display:flex}.asset-history .history-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kpi:hover{border-color:var(--accent);text-decoration:none}.kpi-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.kpi-label{color:var(--muted);font-size:12px}.kpi-warn .kpi-value{color:var(--amber)}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (width<=1000px){.dash-grid{grid-template-columns:1fr}}.dash-card{margin:0}.dash-wide{grid-column:1/-1}.dash-sub{margin:-4px 0 10px}.dash-empty{text-align:center;color:var(--muted);background:var(--bg);border-radius:6px;margin:8px 0;padding:16px}.dash-foot{margin:10px 0 0}.dash-stats{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.dash-stat{border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 12px}.dash-stat:hover{border-color:var(--accent);text-decoration:none}.dash-stat strong{font-variant-numeric:tabular-nums;margin-right:4px;font-size:16px}.badge.days-critical{background:var(--red-soft);color:var(--red)}.badge.days-warning{background:var(--amber-soft);color:var(--amber)}.bar-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bar-list li{grid-template-columns:minmax(0,38%) minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{height:12px}.bar-fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}.bar-list li:hover .bar-fill{background:var(--ljb-navy)}.bar-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}@media (width<=600px){.bar-list li{grid-template-columns:minmax(0,1fr) auto}.bar-track{grid-area:2/1/auto/-1}}.links-menu{position:relative}.links-toggle{color:var(--ljb-navy);align-items:center;gap:6px;font-weight:500;display:inline-flex}.links-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:300px;max-height:70vh;padding:8px 0;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00263e1f}.links-dropdown>p{margin:6px 14px}.links-group+.links-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.links-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:4px 14px;font-size:11px;font-weight:600}.links-item{color:var(--text);padding:6px 14px;display:block}.links-item:hover{background:var(--accent-soft);text-decoration:none}.links-footer{border-top:1px solid var(--border);margin-top:6px;padding:8px 14px 2px;font-size:13px}.quick-links{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 24px;display:grid}.quick-links .links-group-title{padding:0 0 6px}.quick-link-buttons{flex-wrap:wrap;gap:6px;display:flex}.quick-link-buttons a.button{padding:4px 10px}.link-form{max-width:820px}.links-url{overflow-wrap:anywhere;max-width:320px}@media (width<=900px){.links-dropdown{left:0;right:auto}}.quick-link-buttons a.button,.action-bar a.button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.quick-link-buttons a.button:hover,.action-bar a.button:hover{border-color:var(--accent);text-decoration:none}.select-cell{width:1%;padding-right:0}.select-cell input{cursor:pointer;width:auto;margin:0}.bulk-bar{background:var(--accent-soft);border:1px solid #c3d9f0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;display:flex}
