
:root{--bg:#f4f6fa;--card:#fff;--line:#dfe4ec;--text:#172033;--muted:#6f7b91;--purple:#3346d3;--purple2:#6474ec;--nav:#102033;--green:#168957;--red:#d94752;--orange:#c96a13;--blue:#2368d8;--shadow:0 8px 22px rgba(30,45,80,.07)}
.asset-thumb.asset-thumb-lg{width:54px!important;height:54px!important;border-radius:10px}.asset-thumb.asset-thumb-lg img{width:auto!important;height:auto!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important;object-position:center!important;transform:none!important;display:block!important}
html{scrollbar-gutter:stable}
*{box-sizing:border-box} body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);font-size:13px;line-height:1.45}.layout{display:flex;min-height:100vh}
.sidebar{width:245px;background:#102033;color:white;position:fixed;inset:0 auto 0 0;padding:18px 12px;box-shadow:8px 0 30px #0b1a3320;overflow:auto}.brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:0 8px}.brand-mark{width:31px;height:31px;border-radius:8px;background:#f2b84b;color:#102033;display:grid;place-items:center;font-size:16px}.brand-text{font-size:21px;font-weight:900}.brand-text span{color:#f2b84b}.admin-mini{display:flex;gap:10px;align-items:center;padding:10px;margin-bottom:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px}.admin-mini span{display:block;font-size:11px;color:#aab7d0;margin-top:2px}
.avatar{border-radius:50%;background:linear-gradient(135deg,#ffe2e8,#d7d7ff);color:#1b2440;font-weight:800;display:grid;place-items:center;overflow:hidden;position:relative}.avatar img{border-radius:inherit}.avatar.small{width:34px;height:34px;font-size:11px}.avatar.md{width:42px;height:42px}.avatar.lg{width:88px;height:88px;font-size:26px}.avatar.presence-online{border:4px solid #22c55e!important;box-shadow:0 0 0 2px #dcfce7!important}.avatar.small.presence-online,.avatar.tiny.presence-online{border-width:3px!important;box-shadow:0 0 0 2px #dcfce7!important}
.sidebar nav a{display:flex;align-items:center;gap:8px;color:#dce7fb;text-decoration:none;padding:9px 12px;margin:2px 0;border-radius:8px;font-size:13px;position:relative}.sidebar nav a:before{content:"";width:7px;height:7px;border:1px solid #9aa9c2;border-radius:50%}.sidebar nav a.active,.sidebar nav a:hover{background:#263a55;color:white}.sidebar nav a.active:before,.sidebar nav a:hover:before{background:#f2b84b;border-color:#f2b84b}.sidebar nav a b{margin-left:auto;background:#d94752;color:white;border-radius:99px;padding:2px 7px;font-size:10px}
.main{margin-left:245px;width:calc(100% - 245px);padding:0 18px 28px}.topbar{height:60px;display:flex;align-items:center;gap:12px}.icon-btn{width:36px;height:36px;border-radius:8px;padding:0}.back{font-size:28px;color:#556177}.search{width:560px;background:white;border:1px solid var(--line);border-radius:8px;height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;box-shadow:0 3px 14px #1b2b5010}.search input{border:0;outline:0;width:100%;color:#354057;background:transparent}.topicons{margin-left:auto;display:flex;align-items:center;gap:10px;color:#4e5d78}.topicons>span:not(.school){width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;font-weight:900}.school{font-weight:700;line-height:1.1;border-left:1px solid var(--line);padding-left:12px}.school small{color:var(--muted)}
.flash{border:1px solid var(--line);border-left-width:4px;border-radius:8px;background:#fff;padding:11px 13px;margin-bottom:14px;font-weight:800;box-shadow:var(--shadow)}.flash.ok{border-left-color:var(--green)}.flash.success{border-left-color:var(--green)}.flash.bad{border-left-color:var(--red)}.flash.error{border-left-color:var(--red)}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.card h1,.card h2,.card h3{margin-top:0}.page-title{font-size:24px;margin-bottom:5px}.muted,.subtext{color:var(--muted)}.subtext{font-size:11px;margin-top:2px}.grid{display:grid;gap:14px}.cols2{grid-template-columns:1fr 1fr}.cols3{grid-template-columns:repeat(3,1fr)}.cols4{grid-template-columns:repeat(4,1fr)}.cols-main{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}
.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:var(--shadow)}.stat small{color:#6f7b91;font-weight:800}.stat strong{display:block;font-size:28px;margin:8px 0 2px}
.stat.fancy{position:relative;display:flex;align-items:center;gap:13px;min-height:116px;overflow:hidden;color:white;border:0}.stat.fancy:after{content:"";position:absolute;right:-22px;bottom:-28px;width:118px;height:118px;border-radius:50%;background:rgba(255,255,255,.12)}.stat.fancy small,.stat.fancy span{color:rgba(255,255,255,.82);font-weight:900}.stat.fancy strong{font-size:32px;margin:4px 0 0;color:white}.stat.fancy>div{position:relative;z-index:1}.stat-art{width:58px;height:58px;border-radius:8px;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 12px 24px rgba(0,0,0,.16);flex:0 0 auto}.stat-art img{max-width:50px;max-height:42px}.initials-art{background:#fff;color:#168957;font-size:20px;font-weight:900}.asset-stat{background:linear-gradient(135deg,#2459c7,#4b6fe5)}.student-stat{background:linear-gradient(135deg,#168957,#38a878)}.repair-stat{background:linear-gradient(135deg,#c96a13,#e49b35)}.charge-stat{background:linear-gradient(135deg,#c53f4a,#e05f6b)}
.asset-hero{position:relative;overflow:hidden}.asset-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,#3346d3,#f2b84b)}.asset-hero>.grid{position:relative;z-index:1}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.chip-row span{background:#eef2ff;border:1px solid #d9e0ff;color:#2739b7;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mini-metrics span{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;color:#657188;font-size:11px}.mini-metrics b{display:block;color:#172033;font-size:13px}.stat.mini{position:relative;overflow:hidden;padding-left:16px}.stat.mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}.stat.mini strong{font-size:19px}.stat.mini span{color:var(--muted)}.location-mini:before{background:#2368d8}.checkout-mini:before{background:#168957}.source-mini:before{background:#c96a13}.action-card{display:flex;justify-content:space-between;align-items:center;gap:18px;border-left:5px solid #3346d3}.action-card small{color:#3346d3;font-weight:900}.action-card h2{margin:4px 0;font-size:20px}
.asset-command{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:14px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px;position:relative;overflow:visible}.asset-command:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,#3346d3,#f2b84b);border-radius:8px 0 0 8px}.asset-profile{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center;padding-left:4px}.asset-visual{height:176px;border:1px solid var(--line);border-radius:8px;background:#f7f9fe;display:grid;place-items:center}.asset-visual img{max-width:170px;max-height:130px}.asset-identity h1{font-size:30px;line-height:1.1;margin:0}.asset-identity p{color:var(--muted);font-size:14px;margin:10px 0}.identity-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.action-toolbar .btn{min-width:142px}.action-icon{font-size:15px;line-height:1}.icon-action{width:34px;height:34px;min-width:34px;padding:0;border-radius:8px;background:#f4f7ff;color:#263bd1;font-size:16px}.icon-action:hover{background:#eaf0ff}.action-menu{position:relative}.action-menu-panel{display:none;position:absolute;right:0;top:40px;width:190px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(13,25,43,.18);padding:6px;z-index:30}.action-menu.open .action-menu-panel{display:grid}.action-menu-panel button{justify-content:flex-start;background:#fff;border:0;color:#172033;border-radius:6px;font-weight:800;padding:9px 10px;box-shadow:none}.action-menu-panel button:hover{background:#f2f5ff;box-shadow:none}.risk-summary{min-height:0;border-radius:999px;padding:5px 9px;background:#fff7e8;border:1px solid #ffd89d;color:#9a5600;font-size:11px}.chip-row .risk-chip.warn{background:#fff3df;border-color:#ffd89d;color:#9a5600}.chip-row .risk-chip.bad{background:#ffe8eb;border-color:#ffc9cf;color:#b52f3a}.chip-row .risk-chip.ok{background:#e3f8ee;border-color:#bfead3;color:#146f47}.assignment-rail{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:16px}.rail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rail-head h3{margin:0}.status-strip{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr 1fr .7fr;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.status-strip div{padding:13px 14px;border-right:1px solid var(--line);min-width:0}.status-strip div:last-child{border-right:0}.status-strip small,.status-strip b,.status-strip span{display:block}.status-strip small{color:#6f7b91;font-weight:900;font-size:11px}.status-strip b{font-size:15px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-strip span{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.micro-timeline{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.micro-timeline span{background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12px;color:#4f5b72}.micro-timeline b{color:#172033}
.filterbar{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;gap:10px;flex-wrap:wrap;box-shadow:var(--shadow);margin-bottom:14px}.filter{min-width:155px;border:1px solid #dfe4ef;border-radius:8px;background:#fbfcff;padding:9px 11px;color:#4a5670;font-weight:700}.filter.search-filter{min-width:320px;flex:1}
.btn,button{border:1px solid #cfd6e3;border-radius:8px;background:#fff;color:#3346d3;font-weight:800;padding:7px 10px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:.15s;min-height:32px;font-size:12px}.btn:hover,button:hover{box-shadow:0 8px 18px #1b2b5014}.btn.primary,button.primary{background:#3346d3;color:white;border-color:#3346d3}.btn.green{background:#168957;color:white;border-color:#168957}.btn.danger{background:#d94752;color:white;border-color:#d94752}.btn.soft{background:#f2f5ff;color:#3346d3}.btn.compact,button.compact{min-height:28px;padding:5px 9px}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-grid .btn,.quick-grid button{border-radius:8px}.quick-grid.vertical{grid-template-columns:1fr}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:12px;white-space:nowrap;vertical-align:middle}.table th{background:#f7f9fc;color:#5e6b80;font-weight:900;position:sticky;top:0;z-index:1}.table tr:hover td{background:#fafbff}.table a{color:#1f55b5;text-decoration:none}.table a:hover{text-decoration:underline}
.asset-main,.person-cell{display:flex;align-items:center;gap:12px;min-width:0}.asset-main{text-decoration:none;color:inherit;position:relative}.asset-thumb{width:58px;height:44px;border:1px solid #e4e8f2;border-radius:8px;background:#f7f9fe;display:grid;place-items:center;box-shadow:inset 0 0 0 1px white;flex:0 0 auto}.asset-thumb img{max-width:52px;max-height:38px}.big-asset{height:170px;border-radius:8px;background:#f7f9fe;border:1px solid var(--line);display:grid;place-items:center}.big-asset img{max-width:180px;max-height:135px}.asset-title b{font-size:13px}.asset-title span{color:#7b86a0;font-size:11px}.asset-preview{display:none;position:absolute;left:64px;top:48px;z-index:20;width:260px;background:#102033;color:#fff;border-radius:8px;padding:12px;box-shadow:0 18px 44px rgba(0,0,0,.28);pointer-events:none}.asset-preview:before{content:"";position:absolute;left:18px;top:-7px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #102033}.asset-main:hover .asset-preview{display:block}.asset-preview b,.asset-preview small{display:block}.asset-preview b{margin-bottom:6px}.asset-preview small{color:#d8e1ef;font-weight:700;margin-top:3px}
.badge{border-radius:7px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-flex}.ok{background:#dff8eb;color:#168950}.bad{background:#ffe5e7;color:#e54855}.warn{background:#fff0d9;color:#d97800}.blue{background:#e8f0ff;color:#2361d8}.gray{background:#f1f3f8;color:#66728c}
.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin:14px 0;overflow:auto}.tabs a{padding:9px 0;color:#5d6780;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.tabs a.active{color:var(--purple);border-bottom:3px solid var(--purple)}.tabs b{background:#edf1f8;border-radius:999px;color:#56647c;font-size:10px;padding:2px 6px;margin-left:4px}
.tab-panel{display:none}.tab-panel.active{display:block}.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.kv div{background:#fbfcff;border:1px solid var(--line);border-radius:10px;padding:10px}.kv small{display:block;color:#7b86a0;font-weight:800;margin-bottom:4px}
.timeline{padding-left:14px;border-left:2px solid #d9ddff}.timeline div{position:relative;margin-bottom:15px;color:#5b667e;font-size:12px}.timeline div:before{content:"";position:absolute;left:-20px;top:2px;width:9px;height:9px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 4px #eeeaff}.timeline b{color:#172033}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-form{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:end;background:#f8faff;border:1px solid var(--line);border-radius:8px;padding:12px}label{font-weight:800;color:#4f5b72;font-size:12px;display:grid;gap:5px}.full{grid-column:1/-1}input,select,textarea{border:1px solid #dfe4ef;border-radius:8px;padding:9px 10px;background:#fff;color:#172033;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #b9c5ff;border-color:#3346d3}input[readonly]{background:#f7f9fc;color:#536078}textarea{min-height:86px}.preview-card{position:sticky;top:14px}.result-list{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.result-item{padding:12px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;align-items:center;gap:10px}.result-item:hover,.result-item.selected{background:#f2f5ff}.result-item:last-child{border-bottom:0}.assignment-panel{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:14px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.activity-grid.single{grid-template-columns:1fr}.activity-item{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px}.activity-item b,.activity-item span,.activity-item small{display:block}.activity-item span{font-weight:800;margin:5px 0}.activity-item small{color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h3{margin:0}.compact-list{display:grid;gap:8px}.compact-list div{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:10px}.compact-list b,.compact-list span,.compact-list small{display:block}.compact-list span{font-weight:800;margin:3px 0}.compact-list small{color:var(--muted)}.risk-list{display:flex;flex-wrap:wrap;gap:8px}.cols-purchase{grid-template-columns:repeat(4,1fr)}
.modal-backdrop{position:fixed;inset:0;background:rgba(13,25,43,.48);display:none;align-items:center;justify-content:center;padding:22px;z-index:50}.modal-backdrop.open{display:flex}.modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:16px}.modal.wide{width:min(880px,100%)}.modal.checkout-wide{width:min(1180px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h2{margin:0}.modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal-actions.stacked{display:grid;grid-template-columns:1fr;gap:8px}.checkout-layout{display:grid;grid-template-columns:1fr 1fr 360px;gap:14px;align-items:start}.modal-list{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:430px;background:#fff;margin-top:10px}.modal-row{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;color:var(--text);display:flex;justify-content:flex-start;gap:10px;padding:10px;text-align:left;min-height:0}.modal-row:hover,.modal-row.selected{background:#f2f5ff;box-shadow:none}.modal-row:last-child{border-bottom:0}.modal-row small{display:block;color:var(--muted);font-weight:700}.asset-thumb.tiny{width:38px;height:30px;border-radius:6px}.asset-thumb.tiny img{max-width:34px;max-height:24px}.preview-pane{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px;position:sticky;top:0}.preview-box{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.preview-box small,.preview-box b{display:block}.preview-box small{color:var(--muted);font-weight:900;margin-bottom:3px}
.asset-edit-modal{width:min(920px,100%);padding:0;display:flex;flex-direction:column;overflow:hidden}.asset-edit-head{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line);padding:16px;margin:0}.asset-edit-head p{margin:4px 0 0;color:var(--muted);font-weight:800}.asset-edit-form{display:flex;flex-direction:column;min-height:0;overflow:auto}.asset-edit-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;background:#fbfcff;border-bottom:1px solid var(--line)}.asset-edit-summary strong,.asset-edit-summary span{display:block}.asset-edit-summary strong{font-size:15px}.asset-edit-summary>div:nth-child(2){min-width:0}.asset-edit-summary>div:nth-child(2) span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dirty-indicator{display:none;color:#9a5600;background:#fff7e8;border:1px solid #ffd89d;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.asset-edit-form.is-dirty .dirty-indicator{display:block}.edit-tabs{position:sticky;top:73px;z-index:2;display:flex;gap:8px;overflow:auto;background:#fff;padding:10px 16px;border-bottom:1px solid var(--line)}.edit-tabs button{border-radius:999px;background:#f7f9fc;color:#526078;white-space:nowrap}.edit-tabs button.active{background:#3346d3;border-color:#3346d3;color:#fff;box-shadow:none}.edit-panel{display:none;padding:16px 16px 84px}.edit-panel.active{display:block}.form-section{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.form-section-head{padding:12px 14px;background:#f7f9fc;border-bottom:1px solid var(--line)}.form-section-head h3{margin:0;font-size:14px}.form-section .form-grid{padding:14px}.derived-field small{color:var(--muted);font-weight:700}.input-prefix{display:flex;align-items:center;border:1px solid #dfe4ef;border-radius:8px;background:#fff;overflow:hidden}.input-prefix span{padding:0 10px;color:#6f7b91;font-weight:900;background:#f7f9fc;border-right:1px solid #dfe4ef;align-self:stretch;display:grid;place-items:center}.input-prefix input{border:0;border-radius:0}.input-prefix:focus-within{outline:2px solid #b9c5ff;border-color:#3346d3}.asset-edit-actions{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid var(--line);padding:12px 16px;margin:0;align-items:center}.asset-edit-actions span{margin-right:auto;color:var(--muted);font-weight:900}.asset-edit-actions button:disabled{opacity:.45;cursor:not-allowed}
.asset-tools-equipment-edit-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:12px 16px 0;padding:12px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#172033}
.asset-tools-equipment-edit-notice strong,.asset-tools-equipment-edit-notice span{display:block}
.asset-tools-equipment-edit-notice strong{font-size:13px}
.asset-tools-equipment-edit-notice span{color:#475569;font-size:12px;font-weight:800;line-height:1.35}
.asset-tools-equipment-edit-icon{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8}
.asset-tools-equipment-edit-icon .ui-icon{width:18px;height:18px}
@media(max-width:1100px){.layout{display:block}.sidebar{position:static;width:100%}.main{margin-left:0;width:100%}.cols2,.cols3,.cols4,.cols-main,.form-grid,.inline-form,.activity-grid,.checkout-layout,.cols-purchase,.asset-command,.asset-profile,.status-strip{grid-template-columns:1fr}.search{width:100%}.topbar{height:auto;flex-wrap:wrap;padding:12px 0}.topicons{width:100%;margin-left:0}.filter,.filter.search-filter{min-width:min(100%,260px)}.action-card{display:block}.action-card .quick-grid{margin-top:12px}.preview-pane{position:static}.status-strip div{border-right:0;border-bottom:1px solid var(--line)}.status-strip div:last-child{border-bottom:0}.asset-visual{height:150px}.assignment-rail{padding:14px}}
@media(max-width:720px){.main{padding:0 10px 22px}.card,.stat{padding:12px}.table th,.table td{padding:9px 10px}.quick-grid{grid-template-columns:1fr}.asset-main{align-items:flex-start}.topicons>span:not(.school){display:none}.school{border-left:0;padding-left:0}.page-title{font-size:21px}}
@media(max-width:720px){.asset-edit-summary{grid-template-columns:auto minmax(0,1fr);align-items:start}.asset-edit-summary .badge,.dirty-indicator{grid-column:1/-1;width:max-content}.edit-tabs{top:68px}.asset-edit-actions{display:grid;grid-template-columns:1fr 1fr}.asset-edit-actions span{grid-column:1/-1}.asset-edit-actions button{width:100%}}
@media(max-width:720px){.asset-tools-equipment-edit-notice{grid-template-columns:auto minmax(0,1fr)}.asset-tools-equipment-edit-notice .btn{grid-column:1/-1;width:100%;justify-content:center}}

.dashboard-hero{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-hero .page-title{margin:0 0 6px}.hero-actions,.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.add-asset-btn{min-width:142px}.dashboard-metrics{margin-bottom:14px}.asset-snapshot-card h2{margin:0}.asset-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.asset-table-toolbar h2{margin:0}.asset-table-toolbar p{margin:3px 0 0}.asset-table-wrap{overflow:visible}.asset-table .table-filters th{background:#fff;top:38px}.table-filters input,.table-filters select{min-width:112px;padding:7px 8px;font-size:11px}.asset-thumb.asset-thumb-lg{width:66px;height:50px}.asset-thumb.asset-thumb-lg img{max-width:60px;max-height:44px}.table-avatar{width:42px;height:42px;font-size:12px;flex:0 0 auto}.rich-preview{width:320px}.rich-preview small strong{color:#fff}.table-action-menu .action-menu-panel{right:0;top:36px}.action-menu-panel a{display:flex;justify-content:flex-start;background:#fff;border:0;color:#172033;border-radius:6px;font-weight:800;padding:9px 10px;box-shadow:none;text-decoration:none}.action-menu-panel a:hover{background:#f2f5ff}.global-search{position:relative}.search-suggestions{display:none;position:absolute;top:42px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(13,25,43,.18);padding:6px;z-index:60}.search-suggestions.open{display:grid}.search-suggestions a{padding:9px 10px;border-radius:6px;text-decoration:none;color:var(--text);font-weight:800}.search-suggestions a:hover{background:#f2f5ff}.advanced-search-grid{padding:4px 0}.custom-field-list{display:grid;gap:10px;padding:14px}.custom-field-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.form-section>.btn{margin:0 14px 14px}.modal input[type=file]{padding:7px;background:#fbfcff}.asset-edit-form .edit-tabs:first-of-type{top:73px}
@media(max-width:900px){.dashboard-hero,.asset-table-toolbar{display:block}.hero-actions,.toolbar-actions{margin-top:12px}.custom-field-row{grid-template-columns:1fr}.asset-table-wrap{overflow:auto}.asset-table .table-filters th{top:0}}
/* Dashboard refinement pass */
.dashboard-metrics{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.dashboard-metrics .stat.fancy{min-height:94px;background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);padding:14px}.dashboard-metrics .stat.fancy:after{display:none}.dashboard-metrics .stat.fancy small,.dashboard-metrics .stat.fancy span{color:var(--muted)}.dashboard-metrics .stat.fancy strong{color:var(--text);font-size:28px}.dashboard-metrics .stat-art{width:46px;height:46px;border:1px solid var(--line);box-shadow:none;background:#f7f9fc}.dashboard-metrics .stat-art img{max-width:38px;max-height:32px}.dashboard-metrics .asset-stat{border-left:5px solid #3346d3}.dashboard-metrics .student-stat{border-left:5px solid #168957}.dashboard-metrics .repair-stat{border-left:5px solid #c96a13}.dashboard-metrics .charge-stat{border-left:5px solid #d94752}.dashboard-metrics .initials-art{color:#168957}

/* Add asset modal */
.add-asset-modal{width:min(980px,100%)}.add-asset-modal .asset-edit-head{position:relative;top:auto}.add-asset-form{overflow:hidden}.add-asset-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:560px}.add-asset-aside{border-right:1px solid var(--line);background:#f8faff;padding:16px;display:flex;flex-direction:column;gap:8px}.add-asset-aside button{justify-content:flex-start;background:transparent;border:0;color:#526078;box-shadow:none;padding:10px 12px}.add-asset-aside button.active{background:#fff;border:1px solid var(--line);color:#3346d3;box-shadow:0 6px 16px rgba(30,45,80,.06)}.add-asset-preview{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;margin-bottom:8px;display:grid;gap:6px}.add-asset-preview img{width:100%;height:112px;object-fit:contain;background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:14px}.add-asset-preview strong{font-size:15px}.add-asset-preview span{color:var(--muted);font-weight:800;font-size:12px}.add-asset-content{min-width:0;overflow:auto}.add-asset-content .edit-panel{padding:16px 16px 96px}.add-asset-content .form-section{box-shadow:none}.add-asset-content .form-section-head{background:#fff}.add-asset-content .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.add-asset-modal .asset-edit-actions{position:sticky;bottom:0}

/* Rich asset preview */
.asset-preview.rich-preview{left:72px;top:6px;width:430px;background:#fff;color:var(--text);border:1px solid var(--line);padding:0;display:none;grid-template-columns:150px minmax(0,1fr);overflow:hidden;box-shadow:0 22px 60px rgba(13,25,43,.24);pointer-events:none}.asset-main:hover .asset-preview.rich-preview{display:grid}.asset-preview.rich-preview:before{display:none}.preview-visual{background:#f7f9fc;border-right:1px solid var(--line);display:grid;place-items:center;padding:16px}.preview-visual img{max-width:124px;max-height:116px}.preview-body{padding:14px;min-width:0}.preview-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.preview-body h3{margin:0;font-size:16px;line-height:1.2}.preview-body p{margin:5px 0 10px;color:var(--muted);font-weight:800}.preview-assignee{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:9px;margin-bottom:10px}.preview-assignee strong,.preview-assignee small{display:block}.preview-assignee small{color:var(--muted);font-weight:800}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-grid span{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;font-weight:900;white-space:normal}.preview-grid small{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}.asset-table-wrap{overflow:visible}.asset-snapshot-card{overflow:visible}

.asset-main-clickable .asset-title{display:grid;gap:2px;color:inherit;text-decoration:none;min-width:0}.asset-main-clickable .asset-title:hover{text-decoration:none;color:#3346d3}.asset-preview-trigger{padding:0!important;min-height:0!important;color:inherit;border:1px solid #dfe6f2!important;box-shadow:inset 0 0 0 1px #fff!important}.asset-preview-trigger:hover,.asset-preview-trigger:focus-visible{border-color:#9fb0ff!important;box-shadow:inset 0 0 0 1px #fff,0 8px 18px rgba(30,45,80,.12)!important;transform:translateY(-1px)}.asset-quick-preview-modal{width:min(940px,calc(100vw - 36px));padding:0;overflow:hidden}.asset-quick-preview-head{padding:18px 20px;margin:0;border-bottom:1px solid var(--line);background:#fff}.asset-quick-preview-head p{margin:4px 0 0;font-weight:800}.asset-quick-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:#f7f9fc}.asset-quick-preview-panel{padding:18px;min-width:0}.asset-quick-preview-device{border-right:1px solid var(--line);background:#fff}.asset-quick-preview-assignment{background:#fbfcff}.asset-quick-preview-image{height:220px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#f9fbff,#eef3fb);display:grid;place-items:center;margin-bottom:12px}.asset-quick-preview-image img{max-width:82%;max-height:170px;object-fit:contain}.asset-quick-preview-status{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.asset-quick-preview-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 14px}.asset-quick-preview-facts div{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;min-width:0}.asset-quick-preview-facts dt{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px}.asset-quick-preview-facts dd{margin:0;font-weight:900;white-space:normal;overflow-wrap:anywhere}.asset-quick-preview-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.asset-quick-preview-section-title span{font-weight:900;font-size:15px}.asset-quick-preview-section-title small{color:var(--muted);font-weight:900;text-align:right}.asset-quick-preview-person{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;margin-bottom:12px;min-height:118px}.asset-quick-preview-person .avatar.lg{width:74px;height:74px;font-size:22px;flex:0 0 auto}.asset-quick-preview-person-copy{min-width:0}.asset-quick-preview-person-copy b,.asset-quick-preview-person-copy span,.asset-quick-preview-person-copy small{display:block}.asset-quick-preview-person-copy b{font-size:19px;line-height:1.2}.asset-quick-preview-person-copy span{color:#3346d3;font-weight:900;margin-top:4px}.asset-quick-preview-person-copy small{color:var(--muted);font-weight:800;margin-top:3px}.asset-quick-preview-empty{border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;padding:16px;width:100%;text-align:center}.asset-quick-preview-empty b,.asset-quick-preview-empty span{display:block}.asset-quick-preview-empty span{color:var(--muted);font-weight:800;margin-top:3px}.asset-quick-preview-assignee-facts{grid-template-columns:1fr;margin-bottom:0}
.asset-quick-preview-person{display:grid;align-items:stretch}.asset-quick-preview-person-primary{display:flex;align-items:center;gap:14px;min-width:0}.asset-quick-preview-teacher-link{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}.asset-quick-preview-teacher-from,.asset-quick-preview-teacher-to{min-width:0}.asset-quick-preview-teacher-from small,.asset-quick-preview-teacher-to small{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.asset-quick-preview-teacher-from b,.asset-quick-preview-teacher-to b{display:block;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-quick-preview-teacher-to{display:flex;align-items:center;gap:8px}.asset-quick-preview-teacher-to .avatar.md{width:38px;height:38px;font-size:12px;flex:0 0 auto}.asset-quick-preview-teacher-to em{display:block;color:var(--muted);font-style:normal;font-weight:800;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-quick-preview-arrow{width:32px;height:32px;border-radius:999px;background:#eef2ff;color:#3346d3;display:grid;place-items:center;font-weight:900}
.asset-quick-preview-context{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 12px}.asset-quick-preview-context span{border:1px solid #dfe6f2;border-radius:999px;background:#f8faff;color:#526078;font-weight:900;font-size:11px;padding:5px 9px}.asset-quick-preview-facts dd{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.asset-quick-preview-person .avatar,.asset-quick-preview-teacher-to .avatar{border-radius:50%!important;aspect-ratio:1/1}.asset-quick-preview-person .avatar img,.asset-quick-preview-teacher-to .avatar img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block}.asset-quick-preview-teacher-link{align-items:center!important}.asset-quick-preview-arrow{align-self:center;justify-self:center}.asset-quick-preview-teacher-to .avatar.md{width:46px!important;height:46px!important;font-size:13px!important}.asset-quick-preview-teacher-to b{font-size:14px}

@media(max-width:900px){.dashboard-metrics{grid-template-columns:1fr 1fr}.add-asset-shell{grid-template-columns:1fr}.add-asset-aside{border-right:0;border-bottom:1px solid var(--line)}.add-asset-content .form-grid{grid-template-columns:1fr}.asset-preview.rich-preview{display:none!important}.asset-quick-preview-layout{grid-template-columns:1fr}.asset-quick-preview-device{border-right:0;border-bottom:1px solid var(--line)}.asset-quick-preview-image{height:180px}.asset-quick-preview-facts{grid-template-columns:1fr}.asset-quick-preview-teacher-link{grid-template-columns:1fr}.asset-quick-preview-arrow{transform:rotate(90deg);justify-self:center}}
/* Resize, tabs, printing, and no-hover cleanup */
.main{min-width:0;overflow-x:hidden}.asset-snapshot-card,.asset-table-wrap{max-width:100%;overflow:auto}.asset-table{min-width:1180px}.asset-preview,.asset-main:hover .asset-preview,.asset-preview.rich-preview,.asset-main:hover .asset-preview.rich-preview{display:none!important}.asset-table-toolbar{align-items:flex-start}.tabs{gap:4px;background:#f4f6fb;border:1px solid var(--line);border-radius:8px;padding:5px;margin:0 0 16px;box-shadow:inset 0 1px 0 #fff}.tabs a{padding:9px 12px;border-radius:7px;border:1px solid transparent;color:#526078;font-weight:900}.tabs a:hover{background:#fff;text-decoration:none}.tabs a.active{background:#fff;color:#3346d3;border-color:#dfe4ec;border-bottom-color:#dfe4ec;box-shadow:0 4px 12px rgba(30,45,80,.08)}.tabs b{background:#edf1f8;border-radius:999px;padding:2px 6px}.action-toolbar{gap:7px}.icon-action{font-size:11px;font-weight:900}.repair-asset-summary{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:10px}.repair-asset-summary strong,.repair-asset-summary span{display:block}.repair-asset-summary span{color:var(--muted);font-weight:800}.label-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.label-options label{display:flex;grid-template-columns:none;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fbfcff}.label-preview{border:1px solid var(--line);border-radius:8px;background:#f7f9fc;padding:20px;display:grid;place-items:center}.label-card{width:270px;height:92px;background:#fff;border:1px dashed #9aa9c2;border-radius:6px;padding:10px;display:grid;gap:3px}.label-card b{font-size:18px}.fake-barcode{height:28px;background:repeating-linear-gradient(90deg,#111 0 2px,#fff 2px 5px,#111 5px 8px,#fff 8px 12px)}.asset-print-page{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.print-summary-head{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.print-summary-head img{width:120px;height:90px;object-fit:contain;background:#f7f9fc;border:1px solid var(--line);border-radius:8px}.print-summary-head h1{margin:0}.print-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.print-summary-grid div{border:1px solid var(--line);border-radius:8px;padding:9px}.print-summary-grid small{display:block;color:var(--muted);font-weight:900}
.label-card[data-label-style="dymo"]{width:300px;height:110px;border-style:solid;border-radius:12px}.label-card[data-label-style="small"]{width:210px;height:70px;padding:8px}.label-card[data-label-style="small"] b{font-size:14px}.label-card[data-label-style="small"] span{display:none}.label-card[data-label-style="small"] .fake-barcode{height:20px}
@media(max-width:1200px){.asset-command{grid-template-columns:1fr}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{justify-content:flex-start}.asset-profile{grid-template-columns:140px minmax(0,1fr)}.asset-visual{height:138px}.asset-visual img{max-width:120px}}
@media(max-width:760px){.dashboard-metrics{grid-template-columns:1fr}.status-strip{grid-template-columns:1fr}.tabs{overflow:auto}.tabs a{white-space:nowrap}.print-summary-grid{grid-template-columns:1fr}.print-summary-head{display:block}.modal-backdrop{padding:10px}.modal{max-height:94vh}}
@media print{body{background:#fff}.sidebar,.topbar,.dashboard-hero,.dashboard-metrics,.asset-table-toolbar,.table-filters,.modal-actions,.modal-head:not(.print-keep),.action-menu,.btn,button{display:none!important}.main{margin:0!important;width:100%!important;padding:0!important}.card,.table-wrap{box-shadow:none!important;border:0!important}.asset-table{min-width:0;width:100%;font-size:10px}.asset-table th,.asset-table td{white-space:normal;padding:6px}.print-filtered-only [data-asset-row][style*="display: none"]{display:none!important}.modal-backdrop.open{position:static;display:block;background:#fff;padding:0}.modal-backdrop.open .modal{box-shadow:none;border:0;max-height:none;width:100%;padding:0}.modal-backdrop.open .print-area{border:0}.modal-backdrop:not(.open){display:none!important}}

/* Bulk assets, catalog, charts, and students */
.nav-accordion{margin:2px 0}.nav-accordion summary{list-style:none;cursor:pointer;color:#dce7fb;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:700}.nav-accordion summary:hover,.nav-accordion[open] summary{background:#263a55;color:#fff}.nav-accordion a{margin-left:14px;font-size:12px;padding:7px 10px}.bulk-selection-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:9px 11px;margin-bottom:10px;font-weight:800;color:#526078}.compact-filter{min-width:150px;padding:8px 10px}.row-actions{display:flex;gap:6px;align-items:center}.action-chip{border:0;border-radius:7px;color:#fff;text-decoration:none;font-weight:900;font-size:11px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;min-height:32px;white-space:nowrap;box-shadow:0 4px 10px rgba(20,30,60,.12)}.action-chip.view{background:#12a8d8}.action-chip.checkout{background:#5a58b8}.action-chip.edit{background:#f0a020}.action-chip.repair{background:#df4a3f}.action-chip.note{background:#2d8fca}.action-chip:hover{text-decoration:none;filter:brightness(.96)}.column-config-list,.catalog-list{display:grid;gap:8px}.column-config-row,.catalog-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:8px}.column-config-row span,.catalog-item{display:flex;gap:8px}.catalog-item input{flex:1}.catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.catalog-sidebar{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:10px;display:grid;align-content:start;gap:6px}.catalog-sidebar a{padding:10px 12px;border-radius:7px;text-decoration:none;color:#526078;font-weight:900}.catalog-sidebar a.active,.catalog-sidebar a:hover{background:#eef2ff;color:#3346d3}.asset-command{grid-template-columns:minmax(0,1fr) 220px 520px}.warranty-widget{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:14px;display:grid;place-items:center;text-align:center;align-content:center;gap:10px}.warranty-widget small{color:var(--muted);font-weight:900}.warranty-widget strong{display:block;font-size:18px}.warranty-widget p{margin:4px 0 0;color:var(--muted);font-weight:800}.donut{--value:50;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#168957 calc(var(--value)*1%),#f0c04d 0 75%,#d94752 0,#e8edf5 0);position:relative}.donut:after{content:"";position:absolute;inset:14px;background:#fbfcff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}.donut span{position:relative;z-index:1;font-size:20px;font-weight:900}.label-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(760px,100%);background:#fff;padding:12px;border:1px solid #d7deea}.label-sheet .label-card{width:auto;height:72px;padding:7px}.label-sheet .label-card b{font-size:12px}.label-sheet .label-card span,.label-sheet .label-card small{font-size:9px}.label-sheet .fake-barcode{height:18px}.label-sheet[data-label-style="dymo"]{display:grid;grid-template-columns:1fr;width:330px}.label-sheet[data-label-style="dymo"] .label-card:not(:first-child){display:none}.label-sheet[data-label-style="dymo"] .label-card{height:112px}.label-sheet[data-label-style="small"]{grid-template-columns:repeat(4,1fr)}.label-sheet[data-label-style="small"] .label-card{height:54px}.label-sheet[data-label-style="small"] .label-card span{display:none}.student-hero{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px;margin-bottom:14px;display:flex;justify-content:space-between;gap:18px;align-items:center}.student-hero-metrics,.student-profile-metrics,.student-card-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.student-hero-metrics span,.student-profile-metrics span,.student-card-metrics span{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:9px;min-width:105px;color:var(--muted);font-weight:800}.student-hero-metrics b,.student-profile-metrics b,.student-card-metrics b{display:block;color:var(--text);font-size:18px}.student-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px;margin-bottom:14px}.student-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:14px;cursor:pointer}.student-card:hover{border-color:#bfc9ff;box-shadow:0 12px 28px rgba(30,45,80,.11)}.student-card-head,.student-profile-head{display:flex;align-items:center;gap:12px}.avatar.xl{width:64px;height:64px;font-size:20px}.student-card h2{margin:0;font-size:17px}.student-card p,.student-profile-head p{margin:4px 0 0;color:var(--muted);font-weight:800}.student-device-strip{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.student-device-strip span{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#f7f9fc;border-radius:999px;padding:5px 8px;font-weight:900;font-size:11px}.student-device-strip img{width:22px;height:18px;object-fit:contain}.student-card-metrics{grid-template-columns:repeat(3,1fr)}.students-table tbody tr{cursor:pointer}.student-profile-modal{width:min(1040px,100%)}.student-profile-metrics{margin:12px 0 16px}.student-asset-list{display:grid;gap:8px}.student-asset-list a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:10px;text-decoration:none;color:var(--text)}.student-asset-list img{width:58px;height:44px;object-fit:contain}.student-asset-list b,.student-asset-list small{display:block}.student-asset-list small{color:var(--muted);font-weight:800}
@media(max-width:1200px){.asset-command{grid-template-columns:1fr}.student-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.catalog-layout{grid-template-columns:1fr}.student-hero{display:block}.student-hero-metrics{margin-top:12px}}
@media(max-width:760px){.student-grid,.student-hero-metrics,.student-profile-metrics,.student-card-metrics{grid-template-columns:1fr}.row-actions{flex-wrap:wrap}.label-sheet{grid-template-columns:1fr}.column-config-row,.catalog-item{display:grid;grid-template-columns:1fr}.asset-command{grid-template-columns:1fr}}
.column-config-row{cursor:grab}.column-config-row:active{cursor:grabbing}

/* 2026 polish pass: clearer action hierarchy, smoother tabs, and denser asset cards */
:root{--radius:14px;--radius-sm:10px;--soft-blue:#eef4ff;--soft-green:#eaf8f1;--soft-red:#fff0f0;--ink:#111827}
.card,.asset-command,.status-strip,.student-hero,.stat,.catalog-sidebar{border-radius:var(--radius)}
.sidebar{background:linear-gradient(180deg,#0d1f34 0%,#0f243b 100%)}
body.theme-sidebar-midnight .sidebar{background:linear-gradient(180deg,#050816 0%,#111827 100%)!important}
body.theme-sidebar-slate .sidebar{background:linear-gradient(180deg,#1f2937 0%,#334155 100%)!important}
body.theme-sidebar-blue .sidebar{background:linear-gradient(180deg,#0b3d91 0%,#1d4ed8 100%)!important}
body.theme-sidebar-green .sidebar{background:linear-gradient(180deg,#064e3b 0%,#047857 100%)!important}
body.theme-sidebar-purple .sidebar{background:linear-gradient(180deg,#3b0764 0%,#6d28d9 100%)!important}
.brand-mark{border-radius:10px;box-shadow:0 8px 18px rgba(242,184,75,.25)}
.sidebar nav a, .nav-accordion summary{border-radius:10px;transition:background .18s ease, transform .18s ease, color .18s ease}
.sidebar nav a:hover,.nav-accordion summary:hover{transform:translateX(2px)}
.sidebar nav a:before{content:attr(data-icon);width:20px;height:20px;border:0;border-radius:7px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:12px;color:#dce7fb}
.sidebar nav a:nth-of-type(1):before{content:"âŒ‚"}.sidebar nav a:nth-of-type(2):before{content:"â˜º"}.sidebar nav a:nth-of-type(3):before{content:"â™Ÿ"}.sidebar nav a:nth-of-type(4):before{content:"â†”"}.sidebar nav a:nth-of-type(5):before{content:"âš’"}.sidebar nav a:nth-of-type(6):before{content:"â—Œ"}.sidebar nav a:nth-of-type(7):before{content:"$"}.sidebar nav a:nth-of-type(8):before{content:"âœ“"}.sidebar nav a:nth-of-type(9):before{content:"Â§"}.sidebar nav a:nth-of-type(10):before{content:"â–¤"}.sidebar nav a:nth-of-type(11):before{content:"â–¡"}.sidebar nav a:nth-of-type(12):before{content:"!"}.sidebar nav a:nth-of-type(13):before{content:"â—Ž"}.sidebar nav a:nth-of-type(14):before{content:"âš™"}
.sidebar nav a.active:before,.sidebar nav a:hover:before{background:#f2b84b;color:#102033}
.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,var(--bg) 70%,rgba(244,246,250,.85));backdrop-filter:blur(8px)}
.search{border-radius:11px;height:42px}.search:focus-within{border-color:#b9c4ff;box-shadow:0 0 0 4px rgba(51,70,211,.08),0 3px 14px #1b2b5010}
.asset-command{padding:20px;box-shadow:0 16px 36px rgba(20,32,60,.08);border-color:#d7deea}.asset-command:before{width:6px}.asset-profile{align-items:stretch}.asset-visual{border-radius:13px;background:linear-gradient(180deg,#f8fbff,#eef3fb)}
.asset-identity h1{letter-spacing:-.03em;color:#111827}.asset-identity p{font-size:13px}.badge{border-radius:999px}.chip-row span,.risk-summary{box-shadow:inset 0 0 0 1px rgba(51,70,211,.06)}
.asset-actions{margin-top:8px;gap:9px}.asset-actions .btn{height:36px;border-radius:10px;font-weight:900;display:inline-flex;align-items:center;gap:7px;justify-content:center;border:1px solid transparent;transition:transform .15s ease, box-shadow .15s ease, filter .15s ease}.asset-actions .btn:hover{transform:translateY(-1px);filter:brightness(.99)}
.hero-action{min-width:156px;box-shadow:0 10px 22px rgba(51,70,211,.22)!important}.secondary-action{background:#fff;border-color:#dfe5ef!important;color:#24314d;min-width:auto!important;padding:0 13px}.secondary-action:hover{border-color:#bfc9ff!important;box-shadow:0 8px 18px rgba(30,45,80,.08)}.danger-action{background:var(--soft-red);border-color:#ffd5d5!important;color:#b3262d;min-width:auto!important;padding:0 13px}.danger-action:hover{box-shadow:0 8px 18px rgba(217,71,82,.12)}.action-icon{font-weight:900}.print-menu{position:relative}.action-menu-list{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(17,24,39,.16);padding:6px;min-width:190px;display:none;z-index:40}.action-menu.open .action-menu-list{display:grid;gap:4px}.action-menu-list button{border:0;background:transparent;text-align:left;border-radius:9px;padding:9px 10px;font-weight:800;color:#24314d;cursor:pointer}.action-menu-list button:hover{background:#f3f6ff;color:#3346d3}
.warranty-widget,.assignment-rail{border-radius:13px}.assignment-rail{background:linear-gradient(180deg,#fff,#fbfcff)}.person-cell{align-items:center}.avatar.lg{box-shadow:0 12px 26px rgba(88,74,170,.12)}.mini-metrics span{border-radius:11px}.mini-metrics b{font-size:14px}.status-strip{overflow:hidden}.status-strip div{padding:13px 15px}.status-strip b{font-size:14px}.action-card{border-radius:var(--radius);background:linear-gradient(90deg,#fff 0%,#fbfcff 100%)}.micro-timeline span{border-radius:10px}
.tabs{position:sticky;top:60px;z-index:12;align-items:center;padding:8px;background:#f6f8fc;border-radius:12px;box-shadow:inset 0 0 0 1px #dfe4ec;overflow:auto;scrollbar-width:thin}.tabs a{border-radius:9px;padding:9px 11px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.tabs a.active{box-shadow:0 8px 16px rgba(30,45,80,.1)}.tab-panel{animation:fadePanel .18s ease}.tab-panel.active{display:block}@keyframes fadePanel{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.kv{gap:9px}.kv div{border-radius:12px;background:linear-gradient(180deg,#fff,#fbfcff)}.kv small{letter-spacing:.01em}.table-wrap{border-radius:12px}.table th{background:#f7f9fd}.row-actions{flex-wrap:wrap}.action-chip{border-radius:9px;box-shadow:none}.action-chip:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,30,60,.12)}
@media(max-width:1200px){.tabs{top:56px}.asset-actions .btn{min-width:auto}.print-menu{display:inline-flex}}

/* 2026 refined table row actions: View + In/Out + quiet more menu */
.asset-table th[data-col="actions"],
.asset-table td[data-col="actions"]{
  width: 178px;
  min-width: 178px;
  text-align: right;
}

.helpdesk-metrics{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.helpdesk-sla-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;line-height:1;border:1px solid #dbe7f3;background:#f8fafc;color:#475569;white-space:nowrap}
.helpdesk-sla-badge svg{width:13px;height:13px;flex:0 0 auto}
.helpdesk-sla-badge.blue{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.helpdesk-sla-badge.warn{border-color:#fed7aa;background:#fff7ed;color:#c2410c}
.helpdesk-sla-badge.bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.helpdesk-sla-badge.ok{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
.helpdesk-sla-badge.gray{border-color:#e2e8f0;background:#f8fafc;color:#64748b}
.helpdesk-due-stack{display:grid;gap:5px;justify-items:start}
.ticket-subject-button .helpdesk-request-type-note,.ticket-subject-button .helpdesk-incident-note{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:700;line-height:1.25}
.ticket-subject-button .helpdesk-incident-note{color:#7c3aed}
.helpdesk-presence-strip{display:flex;align-items:center;gap:7px;margin:8px 0;padding:8px 10px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:800}
.helpdesk-presence-strip svg{width:15px;height:15px;flex:0 0 auto}
.helpdesk-csat-panel{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid #e5edf7;border-radius:8px;background:#f8fafc}
.helpdesk-csat-panel h3{margin:0;font-size:15px;letter-spacing:0}
.helpdesk-csat-form{display:grid;gap:9px}
.helpdesk-csat-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.helpdesk-csat-rating label{display:inline-flex;align-items:center;gap:0;margin:0}
.helpdesk-csat-rating input{position:absolute;opacity:0;pointer-events:none}
.helpdesk-csat-rating span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-weight:900}
.helpdesk-csat-rating input:checked+span{border-color:#2563eb;background:#2563eb;color:#fff}
.helpdesk-advanced-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.helpdesk-advanced-settings section{display:grid;gap:8px;align-content:start;padding:14px;border:1px solid #e5edf7;border-radius:8px;background:#f8fafc}
.helpdesk-advanced-settings h3{margin:0;font-size:15px;letter-spacing:0}
.helpdesk-advanced-settings textarea{min-height:130px}
@media(max-width:900px){
  .helpdesk-advanced-settings{grid-template-columns:1fr}
}

/* Final people table facelift. */
body:not(.student-shell) .student-directory-card.asset-snapshot-card{
  padding:18px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(15,23,42,.07)!important;
}
body:not(.student-shell) .student-directory-card .student-directory-toolbar{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(0,auto)!important;
  align-items:start!important;
  gap:16px!important;
  min-height:0!important;
  padding:0 0 16px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid #e7edf5!important;
}
body:not(.student-shell) .student-directory-card .student-directory-toolbar h2{
  color:#0f172a!important;
  font-size:25px!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}
body:not(.student-shell) .student-directory-card .student-directory-toolbar p{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
body:not(.student-shell) .student-directory-actions{
  justify-content:flex-end!important;
  gap:8px!important;
  row-gap:8px!important;
}
body:not(.student-shell) .student-directory-actions .toolbar-icon-btn,
body:not(.student-shell) .student-directory-actions .dashboard-tool-btn,
body:not(.student-shell) .student-directory-actions .columns-btn,
body:not(.student-shell) .student-directory-actions .add-asset-dashboard-btn{
  min-width:0!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 11px!important;
  border-radius:8px!important;
  border:1px solid #d8e3f1!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .student-directory-actions .add-asset-dashboard-btn{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
body:not(.student-shell) .student-directory-actions .toolbar-icon-btn:hover,
body:not(.student-shell) .student-directory-actions .dashboard-tool-btn:hover,
body:not(.student-shell) .student-directory-actions .columns-btn:hover{
  border-color:#bcd0eb!important;
  background:#f8fbff!important;
  color:#2563eb!important;
  text-decoration:none!important;
}
body:not(.student-shell) .student-directory-actions .student-bulk-select,
body:not(.student-shell) .student-directory-actions .student-year-select{
  height:36px!important;
  min-height:36px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background-color:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .student-directory-actions .student-bulk-select{
  min-width:220px!important;
}
body:not(.student-shell) .student-directory-actions .student-year-select{
  min-width:122px!important;
}
body:not(.student-shell) .student-directory-card .people-search-panel{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) repeat(4,minmax(128px,150px)) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
body:not(.student-shell) .student-directory-card .people-search-box{
  min-width:0!important;
  height:44px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .student-directory-card .people-search-box .ui-icon{
  color:#2563eb!important;
}
body:not(.student-shell) .student-directory-card .people-search-box input{
  font-size:13px!important;
  font-weight:850!important;
}
body:not(.student-shell) .student-directory-card .people-search-panel .filter,
body:not(.student-shell) .student-directory-card .people-search-panel .btn{
  height:36px!important;
  min-height:36px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .student-directory-card .people-table-wrap{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:12px!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead tr:first-child th{
  height:45px!important;
  padding:8px 12px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e1e9f4!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead .people-inline-filters th{
  height:50px!important;
  padding:8px 12px!important;
  background:#fff!important;
  border-bottom:1px solid #e8eef6!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table th button[data-people-sort]{
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table th button[data-people-sort].active{
  color:#2563eb!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead input,
body:not(.student-shell) .student-directory-card .people-directory-table thead select{
  height:32px!important;
  min-height:32px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  color:#172033!important;
  font-size:11px!important;
  font-weight:800!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead input:focus,
body:not(.student-shell) .student-directory-card .people-directory-table thead select:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table tbody td{
  height:60px!important;
  padding:10px 12px!important;
  border-bottom:1px solid #edf2f7!important;
  background:#fff!important;
  color:#243247!important;
  font-size:12px!important;
  font-weight:750!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table tbody tr:nth-child(even) td{
  background:#fcfdff!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table tbody tr:hover td{
  background:#f7fbff!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .person-cell{
  gap:10px!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .avatar.md{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border:2px solid #fff!important;
  box-shadow:0 8px 16px rgba(15,23,42,.10)!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="person"] .person-cell b,
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="role"] b,
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="id"] b,
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="assets"] b,
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="repairs"] b{
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:950!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .subtext{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="email"]{
  color:#334155!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .badge{
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .badge.gray{
  border-color:#dbe5f2!important;
  background:#f8fafc!important;
  color:#475569!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .badge.ok{
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#047857!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .badge.bad{
  border-color:#fecaca!important;
  background:#fef2f2!important;
  color:#b91c1c!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .people-type-badge{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table th[data-col="actions"],
body:not(.student-shell) .student-directory-card .people-directory-table td[data-col="actions"]{
  background:linear-gradient(90deg,rgba(255,255,255,.72),#fff 18%)!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .asset-row-action-summary{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:32px!important;
  border-radius:8px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table .asset-row-action-summary:hover{
  background:#1d4ed8!important;
}
body:not(.student-shell) .student-directory-card .people-action-menu-panel{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  padding:6px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
}
body:not(.student-shell) .student-directory-card .people-action-menu-panel a,
body:not(.student-shell) .student-directory-card .people-action-menu-panel button{
  border-radius:7px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:850!important;
}
body:not(.student-shell) .student-directory-card .people-server-pagination{
  margin-top:14px!important;
  padding:12px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#f8fbff!important;
}
body:not(.student-shell) .student-directory-card .table-pagination-summary{
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .student-directory-card .student-bulk-footer{
  margin-top:12px!important;
  padding:10px 12px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#fff!important;
}
@media(max-width:1500px){
  body:not(.student-shell) .student-directory-card .student-directory-toolbar{
    grid-template-columns:1fr!important;
  }
  body:not(.student-shell) .student-directory-actions{
    justify-content:flex-start!important;
  }
  body:not(.student-shell) .student-directory-card .people-search-panel{
    grid-template-columns:minmax(260px,1fr) repeat(4,minmax(128px,1fr)) auto auto!important;
  }
}
@media(max-width:900px){
  body:not(.student-shell) .student-directory-card .people-search-panel{
    grid-template-columns:1fr 1fr!important;
  }
  body:not(.student-shell) .student-directory-card .people-search-box{
    grid-column:1 / -1!important;
  }
}
@media(max-width:760px){
  body:not(.student-shell) .student-directory-card.asset-snapshot-card{
    padding:12px!important;
    border-radius:8px!important;
  }
  body:not(.student-shell) .student-directory-actions .student-bulk-select,
  body:not(.student-shell) .student-directory-actions .student-year-select,
  body:not(.student-shell) .student-directory-actions .toolbar-icon-btn,
  body:not(.student-shell) .student-directory-actions .dashboard-tool-btn,
  body:not(.student-shell) .student-directory-actions .columns-btn,
  body:not(.student-shell) .student-directory-actions .add-asset-dashboard-btn{
    width:100%!important;
    min-width:0!important;
  }
  body:not(.student-shell) .student-directory-card .people-search-panel{
    grid-template-columns:1fr!important;
  }
}

/* Final operational table facelift: repairs, loans, reservations, spare pools, and helpdesk. */
body:not(.student-shell) .repair-center-hero ~ .card .table-wrap,
body:not(.student-shell) .loan-table-wrap,
body:not(.student-shell) .reservation-admin-card .table-wrap,
body:not(.student-shell) .spare-bin-panel .spare-table-wrap,
body:not(.student-shell) .helpdesk-table-wrap{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:auto!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table,
body:not(.student-shell) .loan-table,
body:not(.student-shell) .reservation-request-table,
body:not(.student-shell) .my-reservation-table,
body:not(.student-shell) .spare-review-table,
body:not(.student-shell) .helpdesk-directory-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  font-size:12px!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table,
body:not(.student-shell) .reservation-request-table,
body:not(.student-shell) .my-reservation-table,
body:not(.student-shell) .spare-review-table{
  min-width:900px!important;
}
body:not(.student-shell) .loan-table{
  min-width:1040px!important;
}
body:not(.student-shell) .helpdesk-directory-table{
  min-width:1180px!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table thead th,
body:not(.student-shell) .loan-table thead th,
body:not(.student-shell) .reservation-request-table thead th,
body:not(.student-shell) .my-reservation-table thead th,
body:not(.student-shell) .spare-review-table thead th,
body:not(.student-shell) .helpdesk-directory-table thead th{
  height:45px!important;
  padding:8px 12px!important;
  border-bottom:1px solid #e1e9f4!important;
  background:#f8fafc!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .helpdesk-directory-table thead .helpdesk-inline-filters th{
  height:50px!important;
  padding:8px 12px!important;
  background:#fff!important;
  border-bottom:1px solid #e8eef6!important;
}
body:not(.student-shell) .helpdesk-directory-table thead input,
body:not(.student-shell) .helpdesk-directory-table thead select{
  height:32px!important;
  min-height:32px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  color:#172033!important;
  font-size:11px!important;
  font-weight:800!important;
}
body:not(.student-shell) .helpdesk-directory-table thead input:focus,
body:not(.student-shell) .helpdesk-directory-table thead select:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table tbody td,
body:not(.student-shell) .loan-table tbody td,
body:not(.student-shell) .reservation-request-table tbody td,
body:not(.student-shell) .my-reservation-table tbody td,
body:not(.student-shell) .spare-review-table tbody td,
body:not(.student-shell) .helpdesk-directory-table tbody td{
  height:60px!important;
  padding:10px 12px!important;
  border-bottom:1px solid #edf2f7!important;
  background:#fff!important;
  color:#243247!important;
  font-size:12px!important;
  font-weight:750!important;
  vertical-align:middle!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table tbody tr:nth-child(even) td,
body:not(.student-shell) .loan-table tbody tr:nth-child(even) td,
body:not(.student-shell) .reservation-request-table tbody tr:nth-child(even) td,
body:not(.student-shell) .my-reservation-table tbody tr:nth-child(even) td,
body:not(.student-shell) .spare-review-table tbody tr:nth-child(even) td,
body:not(.student-shell) .helpdesk-directory-table tbody tr:nth-child(even) td{
  background:#fcfdff!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table tbody tr:hover td,
body:not(.student-shell) .loan-table tbody tr:hover td,
body:not(.student-shell) .reservation-request-table tbody tr:hover td,
body:not(.student-shell) .my-reservation-table tbody tr:hover td,
body:not(.student-shell) .spare-review-table tbody tr:hover td,
body:not(.student-shell) .helpdesk-directory-table tbody tr:hover td{
  background:#f7fbff!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table td strong,
body:not(.student-shell) .reservation-request-table td b,
body:not(.student-shell) .my-reservation-table td b,
body:not(.student-shell) .spare-review-table td b,
body:not(.student-shell) .helpdesk-directory-table td b,
body:not(.student-shell) .helpdesk-directory-table .ticket-subject-title{
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:950!important;
}
body:not(.student-shell) .loan-table tbody td,
body:not(.student-shell) .loan-table tbody td a,
body:not(.student-shell) .loan-table tbody td b,
body:not(.student-shell) .loan-table tbody td strong,
body:not(.student-shell) .loan-table tbody .asset-title b,
body:not(.student-shell) .loan-table tbody .person-cell b{
  font-weight:500!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table td small,
body:not(.student-shell) .loan-table td small,
body:not(.student-shell) .reservation-request-table .subtext,
body:not(.student-shell) .my-reservation-table .subtext,
body:not(.student-shell) .spare-review-table td small,
body:not(.student-shell) .helpdesk-directory-table td small,
body:not(.student-shell) .helpdesk-directory-table .helpdesk-note-cell small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
body:not(.student-shell) .loan-table .asset-thumb.asset-thumb-lg,
body:not(.student-shell) .reservation-request-table .asset-thumb{
  width:54px!important;
  height:42px!important;
  min-width:54px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
body:not(.student-shell) .loan-table .asset-thumb.asset-thumb-lg img,
body:not(.student-shell) .reservation-request-table .asset-thumb img{
  max-width:48px!important;
  max-height:36px!important;
  object-fit:contain!important;
}
body:not(.student-shell) .loan-table .table-avatar,
body:not(.student-shell) .reservation-request-table .table-avatar,
body:not(.student-shell) .helpdesk-directory-table .avatar.small,
body:not(.student-shell) .helpdesk-directory-table .avatar.table-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:2px solid #fff!important;
  box-shadow:0 8px 16px rgba(15,23,42,.10)!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table .badge,
body:not(.student-shell) .loan-table .badge,
body:not(.student-shell) .reservation-request-table .badge,
body:not(.student-shell) .my-reservation-table .badge,
body:not(.student-shell) .spare-review-table .badge,
body:not(.student-shell) .helpdesk-directory-table .badge,
body:not(.student-shell) .helpdesk-directory-table .ticket-priority-chip,
body:not(.student-shell) .helpdesk-directory-table .assignment-state{
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table .badge.ok,
body:not(.student-shell) .loan-table .badge.ok,
body:not(.student-shell) .reservation-request-table .badge.ok,
body:not(.student-shell) .spare-review-table .badge.ok,
body:not(.student-shell) .helpdesk-directory-table .badge.ok{
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#047857!important;
}
body:not(.student-shell) .repair-center-hero ~ .card .compact-table .badge.warn,
body:not(.student-shell) .loan-table .badge.warn,
body:not(.student-shell) .reservation-request-table .badge.warn,
body:not(.student-shell) .spare-review-table .badge.warn,
body:not(.student-shell) .helpdesk-directory-table .badge.warn{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#c2410c!important;
}
body:not(.student-shell) .reservation-request-table td:last-child,
body:not(.student-shell) .loan-table td[data-col="actions"],
body:not(.student-shell) .helpdesk-directory-table td[data-col="actions"]{
  background:linear-gradient(90deg,rgba(255,255,255,.72),#fff 18%)!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.04)!important;
  overflow:visible!important;
}
body:not(.student-shell) .loan-table .asset-row-action-summary,
body:not(.student-shell) .reservation-request-table .asset-row-action-summary,
body:not(.student-shell) .helpdesk-directory-table .table-action.primary-action{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border-radius:8px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
body:not(.student-shell) .loan-table .asset-row-action-summary:hover,
body:not(.student-shell) .reservation-request-table .asset-row-action-summary:hover,
body:not(.student-shell) .helpdesk-directory-table .table-action.primary-action:hover{
  background:#1d4ed8!important;
}
body:not(.student-shell) .loan-table .table-action-menu-panel,
body:not(.student-shell) .reservation-action-menu-panel,
body:not(.student-shell) .helpdesk-row-action-menu .table-action-menu-panel{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  padding:6px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
}
body:not(.student-shell) .loan-table .table-action-menu-panel a,
body:not(.student-shell) .loan-table .table-action-menu-panel button,
body:not(.student-shell) .reservation-action-menu-panel a,
body:not(.student-shell) .reservation-action-menu-panel button,
body:not(.student-shell) .helpdesk-row-action-menu .table-action-menu-panel a,
body:not(.student-shell) .helpdesk-row-action-menu .table-action-menu-panel button{
  border-radius:7px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:850!important;
}
body:not(.student-shell) .loan-table .table-action-menu-panel a:hover,
body:not(.student-shell) .loan-table .table-action-menu-panel button:hover,
body:not(.student-shell) .reservation-action-menu-panel a:hover,
body:not(.student-shell) .reservation-action-menu-panel button:hover,
body:not(.student-shell) .helpdesk-row-action-menu .table-action-menu-panel a:hover,
body:not(.student-shell) .helpdesk-row-action-menu .table-action-menu-panel button:hover{
  background:#f2f6ff!important;
  color:#2563eb!important;
}
body:not(.student-shell) .helpdesk-bulk-bar,
body:not(.student-shell) .helpdesk-server-pagination,
body:not(.student-shell) .loan-table-wrap + .table-pagination,
body:not(.student-shell) .reservation-admin-card .table-pagination{
  margin-top:14px!important;
  padding:12px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#f8fbff!important;
}
@media(max-width:760px){
  body:not(.student-shell) .repair-center-hero ~ .card .table-wrap,
  body:not(.student-shell) .loan-table-wrap,
  body:not(.student-shell) .reservation-admin-card .table-wrap,
  body:not(.student-shell) .spare-bin-panel .spare-table-wrap,
  body:not(.student-shell) .helpdesk-table-wrap{
    border-radius:8px!important;
  }
}

/* Authoritative modal polish. Keep at the end so legacy modal overrides cannot
   flatten the shared header, close button, or footer treatment. */
.modal-backdrop{
  background:rgba(15,23,42,.54)!important;
  backdrop-filter:blur(2px);
}
.modal{
  padding:16px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  box-shadow:0 28px 90px rgba(15,23,42,.32)!important;
  overflow:auto!important;
}
.modal>.modal-head,
.modal form>.modal-head{
  margin:-16px -16px 16px!important;
  padding:16px 18px!important;
  min-height:68px!important;
  border-bottom:1px solid #d8e3f0!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;
  color:#172033!important;
}
.modal>.modal-head:first-child,
.modal form>.modal-head:first-child{
  border-radius:12px 12px 0 0!important;
}
.modal>.modal-head>div,
.modal form>.modal-head>div{
  min-width:0!important;
}
.modal>.modal-head h2,
.modal form>.modal-head h2{
  margin:0!important;
  color:#0f172a!important;
  font-size:20px!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
.modal>.modal-head p,
.modal>.modal-head .muted,
.modal form>.modal-head p,
.modal form>.modal-head .muted{
  margin:4px 0 0!important;
  color:#536177!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.modal>.modal-head .icon-btn,
.modal form>.modal-head .icon-btn,
.modal-head-actions .icon-btn{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border:1px solid #bfd0e5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
.modal>.modal-head .icon-btn:hover,
.modal form>.modal-head .icon-btn:hover,
.modal-head-actions .icon-btn:hover{
  background:#eaf2ff!important;
  border-color:#8fb1e3!important;
  color:#174ea6!important;
  transform:none!important;
}
.modal>.modal-head .icon-btn:focus-visible,
.modal form>.modal-head .icon-btn:focus-visible,
.modal-head-actions .icon-btn:focus-visible{
  outline:3px solid rgba(37,99,235,.24)!important;
  outline-offset:2px!important;
}
.modal>.modal-actions,
.modal form>.modal-actions{
  margin:12px -16px -16px!important;
  padding:13px 16px!important;
  border-top:1px solid #e1e8f2!important;
  background:#fbfdff!important;
}
.modal>.modal-head+.modal-list,
.modal>.modal-head+.modal-body,
.modal>.modal-head+form,
.modal>.modal-head+.form-grid{
  margin-top:0!important;
}
.modal.danger .modal-head,
.modal .modal-head.danger,
.modal-backdrop[id*="Cancel"] .modal>.modal-head,
.modal-backdrop[id*="Delete"] .modal>.modal-head{
  background:linear-gradient(135deg,#fff1f2 0%,#fff7f8 70%,#ffe4e6 100%)!important;
  border-bottom-color:#fecdd3!important;
}
.modal.warn .modal-head,
.modal .modal-head.warn{
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 70%,#fef3c7 100%)!important;
  border-bottom-color:#fed7aa!important;
}
@media(max-width:760px){
  .modal{
    border-radius:10px!important;
    width:min(100%,calc(100vw - 18px))!important;
    max-height:calc(100vh - 18px)!important;
  }
  .modal>.modal-head,
  .modal form>.modal-head{
    padding:14px!important;
    min-height:62px!important;
  }
  .modal>.modal-head h2,
  .modal form>.modal-head h2{
    font-size:18px!important;
  }
}

.asset-rename-modal .guardrail-panel{
  margin:0 0 14px;
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
  border-radius:8px;
  padding:12px 14px;
}
.asset-rename-modal .guardrail-panel.danger{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}
.asset-rename-modal .guardrail-panel strong,
.asset-rename-modal .guardrail-panel span{
  display:block;
}
.asset-rename-modal .guardrail-panel span{
  margin-top:4px;
  font-weight:800;
}
.asset-rename-modal .check-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  padding:11px 12px;
}
.asset-rename-modal .check-row input{
  width:18px;
  height:18px;
  margin-top:2px;
}
.input-action-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.input-action-row input{
  min-width:0;
  flex:1;
}
.input-action-row .btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.asset-table td.actions-cell{overflow:visible;}
.row-actions.row-actions-clean{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:nowrap!important;
  white-space:nowrap;
}
.table-action{
  border:1px solid #dbe3f1;
  border-radius:10px;
  min-height:34px;
  padding:8px 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-decoration:none!important;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.table-action:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,30,60,.12);text-decoration:none!important;}
.primary-action{background:#3346d3;border-color:#3346d3;color:#fff!important;box-shadow:0 8px 18px rgba(51,70,211,.18);}
.primary-action:hover{background:#2737b8;border-color:#2737b8;}
.secondary-table-action{background:#f7f9ff;color:#3346d3!important;}
.secondary-table-action:hover{background:#eef2ff;border-color:#bfc9ff;}
.table-action-dropdown{position:relative;display:inline-flex;}
.table-action-dropdown summary{list-style:none;}
.table-action-dropdown summary::-webkit-details-marker{display:none;}
.more-action{width:36px;padding:0;background:#fff;color:#526078;letter-spacing:1px;}
.more-action:hover{background:#f7f9fc;border-color:#cfd8e8;}
.table-action-menu-panel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:80;
  min-width:156px;
  padding:6px;
  background:#fff;
  border:1px solid #dfe6f2;
  border-radius:12px;
  box-shadow:0 18px 44px rgba(13,25,43,.18);
  display:grid;
  gap:4px;
  text-align:left;
}
.table-action-dropdown:not([open]) .table-action-menu-panel{display:none;}
.table-action-menu-panel a{display:block;padding:10px 11px;border-radius:9px;color:#172033!important;font-weight:500;text-decoration:none!important;}
.table-action-menu-panel a:hover{background:#f2f5ff;color:#3346d3!important;}
.asset-table tbody tr:hover .actions-cell{background:#fafbff;}
@media(max-width:760px){
  .asset-table th[data-col="actions"],.asset-table td[data-col="actions"]{width:160px;min-width:160px;}
  .table-action{padding:7px 9px;font-size:11px;}
  .more-action{width:32px;}
}

/* 2026 dashboard rebuild: cleaner hero, richer widgets, sticky compact row actions */
.modern-dashboard-hero{
  min-height:142px;
  padding:24px 28px;
  border-radius:16px;
  border-color:#dfe6f2;
  box-shadow:0 16px 42px rgba(20,32,60,.07);
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);
}
.modern-dashboard-hero .page-title{font-size:26px;letter-spacing:-.03em;margin-bottom:8px;color:#111827;}
.add-asset-dashboard-btn{
  height:44px;
  padding:0 22px!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#3150e6,#1d4ed8)!important;
  border-color:#3150e6!important;
  color:#fff!important;
  box-shadow:0 16px 28px rgba(49,80,230,.24)!important;
  font-size:14px!important;
}
.add-asset-dashboard-btn span{font-size:19px;line-height:1;margin-top:-1px;}
.modern-dashboard-metrics{gap:18px;margin-bottom:18px;}
.metric-card{
  min-height:158px;
  padding:24px 26px 18px;
  border-radius:16px!important;
  display:grid;
  grid-template-columns:72px 1fr;
  grid-template-rows:1fr auto;
  gap:8px 18px;
  align-items:center;
  background:#fff;
  border:1px solid #dfe6f2;
  box-shadow:0 18px 42px rgba(20,32,60,.08);
  overflow:hidden;
  position:relative;
}
.metric-card:after{content:"";position:absolute;left:108px;right:22px;top:88px;height:1px;background:linear-gradient(90deg,#eef2f7,transparent);}
.metric-icon{
  width:72px;height:72px;border-radius:50%;display:grid;place-items:center;
  box-shadow:none;grid-row:1 / span 1;font-weight:900;font-size:25px;
}
.metric-icon img{max-width:46px;max-height:40px;}
.metric-blue .metric-icon{background:#dcebff;color:#1d4ed8;}
.metric-green .metric-icon{background:#d9f6e3;color:#10945d;}
.metric-purple .metric-icon{background:#e9ddff;color:#6d28d9;}
.metric-orange .metric-icon{background:#ffe0ad;color:#f08a00;}
.metric-symbol{font-size:34px;}
.metric-copy small{display:flex;align-items:center;gap:5px;color:#53617a;font-size:12px;font-weight:900;margin-bottom:3px;}
.metric-copy strong{font-size:34px;letter-spacing:-.04em;margin:0 0 2px;color:#111827;line-height:1;}
.metric-copy span{color:#627088;font-weight:800;font-size:13px;}
.info-dot{width:14px;height:14px;border:1px solid #9aa9c2;border-radius:50%;display:inline-grid;place-items:center;font-size:9px;color:#718096;line-height:1;}
.metric-trend{grid-column:1 / -1;font-size:12px;font-weight:800;padding-top:8px;}
.metric-trend.up{color:#16a064}.metric-trend.down{color:#16a064}
.asset-snapshot-card{border-radius:16px!important;padding:20px 20px 12px!important;box-shadow:0 16px 42px rgba(20,32,60,.07)!important;border-color:#dfe6f2!important;overflow:hidden!important;}
.asset-table-toolbar{align-items:flex-start!important;margin-bottom:18px!important;}
.asset-table-toolbar h2{font-size:22px;letter-spacing:-.03em;color:#111827;}
.asset-table-toolbar p{font-size:13px;}
.toolbar-actions{display:flex!important;align-items:flex-start!important;gap:10px!important;}
.bulk-edit-control{height:38px;min-width:280px;background:#fff;border-radius:10px;font-size:13px;color:#1f2937;}
.columns-btn{height:38px;border-radius:10px!important;color:#334155!important;background:#f8fafc!important;font-size:12px!important;padding:0 14px!important;}
.asset-table-wrap{border:1px solid #dfe6f2;border-radius:14px;overflow:auto!important;max-width:100%;background:#fff;}
.asset-table{min-width:1370px;border-collapse:separate;border-spacing:0;}
.asset-table th,.asset-table td{padding:12px 13px;vertical-align:middle;border-bottom:1px solid #e8edf5;}
.asset-table thead tr:first-child th{position:sticky;top:0;z-index:5;background:#f8fafd;color:#40506a;font-size:12px;}
.asset-table .table-filters th{position:sticky;top:42px;z-index:5;background:#fff;}
.asset-table tbody tr:hover{background:#fbfdff;}
.table-filters input,.table-filters select{height:34px;border-radius:8px;border-color:#d9e1ee;background:#fff;font-size:11px;}
.table-date-range-filter{display:grid;grid-template-columns:1fr;gap:4px;min-width:136px;}
.table-date-range-filter input[type="date"]{min-width:0;width:100%;height:30px;padding:5px 6px;font-size:10px;}
.asset-table th[data-col="select"],.asset-table td[data-col="select"]{width:44px;min-width:44px;text-align:center;}
.asset-table th[data-col="actions"],.asset-table td[data-col="actions"]{
  position:sticky!important;
  right:0;
  z-index:7;
  width:168px!important;
  min-width:168px!important;
  max-width:168px!important;
  text-align:right;
  background:#fff;
  box-shadow:-12px 0 18px rgba(15,23,42,.04);
}
.asset-table thead th[data-col="actions"]{z-index:12;background:#f8fafd;}
.asset-table .table-filters th[data-col="actions"]{z-index:12;background:#fff;}
.asset-table tbody tr:hover td[data-col="actions"]{background:#fbfdff;}
.row-actions.row-actions-clean{gap:6px!important;justify-content:flex-end!important;}
.table-action{
  min-height:30px!important;height:30px!important;padding:0 9px!important;border-radius:8px!important;
  font-size:11px!important;font-weight:900!important;box-shadow:none!important;
}
.primary-action{background:#3346d3!important;border-color:#3346d3!important;color:#fff!important;min-width:46px!important;}
.secondary-table-action{background:#f7f9ff!important;color:#2739b7!important;border-color:#dbe3f1!important;min-width:54px!important;}
.more-action{width:30px!important;min-width:30px!important;padding:0!important;background:#fff!important;color:#526078!important;}
.table-action-menu-panel{right:0;min-width:142px;border-radius:12px;}
.asset-table td[data-col="asset"]{min-width:230px;}
.asset-main{gap:10px;}
.asset-thumb.asset-thumb-lg{width:54px!important;height:54px!important;border-radius:10px;}
.asset-thumb.asset-thumb-lg img{width:auto!important;height:auto!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important;object-position:center!important;transform:none!important;display:block!important;}
.badge{font-size:11px;padding:5px 9px;}
@media(max-width:1200px){
  .modern-dashboard-metrics{grid-template-columns:repeat(2,1fr)!important;}
  .bulk-edit-control{min-width:220px;}
}
@media(max-width:760px){
  .modern-dashboard-hero{display:block;padding:18px}.modern-dashboard-hero .hero-actions{margin-top:16px}.modern-dashboard-metrics{grid-template-columns:1fr!important}.metric-card{grid-template-columns:62px 1fr}.metric-icon{width:62px;height:62px}.asset-table th[data-col="actions"],.asset-table td[data-col="actions"]{width:154px!important;min-width:154px!important}.table-action{font-size:10px!important;padding:0 7px!important}.secondary-table-action{min-width:50px!important}.more-action{width:28px!important;min-width:28px!important}
}

/* Design Option #3: card-based asset header */
.asset-design3-shell{
  display:grid;
  grid-template-columns:minmax(520px,1.45fr) minmax(240px,.7fr) minmax(420px,1.05fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:14px;
}
.asset-d3-main-card,.asset-d3-info-card{
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:14px;
  box-shadow:0 14px 32px rgba(20,32,60,.07);
}
.asset-d3-main-card{
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 168px;
  gap:18px;
  padding:14px;
  background:linear-gradient(135deg,#ffffff 0%,#f7f9ff 100%);
}
.asset-d3-visual{
  min-height:165px;
  border-radius:13px;
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#f7faff,#edf3fb);
  display:grid;
  place-items:center;
}
.asset-d3-visual img{max-width:170px;max-height:125px;object-fit:contain}
.asset-d3-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.asset-d3-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.asset-d3-title-row h1{margin:0;font-size:25px;line-height:1.08;letter-spacing:-.03em;color:#111827}
.asset-d3-meta{margin:10px 0 0;color:#657188;font-size:13px;font-weight:700}
.asset-d3-chips{margin:14px 0 0}.asset-d3-chips span,.asset-d3-chips .risk-summary{padding:6px 11px}
.asset-d3-action-card{
  align-self:center;
  background:#fff;
  border:1px solid #e1e7f0;
  border-radius:13px;
  box-shadow:0 10px 24px rgba(20,32,60,.06);
  padding:9px;
  display:grid;
  gap:5px;
}
.asset-d3-action-card .btn{width:100%;min-width:0!important;height:38px;justify-content:flex-start;border-radius:10px;font-size:12px;font-weight:900;padding:0 12px;box-shadow:none}
.asset-d3-action-card .hero-action{justify-content:center;box-shadow:0 10px 20px rgba(51,70,211,.22)!important}
.asset-d3-action-card .secondary-action{background:#fff;border-color:#e0e7f2!important;color:#24314d}
.asset-d3-more{width:100%}.asset-d3-more .action-menu-list{left:auto;right:0;top:calc(100% + 8px)}
.asset-d3-info-card{padding:17px;min-width:0}
.asset-d3-card-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.asset-d3-card-title h3{margin:0;font-size:14px}.asset-d3-card-title .btn{margin-left:auto}
.d3-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:14px;flex:0 0 auto}.d3-icon.shield{background:#e8f8ef;color:#168957}.d3-icon.person{background:#eef2ff;color:#3346d3}.d3-icon.blue{background:#eaf2ff;color:#2368d8}.d3-icon.green{background:#e9f8f0;color:#168957}.d3-icon.orange{background:#fff2df;color:#c96a13}
.d3-progress{height:13px;border-radius:999px;background:#e9edf5;overflow:hidden;margin:24px 0 13px}.d3-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#168957,#2daf71)}
.d3-warranty-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.d3-warranty-line strong{font-size:16px}.d3-warranty-line b{color:#168957;background:#e9f8f0;border-radius:999px;padding:3px 8px}.warranty-d3-card p{color:#657188;font-weight:800;margin:8px 0 0}
.warranty-provider-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 10px;padding:9px 11px;border:1px solid #e3e9f3;border-radius:10px;background:#fbfdff}
.warranty-provider-line small{color:#64748b;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.04em}
.warranty-provider-line strong{font-size:14px;color:#172033;text-align:right}
.warranty-dual-graph{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.warranty-mini-graph{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:11px}
.warranty-mini-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.warranty-mini-head span{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.warranty-mini-head b{font-size:12px;color:#172033;text-align:right}
.warranty-progress{height:10px;margin:10px 0 9px}
.google-aue-graph .warranty-progress span{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.google-aue-graph .d3-warranty-line b{background:#dbeafe;color:#1d4ed8}
@media(max-width:900px){.warranty-dual-graph{grid-template-columns:1fr}}
.assignment-d3-card .d3-person{display:flex;gap:13px;align-items:center}.assignment-d3-card .avatar.lg{width:70px;height:70px;font-size:22px}.assignment-d3-card h2{margin:0 0 4px;font-size:17px}.assignment-d3-card p{margin:0;font-size:12px;line-height:1.55}
.assignment-d3-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.d3-stat-row{display:flex;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e7ecf4;border-radius:12px;background:#fff}.d3-stat-row strong{display:block;font-size:15px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d3-stat-row p{margin:2px 0 0;color:#657188;font-weight:800;font-size:11px}
@media(max-width:1500px){.asset-design3-shell{grid-template-columns:minmax(500px,1.25fr) minmax(230px,.65fr) minmax(390px,1fr)}.assignment-d3-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.asset-design3-shell{grid-template-columns:1fr}.asset-d3-main-card{grid-template-columns:160px minmax(0,1fr) 160px}.assignment-d3-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.asset-d3-main-card{grid-template-columns:1fr}.asset-d3-action-card{display:flex;flex-wrap:wrap}.asset-d3-action-card .btn{width:auto;flex:1 1 140px}.asset-d3-title-row h1{font-size:22px}.asset-d3-visual{min-height:135px}.assignment-d3-metrics{grid-template-columns:1fr}}

.assignment-d3-card{display:flex;flex-direction:column;justify-content:space-between}


/* Bottom section Design #3: Split Layout with Side Info */
.overview-d3-shell{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;padding:8px 2px 2px}.overview-d3-panel{background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);border:1px solid #dfe6f0;border-radius:16px;padding:18px;box-shadow:0 14px 32px rgba(20,32,60,.055);min-width:0}.overview-d3-google{border-left:4px solid #e8eef8}.overview-d3-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}.overview-d3-head h3{margin:0;font-size:15px;color:#111827;letter-spacing:-.01em}.overview-d3-head p{margin:3px 0 0;color:#66728a;font-size:12px;font-weight:700}.overview-d3-head-icon,.overview-d3-google-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:950;flex:0 0 auto;background:#eef2ff;color:#3346d3;border:1px solid #dfe6ff}.overview-d3-google-mark{background:#fff;color:#4285f4;border-color:#e5eaf3;font-family:Arial,sans-serif}.overview-d3-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #e8edf5}.overview-d3-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:16px 12px;border-bottom:1px solid #e8edf5;min-height:74px}.overview-d3-item:nth-child(odd){border-right:1px solid #e8edf5}.overview-d3-item small{display:block;color:#6d7890;font-size:11px;font-weight:900;margin-bottom:5px;letter-spacing:.015em}.overview-d3-item b{display:block;color:#111827;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.overview-d3-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:950;font-size:14px;background:#eef5ff;color:#2665d8}.overview-d3-icon.status,.overview-d3-icon.shield,.overview-d3-icon.enrolled{background:#eaf8f0;color:#168957}.overview-d3-icon.user{background:#f4e8fb;color:#6844b8}.overview-d3-icon.home,.overview-d3-icon.location{background:#e9f7f4;color:#16806b}.overview-d3-icon.sync{background:#f1f5fb;color:#56647a}.overview-d3-icon.os{background:#fff2df;color:#c96a13}.overview-d3-icon.org,.overview-d3-icon.dept,.overview-d3-icon.managed{background:#eef2ff;color:#3346d3}@media(max-width:1100px){.overview-d3-shell{grid-template-columns:1fr}.overview-d3-google{border-left:1px solid #dfe6f0}}@media(max-width:720px){.overview-d3-list{grid-template-columns:1fr}.overview-d3-item:nth-child(odd){border-right:0}}


/* Crisp inline SVG icon system */
.ui-icon{width:1em;height:1em;display:block;stroke:currentColor;fill:none;opacity:1;vector-effect:non-scaling-stroke}
.action-icon{display:inline-grid;place-items:center;width:16px;height:16px;color:currentColor}
.action-icon .ui-icon{width:15px;height:15px}
.d3-icon .ui-icon,.overview-d3-icon .ui-icon,.overview-d3-head-icon .ui-icon,.overview-d3-google-mark .ui-icon{width:17px;height:17px;stroke-width:2.2;color:currentColor}
.overview-google-refresh{margin-left:auto}
.overview-google-refresh .btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.overview-google-refresh .ui-icon{width:15px;height:15px}
@media(max-width:760px){.overview-d3-head{flex-wrap:wrap}.overview-google-refresh{width:100%;margin-left:45px}.overview-google-refresh .btn{width:100%;justify-content:center}}
.d3-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.overview-d3-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.overview-d3-google-mark .ui-icon{width:20px;height:20px;color:#4285f4}
.columns-btn{display:inline-flex;align-items:center;gap:7px}.columns-btn .ui-icon{width:15px;height:15px}
.module-placeholder{min-height:420px}.empty-state{margin-top:24px;border:1px dashed #d8e1ef;border-radius:18px;padding:42px;text-align:center;background:#fbfdff}.empty-state-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:#eef2ff;color:#3346d3;display:grid;place-items:center}.empty-state-icon .ui-icon{width:26px;height:26px}


/* Brian refinements: cleaner dashboard top, tighter toolbar, calmer column modal, clickable assignment */
.dashboard-action-strip{
  display:flex;justify-content:flex-end;align-items:center;margin:0 0 18px;padding:0;background:transparent;border:0;box-shadow:none;
}
.dashboard-action-strip .add-asset-dashboard-btn{min-height:44px;border-radius:12px;padding:0 22px;font-size:14px;box-shadow:0 16px 34px rgba(51,70,211,.22)!important;}
.asset-table-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;}
.asset-toolbar-controls,.toolbar-actions.asset-toolbar-controls{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:nowrap!important;white-space:nowrap!important;margin-top:0!important;}
.asset-toolbar-controls .bulk-edit-control{width:220px!important;min-width:220px!important;height:38px!important;}
.asset-toolbar-controls .columns-btn{height:38px!important;min-width:116px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin:0!important;}
.refined-column-modal{width:min(620px,calc(100vw - 32px))!important;max-height:calc(100vh - 70px);overflow:hidden;display:flex;flex-direction:column;padding:0!important;border-radius:18px!important;}
.column-modal-head{padding:22px 24px 14px!important;border-bottom:1px solid #e6edf7;align-items:flex-start!important;}
.column-modal-head h2{margin:0 0 4px;font-size:24px;letter-spacing:-.03em;}
.column-modal-head p{margin:0;font-size:13px;}
.column-search-bar{
  padding:14px 20px;
  border-bottom:1px solid #e6edf7;
  background:#fff;
}
.column-search-bar label{
  display:grid;
  gap:6px;
  margin:0;
}
.column-search-bar span{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.column-search-bar input{
  height:38px;
  border-radius:10px;
}
.refined-column-list{padding:14px 18px;overflow:auto;display:grid;gap:8px;background:#f8fafd;}
.column-config-group{
  padding:8px 4px 2px;
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.refined-column-row{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;border:1px solid #dfe7f3!important;background:#fff!important;border-radius:14px!important;box-shadow:0 6px 16px rgba(15,23,42,.035)!important;cursor:grab;}
.refined-column-row.dragging{opacity:.55;}
.column-drag{color:#94a3b8;font-size:17px;line-height:1;}
.column-toggle{display:flex!important;align-items:center!important;gap:12px!important;font-weight:900;color:#23314a;cursor:pointer;}
.column-toggle input{position:absolute;opacity:0;pointer-events:none;}
.toggle-ui{width:40px;height:22px;border-radius:999px;background:#dbe3f0;position:relative;flex:0 0 auto;transition:.18s ease;box-shadow:inset 0 0 0 1px #cbd5e1;}
.toggle-ui:after{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(15,23,42,.18);transition:.18s ease;}
.column-toggle input:checked + .toggle-ui{background:#3346d3;box-shadow:none;}
.column-toggle input:checked + .toggle-ui:after{transform:translateX(18px);}
.column-toggle input:disabled + .toggle-ui{background:#c7d2fe;opacity:.8;}
.column-label{font-size:14px;}
.column-lock{font-size:11px;font-weight:900;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px;}
.column-config-empty{
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#fff;
  color:#64748b;
  font-size:13px;
  font-weight:850;
  padding:18px;
  text-align:center;
}
.column-modal-actions{padding:14px 20px 20px!important;border-top:1px solid #e6edf7;background:#fff;}
.assignment-person-link{border:0;background:transparent;text-align:left;width:100%;padding:0;border-radius:16px;cursor:pointer;}
.assignment-person-link:hover h2{color:#3346d3;text-decoration:underline;}
.assignment-person-link:focus-visible{outline:3px solid rgba(51,70,211,.25);outline-offset:4px;}
.asset-student-modal .student-profile-head h2{margin:0;}
@media(max-width:900px){.dashboard-action-strip{justify-content:flex-start}.asset-table-toolbar{align-items:flex-start!important}.asset-toolbar-controls{width:100%;justify-content:flex-start!important}.asset-toolbar-controls .bulk-edit-control{width:100%!important;min-width:0!important}.asset-toolbar-controls .columns-btn{min-width:108px!important}}

/* Fast circulation / librarian checkout workflow */
.circulation-shell{display:grid;gap:14px}.circ-hero{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center}.circ-hero h1{font-size:26px;margin:3px 0 6px}.circ-hero p{margin:0;color:var(--muted);max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900;color:#3346d3}.mode-switch{display:flex;gap:8px;background:#f5f7fb;border:1px solid var(--line);border-radius:12px;padding:6px;flex:0 0 auto}.mode-pill{border:0;background:transparent;color:#50607b;border-radius:9px;padding:10px 14px;font-size:13px}.mode-pill.active{background:#3346d3;color:white;box-shadow:0 12px 24px rgba(51,70,211,.22)}.mode-pill .ui-icon{width:16px;height:16px}.scan-layout{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(280px,1fr) minmax(330px,.9fr) minmax(270px,.7fr);gap:14px;align-items:start}.scan-card,.preview-panel,.live-panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;min-height:470px}.step-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.step-title>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#3346d3;color:white;font-weight:900;flex:0 0 auto}.step-title h2{font-size:18px;margin:0 0 3px}.step-title p{margin:0;color:var(--muted);font-size:12px}.scan-input-wrap{height:44px;border:1px solid #d8dfeb;border-radius:10px;background:#fbfcff;display:flex;align-items:center;gap:9px;padding:0 12px;margin-bottom:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.scan-input-wrap:focus-within{border-color:#3346d3;box-shadow:0 0 0 3px rgba(51,70,211,.12)}.scan-input-wrap .ui-icon{width:18px;height:18px;color:#3346d3;flex:0 0 auto}.scan-input-wrap input{border:0;outline:0;background:transparent;width:100%;font-weight:700;color:#172033}.scan-input-wrap kbd{border:1px solid #cfd6e3;border-radius:6px;background:#fff;color:#64748b;padding:2px 6px;font-size:10px;font-weight:900}.quick-results{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:280px;background:#fff;margin-bottom:10px}.scan-result{width:100%;min-height:56px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;display:flex;justify-content:flex-start;gap:10px;padding:9px 10px;color:#172033;text-align:left}.scan-result:last-child{border-bottom:0}.scan-result:hover{background:#f5f7ff;box-shadow:none}.scan-result span:last-child{display:grid;gap:1px}.scan-result b{font-size:13px}.scan-result small{color:var(--muted);font-size:11px}.device-mini{width:38px;height:32px;border:1px solid var(--line);border-radius:7px;background:#f7f9fe;display:grid!important;place-items:center;flex:0 0 auto}.device-mini img{max-width:31px;max-height:24px}.full-width{width:100%}.selected-devices{display:grid;gap:7px;margin-top:12px;max-height:130px;overflow:auto}.selected-device-chip{display:grid;grid-template-columns:24px 85px minmax(0,1fr) 30px;align-items:center;gap:8px;border:1px solid #dfe7f2;border-radius:10px;padding:8px;background:#f8fbff}.selected-device-chip>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e3f8ee;color:#168957}.selected-device-chip .ui-icon{width:15px;height:15px}.selected-device-chip b{font-size:12px}.selected-device-chip small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-device-chip button{min-height:28px;width:28px;padding:0;border-radius:8px;background:#fff;color:#d94752}.empty-selection{border:1px dashed #cfd6e3;border-radius:10px;background:#fafbfe;color:#7b879c;padding:12px;text-align:center;font-weight:800}.preview-panel{display:flex;flex-direction:column;gap:13px}.preview-head{display:flex;align-items:center;gap:14px}.preview-head h2{font-size:21px;margin:2px 0 2px}.preview-head p{color:var(--muted);margin:0}.preview-device-box{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcff}.preview-device-box small,.preview-stats small{display:block;color:#64748b;font-weight:900}.preview-device-box strong{font-size:30px;display:block;margin:2px 0}.preview-device-box span{color:#64748b;font-size:12px}.preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-stats>div{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.preview-stats strong{display:block;font-size:24px;margin-top:4px}.circulation-form{display:grid;gap:9px;margin-top:auto}.circulation-form label{font-size:12px;color:#33415f;font-weight:900}.circulation-form input,.circulation-form textarea,.circulation-form select{width:100%;margin-top:5px;border:1px solid #dfe4ef;border-radius:8px;padding:9px 10px;background:#fbfcff;color:#172033}.mega-action{width:100%;min-height:40px;font-size:13px}.live-panel{min-height:470px}.live-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.live-title h3{margin:0;font-size:18px}.live-title p{margin:2px 0 0;color:var(--muted);font-size:12px}.live-badge{display:inline-flex;align-items:center;gap:5px;background:#e3f8ee;color:#168957;border-radius:999px;padding:5px 9px;font-weight:900}.live-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#168957}.activity-feed{display:grid;gap:9px;max-height:395px;overflow:auto}.activity-item{display:grid;grid-template-columns:13px minmax(0,1fr);gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcff}.activity-dot{width:11px;height:11px;border-radius:50%;background:#168957;margin-top:4px}.activity-dot.warn{background:#c96a13}.activity-item b,.activity-item span,.activity-item small{display:block}.activity-item b{font-size:12px}.activity-item span{font-size:12px;color:#33415f}.activity-item small{font-size:11px;color:#7b879c;margin-top:2px}.tips-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tips-row>div{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;align-items:start}.tips-row .ui-icon{grid-row:1 / span 2;width:30px;height:30px;color:#3346d3;background:#eef2ff;border-radius:9px;padding:6px}.tips-row b{display:block;font-size:13px}.tips-row span{color:var(--muted);font-size:12px}.ui-icon{width:18px;height:18px;vertical-align:middle;flex:0 0 auto}
@media (max-width:1500px){.scan-layout{grid-template-columns:1fr 1fr}.preview-panel,.live-panel{min-height:auto}.tips-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.circ-hero{display:grid}.mode-switch{width:100%}.mode-pill{flex:1}.scan-layout,.tips-row{grid-template-columns:1fr}.selected-device-chip{grid-template-columns:24px 80px minmax(0,1fr) 30px}}

/* Circulation workflow refinements: selectable results, timestamped live activity, current checkout preview */
.scan-result{cursor:pointer;transition:background .15s ease, transform .15s ease, box-shadow .15s ease}
.scan-result:hover{background:#eef3ff;transform:translateY(-1px)}
.scan-result:focus-visible{outline:3px solid rgba(51,70,211,.18);outline-offset:-3px;background:#eef3ff}
.current-checkouts-card{border:1px solid var(--line);border-radius:12px;background:#fbfcff;padding:12px;display:grid;gap:9px}
.current-checkouts-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.current-checkouts-head small{color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.current-checkouts-head span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:#eef2ff;color:#3346d3;font-weight:900;font-size:12px}
.current-checkouts-list{display:grid;gap:7px;max-height:145px;overflow:auto;padding-right:2px}
.current-checkout-item{border:1px solid #dfe7f2;background:#fff;border-radius:10px;padding:9px 10px;display:grid;gap:2px}
.current-checkout-item b{font-size:12px;color:#172033}
.current-checkout-item span{font-size:12px;color:#33415f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.current-checkout-item small{font-size:11px;color:#7b879c}
.checkout-current-renew-btn{min-height:28px;padding:5px 9px;border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;font-weight:900!important;white-space:nowrap}
.checkout-current-renew-btn:hover{background:#dbeafe!important;border-color:#93c5fd!important;box-shadow:0 8px 18px rgba(29,78,216,.1)!important}
.checkout-current-renew-btn:disabled,.checkout-current-renew-btn.disabled{border-color:#d8dee8!important;background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}
.checkout-current-renew-btn:disabled .ui-icon,.checkout-current-renew-btn.disabled .ui-icon{color:#94a3b8!important}
.preview-panel{min-height:unset}.live-panel{min-height:unset}


/* Reliable click targets for checkout people/devices */
.quick-results{position:relative;z-index:5;pointer-events:auto}
.scan-result,.person-result,.device-result{position:relative;z-index:6;pointer-events:auto;user-select:none;cursor:pointer}
.scan-result *{pointer-events:none}
.scan-result.selected{background:#eef3ff!important;border-left:4px solid #3346d3!important}
.scan-result.selected b{color:#243bd1}

/* Hard fix: circulation result rows must always be clickable/selectable */
.quick-results { position: relative; z-index: 50; }
.scan-result.person-result, .scan-result.device-result { cursor: pointer; pointer-events: auto !important; }
.scan-result.person-result *, .scan-result.device-result * { pointer-events: none !important; }
.scan-result.person-result:hover, .scan-result.device-result:hover { background: #eef3ff !important; }

/* Checkout click hard-fix: make person rows real clickable controls */
#peopleResults .person-result,
#deviceResults .device-result {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
}
#peopleResults .person-result * { pointer-events: none; }
#peopleResults .person-result:focus-visible {
  outline: 3px solid rgba(51,70,211,.22);
  outline-offset: -3px;
}
#peopleResults .person-result.selected {
  background: #eef2ff;
  box-shadow: inset 3px 0 0 #3346d3;
}

/* Quick circulation workflow */
.quick-circ-shell .quick-hero{padding:16px 20px}
.quick-scan-layout{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(360px,1fr) minmax(360px,.9fr);gap:14px;align-items:start}
.quick-scan-layout .quick-card{min-height:560px}
.quick-action-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;min-height:560px;display:flex;flex-direction:column;gap:14px}
.quick-status{display:flex;gap:13px;align-items:center;border:1px solid var(--line);background:#fbfcff;border-radius:14px;padding:14px;transition:.18s ease}
.quick-status.error-pulse{border-color:#fecaca;background:#fff1f2;box-shadow:0 0 0 4px rgba(239,68,68,.08)}
.quick-status-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#eef2ff;color:#3346d3;font-weight:1000;font-size:22px;flex:0 0 auto}
.quick-status h2{margin:2px 0 4px;font-size:20px}.quick-status p{margin:0;color:var(--muted)}
.quick-count-grid{display:grid;grid-template-columns:1fr 110px;gap:10px}.quick-count-grid>div{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.quick-count-grid small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.quick-count-grid strong{display:block;font-size:18px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-count-grid>div:last-child strong{font-size:28px}
.compact-selected{margin:10px 0}.selected-person-pill{display:flex;gap:10px;align-items:center;border:1px solid #dfe7f2;border-radius:12px;background:#f8fbff;padding:10px}.selected-person-pill b,.selected-person-pill small{display:block}.selected-person-pill small{color:var(--muted);font-size:11px}
.quick-current{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.quick-current-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.quick-current-head span{min-width:24px;height:24px;border-radius:999px;background:#eef2ff;color:#3346d3;display:grid;place-items:center;font-weight:1000}.quick-current-list{display:grid;gap:7px;max-height:155px;overflow:auto}.quick-current-item{border:1px solid #e1e7f0;border-radius:10px;background:#fbfcff;padding:9px}.quick-current-item b,.quick-current-item span,.quick-current-item small{display:block}.quick-current-item span{color:#33415f;font-size:12px}.quick-current-item small{color:#7b879c;font-size:11px;margin-top:2px}
.quick-form{margin-top:0}.quick-form textarea{resize:vertical}.sound-note{font-size:12px;color:#64748b;background:#f8fafc;border:1px dashed #cfd6e3;border-radius:10px;padding:10px}.sound-note b{color:#172033}.quick-tips{margin-top:0}.quick-selected-devices{max-height:170px}.scan-result.selected{background:#eef2ff;box-shadow:inset 4px 0 0 #3346d3}.person-result,.device-result{cursor:pointer}.person-result:active,.device-result:active{transform:scale(.997)}
@media (max-width:1400px){.quick-scan-layout{grid-template-columns:1fr 1fr}.quick-action-card{grid-column:1 / -1;min-height:auto}.quick-scan-layout .quick-card{min-height:auto}}
@media (max-width:900px){.quick-scan-layout{grid-template-columns:1fr}.quick-count-grid{grid-template-columns:1fr}.quick-action-card{grid-column:auto}}

.circulation-form .checkout-aup-email-toggle,
.quick-action-panel .checkout-aup-email-toggle{
  align-items:flex-start;
  gap:8px;
  border-radius:10px;
  padding:10px 12px;
  font-size:12px;
  font-weight:850;
  color:#334155;
}
.circulation-form .checkout-aup-email-toggle input[type="checkbox"],
.quick-action-panel .checkout-aup-email-toggle input[type="checkbox"]{
  width:16px;
  min-width:16px;
  height:16px;
  min-height:16px;
  margin:2px 0 0;
  padding:0;
}
.circulation-form .checkout-aup-email-help,
.quick-action-panel .checkout-aup-email-help{
  margin:-3px 0 2px!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.checkout-aup-email-toggle[hidden],
.checkout-aup-email-help[hidden]{
  display:none!important;
}

/* Quick mode toggle and compact circulation mode */
.circ-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.quick-mode-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;font-weight:900;color:#33415f;box-shadow:0 8px 18px rgba(15,23,42,.06);cursor:pointer;user-select:none}
.quick-mode-toggle input{accent-color:#3346d3;transform:scale(1.05)}
.quick-action-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;min-height:470px;flex-direction:column;gap:14px}
.quick-status-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:#fbfcff;border-radius:14px;padding:14px}
.quick-status-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#eef2ff;color:#3346d3;font-size:24px;flex:0 0 auto}
.quick-status-card h2{margin:2px 0 4px;font-size:20px}.quick-status-card p{margin:0;color:var(--muted)}
.quick-summary-grid{display:grid;grid-template-columns:1fr 105px;gap:10px}.quick-summary-grid>div{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px}.quick-summary-grid small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.quick-summary-grid strong{display:block;font-size:18px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-summary-grid>div:last-child strong{font-size:28px}.sound-note{font-size:12px;color:#64748b;background:#f8fafc;border:1px dashed #cfd6e3;border-radius:10px;padding:10px}.sound-note b{color:#172033}
.circulation-shell.quick-mode-on .scan-layout{grid-template-columns:minmax(310px,.9fr) minmax(360px,1fr) minmax(340px,.75fr)}
.circulation-shell.quick-mode-on .preview-panel,.circulation-shell.quick-mode-on .live-panel,.circulation-shell.quick-mode-on .tips-row{display:none!important}
.circulation-shell.quick-mode-on .quick-action-panel{display:flex}
.circulation-shell.quick-mode-on .scan-card{min-height:470px}
@media (max-width:1200px){.circulation-shell.quick-mode-on .scan-layout{grid-template-columns:1fr 1fr}.circulation-shell.quick-mode-on .quick-action-panel{grid-column:1 / -1;min-height:auto}}
@media (max-width:800px){.circ-controls{justify-content:flex-start}.circulation-shell.quick-mode-on .scan-layout{grid-template-columns:1fr}.circulation-shell.quick-mode-on .quick-action-panel{grid-column:auto}}

/* Large, obvious Quick Mode switch placed in the circulation header */
.circ-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.quick-mode-switch{display:inline-flex;align-items:center;gap:12px;border:1px solid #d7deea;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px;padding:9px 14px;box-shadow:0 14px 34px rgba(15,23,42,.10);cursor:pointer;user-select:none;min-width:210px;justify-content:flex-start}
.quick-mode-switch input{position:absolute;opacity:0;pointer-events:none}
.quick-mode-track{width:70px;height:38px;border-radius:999px;background:#dbe3f2;position:relative;display:inline-flex;align-items:center;padding:4px;transition:.18s ease;box-shadow:inset 0 1px 3px rgba(15,23,42,.14)}
.quick-mode-knob{width:30px;height:30px;border-radius:999px;background:#fff;display:grid;place-items:center;box-shadow:0 5px 14px rgba(15,23,42,.22);transition:.18s ease;font-size:15px}
.quick-mode-copy{display:grid;line-height:1.05}.quick-mode-copy b{font-size:14px;color:#172033}.quick-mode-copy small{font-size:11px;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.quick-mode-switch:has(input:checked){border-color:#3346d3;background:#eef2ff;box-shadow:0 16px 36px rgba(51,70,211,.20)}
.quick-mode-switch:has(input:checked) .quick-mode-track{background:#3346d3}.quick-mode-switch:has(input:checked) .quick-mode-knob{transform:translateX(32px)}
.circulation-shell.quick-mode-on .scan-layout{grid-template-columns:minmax(330px,.95fr) minmax(390px,1.05fr) minmax(360px,.9fr)}
.circulation-shell.quick-mode-on .preview-panel,.circulation-shell.quick-mode-on .live-panel,.circulation-shell.quick-mode-on .tips-row{display:none!important}
.circulation-shell.quick-mode-on .quick-action-panel{display:flex}
.quick-action-panel .mega-action{margin-top:auto;min-height:46px;font-size:14px}
@media (max-width:1200px){.quick-mode-switch{min-width:190px}.circulation-shell.quick-mode-on .scan-layout{grid-template-columns:1fr 1fr}.circulation-shell.quick-mode-on .quick-action-panel{grid-column:1 / -1;min-height:auto}}
@media (max-width:800px){.circ-controls{justify-content:flex-start}.quick-mode-switch{width:100%}.circulation-shell.quick-mode-on .scan-layout{grid-template-columns:1fr}.circulation-shell.quick-mode-on .quick-action-panel{grid-column:auto}}

/* 2026 student directory refinement */
.student-directory-card{padding:18px!important;border-radius:16px!important;}
.student-directory-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.student-directory-actions{display:flex;align-items:center;gap:8px;white-space:nowrap;}
.student-filter-row{display:grid;grid-template-columns:minmax(320px,1fr) 150px 190px 190px auto;gap:10px;align-items:center;margin-bottom:14px;}
.student-filter-row .filter{width:100%;min-width:0;}
.student-search-wide{min-width:0!important;}
.modern-student-table th,.modern-student-table td{vertical-align:middle;}
.modern-student-table tbody tr{transition:background .15s ease, box-shadow .15s ease;}
.modern-student-table tbody tr:hover{background:#fafbff;}
.teacher-avatar{width:42px!important;height:42px!important;font-size:13px!important;flex:0 0 42px;}
.student-actions-cell{width:152px;min-width:152px;text-align:right;}
.student-actions-cell .row-actions-clean{justify-content:flex-end;}
.muted-badge{background:#f6f8fc!important;color:#657188!important;border-color:#dfe6f2!important;}
.student-edit-modal{width:min(720px,calc(100vw - 36px));}
.student-edit-modal label{display:grid;gap:6px;font-weight:900;color:#526078;}
.student-edit-modal .filter{min-width:0;width:100%;}
.student-edit-modal .modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px;}
@media(max-width:1100px){.student-filter-row{grid-template-columns:1fr 1fr;}.student-directory-toolbar{display:block}.student-directory-actions{margin-top:12px}}
@media(max-width:680px){.student-filter-row{grid-template-columns:1fr}.student-actions-cell{width:auto;min-width:0}.student-edit-modal .cols2{grid-template-columns:1fr}}

/* 2026 student management upgrades */
.compact-student-hero{margin-bottom:14px;}
.student-directory-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;}
.student-directory-actions .filter{height:38px;min-width:170px;}
.student-directory-actions .student-bulk-select{min-width:260px;}
.student-directory-actions .student-year-select{min-width:140px;}
.refined-student-filters{grid-template-columns:minmax(320px,1fr) 120px 180px 180px auto;}
.modern-student-table .select-col{width:42px;text-align:center;}
.modern-student-table input[type="checkbox"]{width:15px;height:15px;cursor:pointer;}
.student-bulk-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:#fbfcff;padding:10px 12px;font-weight:900;color:#3346d3;}
.student-edit-modal-large{width:min(860px,calc(100vw - 36px));}
.student-edit-photo-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fbfcff;border-radius:12px;padding:12px;margin-bottom:14px;}
.student-edit-photo-row strong,.student-edit-photo-row span{display:block;}
.photo-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.modal-head-actions{display:flex;gap:8px;align-items:center;}
.student-profile-modal .modal-head{align-items:flex-start;}
.student-profile-head{min-width:0;}
.student-profile-head h2{margin:0 0 4px;}
.student-profile-head p{line-height:1.55;}
@media(max-width:1150px){.student-directory-actions{justify-content:flex-start;margin-top:12px}.refined-student-filters{grid-template-columns:1fr 1fr}.student-directory-actions .filter,.student-directory-actions .student-bulk-select,.student-directory-actions .student-year-select{min-width:0;width:100%;}.student-directory-actions{display:grid;grid-template-columns:1fr 1fr;}.student-directory-actions button{width:100%;}}
@media(max-width:720px){.refined-student-filters{grid-template-columns:1fr}.student-directory-actions{grid-template-columns:1fr}.student-bulk-footer{display:block}.modal-head-actions{margin-top:10px}.student-profile-modal .modal-head{display:block}.student-edit-photo-row{align-items:flex-start}}

/* ======================================================================
   2026 Responsive scaling pass
   Purpose: make Asset Manager scale cleanly across 13", 14", 15", and
   external-display laptop widths without crushing cards, tables, or tabs.
   ====================================================================== */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  overflow-x:hidden;
}

img,svg,video,canvas{
  max-width:100%;
}

button,.btn,input,select,textarea{
  max-width:100%;
}

.layout{
  min-width:0;
}

.sidebar{
  width:clamp(78px,16vw,245px);
}

.main{
  margin-left:clamp(78px,16vw,245px);
  width:calc(100% - clamp(78px,16vw,245px));
  min-width:0;
  padding-inline:clamp(10px,1.25vw,18px);
}

.card,.stat,.asset-d3-main-card,.asset-d3-info-card,.overview-d3-panel{
  min-width:0;
}

.topbar{
  min-width:0;
  gap:clamp(8px,1vw,12px);
}

.search{
  width:min(560px,42vw);
  min-width:220px;
}

.page-title,
.asset-d3-title-row h1,
.metric-copy strong{
  overflow-wrap:anywhere;
}

.asset-d3-title-row h1{
  font-size:clamp(22px,1.85vw,30px);
}

.card{
  padding:clamp(14px,1.2vw,18px);
}

.asset-design3-shell{
  grid-template-columns:minmax(420px,1.35fr) minmax(230px,.7fr) minmax(360px,1.05fr);
  gap:clamp(10px,1vw,14px);
}

.asset-d3-main-card{
  grid-template-columns:minmax(145px,200px) minmax(0,1fr) minmax(148px,168px);
  gap:clamp(12px,1.2vw,18px);
  padding:clamp(12px,1vw,14px);
}

.asset-d3-visual{
  min-height:clamp(138px,11vw,176px);
}

.asset-d3-visual img{
  max-width:min(170px,90%);
  max-height:125px;
}

.asset-d3-meta,.assignment-d3-card p,.warranty-d3-card p{
  overflow-wrap:anywhere;
}

.asset-d3-action-card .btn{
  white-space:nowrap;
}

.assignment-d3-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.d3-stat-row{
  min-width:0;
}

.status-strip{
  grid-template-columns:repeat(6,minmax(150px,1fr));
  overflow-x:auto;
  scrollbar-width:thin;
}

.status-strip div{
  min-width:150px;
}

.action-card{
  align-items:flex-start;
}

.tabs{
  display:flex;
  flex-wrap:nowrap;
  gap:4px;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
  top:clamp(50px,5vw,60px);
}

.tabs a{
  flex:0 0 auto;
}

.table-wrap,
.asset-table-wrap{
  width:100%;
  max-width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

.table-wrap table,
.asset-table{
  width:max-content;
  min-width:min(100%,900px);
}

.cols2,.cols3,.cols4,.cols-main,.grid{
  min-width:0;
}

.filterbar,
.student-directory-toolbar,
.asset-table-toolbar{
  min-width:0;
}

/* Large laptop: keep the layout rich, but reduce hard widths. */
@media (max-width:1440px){
  .asset-design3-shell{
    grid-template-columns:minmax(390px,1.2fr) minmax(225px,.7fr) minmax(330px,1fr);
  }

  .asset-d3-main-card{
    grid-template-columns:minmax(130px,170px) minmax(0,1fr) minmax(140px,158px);
  }

  .asset-d3-action-card .btn{
    height:36px;
    font-size:11px;
  }

  .assignment-d3-metrics{
    gap:8px;
  }

  .d3-stat-row{
    padding:9px;
  }
}

/* Modal system facelift: consistent header band, close control, and footer treatment. */
.modal-backdrop{
  background:rgba(15,23,42,.54)!important;
  backdrop-filter:blur(2px);
}
.modal{
  padding:16px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  box-shadow:0 28px 90px rgba(15,23,42,.32)!important;
  overflow:auto!important;
}
.modal>.modal-head,
.modal form>.modal-head{
  margin:-16px -16px 16px!important;
  padding:16px 18px!important;
  min-height:68px!important;
  border-bottom:1px solid #d8e3f0!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;
  color:#172033!important;
}
.modal>.modal-head:first-child,
.modal form>.modal-head:first-child{
  border-radius:12px 12px 0 0!important;
}
.modal>.modal-head>div,
.modal form>.modal-head>div{
  min-width:0!important;
}
.modal>.modal-head h2,
.modal form>.modal-head h2{
  margin:0!important;
  color:#0f172a!important;
  font-size:20px!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
.modal>.modal-head p,
.modal>.modal-head .muted,
.modal form>.modal-head p,
.modal form>.modal-head .muted{
  margin:4px 0 0!important;
  color:#536177!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.modal>.modal-head .icon-btn,
.modal form>.modal-head .icon-btn,
.modal-head-actions .icon-btn{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border:1px solid #bfd0e5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
.modal>.modal-head .icon-btn:hover,
.modal form>.modal-head .icon-btn:hover,
.modal-head-actions .icon-btn:hover{
  background:#eaf2ff!important;
  border-color:#8fb1e3!important;
  color:#174ea6!important;
  transform:none!important;
}
.modal>.modal-head .icon-btn:focus-visible,
.modal form>.modal-head .icon-btn:focus-visible,
.modal-head-actions .icon-btn:focus-visible{
  outline:3px solid rgba(37,99,235,.24)!important;
  outline-offset:2px!important;
}
.modal>.modal-actions,
.modal form>.modal-actions{
  margin:12px -16px -16px!important;
  padding:13px 16px!important;
  border-top:1px solid #e1e8f2!important;
  background:#fbfdff!important;
}
.modal>.modal-head+.modal-list,
.modal>.modal-head+.modal-body,
.modal>.modal-head+form,
.modal>.modal-head+.form-grid{
  margin-top:0!important;
}
.modal.danger .modal-head,
.modal .modal-head.danger,
.modal-backdrop[id*="Cancel"] .modal>.modal-head,
.modal-backdrop[id*="Delete"] .modal>.modal-head{
  background:linear-gradient(135deg,#fff1f2 0%,#fff7f8 70%,#ffe4e6 100%)!important;
  border-bottom-color:#fecdd3!important;
}
.modal.warn .modal-head,
.modal .modal-head.warn{
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 70%,#fef3c7 100%)!important;
  border-bottom-color:#fed7aa!important;
}
@media(max-width:760px){
  .modal{
    border-radius:10px!important;
    width:min(100%,calc(100vw - 18px))!important;
    max-height:calc(100vh - 18px)!important;
  }
  .modal>.modal-head,
  .modal form>.modal-head{
    padding:14px!important;
    min-height:62px!important;
  }
  .modal>.modal-head h2,
  .modal form>.modal-head h2{
    font-size:18px!important;
  }
}

.session-timeout-modal{
  width:min(460px,calc(100vw - 32px));
}
.session-timeout-body{
  display:grid;
  gap:12px;
  padding:4px 0 12px;
}
.session-timeout-count{
  display:grid;
  place-items:center;
  min-height:92px;
  border:1px solid #fed7aa;
  border-radius:10px;
  background:#fff7ed;
  color:#9a3412;
  font-size:42px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.session-timeout-body p{
  margin:0;
  color:#475569;
  font-weight:850;
}

.restore-wizard-modal{
  width:min(1080px,calc(100vw - 28px));
}
.restore-wizard-grid{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.restore-wizard-steps{
  display:grid;
  gap:10px;
  position:sticky;
  top:0;
}
.restore-wizard-steps>div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:3px 10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:10px;
}
.restore-wizard-steps b{
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#2563eb;
  color:#fff;
}
.restore-wizard-steps span{
  font-weight:950;
  color:#172033;
}
.restore-wizard-steps small{
  color:#64748b;
  font-weight:800;
}
.restore-wizard-steps .warn b{
  background:#d97706;
}
.restore-wizard-steps .ok b{
  background:#15803d;
}
.restore-wizard-main{
  display:grid;
  gap:14px;
  min-width:0;
}
.restore-wizard-form,
.restore-deleted-wizard-form{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:14px;
}
.restore-scope-field{
  border:1px solid #dbe5f2;
  border-radius:8px;
  padding:12px;
  display:grid;
  gap:10px;
}
.restore-scope-field legend{
  padding:0 6px;
  font-weight:950;
  color:#172033;
}
.restore-scope-field label{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:0;
  font-weight:800;
}
.restore-scope-field b,
.restore-scope-field small{
  display:block;
}
.restore-scope-field small{
  color:#64748b;
  margin-top:2px;
}
@media(max-width:860px){
  .restore-wizard-grid{
    grid-template-columns:1fr;
  }
  .restore-wizard-steps{
    position:static;
  }
}

.audit-log-panel{
  display:grid;
  gap:14px;
}
.audit-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:14px;
}
.audit-filter-grid .full{
  grid-column:1/-1;
}
.audit-filter-grid label{
  display:grid;
  gap:6px;
  min-width:0;
  font-weight:900;
  color:#25324a;
}
.audit-filter-grid input,
.audit-filter-grid select{
  min-width:0;
}
.audit-log-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(130px,1fr));
  gap:12px;
}
.audit-log-summary>div{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:12px;
}
.audit-log-summary small,
.audit-log-table small{
  display:block;
  color:#64748b;
  font-weight:800;
  margin-top:4px;
}
.audit-log-summary b{
  display:block;
  font-size:22px;
  color:#172033;
}
.audit-log-table th{
  white-space:nowrap;
}
.audit-log-table td{
  vertical-align:top;
}
.audit-log-table td:nth-child(1){
  width:150px;
}
.audit-log-table td:nth-child(2){
  width:130px;
}
.audit-log-table td:nth-child(3){
  width:190px;
}
.audit-log-table td:nth-child(7){
  min-width:260px;
  white-space:normal;
}
@media(max-width:980px){
  .audit-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .audit-log-summary{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .audit-filter-grid{
    grid-template-columns:1fr;
  }
}

/* 13"/14" laptops: two-column asset header with assignment underneath. */
@media (max-width:1280px){
  .main{
    padding-inline:12px;
  }

  .topicons .school{
    max-width:150px;
  }

  .asset-design3-shell{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);
    align-items:stretch;
  }

  .assignment-d3-card{
    grid-column:1 / -1;
  }

  .assignment-d3-card .d3-person{
    justify-content:flex-start;
  }

  .assignment-d3-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .status-strip{
    grid-template-columns:repeat(3,minmax(170px,1fr));
  }

  .cols4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cols3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .overview-d3-shell{
    grid-template-columns:1fr;
  }
}

/* Compact laptop / split-screen: collapse sidebar labels and stack hero cards. */
@media (max-width:1100px){
  .sidebar{
    width:78px;
    padding:14px 9px;
  }

  .main{
    margin-left:78px;
    width:calc(100% - 78px);
  }

  .brand{
    justify-content:center;
    padding:0;
  }

  .brand-text,
  .admin-mini div,
  .sidebar nav a span,
  .sidebar nav h4,
  .sidebar nav a b{
    display:none!important;
  }

  .admin-mini{
    justify-content:center;
    padding:9px 6px;
  }

  .sidebar nav a{
    justify-content:center;
    padding:11px 8px;
  }

  .sidebar nav a:before{
    width:10px;
    height:10px;
  }

  .topbar{
    height:auto;
    min-height:56px;
    flex-wrap:wrap;
    padding-block:8px;
  }

  .search{
    order:3;
    width:100%;
    flex-basis:100%;
  }

  .asset-design3-shell{
    grid-template-columns:1fr;
  }

  .asset-d3-main-card{
    grid-template-columns:minmax(120px,160px) minmax(0,1fr) minmax(150px,180px);
  }

  .warranty-d3-card,.assignment-d3-card{
    grid-column:auto;
  }

  .action-card{
    display:grid;
    grid-template-columns:1fr;
  }

  .action-card .quick-grid.vertical{
    display:flex;
    flex-wrap:wrap;
  }

  .asset-table-toolbar,
  .student-directory-toolbar{
    display:grid!important;
    grid-template-columns:1fr;
    align-items:start!important;
  }

  .asset-toolbar-controls,.toolbar-actions.asset-toolbar-controls{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
  }
}

/* Tablet/mobile fallback and very narrow browser windows. */
@media (max-width:760px){
  body{
    font-size:12px;
  }

  .sidebar{
    position:fixed;
    width:64px;
    padding-inline:7px;
  }

  .main{
    margin-left:64px;
    width:calc(100% - 64px);
    padding-inline:8px;
  }

  .topicons{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:2px;
  }

  .asset-d3-main-card{
    grid-template-columns:1fr;
  }

  .asset-d3-action-card{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .asset-d3-action-card .hero-action,
  .asset-d3-more{
    grid-column:1 / -1;
  }

  .asset-d3-action-card .btn{
    justify-content:center;
    width:100%;
  }

  .assignment-d3-card .d3-person{
    align-items:flex-start;
  }

  .assignment-d3-metrics,
  .mini-metrics,
  .cols2,.cols3,.cols4,.cols-main{
    grid-template-columns:1fr!important;
  }

  .status-strip{
    grid-template-columns:1fr;
  }

  .overview-d3-list{
    grid-template-columns:1fr;
  }

  .overview-d3-item:nth-child(odd){
    border-right:0;
  }

  .tabs{
    top:0;
  }

  .modal,.student-edit-modal,.student-edit-modal-large,.refined-column-modal{
    width:calc(100vw - 24px)!important;
    max-height:calc(100vh - 24px);
  }
}

/* Print-friendly: remove fixed navigation and let content use the page. */
@media print{
  .sidebar,.topbar,.tabs,.action-card,.asset-d3-action-card{
    display:none!important;
  }

  .main{
    margin:0!important;
    width:100%!important;
    padding:0!important;
  }

  .card,.asset-d3-main-card,.asset-d3-info-card,.overview-d3-panel{
    box-shadow:none!important;
    break-inside:avoid;
  }
}

/* Responsive sidebar label handling for markup that uses direct text nodes. */
@media (max-width:1100px){
  .sidebar nav a{font-size:0;gap:0;}
  .sidebar nav a:before{font-size:13px;flex:0 0 auto;}
  .nav-accordion summary{font-size:0;justify-content:center;}
  .nav-accordion summary:before{margin:0;}
}

/* =========================================================
   Professional calm-down pass
   Goal: make Asset Manager feel like a mature internal admin tool:
   tighter spacing, fewer gradients/shadows, calmer colors,
   clearer hierarchy, and better laptop fit.
   ========================================================= */
:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --line:#e4e8ef;
  --line-strong:#d7dde8;
  --text:#111827;
  --muted:#667085;
  --muted-2:#8492a6;
  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --primary-soft:#eff4ff;
  --success:#047857;
  --success-soft:#ecfdf3;
  --warning:#92400e;
  --warning-soft:#fffbeb;
  --danger:#b42318;
  --danger-soft:#fef3f2;
  --nav:#102033;
  --shadow:0 1px 2px rgba(16,24,40,.05),0 8px 18px rgba(16,24,40,.06);
}

body{background:var(--bg);color:var(--text);font-size:14px;}
.main{background:var(--bg);}
.topbar{gap:12px;margin-bottom:14px;}
.search{height:42px;border-color:var(--line-strong);box-shadow:none;background:#fff;max-width:620px;}
.search input{font-size:13px;}
.topicons>span,.back-btn{box-shadow:none;border-color:var(--line);background:#fff;}
.school{color:#475467;font-size:12px;}

/* Sidebar: keep the strong identity, but reduce visual weight. */
.sidebar{background:#102033;box-shadow:none;border-right:1px solid rgba(255,255,255,.06);}
.brand-text{font-size:19px;letter-spacing:.02em;}
.brand-mark{border-radius:9px;box-shadow:none;}
.admin-mini{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09);border-radius:10px;}
.nav a{border-radius:9px;min-height:38px;font-size:13px;color:#e6edf7;}
.nav a.active{background:rgba(255,255,255,.11);box-shadow:none;}
.nav h4{color:#b9c6d8;font-size:11px;margin:16px 10px 7px;}
.badge-alert{box-shadow:none;}

/* Global surface treatment: flatter, cleaner, more admin-app. */
.card,.stat,.asset-d3-main-card,.asset-d3-info-card,.overview-d3-panel,.status-strip,.action-card,.dashboard-hero,.scan-card,.preview-panel,.live-panel,.quick-action-card{
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
  background:#fff;
}
.card{padding:16px;margin-bottom:14px;}
.card h1,.card h2,.card h3{letter-spacing:-.015em;}

/* Asset hero: reduce the â€œdemo dashboardâ€ look. */
.asset-design3-shell{
  grid-template-columns:minmax(420px,1.25fr) minmax(240px,.62fr) minmax(360px,.92fr);
  gap:12px;
  align-items:stretch;
  margin-bottom:12px;
}
.asset-d3-main-card{
  grid-template-columns:180px minmax(0,1fr) 154px;
  gap:16px;
  padding:12px;
  background:#fff!important;
}
.asset-d3-visual{
  min-height:148px;
  border-radius:10px;
  background:#f8fafc;
  border-color:var(--line);
}
.asset-d3-visual img{max-width:142px;max-height:104px;}
.asset-d3-title-row h1{
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.025em;
  color:#111827;
}
.asset-d3-meta{
  margin-top:10px;
  color:#526072;
  font-size:12px;
  line-height:1.55;
  font-weight:650;
}
.asset-d3-chips{margin-top:12px;gap:7px;}
.chip-row span,.chip-row .risk-summary{
  border-radius:999px;
  padding:4px 9px;
  font-size:11px;
  font-weight:750;
  box-shadow:none;
}
.chip-row span{background:#f2f4f7;border-color:#e4e7ec;color:#344054;}
.chip-row span:first-child{background:var(--success-soft);border-color:#abefc6;color:var(--success);}
.chip-row .risk-chip.warn,.risk-summary{background:var(--warning-soft);border-color:#fedf89;color:var(--warning);}

/* Actions: one clear primary, quiet secondary actions. */
.asset-d3-action-card{
  border-radius:11px;
  padding:7px;
  gap:5px;
  box-shadow:none;
  background:#f9fafb;
  border-color:var(--line);
}
.btn,.mode-pill,button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.asset-d3-action-card .btn{
  height:34px;
  border-radius:8px;
  font-size:12px;
  font-weight:750;
  padding:0 10px;
}
.asset-d3-action-card .hero-action,.btn.primary,.mode-pill.active{
  background:var(--primary)!important;
  color:#fff!important;
  border-color:var(--primary)!important;
  box-shadow:none!important;
}
.asset-d3-action-card .hero-action:hover,.btn.primary:hover,.mode-pill.active:hover{background:var(--primary-dark)!important;}
.asset-d3-action-card .secondary-action,.btn.soft,.btn.compact.soft{
  background:#fff!important;
  color:#344054!important;
  border-color:var(--line-strong)!important;
  box-shadow:none!important;
}
.asset-d3-action-card .secondary-action:hover,.btn.soft:hover,.btn.compact.soft:hover{background:#f8fafc!important;border-color:#cfd6e3!important;}

/* Warranty and assignment cards: less empty-feeling and less colorful. */
.asset-d3-info-card{padding:15px;min-height:auto;}
.asset-d3-card-title{margin-bottom:12px;gap:9px;}
.asset-d3-card-title h3{font-size:13px;font-weight:800;color:#111827;}
.d3-icon{
  width:28px;height:28px;border-radius:9px;font-size:13px;box-shadow:none!important;
  background:#f2f4f7!important;color:#475467!important;border:1px solid #eaecf0;
}
.d3-progress{height:9px;background:#eef2f6;margin:20px 0 13px;}
.d3-progress span{background:var(--success);}
.d3-warranty-line strong{font-size:15px;}
.d3-warranty-line b{background:var(--success-soft);color:var(--success);font-size:12px;font-weight:800;}
.warranty-d3-card p,.assignment-d3-card p{color:#667085;font-weight:650;}
.assignment-d3-card{overflow:hidden;}
.assignment-d3-card .d3-person{gap:12px;align-items:center;}
.assignment-d3-card .avatar.lg{width:58px;height:58px;font-size:19px;box-shadow:none;background:#f3e8ff;color:#28304a;}
.assignment-d3-card h2{font-size:16px;margin-bottom:3px;color:#1d4ed8;}
.assignment-d3-metrics{gap:8px;margin-top:16px;}
.d3-stat-row{border-radius:10px;padding:9px 10px;background:#fff;min-width:0;}
.d3-stat-row strong{font-size:14px;}
.d3-stat-row p{font-size:10px;color:#667085;}

/* Status strip and next action: compact, not billboard-like. */
.status-strip{
  margin-bottom:12px;
  grid-template-columns:1.35fr .95fr 1.15fr 1fr 1fr .72fr;
  overflow:hidden;
}
.status-strip div{padding:11px 13px;}
.status-strip small{font-size:10px;color:#667085;letter-spacing:.015em;}
.status-strip b{font-size:14px;margin:4px 0 3px;}
.status-strip span{font-size:12px;color:#667085;}
.action-card{
  border-left:3px solid var(--primary);
  padding:16px 18px;
  margin-bottom:14px;
  background:#fff;
}
.action-card small{color:#1d4ed8;font-size:11px;letter-spacing:.01em;}
.action-card h2{font-size:19px;margin:5px 0 6px;}
.micro-timeline span{background:#f8fafc;border-color:var(--line);font-size:11px;border-radius:8px;}

/* Tabs: slimmer, scrollable, and calm. */
.tabs{
  border-radius:12px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  gap:4px;
}
.tabs a,.tabs button{
  border-radius:8px!important;
  padding:9px 11px!important;
  color:#475467!important;
  font-size:12px!important;
  font-weight:600!important;
}
.tabs a.active,.tabs button.active{
  background:var(--primary-soft)!important;
  color:#1d4ed8!important;
  box-shadow:none!important;
}

/* Tables: more like an enterprise admin table. */
.table-wrap,.asset-table-wrap{border-radius:12px;border:1px solid var(--line);background:#fff;overflow:auto;}
.table{border-collapse:separate;border-spacing:0;}
.table th{background:#f8fafc;color:#475467;font-size:11px;text-transform:none;letter-spacing:.01em;border-bottom:1px solid var(--line);}
.table td{border-bottom:1px solid #eef2f6;}
.table tr:hover td{background:#fbfdff;}
.table th,.table td{padding:10px 12px;}

/* Laptop behavior: use practical columns sooner, without crushing cards. */
@media(max-width:1500px){
  .asset-design3-shell{grid-template-columns:minmax(520px,1.2fr) minmax(300px,.8fr);}
  .assignment-d3-card{grid-column:1 / -1;}
  .assignment-d3-card .d3-person{justify-content:flex-start;}
  .assignment-d3-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1280px){
  .main{padding-left:18px;padding-right:18px;}
  .asset-design3-shell{grid-template-columns:1fr;}
  .asset-d3-main-card{grid-template-columns:160px minmax(0,1fr) 150px;}
  .asset-d3-info-card{min-height:auto;}
  .status-strip{grid-template-columns:repeat(3,1fr);}
  .status-strip div:nth-child(3){border-right:0;}
}
@media(max-width:900px){
  .asset-d3-main-card{grid-template-columns:1fr;}
  .asset-d3-visual{min-height:132px;}
  .asset-d3-action-card{grid-template-columns:1fr 1fr;}
  .asset-d3-action-card .hero-action,.asset-d3-more{grid-column:1/-1;}
  .status-strip,.assignment-d3-metrics{grid-template-columns:1fr;}
}


/* Refined asset summary: calmer, compact, enterprise-style header */
.asset-d3-main-card{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:20px;padding:16px 18px;background:#fff!important;border:1px solid #d9e1ec!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.05)!important;}
.asset-d3-visual{min-height:118px!important;height:118px;border-radius:10px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;}
.asset-d3-visual img{max-width:118px!important;max-height:82px!important;}
.asset-d3-copy{justify-content:center!important;}
.asset-d3-title-row{gap:9px!important;align-items:flex-start!important;}
.asset-d3-title-row h1{font-size:24px!important;line-height:1.12!important;letter-spacing:-.02em!important;font-weight:760!important;max-width:360px;}
.asset-d3-meta{margin-top:8px!important;color:#475569!important;font-size:13px!important;font-weight:650!important;}
.asset-d3-chips{margin-top:10px!important;gap:7px!important;}
.asset-d3-chips span,.asset-d3-chips .risk-summary,.badge{font-size:11px!important;line-height:1!important;padding:5px 9px!important;border-radius:999px!important;font-weight:700!important;box-shadow:none!important;}
.asset-d3-chips span{background:#f8fafc!important;border:1px solid #e2e8f0!important;color:#334155!important;}
.asset-d3-chips .risk-summary{background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important;}
.asset-d3-title-row .badge.ok,.asset-d3-title-row .badge.good,.asset-d3-title-row .badge.success{background:#ecfdf3!important;color:#067647!important;border:1px solid #abefc6!important;}
.asset-actions-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;}
.asset-actions-inline .btn{width:auto!important;min-width:0!important;height:34px!important;border-radius:8px!important;box-shadow:none!important;font-size:12px!important;font-weight:700!important;padding:0 11px!important;}
.asset-actions-inline .hero-action{padding:0 14px!important;background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;}
.asset-actions-inline .text-action{background:transparent!important;border-color:transparent!important;color:#475569!important;}
.asset-actions-inline .text-action:hover{background:#f8fafc!important;border-color:#e2e8f0!important;color:#0f172a!important;}
.asset-actions-inline .icon-action{width:34px!important;padding:0!important;justify-content:center!important;background:#fff!important;border:1px solid #e2e8f0!important;color:#475569!important;}
.asset-more-inline .action-menu-list{left:auto;right:0;top:calc(100% + 8px);}
@media(max-width:1280px){.asset-d3-main-card{grid-template-columns:132px minmax(0,1fr)!important;gap:16px!important;}.asset-d3-visual{height:108px!important;min-height:108px!important;}.asset-d3-title-row h1{font-size:22px!important;}}
@media(max-width:760px){.asset-d3-main-card{grid-template-columns:1fr!important;}.asset-d3-visual{height:112px!important;}.asset-actions-inline .hero-action{flex:1 1 100%;justify-content:center!important;}}

/* Brian cleanup: remove global search, cleaner asset actions, assignment card, and icon-only tabs with screen tips */
.topbar .global-search{display:none!important;}
.topbar{justify-content:space-between!important;gap:14px!important;}
.topicons{margin-left:auto!important;}

.asset-design3-shell{align-items:stretch!important;}
.asset-d3-main-card{gap:18px!important;align-items:center!important;}
.asset-d3-visual{height:148px!important;min-height:148px!important;background:#f8fafc!important;border-color:#e2e8f0!important;}
.asset-d3-visual img{max-width:128px!important;max-height:92px!important;}
.asset-d3-title-row h1{font-size:28px!important;line-height:1.08!important;font-weight:800!important;letter-spacing:-.035em!important;}
.asset-d3-meta{margin-top:9px!important;margin-bottom:12px!important;}
.asset-d3-chips span,.risk-summary{font-size:12px!important;padding:5px 10px!important;border-radius:999px!important;}

.refined-asset-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:10px!important;margin-top:0!important;}
.refined-asset-actions .hero-action{height:40px!important;width:100%!important;border-radius:10px!important;box-shadow:none!important;font-size:13px!important;}
.secondary-action-group{display:grid!important;grid-template-columns:1fr 1fr 40px!important;gap:8px!important;align-items:center!important;}
.secondary-action-group .text-action{height:38px!important;border:1px solid #e2e8f0!important;background:#fff!important;border-radius:10px!important;color:#334155!important;justify-content:center!important;padding:0 10px!important;}
.secondary-action-group .text-action:hover,.secondary-action-group .icon-action:hover{background:#f8fafc!important;border-color:#cbd5e1!important;color:#0f172a!important;}
.secondary-action-group .icon-action{height:38px!important;width:40px!important;border-radius:10px!important;background:#fff!important;border:1px solid #e2e8f0!important;color:#475569!important;}

.assignment-d3-card{padding:18px!important;background:#fff!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:14px!important;}
.assignment-clean-title{margin-bottom:2px!important;}
.assignment-clean-title h3{font-size:15px!important;font-weight:800!important;}
.assignment-history-link{border:0!important;background:transparent!important;color:#2563eb!important;font-size:12px!important;font-weight:800!important;padding:6px 8px!important;border-radius:8px!important;}
.assignment-history-link:hover{background:#eff6ff!important;}
.assignment-clean-person{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:4px!important;border:1px solid #edf2f7!important;background:#fbfdff!important;border-radius:14px!important;}
.assignment-clean-person:hover{background:#f8fbff!important;border-color:#dbe7f5!important;}
.assignment-d3-card .avatar.lg{width:54px!important;height:54px!important;font-size:18px!important;background:#eef2ff!important;color:#334155!important;}
.assignment-clean-copy h2{font-size:24px!important;line-height:1.08!important;margin:1px 0 10px!important;color:#1d4ed8!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.assignment-name-label{display:block!important;margin-bottom:2px!important;color:#64748b!important;font-size:11px!important;font-weight:900!important;letter-spacing:0!important;text-transform:uppercase!important;}
.assignment-detail-list{display:grid!important;gap:4px!important;}
.assignment-clean-copy p{margin:0!important;font-size:13px!important;line-height:1.35!important;color:#475569!important;}
.assignment-clean-copy p span{color:#0f172a!important;font-weight:800!important;}
.assignment-student-name{font-size:14px!important;color:#1e40af!important;font-weight:800!important;}
.assignment-student-name span{color:#0f172a!important;}
.assignment-email{font-size:12.5px!important;white-space:normal!important;overflow-wrap:anywhere!important;font-weight:650!important;}
.assignment-clean-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:0!important;}
.assignment-clean-metrics .d3-stat-row{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;padding:9px 10px!important;background:#f8fafc!important;border-color:#e5e7eb!important;border-radius:11px!important;}
.assignment-clean-metrics .d3-icon{width:28px!important;height:28px!important;border-radius:8px!important;}
.assignment-clean-metrics strong{font-size:13px!important;line-height:1.1!important;}
.assignment-clean-metrics p{font-size:10.5px!important;margin:2px 0 0!important;}

.tabs.icon-tabs{position:sticky;top:0;z-index:20;display:flex!important;gap:8px!important;align-items:center!important;overflow-x:auto!important;padding:10px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;box-shadow:none!important;scrollbar-width:thin;}
.tabs.icon-tabs a{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:38px!important;min-width:42px!important;padding:0!important;border-radius:10px!important;border:1px solid transparent!important;background:transparent!important;color:#475569!important;font-size:0!important;}
.tabs.icon-tabs a .ui-icon{width:18px!important;height:18px!important;}
.tabs.icon-tabs a.active{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;box-shadow:none!important;}
.tabs.icon-tabs a:hover{background:#f8fafc!important;border-color:#e2e8f0!important;color:#0f172a!important;}
.tabs.icon-tabs a b{position:absolute!important;top:-5px!important;right:-5px!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;background:#e2e8f0!important;color:#334155!important;font-size:10px!important;line-height:18px!important;text-align:center!important;border:2px solid #fff!important;}
.tabs.icon-tabs a.active b{background:#2563eb!important;color:#fff!important;}
.tabs.icon-tabs a::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;white-space:nowrap;background:#0f172a;color:#fff;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800;box-shadow:0 12px 26px rgba(15,23,42,.18);transition:opacity .12s ease, transform .12s ease;z-index:80;}
.tabs.icon-tabs a::before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%) translateY(4px);border:5px solid transparent;border-top-color:#0f172a;opacity:0;transition:opacity .12s ease, transform .12s ease;z-index:80;}
.tabs.icon-tabs a:hover::after,.tabs.icon-tabs a:focus-visible::after,.tabs.icon-tabs a:hover::before,.tabs.icon-tabs a:focus-visible::before{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:1180px){
  .asset-d3-main-card{grid-template-columns:135px minmax(0,1fr)!important;}
  .refined-asset-actions{grid-column:1/-1!important;flex-direction:row!important;justify-content:flex-start!important;}
  .refined-asset-actions .hero-action{width:auto!important;min-width:170px!important;}
}
@media(max-width:760px){
  .asset-d3-visual{height:116px!important;min-height:116px!important;}
  .refined-asset-actions{flex-direction:column!important;align-items:stretch!important;}
  .refined-asset-actions .hero-action{width:100%!important;}
  .assignment-clean-metrics{grid-template-columns:1fr!important;}
  .tabs.icon-tabs a{width:40px!important;min-width:40px!important;}
}

/* Final polish: calmer asset header, assignment card, colored status strip, visible tooltips */
.asset-d3-main-card{grid-template-columns:170px minmax(0,1fr) auto!important;align-items:center!important;gap:20px!important;padding:18px 20px!important;}
.asset-d3-visual{width:170px!important;height:138px!important;border-radius:12px!important;background:#f8fafc!important;}
.asset-d3-visual img{max-width:118px!important;max-height:88px!important;}
.asset-d3-title-row h1{font-size:25px!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.025em!important;}
.refined-asset-actions{align-self:center!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;}
.refined-asset-actions .hero-action{width:auto!important;min-width:154px!important;height:40px!important;border-radius:10px!important;box-shadow:none!important;}
.secondary-action-group,.asset-more-inline{display:none!important;}
.assignment-d3-card{display:flex!important;flex-direction:column!important;gap:18px!important;justify-content:flex-start!important;}
.assignment-clean-title{border-bottom:1px solid #eef2f7!important;padding-bottom:12px!important;margin-bottom:0!important;}
.assignment-clean-person{margin-top:6px!important;display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:18px!important;border:1px solid #e8eef6!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;border-radius:14px!important;box-shadow:none!important;}
.assignment-clean-copy h2{font-size:26px!important;color:#1e40af!important;margin-bottom:10px!important;}
.assignment-clean-copy p{font-size:13px!important;line-height:1.38!important;}
.assignment-student-name{font-size:14px!important;margin-bottom:6px!important;}
.assignment-clean-metrics,.assignment-d3-metrics{display:none!important;}
.status-strip{border:0!important;background:transparent!important;box-shadow:none!important;gap:10px!important;overflow:visible!important;}
.status-strip div{border:1px solid #e5edf6!important;border-radius:12px!important;padding:13px 14px!important;background:#f8fafc!important;}
.status-strip div:nth-child(1){background:#f8fbff!important;border-color:#dbeafe!important;}
.status-strip div:nth-child(2){background:#fffaf0!important;border-color:#fdecc8!important;}
.status-strip div:nth-child(3){background:#f6fbf8!important;border-color:#d8f3e2!important;}
.status-strip div:nth-child(4){background:#f8f7ff!important;border-color:#e4e0ff!important;}
.status-strip div:nth-child(5){background:#f7fbff!important;border-color:#dcedff!important;}
.status-strip div:nth-child(6){background:#fff7f7!important;border-color:#ffe1e1!important;}
.status-strip small{color:#64748b!important;}
.status-strip b{font-weight:800!important;}
.card:has(.tabs.icon-tabs){overflow:visible!important;}
.tabs.icon-tabs{overflow-x:auto!important;overflow-y:visible!important;position:relative!important;z-index:30!important;}
.tabs.icon-tabs a::after{bottom:auto!important;top:calc(100% + 10px)!important;z-index:9999!important;}
.tabs.icon-tabs a::before{bottom:auto!important;top:calc(100% + 3px)!important;border:5px solid transparent!important;border-bottom-color:#0f172a!important;border-top-color:transparent!important;z-index:9999!important;}
.overview-d3-google-mark{background:#fff!important;border-color:#e5eaf3!important;}
.overview-d3-google-mark img{width:22px!important;height:22px!important;display:block!important;}
.overview-d3-jamf-mark{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  background:#fff!important;
  border:1px solid #cdebdc!important;
}
.overview-d3-jamf-mark img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
  border-radius:6px!important;
  display:block!important;
}
@media(max-width:1200px){.asset-d3-main-card{grid-template-columns:140px minmax(0,1fr)!important}.refined-asset-actions{grid-column:2!important;justify-content:flex-start!important}.asset-d3-visual{width:140px!important;height:120px!important}}
@media(max-width:760px){.asset-d3-main-card{grid-template-columns:1fr!important}.asset-d3-visual{width:100%!important}.refined-asset-actions{grid-column:1!important}.status-strip{grid-template-columns:1fr!important}}

/* ======================================================================
   Brian final asset-page fix: tighter asset card, no broken title wrap,
   hidden tab scrollbar, and cleaner laptop scaling.
   ====================================================================== */
.asset-design3-shell{
  grid-template-columns:minmax(520px,1.35fr) minmax(260px,.72fr) minmax(360px,1fr)!important;
  gap:14px!important;
}

.asset-d3-main-card{
  grid-template-columns:160px minmax(0,1fr)!important;
  align-items:center!important;
  gap:20px!important;
  padding:18px 22px!important;
  min-height:260px!important;
}

.asset-d3-visual{
  width:160px!important;
  height:130px!important;
  min-height:130px!important;
  align-self:center!important;
}

.asset-d3-visual img{
  max-width:112px!important;
  max-height:82px!important;
}

.asset-d3-copy{
  min-width:0!important;
  display:block!important;
}

.asset-d3-title-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}

.asset-d3-title-row h1,
.page-title{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.asset-d3-title-row h1{
  max-width:none!important;
  width:100%!important;
  font-size:26px!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  margin:0!important;
}

.asset-d3-title-row .badge{
  margin-top:4px!important;
}

.asset-d3-meta{
  max-width:620px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.refined-asset-actions{
  margin-top:24px!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex-direction:row!important;
}

.refined-asset-actions .hero-action{
  width:auto!important;
  min-width:168px!important;
  height:40px!important;
  padding-inline:16px!important;
}

.status-strip{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
  overflow:visible!important;
}

.status-strip div{
  min-width:0!important;
}

.card:has(.tabs.icon-tabs){
  overflow:visible!important;
}

.tabs.icon-tabs{
  position:relative!important;
  top:auto!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  padding:10px 12px 12px!important;
}

.tabs.icon-tabs::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

.tabs.icon-tabs a{
  overflow:visible!important;
}

.tabs.icon-tabs a::after{
  top:auto!important;
  bottom:calc(100% + 10px)!important;
  z-index:10000!important;
}

.tabs.icon-tabs a::before{
  top:auto!important;
  bottom:calc(100% + 4px)!important;
  border:5px solid transparent!important;
  border-top-color:#0f172a!important;
  border-bottom-color:transparent!important;
  z-index:10000!important;
}

.assignment-d3-card{
  min-height:260px!important;
}

.assignment-clean-person{
  margin-top:10px!important;
  padding:18px 20px!important;
}

.assignment-clean-copy h2{
  font-size:26px!important;
  line-height:1.05!important;
  margin:0 0 11px!important;
  color:#1e40af!important;
}

.assignment-name-label{
  display:block!important;
  margin-bottom:3px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}

.assignment-detail-list{
  display:grid!important;
  gap:5px!important;
}

.asset-d3-visual{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}

.refined-asset-actions .secondary-action{
  height:40px!important;
  padding-inline:13px!important;
  border:1px solid #dbe5f2!important;
  background:#fff!important;
  color:#24314d!important;
  font-weight:900!important;
}

.asset-graph-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  margin-top:18px!important;
}

.asset-graph-card{
  min-width:0!important;
  min-height:112px!important;
  border:1px solid #e2e8f0!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border-radius:12px!important;
  padding:10px!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr!important;
  gap:5px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  text-align:left!important;
  cursor:pointer!important;
  color:#172033!important;
  font:inherit!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}

.asset-graph-card:hover{
  transform:translateY(-1px)!important;
  border-color:#cbd5e1!important;
  box-shadow:0 10px 22px rgba(20,32,60,.08)!important;
}

.graph-title{
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.graph-value{
  color:#0f172a!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}

.graph-bars{
  width:100%!important;
  height:54px!important;
  display:flex!important;
  align-items:end!important;
  gap:5px!important;
  padding-top:7px!important;
  border-bottom:1px solid #dbe4f0!important;
  background:repeating-linear-gradient(to top,transparent 0,transparent 17px,#eef2f7 18px)!important;
}

.graph-bars i{
  flex:1 1 0!important;
  min-width:4px!important;
  border-radius:999px 999px 3px 3px!important;
  background:linear-gradient(180deg,#2563eb,#93c5fd)!important;
  box-shadow:0 5px 10px rgba(37,99,235,.18)!important;
}

.repair-graph-card .graph-bars i{
  background:linear-gradient(180deg,#f97316,#fed7aa)!important;
  box-shadow:0 5px 10px rgba(249,115,22,.16)!important;
}

.donut-graph-card{
  justify-items:center!important;
  text-align:center!important;
}

.graph-donut{
  --pct:0%;
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:conic-gradient(#14b8a6 var(--pct),#e2e8f0 0)!important;
  position:relative!important;
  margin-top:2px!important;
}

.graph-donut:before{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px #eef2f7!important;
}

.graph-donut em{
  position:relative!important;
  font-style:normal!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#0f766e!important;
}

.graph-note{
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

@media(max-width:1500px){
  .asset-design3-shell{
    grid-template-columns:minmax(500px,1.25fr) minmax(250px,.7fr) minmax(340px,1fr)!important;
  }
  .asset-d3-main-card{
    grid-template-columns:150px minmax(0,1fr)!important;
    padding-inline:18px!important;
  }
  .asset-d3-visual{
    width:150px!important;
  }
  .asset-d3-title-row h1{
    font-size:25px!important;
  }
}

@media(max-width:1280px){
  .asset-design3-shell{
    grid-template-columns:1fr!important;
  }
  .asset-d3-main-card{
    min-height:auto!important;
    grid-template-columns:150px minmax(0,1fr)!important;
  }
  .assignment-d3-card{
    min-height:auto!important;
  }
  .status-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .asset-d3-main-card{
    grid-template-columns:1fr!important;
  }
  .asset-d3-visual{
    width:100%!important;
    height:118px!important;
    min-height:118px!important;
  }
  .asset-d3-title-row h1{
    font-size:22px!important;
  }
  .status-strip{
    grid-template-columns:1fr!important;
  }
}

/* ======================================================================
   Brian fix: asset tab tooltips + prevent tabs/tables from creating
   awkward nested scrollbars or bleeding outside the content card.
   ====================================================================== */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

.main,
.card,
.tab-panel{
  min-width:0!important;
  max-width:100%!important;
}

section.card:has(.tabs.icon-tabs){
  overflow:visible!important;
  padding:14px 16px 16px!important;
}

.tabs.icon-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  padding:8px!important;
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid #e3eaf4!important;
  box-shadow:none!important;
}

.tabs.icon-tabs a{
  width:38px!important;
  height:38px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  position:relative!important;
  overflow:visible!important;
}

.tabs.icon-tabs a::before,
.tabs.icon-tabs a::after{
  display:none!important;
}

.tabs.icon-tabs b{
  position:absolute!important;
  top:-8px!important;
  right:-7px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  line-height:18px!important;
  background:#e8eef8!important;
  color:#334155!important;
  border:1px solid #d9e3f2!important;
}

.asset-tab-tooltip{
  position:fixed;
  z-index:2147483647;
  display:none;
  pointer-events:none;
  transform:translate(-50%, -100%);
  padding:7px 10px;
  border-radius:8px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(15,23,42,.22);
}
.asset-tab-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  transform:translateX(-50%);
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:5px solid #0f172a;
}
.asset-tab-tooltip.show{
  display:block;
}

.tab-panel .table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  border-radius:12px!important;
}

.tab-panel .table{
  width:100%!important;
  min-width:760px!important;
}

.tab-panel .table th,
.tab-panel .table td{
  white-space:nowrap!important;
}

#repairs.tab-panel .table{
  min-width:840px!important;
}

@media(max-width:900px){
  .tabs.icon-tabs{gap:7px!important;}
  .tabs.icon-tabs a{width:36px!important;height:36px!important;}
}

/* ======================================================================
   2026-04 tab overflow hard fix
   - Tabs are a wrapped toolbar, never a nested horizontal scroller.
   - Tab content cannot push the page wider than the card.
   - Large tables scroll only inside their own table wrapper.
   ====================================================================== */
.asset-detail-card,
section.card:has(.tabs.icon-tabs){
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}

.tabs.icon-tabs{
  position:relative!important;
  top:auto!important;
  z-index:25!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  white-space:normal!important;
  margin:0 0 16px!important;
}

.tabs.icon-tabs::-webkit-scrollbar{display:none!important;}
.tabs.icon-tabs{scrollbar-width:none!important;}

.tabs.icon-tabs a{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  overflow:visible!important;
}

.tab-panel{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}

.tab-panel.active{
  display:block!important;
}

.tab-panel > *,
.overview-d3-shell,
.grid,
.cols2,
.cols3,
.cols4,
.kv,
.timeline,
.activity-grid{
  min-width:0!important;
  max-width:100%!important;
}

.tab-panel .table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
}

.tab-panel .table{
  width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
}

#repairs.tab-panel .table,
#attachments.tab-panel .table{
  min-width:720px!important;
}

#repairs.tab-panel .table-wrap,
#attachments.tab-panel .table-wrap{
  margin-top:10px!important;
}

@media(max-width:1100px){
  #repairs.tab-panel .table,
  #attachments.tab-panel .table{
    min-width:680px!important;
  }
}

/* Tooltip is created by JS and attached to body, so it cannot be clipped by cards. */
.asset-tab-tooltip{
  position:fixed!important;
  z-index:2147483647!important;
}

/* ======================================================================
   2026-04 asset tab panel + header alignment polish
   - Restores missing checkout tab panel behavior.
   - Makes every icon tab render inside the same clean content card pattern.
   - Aligns the asset image/card top edge with the asset name instead of
     floating lower in the summary card.
   ====================================================================== */
.tab-panel{
  display:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.tab-panel.active{
  display:block!important;
}

/* Make the non-overview tabs feel as finished as Overview. */
.tab-panel.active:not(#overview){
  margin-top:14px!important;
  padding:18px!important;
  background:#ffffff!important;
  border:1px solid #e3eaf4!important;
  border-radius:14px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
  overflow:visible!important;
}

.tab-panel.active:not(#overview) > h3,
.tab-panel.active:not(#overview) .section-head{
  margin-top:0!important;
}

.tab-panel .section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:14px!important;
}

.tab-panel .section-head h3,
.tab-panel > h3{
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#0f172a!important;
}

.tab-panel .compact-list,
.tab-panel .timeline,
.tab-panel .activity-grid,
.tab-panel .kv,
.tab-panel .grid{
  max-width:100%!important;
  min-width:0!important;
}

/* Clean table tabs without letting them bleed into the page. */
.tab-panel .table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  border:1px solid #e3eaf4!important;
  border-radius:12px!important;
  background:#fff!important;
}

.tab-panel .table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}

/* Align asset image with the top of the asset name. */
.asset-d3-main-card{
  align-items:start!important;
}

.asset-d3-visual{
  align-self:start!important;
  margin-top:0!important;
}

.asset-d3-copy{
  align-self:start!important;
  padding-top:0!important;
}

.asset-d3-title-row{
  align-items:flex-start!important;
}

/* Final asset header polish. */
.asset-d3-main-card{
  position:relative!important;
}

.asset-d3-visual{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  width:190px!important;
  min-height:210px!important;
  height:210px!important;
  justify-self:start!important;
  justify-items:start!important;
  place-items:start start!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
}

.refined-asset-actions{
  margin-top:24px!important;
}

.asset-d3-visual img{
  max-width:165px!important;
  max-height:120px!important;
}

.asset-barcode-label{
  width:150px!important;
  border:1px solid #e5edf7!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:5px 7px!important;
  box-shadow:0 6px 14px rgba(20,32,60,.045)!important;
  opacity:.86!important;
}

.asset-barcode-label .code128-label{
  display:block!important;
  width:100%!important;
  height:40px!important;
}

.asset-barcode-label .code128-label text{
  font:900 9px Arial,sans-serif!important;
  letter-spacing:.8px!important;
  fill:#0f172a!important;
}

.asset-identity-lines{
  display:grid!important;
  gap:2px!important;
  margin-top:14px!important;
  max-width:360px!important;
}

.asset-identity-lines div{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  min-height:24px!important;
}

.asset-identity-lines span{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}

.asset-identity-lines b{
  min-width:0!important;
  color:#0f172a!important;
  font-size:13.5px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.asset-status-corner{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(20,32,60,.08)!important;
}

/* Student profile modal refinement. */
.asset-student-modal .modal-head{
  border-bottom:1px solid #e5edf7!important;
  padding-bottom:16px!important;
}

.asset-student-modal{
  width:min(940px,calc(100vw - 42px))!important;
  max-height:calc(100vh - 70px)!important;
  padding:18px!important;
}

.asset-student-modal .modal-head .icon-btn{
  width:40px!important;
  height:40px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1e3a8a!important;
  font-size:18px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(20,32,60,.08)!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}

.asset-student-modal .modal-head .icon-btn:hover{
  transform:translateY(-1px)!important;
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
}

.asset-student-modal > h3{
  margin:20px 0 10px!important;
}

.refined-student-profile-head{
  display:grid!important;
  grid-template-columns:72px minmax(180px,.7fr) minmax(360px,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  width:100%!important;
}

.refined-student-profile-head .avatar.xl{
  width:64px!important;
  height:64px!important;
  font-size:18px!important;
}

.student-profile-title span{
  display:block!important;
  margin-bottom:3px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}

.student-profile-title h2{
  margin:0!important;
  color:#0f172a!important;
  font-size:26px!important;
  line-height:1.05!important;
}

.student-profile-id-table{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
}

.student-profile-id-table div{
  min-width:0!important;
  padding:9px 11px!important;
  border-right:1px solid #e2e8f0!important;
  border-bottom:1px solid #e2e8f0!important;
}

.student-profile-id-table div:nth-child(3n){
  border-right:0!important;
}

.student-profile-id-table div:nth-last-child(-n+3){
  border-bottom:0!important;
}

.student-profile-id-table small{
  display:block!important;
  margin-bottom:3px!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}

.student-profile-id-table b{
  display:block!important;
  color:#0f172a!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.student-profile-id-table .profile-grid-filler{
  min-height:48px!important;
  background:#fbfdff!important;
}

.student-profile-id-table b:empty::after{
  content:"-"!important;
  color:#94a3b8!important;
}

.asset-student-modal .student-mini-table,
.asset-student-modal .student-history-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
  border:1px solid #dfe7f2!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
}

.asset-student-modal .student-mini-table th,
.asset-student-modal .student-mini-table td,
.asset-student-modal .student-history-table th,
.asset-student-modal .student-history-table td{
  border-right:1px solid #dfe7f2!important;
  border-bottom:1px solid #dfe7f2!important;
  min-height:42px!important;
}

.asset-student-modal .student-mini-table th:last-child,
.asset-student-modal .student-mini-table td:last-child,
.asset-student-modal .student-history-table th:last-child,
.asset-student-modal .student-history-table td:last-child{
  border-right:0!important;
}

.asset-student-modal .student-mini-table tbody tr:last-child td,
.asset-student-modal .student-history-table tbody tr:last-child td{
  border-bottom:0!important;
}

.student-history-table-wrap{
  max-height:none!important;
  overflow:visible!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
}

.student-history-table{
  margin:0!important;
  border:0!important;
}

.student-history-table th button,
.student-mini-table th button{
  width:100%!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
}

.student-history-table th button:after,
.student-mini-table th button:after{
  content:" Sort"!important;
  color:#94a3b8!important;
  font-size:6px!important;
  font-weight:900!important;
}

.student-history-table th button[aria-sort="ascending"]:after,
.student-mini-table th button[aria-sort="ascending"]:after{
  content:" Up"!important;
  color:#2563eb!important;
}

.student-history-table th button[aria-sort="descending"]:after,
.student-mini-table th button[aria-sort="descending"]:after{
  content:" Down"!important;
  color:#2563eb!important;
}

.student-history-table thead th{
  background:#f8fafc!important;
  color:#475569!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}

.student-history-table th,
.student-history-table td{
  padding:10px 12px!important;
  vertical-align:middle!important;
}

.student-history-table td:first-child{
  width:112px!important;
  color:#0f172a!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

.student-history-table td:nth-child(2){
  width:130px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.student-history-table td:nth-child(3){
  color:#334155!important;
}

.student-history-table td:last-child{
  width:120px!important;
  color:#64748b!important;
  font-weight:800!important;
}

.student-history-pager{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:10px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}

.student-history-pager div{
  display:flex!important;
  gap:8px!important;
}

.student-history-pager button:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}

.asset-student-modal .student-profile-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:16px 0 22px!important;
}

.asset-student-modal .student-profile-metrics span{
  position:relative!important;
  overflow:hidden!important;
  min-height:70px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  padding:13px 14px 13px 56px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(20,32,60,.04)!important;
}

.asset-student-modal .student-profile-metrics span i{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.72)!important;
  color:#2563eb!important;
}

.asset-student-modal .student-profile-metrics span i .ui-icon{
  width:18px!important;
  height:18px!important;
}

.asset-student-modal .student-profile-metrics span b{
  color:#0f172a!important;
  font-size:22px!important;
  line-height:1!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(1){
  background:linear-gradient(180deg,#eff6ff,#fff)!important;
  border-color:#bfdbfe!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(2){
  background:linear-gradient(180deg,#f0fdf4,#fff)!important;
  border-color:#bbf7d0!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(2) i{
  color:#15803d!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(3){
  background:linear-gradient(180deg,#fff7ed,#fff)!important;
  border-color:#fed7aa!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(3) i{
  color:#ea580c!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(4){
  background:linear-gradient(180deg,#f5f3ff,#fff)!important;
  border-color:#ddd6fe!important;
}

.asset-student-modal .student-profile-metrics span:nth-child(4) i{
  color:#7c3aed!important;
}

.student-mini-table-wrap{
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
}

.student-mini-table{
  margin:0!important;
  border:0!important;
}

.student-mini-table th{
  background:#f8fafc!important;
  color:#475569!important;
  font-size:11px!important;
  text-transform:uppercase!important;
}

.student-mini-table th,
.student-mini-table td{
  padding:10px 11px!important;
  vertical-align:middle!important;
}

.student-mini-table td:first-child{
  width:82px!important;
  font-weight:900!important;
  color:#1e40af!important;
}

.student-mini-table td b,
.student-mini-table td span{
  display:block!important;
}

.student-mini-table td span{
  margin-top:2px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
}

.student-mini-table .student-empty-row td{
  padding:22px 12px!important;
  color:#64748b!important;
  font-weight:800!important;
  text-align:center!important;
}

@media(max-width:980px){
  .refined-student-profile-head{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .student-profile-id-table{
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .student-profile-id-table div:nth-child(3n){
    border-right:1px solid #e2e8f0!important;
  }
  .student-profile-id-table div:nth-child(2n){
    border-right:0!important;
  }
  .student-profile-id-table div:nth-last-child(-n+3){
    border-bottom:1px solid #e2e8f0!important;
  }
  .student-profile-id-table div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
  .asset-student-modal .student-profile-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .asset-student-modal .student-profile-metrics,
  .student-profile-id-table{
    grid-template-columns:1fr!important;
  }
  .student-profile-id-table div{
    border-right:0!important;
    border-bottom:1px solid #e2e8f0!important;
  }
  .student-profile-id-table div:last-child{
    border-bottom:0!important;
  }
  .student-history-pager{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

/* Modern dashboard table refresh. */
.main:has(.modern-dashboard-metrics){
  padding-top:36px!important;
}

.modern-dashboard-metrics{
  display:none!important;
}

.asset-snapshot-card{
  padding:18px!important;
  border-radius:16px!important;
  background:#fff!important;
  margin-top:0!important;
}

.asset-table-toolbar{
  align-items:flex-end!important;
  gap:18px!important;
  margin-bottom:16px!important;
}

.asset-table-toolbar h2{
  font-size:26px!important;
  line-height:1!important;
  margin:0!important;
}

.asset-table-toolbar p{
  margin:8px 0 0!important;
}

.asset-toolbar-title-row{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}

.asset-count-chips{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}

.asset-count-chips button{
  height:32px!important;
  border:1px solid #dbe5f2!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#475569!important;
  padding:0 11px!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.asset-count-chips button b{
  color:#0f172a!important;
  margin-right:4px!important;
}

.asset-count-chips button:hover,
.asset-count-chips button.active{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}

.asset-count-chips button.active b{
  color:#1d4ed8!important;
}

/* Google Admin sync OU staging */
.google-ou-card{
  border-radius:16px!important;
}
.google-ou-form{
  display:grid;
  gap:12px;
}
.google-ou-list{
  max-height:360px;
  overflow:auto;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.google-ou-row{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:9px 14px 9px calc(14px + (var(--ou-depth,0) * 20px));
  border-bottom:1px solid #edf2f7;
  cursor:pointer;
}
.google-ou-row.is-collapsed{
  display:none!important;
}
.google-ou-row:last-child{
  border-bottom:0;
}
.google-ou-row:hover{
  background:#f8fafc;
}
.google-ou-row input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  accent-color:#2563eb;
}
.google-ou-toggle{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  padding:0!important;
  border-radius:8px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  color:#1e3a8a!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.google-ou-toggle.is-empty{
  border-color:transparent!important;
  background:transparent!important;
  cursor:default!important;
}
.google-ou-row span{
  display:block;
  min-width:0;
}
.google-ou-row b{
  display:block;
  color:#102033;
  font-size:13px;
}
.google-ou-row small{
  display:block;
  color:#64748b;
  font-weight:700;
  margin-top:2px;
  overflow-wrap:anywhere;
}
.google-sync-grid .kv,
.jamf-sync-grid .kv{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.jamf-sync-grid{
  align-items:start;
}
.jamf-sync-grid .card{
  min-width:0;
}
.jamf-test-connection-form{
  margin-top:12px;
}
.google-preview-card{
  border-radius:16px!important;
  overflow:hidden;
}
.google-serial-search-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 0 18px;
  margin:0 0 18px;
  border-bottom:1px solid #e5edf7;
}
.google-serial-search-panel h2{
  margin:0 0 3px;
}
.google-serial-search-form,
.jamf-serial-search-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 1 650px;
}
.serial-search-input{
  flex:1;
  min-width:280px;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 14px;
  border:1px solid #cbd8ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.serial-search-input span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  color:#2563eb;
}
.serial-search-input .ui-icon,
.google-serial-search-form .btn .ui-icon,
.jamf-serial-search-form .btn .ui-icon,
.jamf-serial-search-form .primary .ui-icon{
  width:18px;
  height:18px;
}
.serial-search-input input{
  width:100%;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  min-height:0!important;
  font-weight:850;
}
.google-serial-search-form .btn,
.jamf-serial-search-form .btn,
.jamf-serial-search-form .primary{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
@media(max-width:980px){
  .google-serial-search-panel,
  .google-serial-search-form,
  .jamf-serial-search-form{
    flex-direction:column;
    align-items:stretch;
  }
  .google-serial-search-form,
  .jamf-serial-search-form{flex:1 1 auto}
  .google-serial-search-form .serial-search-input,
  .jamf-serial-search-form .serial-search-input{
    min-width:0;
    width:100%;
  }
  .google-serial-search-form .btn,
  .jamf-serial-search-form .btn,
  .jamf-serial-search-form .primary{
    width:100%;
    justify-content:center;
  }
}
.google-preview-head{
  padding-bottom:12px;
  border-bottom:1px solid #e5edf7;
}
.google-preview-head h2{
  margin-bottom:3px;
}
.google-preview-pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  font-weight:900;
  font-size:12px;
  white-space:nowrap;
}
.google-preview-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.google-preview-form{
  display:block;
}


.google-import-guardrail-modal{
  max-width:720px;
}
.google-import-guardrail-body{
  display:grid;
  gap:14px;
}
.google-import-warning{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid #fde68a;
  border-radius:12px;
  background:#fffbeb;
  color:#92400e;
}
.google-import-warning b{
  color:#78350f;
}
.google-import-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.google-import-choice,
.jamf-import-choice{
  position:relative;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:start;
  gap:10px;
  min-height:96px;
  padding:12px 46px 12px 12px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  cursor:pointer;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease, background .14s ease;
}
.google-import-choice:hover,
.jamf-import-choice:hover{
  border-color:#93c5fd;
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.google-import-choice:has(input:checked),
.jamf-import-choice:has(input:checked){
  border-color:#2563eb;
  background:#eff6ff;
  box-shadow:0 0 0 3px rgba(37,99,235,.13),0 14px 30px rgba(37,99,235,.10);
}
.google-import-choice input,
.jamf-import-choice input{
  position:absolute;
  top:14px;
  right:14px;
  width:18px;
  height:18px;
  margin:0;
  accent-color:#2563eb;
  z-index:2;
}
.google-import-choice-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#2563eb;
  border:1px solid #dbeafe;
}
.google-import-choice-icon .ui-icon{
  width:19px;
  height:19px;
  stroke-width:2.5;
}
.google-import-choice.import-available .google-import-choice-icon{
  background:#ecfdf3;
  color:#047857;
  border-color:#bbf7d0;
}
.google-import-choice.import-match .google-import-choice-icon{
  background:#eef2ff;
  color:#3730a3;
  border-color:#c7d2fe;
}
.google-import-choice.import-checkout .google-import-choice-icon{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
.google-import-choice.import-location .google-import-choice-icon{
  background:#fff7ed;
  color:#c2410c;
  border-color:#fed7aa;
}
.google-import-choice-copy{
  min-width:0;
  padding-right:4px;
}
.google-import-choice b,
.google-import-choice small,
.jamf-import-choice b,
.jamf-import-choice small{
  display:block;
}
.google-import-choice b,
.jamf-import-choice b{
  color:#0f172a;
  font-size:13px;
  line-height:1.15;
}
.google-import-choice small,
.jamf-import-choice small{
  margin-top:4px;
  color:#64748b;
  font-weight:750;
  line-height:1.28;
}
.google-import-choice.inline,
.jamf-import-choice.inline{
  grid-template-columns:minmax(0,1fr);
  min-height:auto;
  margin-top:10px;
}
.google-import-catalog-panel{
  padding:13px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fafc;
}
.google-import-catalog-panel .compact-list{
  max-height:180px;
  overflow:auto;
  margin-top:8px;
}
.managed-repair-intake-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.managed-repair-intake-toggle{
  position:relative;
  min-height:76px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-items:start;
  gap:10px;
  padding:12px 46px 12px 12px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  cursor:pointer;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease, background .14s ease;
}
.managed-repair-intake-toggle:hover{
  border-color:#fbbf24;
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.managed-repair-intake-toggle:has(input:checked){
  border-color:#f59e0b;
  background:#fffbeb;
  box-shadow:0 0 0 3px rgba(245,158,11,.12),0 14px 30px rgba(245,158,11,.10);
}
.managed-repair-intake-toggle input{
  position:absolute;
  top:16px;
  right:16px;
  width:18px;
  height:18px;
  margin:0;
  accent-color:#f59e0b;
}
.managed-repair-intake-toggle>span{
  grid-column:1;
  grid-row:1 / span 3;
  width:42px;
  height:42px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fff7ed;
  color:#c2410c;
  border:1px solid #fed7aa;
}
.managed-repair-intake-toggle b,
.managed-repair-intake-toggle small,
.managed-repair-intake-details{
  grid-column:2;
  min-width:0;
}
.managed-repair-intake-toggle b,
.managed-repair-intake-toggle small{
  display:block;
}
.managed-repair-intake-toggle b{
  grid-row:1;
  align-self:end;
  color:#0f172a;
  font-size:14px;
  line-height:1.1;
}
.managed-repair-intake-toggle small{
  grid-row:2;
  align-self:start;
  margin-top:4px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
  line-height:1.2;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.managed-repair-intake-details{
  grid-row:3;
  justify-self:start;
  width:auto;
  min-height:0;
  margin-top:4px;
  padding:0;
  border:0;
  background:transparent;
  color:#2563eb;
  box-shadow:none;
  font-size:11px;
  font-weight:900;
  line-height:1;
  display:inline-flex;
  align-items:center;
  gap:4px;
  cursor:pointer;
}
.managed-repair-intake-details:hover{
  color:#1d4ed8;
  text-decoration:underline;
  background:transparent;
  box-shadow:none;
}
.managed-repair-intake-details .ui-icon{
  width:13px;
  height:13px;
}
.managed-repair-intake-modal{
  max-width:700px;
}
.managed-repair-intake-form{
  margin-top:4px;
}
.managed-repair-intake-form .simple-check{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  color:#334155;
  font-size:13px;
  font-weight:850;
}
.managed-repair-intake-form .simple-check input{
  width:17px;
  height:17px;
  margin:0;
  accent-color:#2563eb;
}
.managed-import-actions{
  align-items:center;
  flex-wrap:wrap;
}
.managed-import-actions span{
  margin-right:auto;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.managed-import-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.managed-import-actions button.is-loading{
  display:inline-flex;
  align-items:center;
  gap:7px;
  opacity:.78;
  cursor:wait!important;
}
.managed-import-actions button.is-loading::before{
  content:"";
  width:13px;
  height:13px;
  flex:0 0 auto;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:managedButtonSpin .75s linear infinite;
}
@keyframes managedButtonSpin{to{transform:rotate(360deg)}}
.add-asset-save-actions{
  flex-wrap:wrap;
}
@media(max-width:720px){
  .managed-import-actions,.add-asset-save-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .managed-import-actions span,.add-asset-save-actions span{
    margin-right:0;
  }
}
.repair-intake-card{
  margin-bottom:18px;
}
.repair-intake-scope-tabs,
.repair-intake-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.repair-intake-scope-tabs{
  margin-bottom:4px;
}
.repair-intake-scope-tabs a,
.repair-intake-tabs a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#334155;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}
.repair-intake-scope-tabs a{
  background:#f8fafc;
}
.repair-intake-scope-tabs a.active,
.repair-intake-tabs a.active{
  border-color:#2563eb;
  background:#eff6ff;
  color:#1d4ed8;
}
.repair-intake-scope-tabs b,
.repair-intake-tabs b{
  min-width:22px;
  padding:2px 6px;
  border-radius:999px;
  background:#e2e8f0;
  color:#334155;
  text-align:center;
  font-size:11px;
}
.repair-intake-scope-tabs a.active b,
.repair-intake-tabs a.active b{
  background:#2563eb;
  color:#fff;
}
.repair-intake-filters{
  display:grid;
  grid-template-columns:minmax(220px,1.35fr) repeat(5,minmax(122px,1fr)) auto;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fafc;
  margin-bottom:10px;
}
.repair-intake-filters label{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  margin:0;
  color:#64748b;
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:0 9px;
}
.repair-intake-filters label .ui-icon{
  width:16px;
  height:16px;
}
.repair-intake-filters input,
.repair-intake-filters select{
  height:34px;
  min-width:0;
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:850;
  padding:6px 9px;
}
.repair-intake-filters label input{
  border:0;
  padding-left:0;
  box-shadow:none;
}
.repair-intake-filter-actions{
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:flex-end;
  white-space:nowrap;
}
.repair-intake-filter-actions .btn{
  min-width:58px;
  height:34px;
}
.repair-intake-clear-btn{
  background:#475569;
  border-color:#475569;
  color:#fff;
}
.repair-intake-clear-btn:hover{
  background:#334155;
  border-color:#334155;
  color:#fff;
}
.repair-intake-summary-line{
  margin:0 0 10px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.repair-intake-collection-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.repair-intake-collection{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.repair-intake-collection summary{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  cursor:pointer;
  list-style:none;
}
.repair-intake-collection summary::-webkit-details-marker{
  display:none;
}
.repair-intake-collection summary:before{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid #64748b;
  border-bottom:2px solid #64748b;
  transform:rotate(45deg);
  margin:5px 3px 0 0;
  flex:0 0 auto;
}
.repair-intake-collection:not([open]) summary:before{
  transform:rotate(-45deg);
  margin-top:8px;
}
.repair-intake-collection h3{
  margin:0;
  color:#0f172a;
  font-size:15px;
  line-height:1.2;
}
.repair-intake-collection p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}
.repair-intake-item-list{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.repair-intake-work-item{
  display:grid;
  grid-template-columns:minmax(210px,1.1fr) minmax(330px,1.35fr) minmax(190px,.85fr);
  gap:10px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}
.repair-intake-asset-link{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:10px;
  color:#172033;
  text-decoration:none;
  min-width:0;
}
.repair-intake-asset-link:hover b{
  color:#2563eb;
}
.repair-intake-thumb{
  position:relative;
  width:54px;
  height:42px;
}
.repair-intake-thumb img{
  max-width:48px;
  max-height:36px;
}
.repair-intake-thumb em{
  position:absolute;
  right:-6px;
  bottom:-6px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f97316;
  color:#fff;
  border:2px solid #fff;
  box-shadow:0 6px 14px rgba(15,23,42,.18);
}
.repair-intake-thumb em .ui-icon{
  width:12px;
  height:12px;
  stroke-width:2.6;
}
.repair-intake-asset-link b{
  font-size:13px;
  color:#0f172a;
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-asset-link small,
.repair-intake-work-meta small,
.repair-intake-work-meta a{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:750;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-work-meta{
  display:grid;
  grid-template-columns:auto minmax(86px,.9fr) minmax(74px,.65fr) minmax(110px,.85fr);
  align-items:center;
  gap:7px;
  min-width:0;
}
.repair-intake-work-meta .badge{
  justify-self:start;
}
.repair-intake-meta-cell{
  min-width:0;
  display:grid;
  gap:1px;
  padding:7px 8px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
}
.repair-intake-meta-cell small{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.repair-intake-meta-cell b{
  min-width:0;
  display:block;
  color:#172033;
  font-size:12px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-meta-cell.due{
  grid-template-columns:16px minmax(0,1fr);
  align-items:center;
}
.repair-intake-meta-cell.vendor-date{
  grid-column:2;
}
.repair-intake-meta-cell.due .ui-icon{
  width:15px;
  height:15px;
  color:#2563eb;
}
.repair-intake-borrower{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:8px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.repair-intake-borrower .avatar{
  flex:0 0 auto;
}
.repair-intake-borrower span{
  min-width:0;
}
.repair-intake-borrower small,
.repair-intake-borrower em{
  display:block;
  color:#64748b;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-borrower b{
  display:block;
  color:#0f172a;
  font-size:12px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-unassigned-borrower{
  padding-left:2px;
}
.repair-intake-work-form{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(140px,.7fr) minmax(160px,1fr) auto auto auto;
  gap:8px;
  align-items:center;
}
.repair-intake-work-form select,
.repair-intake-work-form input[name="work_note"]{
  height:34px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  padding:6px 9px;
  color:#172033;
  font-size:12px;
  font-weight:850;
}
.repair-intake-work-form label{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.repair-intake-work-form.repair-intake-note-required input[name="work_note"],
.repair-intake-edit-form.repair-intake-note-required textarea[name="work_note"]{
  border-color:#f59e0b;
  background:#fffaf5;
  box-shadow:0 0 0 3px rgba(245,158,11,.10);
}
.repair-intake-note-hint{
  display:block;
  margin-top:4px;
  color:#92400e;
  font-size:11px;
  font-weight:850;
}
.repair-intake-more{
  color:#64748b;
  font-weight:850;
}
.repair-intake-empty{
  min-height:130px;
  display:grid;
  place-items:center;
  gap:5px;
  text-align:center;
  color:#64748b;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  padding:18px;
}
.repair-intake-empty .ui-icon{
  width:28px;
  height:28px;
  color:#2563eb;
}
.repair-intake-empty b{
  color:#0f172a;
}
.repair-intake-table-wrap{
  margin-top:4px;
  max-width:100%;
  overflow:auto;
}
.repair-intake-filter-form{
  display:none!important;
}
.repair-intake-review-table .asset-column-labels th{
  background:#f8fafd!important;
}
.repair-intake-review-table .table-filters th{
  top:49px!important;
  z-index:5!important;
  background:#fff!important;
}
.repair-intake-review-table .table-filters th[data-col="actions"]{
  text-align:right!important;
  z-index:12!important;
}
.repair-intake-column-filter{
  display:grid;
  gap:6px;
}
.repair-intake-review-table .table-filters input,
.repair-intake-review-table .table-filters select,
.repair-intake-review-table .table-filters .asset-assigned-filter-trigger{
  min-width:0!important;
  width:100%!important;
  height:34px!important;
  border-radius:8px!important;
  border-color:#d9e1ee!important;
  background:#fff!important;
  font-size:11px!important;
}
.repair-intake-review-table .table-filters .asset-assigned-filter-picker{
  width:100%!important;
  min-width:0!important;
}
.repair-intake-review-table .table-filters .asset-assigned-filter-trigger{
  padding:6px 28px 6px 8px!important;
}
.repair-intake-review-table .table-filters .repair-intake-clear-btn{
  height:34px!important;
  min-height:34px!important;
}
.repair-intake-control-bar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(170px,220px) auto auto;
  align-items:start;
  gap:8px;
  margin:12px 0 8px;
}
.repair-intake-control-bar label{
  margin:0;
}
.repair-intake-control-bar select,
.repair-intake-control-bar input{
  min-height:34px;
  font-size:12px;
}
.repair-intake-search-field{
  position:relative;
}
.repair-intake-search-field .ui-icon{
  position:absolute;
  left:10px;
  top:50%;
  width:15px;
  height:15px;
  transform:translateY(-50%);
  color:#64748b;
}
.repair-intake-search-field input{
  padding-left:34px!important;
}
.repair-intake-search-field .ui-icon+input{
  padding-left:34px!important;
}
.repair-intake-advanced-filters{
  position:relative;
}
.repair-intake-advanced-filters summary{
  list-style:none;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:850;
  padding:6px 10px;
  cursor:pointer;
}
.repair-intake-advanced-filters summary::-webkit-details-marker{
  display:none;
}
.repair-intake-advanced-filters[open] summary{
  border-color:#94a3b8;
  background:#f8fafc;
}
.repair-intake-advanced-filters>div{
  position:absolute;
  right:0;
  top:40px;
  z-index:20;
  width:min(720px,calc(100vw - 48px));
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  border:1px solid #dbe3ee;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 44px rgba(13,25,43,.16);
  padding:12px;
}
.repair-intake-advanced-filters .repair-intake-clear-btn{
  grid-column:1/-1;
  justify-self:start;
}
.repair-intake-table-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:6px 0 8px;
}
.repair-intake-bulk-toolbar{
  display:none;
  grid-template-columns:auto repeat(4,minmax(128px,1fr));
  gap:8px;
  align-items:center;
  margin:10px 0;
  padding:10px;
  border:1px solid #dbe3ee;
  border-radius:10px;
  background:#f8fafc;
}
.repair-intake-bulk-toolbar.is-active{
  display:grid;
}
.repair-intake-bulk-toolbar strong{
  white-space:nowrap;
  color:#0f172a;
  font-size:12px;
}
.repair-intake-bulk-toolbar select,
.repair-intake-bulk-toolbar input{
  width:100%;
  min-height:34px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#172033;
  font-size:12px;
  font-weight:750;
  padding:6px 8px;
}
.repair-intake-bulk-toolbar button{
  justify-self:end;
}
.repair-intake-review-table{
  min-width:1120px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.repair-intake-review-table th,
.repair-intake-review-table td{
  padding:12px 13px;
  vertical-align:middle;
  border-bottom:1px solid #e8edf5;
}
.repair-intake-review-table td{
  color:#172033;
  font-weight:650;
}
.repair-intake-review-table thead th{
  position:sticky;
  top:0;
  z-index:5;
  background:#f8fafd;
  color:#40506a;
  font-size:12px;
  font-weight:950;
}
.repair-intake-review-table tbody tr:hover td{
  background:#fbfdff;
}
.repair-intake-review-table th[data-col="select"],
.repair-intake-review-table td[data-col="select"]{
  width:44px;
  min-width:44px;
  text-align:center;
}
.repair-intake-review-table th[data-col="asset"],
.repair-intake-review-table td[data-col="asset"]{
  width:210px;
}
.repair-intake-review-table th[data-col="status"],
.repair-intake-review-table td[data-col="status"]{
  width:180px;
  min-width:180px;
}
.repair-intake-review-table th[data-col="issue"],
.repair-intake-review-table td[data-col="issue"]{
  width:320px;
  min-width:320px;
  white-space:normal;
  line-height:1.35;
  overflow-wrap:break-word;
}
.repair-intake-review-table th[data-col="priority"],
.repair-intake-review-table td[data-col="priority"]{
  width:150px;
}
.repair-intake-review-table th[data-col="assigned"],
.repair-intake-review-table td[data-col="assigned"]{
  width:210px;
  white-space:normal;
  line-height:1.35;
  overflow-wrap:break-word;
}
.repair-intake-review-table th[data-col="updated"],
.repair-intake-review-table td[data-col="updated"]{
  width:104px;
  color:#475467;
  font-size:11px;
}
.repair-intake-review-table th[data-col="actions"],
.repair-intake-review-table td[data-col="actions"]{
  position:sticky!important;
  right:0;
  z-index:7;
  width:176px;
  min-width:176px;
  max-width:176px;
  text-align:right;
  background:#fff;
  box-shadow:-12px 0 18px rgba(15,23,42,.04);
}
.repair-intake-review-table thead th[data-col="actions"]{
  z-index:12;
  background:#f8fafd;
}
.repair-intake-priority-stack{
  display:grid;
  gap:4px;
}
.repair-intake-priority-stack strong{
  font-size:12px;
  color:#172033;
}
.repair-intake-priority-stack span{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.repair-intake-review-table .row-actions{
  gap:6px!important;
  justify-content:flex-end!important;
}
.repair-intake-review-table .table-action{
  min-height:30px!important;
  height:30px!important;
  padding:0 9px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.repair-intake-review-table .primary-action{
  min-width:46px!important;
}
.repair-intake-review-table .secondary-table-action{
  min-width:54px!important;
}
.repair-intake-review-table tr.is-aging-warn td{
  background:#fffbeb;
}
.repair-intake-review-table tr.is-aging-risk td{
  background:#fff1f2;
}
.repair-age-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  border-radius:999px;
  background:#e2e8f0;
  color:#334155;
  font-size:11px;
  font-weight:950;
  padding:3px 7px;
  margin-right:6px;
}
.repair-age-chip.warn{
  background:#fef3c7;
  color:#92400e;
}
.repair-age-chip.risk{
  background:#fee2e2;
  color:#991b1b;
}
.repair-intake-detail-row td{
  background:#f8fafc;
  border-top:0;
}
.repair-intake-row-detail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.repair-intake-row-detail div{
  min-width:0;
  border:1px solid #dbe3ee;
  border-radius:8px;
  background:#fff;
  padding:10px;
}
.repair-intake-row-detail b,
.repair-intake-row-detail span{
  display:block;
}
.repair-intake-row-detail b{
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
}
.repair-intake-row-detail span{
  color:#172033;
  font-size:12px;
  font-weight:750;
  margin-top:4px;
}
.repair-intake-table-asset{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px;
  align-items:center;
  color:#172033;
  text-decoration:none;
  min-width:0;
}
.repair-intake-table-asset img{
  width:36px;
  height:28px;
  object-fit:contain;
}
.repair-intake-row-thumb{
  position:relative;
  display:grid;
  place-items:center;
  width:40px;
  height:34px;
}
.repair-intake-row-thumb em{
  position:absolute;
  right:0;
  bottom:0;
  display:grid;
  place-items:center;
  width:17px;
  height:17px;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  border:2px solid #fff;
  box-shadow:0 4px 10px rgba(37,99,235,.22);
}
.repair-intake-row-thumb em .ui-icon{
  width:10px;
  height:10px;
}
.repair-intake-table-asset b,
.repair-intake-table-asset small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-table-asset b{
  font-size:12px;
  font-weight:950;
}
.repair-intake-table-asset small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
@media (max-width:1200px){
  .repair-intake-control-bar{
    grid-template-columns:minmax(220px,1fr) minmax(150px,200px) auto auto;
  }
  .repair-intake-bulk-toolbar{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .repair-intake-bulk-toolbar strong,
  .repair-intake-bulk-toolbar button{
    width:100%;
  }
}
@media (max-width:760px){
  .repair-intake-control-bar{
    grid-template-columns:1fr;
  }
  .repair-intake-advanced-filters>div{
    position:static;
    width:100%;
    grid-template-columns:1fr;
    margin-top:8px;
    box-shadow:none;
  }
  .repair-intake-table-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .repair-intake-bulk-toolbar,
  .repair-intake-row-detail{
    grid-template-columns:1fr;
  }
}
.repair-intake-edit-modal{
  width:min(860px, calc(100vw - 28px));
}
.repair-intake-edit-form > .form-grid{
  margin-top:14px;
}
.repair-intake-edit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.repair-intake-edit-grid .form-grid{
  margin-top:0;
}
.repair-intake-edit-grid .form-section{
  align-self:start;
}
@media(max-width:820px){
  .repair-intake-edit-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:1280px){
  .repair-intake-filters{
    grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,1fr));
  }
  .repair-intake-filter-actions{
    justify-content:flex-start;
  }
  .repair-intake-work-item{
    grid-template-columns:minmax(210px,1fr) minmax(300px,1.2fr);
  }
  .repair-intake-borrower{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .google-import-choice-grid{grid-template-columns:1fr;}
  .repair-intake-filters{
    grid-template-columns:1fr;
  }
  .repair-intake-work-item,
  .repair-intake-work-form{
    grid-template-columns:1fr;
  }
}


.managed-asset-modal{max-width:820px;}
.managed-import-review-modal{
  width:min(900px,calc(100vw - 44px))!important;
  height:min(820px,calc(100vh - 44px))!important;
  max-height:calc(100vh - 44px)!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.managed-import-review-modal>.modal-head{
  margin:0!important;
  padding:20px 22px 14px!important;
  border-bottom:1px solid #dbe5f2;
}
.managed-import-review-modal [data-managed-import-form]{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
}
.managed-import-review-modal .google-import-guardrail-body{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:18px 22px;
}
.managed-import-review-modal .managed-import-actions{
  margin:0;
  padding:14px 22px 18px;
  border-top:1px solid #dbe5f2;
  background:#fff;
  flex:0 0 auto;
}
.managedAssetSourceModal .managed-asset-modal,
#managedAssetSourceModal .managed-asset-modal{
  width:min(860px,calc(100vw - 44px))!important;
  max-width:860px;
  padding:22px!important;
}
.managed-asset-modal.wide{
  width:min(1080px,calc(100vw - 44px))!important;
  max-width:1080px;
  padding:22px!important;
}
.managed-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.managed-source-card{display:flex;align-items:flex-start;gap:16px;text-align:left;border:1px solid #dbe5f2;border-radius:14px;background:#fff;padding:20px;cursor:pointer;color:#0f172a;transition:.15s ease;min-height:132px;}
.managed-source-card:hover{border-color:#93c5fd;box-shadow:0 12px 28px rgba(37,99,235,.12);transform:translateY(-1px);}
.managed-source-card.is-disabled{opacity:.55;cursor:not-allowed;background:#f8fafc;}
.managed-source-card.is-disabled:hover{transform:none;box-shadow:none;border-color:#dbe5f2;}
.managed-source-card b,.managed-source-card small{display:block;}
.managed-source-card small{margin-top:6px;color:#64748b;line-height:1.45;font-weight:500;font-size:12px;max-width:240px;}
.managed-source-card b{font-size:14px;line-height:1.2;font-weight:900;}
.managed-source-card.is-disabled small{color:#7b8798;}
.managed-source-logo{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#f8fafc;border:1px solid #e2e8f0;flex:0 0 auto;}
.managed-source-logo img{width:29px;height:29px;}
.managed-source-logo.jamf-source-logo img{width:32px;height:32px;border-radius:10px;}
.managed-asset-search-form{display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:16px;align-items:end;margin:4px 0 20px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;}
.managed-search-input{position:relative;display:block;}
.managed-search-input span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;width:17px;height:17px;pointer-events:none;}
.managed-search-input input{height:42px;padding-left:38px;font-size:14px;}
.managed-asset-search-form .primary{min-height:42px;padding-left:18px;padding-right:18px;white-space:nowrap;}
.managed-search-results{display:grid;gap:14px;max-height:60vh;overflow:auto;padding:2px 6px 2px 0;}
.managed-device-card{border:1px solid #dbe5f2;border-radius:14px;background:#fff;padding:14px;display:grid;gap:12px;}
.managed-device-main{display:flex;align-items:center;gap:12px;min-width:0;}
.managed-device-main b,.managed-device-main span,.managed-device-main small{display:block;}
.managed-device-main span{font-weight:800;color:#334155;margin-top:2px;}
.managed-device-main small{color:#64748b;margin-top:2px;}
.managed-device-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.managed-device-meta div{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:9px;min-width:0;}
.managed-device-meta small{display:block;color:#64748b;font-weight:900;font-size:11px;text-transform:uppercase;margin-bottom:3px;}
.managed-device-meta b{display:block;font-size:12px;color:#0f172a;overflow-wrap:anywhere;}
.managed-device-missing{padding:10px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;color:#92400e;}
.managed-device-missing b,.managed-device-missing span{display:block;}
.managed-device-missing span{margin-top:3px;font-size:12px;font-weight:800;overflow-wrap:anywhere;}
.managed-search-empty{display:grid;place-items:center;text-align:center;gap:8px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;padding:26px;color:#64748b;}
.managed-search-empty .ui-icon{width:28px;height:28px;color:#2563eb;}
.managed-search-empty img{width:30px;height:30px;border-radius:8px;}
.managed-search-empty b{color:#0f172a;}
.managed-search-error{margin-bottom:12px;}
.managed-location-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:12px;align-items:end;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;padding:12px;margin-top:12px;}
.managed-location-panel[hidden]{display:none!important;}
.managed-location-panel b,.managed-location-panel small{display:block;}
.managed-location-panel b{color:#1e3a8a;font-size:13px;font-weight:900;}
.managed-location-panel small{color:#475569;font-size:12px;font-weight:800;line-height:1.35;margin-top:3px;}
.managed-location-panel label{margin:0;color:#334155;font-weight:900;}
.managed-location-panel select{height:38px;background:#fff;}
@media(max-width:760px){.managed-source-grid,.managed-device-meta,.managed-search-form,.managed-location-panel{grid-template-columns:1fr;}}
@media(max-width:760px){
  .managed-import-review-modal{
    width:calc(100vw - 20px)!important;
    height:calc(100dvh - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
  .managed-import-review-modal>.modal-head,
  .managed-import-review-modal .google-import-guardrail-body,
  .managed-import-review-modal .managed-import-actions{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}
.google-cron-status-panel,
.jamf-cron-status-panel{
  margin-top:14px;
  padding:13px;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#f8fafc;
}
.google-cron-status-panel .section-head,
.jamf-cron-status-panel .section-head{
  margin-bottom:10px;
}
.google-cron-status-panel h3,
.jamf-cron-status-panel h3{
  margin:0;
  font-size:15px;
}
.google-cron-last-context,
.jamf-cron-last-context{
  margin:10px 0 0;
  padding:10px;
  border-radius:10px;
  background:#fff;
  border:1px solid #e2e8f0;
  overflow-wrap:anywhere;
}
.google-preview-filters{
  display:grid;
  grid-template-columns:minmax(260px,1.3fr) repeat(4,minmax(150px,1fr)) auto auto;
  gap:9px;
  align-items:center;
  margin:0 0 12px;
}
.google-preview-filters select,
.google-preview-filters input{
  width:100%;
  height:38px;
  border:1px solid #d6e1ef;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  font-size:13px;
  font-weight:700;
}
.google-preview-search{
  position:relative;
  display:block;
}
.google-preview-search span{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  color:#64748b;
  width:16px;
  height:16px;
  pointer-events:none;
}
.google-preview-search input{
  padding-left:35px;
}
.google-preview-count{
  justify-self:end;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
@media(max-width:1180px){
  .google-preview-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .google-preview-count{justify-self:start;}
}
@media(max-width:680px){
  .google-preview-filters{grid-template-columns:1fr;}
}
.google-preview-wrap{
  border:1px solid #dbe5f2!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff;
}
.google-preview-table{
  min-width:980px;
}
.google-preview-table th:first-child,
.google-preview-table td:first-child{
  width:42px;
  text-align:center;
}
.google-preview-table input[type="checkbox"]{
  width:17px;
  height:17px;
  accent-color:#2563eb;
}
.google-import-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  background:#ecfdf3;
  color:#047857;
  border:1px solid #a7f3d0;
}
.google-import-state.update-existing{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
.google-import-state.already-managed{
  background:#f8fafc;
  color:#475569;
  border-color:#cbd5e1;
}

/* Rich Google Workspace asset detail tab */
.mini-google-tab{
  width:18px!important;
  height:18px!important;
  border:0!important;
  background:transparent!important;
}
.mini-google-tab img{
  width:17px;
  height:17px;
}
.mini-jamf-tab{
  width:18px!important;
  height:18px!important;
  display:grid!important;
  place-items:center!important;
}
.mini-jamf-tab img{
  width:18px!important;
  height:18px!important;
  object-fit:contain!important;
  border-radius:5px!important;
}
.google-detail-tab .section-head{
  align-items:flex-start;
}
.google-detail-tab .section-head h3{
  margin-bottom:3px;
}
.google-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.google-detail-card{
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
  overflow:hidden;
}
.jamf-detail-card{
  border-color:#cdebdc;
}
.google-detail-card h4{
  margin:0;
  padding:13px 15px;
  border-bottom:1px solid #e6edf6;
  color:#0f172a;
  font-size:14px;
}
.google-detail-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.google-detail-list div{
  min-width:0;
  padding:12px 14px;
  border-bottom:1px solid #edf2f7;
}
.google-detail-list div:nth-child(odd){
  border-right:1px solid #edf2f7;
}
.google-detail-list div:nth-last-child(-n+2){
  border-bottom:0;
}
.google-detail-list small{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.google-detail-list b{
  display:block;
  color:#111827;
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
@media(max-width:1000px){
  .google-detail-grid{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .google-detail-list{grid-template-columns:1fr;}
  .google-detail-list div:nth-child(odd){border-right:0;}
  .google-detail-list div:nth-last-child(-n+2){border-bottom:1px solid #edf2f7;}
  .google-detail-list div:last-child{border-bottom:0;}
}
.google-preview-table th{
  background:#f8fafc!important;
  color:#334155!important;
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:0;
}
.google-preview-table td{
  vertical-align:middle;
  padding-top:11px!important;
  padding-bottom:11px!important;
}
.google-preview-table tbody tr:hover{
  background:#f8fbff;
}
.google-device-cell{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.google-device-cell b,
.google-preview-table td>b{
  display:block;
  color:#0f172a;
  font-size:13px;
}
.google-device-cell small,
.google-preview-table .subtext{
  color:#64748b;
  font-weight:700;
  font-size:12px;
}

.asset-toolbar-controls,
.toolbar-actions.asset-toolbar-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  flex-wrap:wrap!important;
  white-space:normal!important;
}

.asset-dashboard-search{
  height:42px!important;
  width:min(420px,100%)!important;
  min-width:300px!important;
  border:1px solid #dbe5f2!important;
  border-radius:13px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 13px!important;
  box-shadow:0 10px 22px rgba(20,32,60,.045)!important;
}

.asset-dashboard-search .ui-icon{
  width:16px!important;
  height:16px!important;
  color:#64748b!important;
}

.asset-dashboard-search-trigger{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#64748b!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  cursor:pointer!important;
}

.asset-dashboard-search input{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:700!important;
}

.asset-dashboard-search input::placeholder{
  color:#94a3b8!important;
}

.asset-toolbar-controls .asset-dashboard-search{
  display:none!important;
}

.asset-toolbar-controls .add-asset-dashboard-btn{
  height:42px!important;
  min-height:42px!important;
  border-radius:11px!important;
  padding:0 16px!important;
  box-shadow:0 12px 24px rgba(37,99,235,.2)!important;
}

.asset-toolbar-controls .toolbar-icon-btn{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:14px!important;
  display:inline-grid!important;
  place-items:center!important;
  gap:0!important;
}

.asset-toolbar-controls .toolbar-icon-btn .ui-icon{
  width:21px!important;
  height:21px!important;
  stroke-width:2.45!important;
}

.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:50px!important;
  min-width:50px!important;
  height:50px!important;
  min-height:50px!important;
  border-radius:15px!important;
}

.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn .ui-icon{
  width:24px!important;
  height:24px!important;
  stroke-width:2.8!important;
}

.dashboard-tool-btn,
.asset-toolbar-controls .columns-btn{
  height:42px!important;
  border-radius:11px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-weight:900!important;
}

.dashboard-tool-btn .ui-icon,
.asset-toolbar-controls .columns-btn .ui-icon{
  width:17px!important;
  height:17px!important;
  stroke-width:2.35!important;
}
.asset-toolbar-controls .add-asset-dashboard-btn .ui-icon{
  width:18px!important;
  height:18px!important;
  stroke-width:2.7!important;
}

.asset-toolbar-controls .bulk-edit-control{
  height:42px!important;
  width:180px!important;
  min-width:180px!important;
  border-radius:11px!important;
}

.asset-table-wrap{
  border-radius:14px!important;
  border:1px solid #e1e8f2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}

.asset-table th[data-col="actions"],
.asset-table td[data-col="actions"]{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.025)!important;
}

.row-actions.row-actions-clean{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  padding:3px!important;
  border:1px solid #e5edf7!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}

.row-actions-clean .table-action{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  padding:0!important;
  border-radius:9px!important;
  display:inline-grid!important;
  place-items:center!important;
}

.row-actions-clean .table-action .ui-icon{
  width:15px!important;
  height:15px!important;
}

.row-actions-clean .primary-action{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
}

.row-actions-clean .secondary-table-action,
.row-actions-clean .more-action{
  background:#fff!important;
  border-color:#dbe5f2!important;
  color:#334155!important;
}

.row-actions-clean .secondary-table-action:hover,
.row-actions-clean .more-action:hover{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#2563eb!important;
}

.row-actions-clean .table-action-dropdown{
  display:inline-flex!important;
}

.row-actions-clean .table-action-menu-panel{
  right:0!important;
  top:calc(100% + 8px)!important;
}

@media(max-width:1180px){
  .asset-table-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .asset-toolbar-controls,
  .toolbar-actions.asset-toolbar-controls{
    justify-content:flex-start!important;
  }
}

/* Full-height dashboard workspace. */
body:has(.asset-snapshot-card){
  min-height:100vh!important;
}

.main:has(.asset-snapshot-card){
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  padding-bottom:18px!important;
}

.asset-snapshot-card{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:calc(100vh - 138px)!important;
}

.asset-snapshot-card form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}

.asset-snapshot-card .asset-table-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

.asset-snapshot-card .asset-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}

.asset-snapshot-card .asset-table th,
.asset-snapshot-card .asset-table td{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.asset-snapshot-card .asset-table th[data-col="cost"],
.asset-snapshot-card .asset-table td[data-col="cost"],
.asset-snapshot-card .asset-table th[data-col="warranty"],
.asset-snapshot-card .asset-table td[data-col="warranty"]{
  display:revert;
}

.asset-snapshot-card .asset-table th[data-col="select"],
.asset-snapshot-card .asset-table td[data-col="select"]{
  width:42px!important;
}

.asset-snapshot-card .asset-table th[data-col="asset"],
.asset-snapshot-card .asset-table td[data-col="asset"]{
  width:290px!important;
}

.asset-snapshot-card .asset-table th[data-col="category"],
.asset-snapshot-card .asset-table td[data-col="category"]{
  width:160px!important;
}

.asset-snapshot-card .asset-table th[data-col="assigned"],
.asset-snapshot-card .asset-table td[data-col="assigned"],
.asset-snapshot-card .asset-table th[data-col="teacher"],
.asset-snapshot-card .asset-table td[data-col="teacher"]{
  width:184px!important;
}

.asset-snapshot-card .asset-table th[data-col="location"],
.asset-snapshot-card .asset-table td[data-col="location"]{
  width:210px!important;
}

.asset-snapshot-card .asset-table th[data-col="status"],
.asset-snapshot-card .asset-table td[data-col="status"],
.asset-snapshot-card .asset-table th[data-col="condition"],
.asset-snapshot-card .asset-table td[data-col="condition"]{
  width:112px!important;
}

.asset-snapshot-card .asset-table th[data-col="source"],
.asset-snapshot-card .asset-table td[data-col="source"]{
  width:170px!important;
  min-width:170px!important;
}

.asset-snapshot-card .asset-table th[data-col="actions"],
.asset-snapshot-card .asset-table td[data-col="actions"]{
  width:124px!important;
  min-width:124px!important;
}

.asset-snapshot-card .asset-main,
.asset-snapshot-card .person-cell{
  min-width:0!important;
}

.asset-snapshot-card .asset-title,
.asset-snapshot-card .person-cell > div:last-child{
  min-width:0!important;
  overflow:hidden!important;
}

.asset-snapshot-card .asset-title span,
.asset-snapshot-card .subtext{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Header, sidebar, and action-menu polish. */
.topbar{
  height:86px!important;
  padding:0 0 0 0!important;
  margin-bottom:10px!important;
  align-items:center!important;
  gap:16px!important;
}

.topbar .global-search{
  display:flex!important;
  flex:1 1 720px!important;
  max-width:860px!important;
  height:48px!important;
  margin-left:10px!important;
  border:1px solid #dbe5f2!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 40px rgba(15,23,42,.07)!important;
  align-items:center!important;
  padding:0 14px!important;
}

.topbar .global-search > span{
  width:26px!important;
  height:26px!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  color:transparent!important;
  background:#eff6ff!important;
  position:relative!important;
  flex:0 0 auto!important;
}

.topbar .global-search span:before{
  content:""!important;
  width:12px!important;
  height:12px!important;
  border:2px solid #2563eb!important;
  border-radius:50%!important;
  display:block!important;
}

.topbar .global-search span:after{
  content:""!important;
  width:7px!important;
  height:2px!important;
  background:#2563eb!important;
  transform:rotate(45deg)!important;
  position:absolute!important;
  left:16px!important;
  top:17px!important;
  border-radius:999px!important;
}

.topbar .global-search input{
  border:0!important;
  outline:0!important;
  height:100%!important;
  width:100%!important;
  background:transparent!important;
  padding:0 10px!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:800!important;
}

.topbar .global-search input::placeholder{
  color:#94a3b8!important;
}

.topbar .search-suggestions{
  top:calc(100% + 10px)!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  padding:8px!important;
  border:1px solid #dbe5f2!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 22px 54px rgba(15,23,42,.18)!important;
  z-index:10000!important;
}

.global-search-result{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  padding:10px!important;
  border-radius:12px!important;
  color:#0f172a!important;
  text-decoration:none!important;
}

.global-search-result:hover{
  background:#f8fafc!important;
}

.global-search-result img,
.global-search-result > span{
  width:44px!important;
  height:44px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  object-fit:contain!important;
  background:#eef2f7!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:900!important;
}

.global-search-result strong,
.global-search-result small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.global-search-result strong{
  font-size:13.5px!important;
  font-weight:900!important;
}

.global-search-result small{
  margin-top:3px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:600!important;
}

.global-search-result em{
  font-style:normal!important;
  color:#475569!important;
  background:#f1f5f9!important;
  border:1px solid #e2e8f0!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  font-size:10px!important;
  font-weight:900!important;
}

.global-search-head{
  gap:12px!important;
}
.global-search-head span{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.global-search-exact-miss{
  display:grid!important;
  gap:3px!important;
  margin:2px 2px 8px!important;
  padding:11px 12px!important;
  border:1px solid #fed7aa!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#fff7ed,#fffbeb)!important;
  color:#7c2d12!important;
}
.global-search-exact-miss strong{
  font-size:13px!important;
  font-weight:950!important;
}
.global-search-exact-miss small{
  color:#9a3412!important;
  font-size:12px!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.global-search-divider{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:9px!important;
  margin:4px 3px 8px!important;
  color:#64748b!important;
}
.global-search-divider::before,
.global-search-divider::after{
  content:""!important;
  display:block!important;
  height:1px!important;
  background:#dbe5f2!important;
}
.global-search-divider b{
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.global-search-result .global-search-visual{
  overflow:hidden!important;
}
.global-search-result img.global-search-person-photo{
  border-radius:999px!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#eef2f7!important;
}

.global-search-empty{
  padding:14px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:800!important;
}

.topbar-right{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}

.topbar-user{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:190px!important;
  border:1px solid #dbe5f2!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:8px 12px!important;
  box-shadow:0 10px 22px rgba(20,32,60,.06)!important;
}

.topbar-user strong,
.topbar-user span{
  display:block!important;
  line-height:1.15!important;
}

.topbar-user strong{
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
}

.topbar-user span{
  margin-top:3px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}

.sidebar{
  padding:18px 14px!important;
  background:linear-gradient(180deg,#0b1d31 0%,#10263e 100%)!important;
}

.brand{
  padding:0 4px 18px!important;
  margin-bottom:8px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.sidebar nav{
  display:grid!important;
  gap:4px!important;
}

.sidebar nav a,
.sidebar nav summary{
  min-height:40px!important;
  border-radius:11px!important;
  font-weight:800!important;
}

.sidebar nav a:hover,
.nav-accordion summary:hover{
  background:rgba(255,255,255,.08)!important;
}

.sidebar nav a.active{
  background:#284261!important;
  box-shadow:inset 3px 0 0 #ffc247!important;
}

.asset-snapshot-card .asset-table-wrap{
  overflow:visible!important;
}

.asset-snapshot-card{
  overflow:visible!important;
}

.asset-snapshot-card .asset-table th[data-col="actions"],
.asset-snapshot-card .asset-table td[data-col="actions"]{
  position:static!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  padding-right:12px!important;
  box-shadow:none!important;
}

.asset-snapshot-card .actions-cell{
  overflow:visible!important;
}

.asset-snapshot-card .row-actions.row-actions-clean{
  gap:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  justify-content:flex-end!important;
}

.asset-snapshot-card .table-action-dropdown{
  position:relative!important;
}

.asset-row-action-summary{
  width:auto!important;
  min-width:92px!important;
  height:34px!important;
  padding:0 10px 0 12px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
}

.row-actions-clean .asset-row-action-summary{
  width:auto!important;
  min-width:92px!important;
  display:inline-flex!important;
}

.asset-row-action-summary .ui-icon{
  width:14px!important;
  height:14px!important;
}

.asset-snapshot-card .table-action-menu-panel{
  position:fixed!important;
  top:auto!important;
  right:auto!important;
  z-index:10000!important;
  min-width:170px!important;
  padding:7px!important;
  border:1px solid #dbe5f2!important;
  background:#fff!important;
  box-shadow:0 18px 40px rgba(15,23,42,.16)!important;
}

.asset-snapshot-card .table-action-menu-panel a{
  padding:10px 11px!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  .topbar{
    height:auto!important;
    align-items:flex-start!important;
  }
  .topbar-right{
    flex-wrap:wrap!important;
  }
  .topbar-user{
    min-width:0!important;
  }
}

/* Modern navigation header concept. */
.topbar{
  min-height:92px!important;
  padding:16px 18px!important;
  margin:0 -18px 18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%)!important;
  border-bottom:1px solid #e2e8f0!important;
  box-shadow:0 10px 28px rgba(15,23,42,.045)!important;
}

.topbar-context{
  min-width:190px!important;
  display:grid!important;
  gap:3px!important;
}

.topbar-context strong{
  color:#0f172a!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1!important;
}

.topbar-context span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
}

.topbar .back{
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
}

.topbar .global-search{
  height:54px!important;
  max-width:780px!important;
  border-radius:18px!important;
  border-color:#d8e1ee!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
}

.topbar .global-search:focus-within{
  border-color:#f5b83d!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08),0 0 0 4px rgba(255,194,71,.16)!important;
}

.topbar .global-search span{
  width:34px!important;
  height:34px!important;
  background:#102033!important;
  color:#fff!important;
}

.topbar .global-search span:before{
  display:none!important;
}

.topbar .global-search span:after{
  display:none!important;
}

.topbar .global-search span .ui-icon{
  width:17px!important;
  height:17px!important;
  color:#fff!important;
}

.topbar-right{
  padding:6px!important;
  border:1px solid #dbe5f2!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}

.topicons{
  gap:7px!important;
}

.topicons>span{
  width:36px!important;
  height:36px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #dbe5f2!important;
  color:#475569!important;
}

.topicons .school{
  width:auto!important;
  min-width:118px!important;
  padding:6px 10px!important;
  display:grid!important;
  place-items:center!important;
  line-height:1.05!important;
}

.topbar-user{
  min-width:190px!important;
  border-radius:14px!important;
  border:0!important;
  box-shadow:none!important;
  background:#fff!important;
}

@media(max-width:1250px){
  .topbar-context{
    display:none!important;
  }
  .topbar .global-search{
    max-width:none!important;
  }
}

.asset-d3-title-row h1{
  margin-top:0!important;
}

/* Asset header rebalance: wider identity card, tighter assignment profile. */
@media(min-width:1320px){
  .asset-design3-shell{
    grid-template-columns:minmax(690px,1.7fr) minmax(320px,.72fr) minmax(330px,.72fr)!important;
    gap:14px!important;
  }
}
.asset-d3-main-card{
  min-height:232px!important;
  padding:16px 18px!important;
}
.asset-d3-copy{
  padding-right:8px!important;
}
.asset-d3-title-row{
  padding-right:170px!important;
}
.asset-d3-title-row h1{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  max-width:100%!important;
  font-size:24px!important;
  line-height:1.12!important;
}
.asset-status-corner{
  top:18px!important;
  right:18px!important;
}
.asset-status-actions{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  display:grid!important;
  grid-template-columns:minmax(108px,auto) 40px!important;
  grid-template-rows:auto auto!important;
  align-items:start!important;
  justify-content:end!important;
  column-gap:8px!important;
  row-gap:7px!important;
  max-width:265px!important;
  z-index:3!important;
}
.asset-status-actions .asset-status-corner{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:stretch!important;
  position:static!important;
  top:auto!important;
  right:auto!important;
  margin:0!important;
  text-align:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.asset-alert-hero-btn{
  grid-column:2!important;
  grid-row:1!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  padding:0!important;
  border-radius:12px!important;
  justify-content:center!important;
}
.asset-alert-hero-btn .ui-icon{
  width:18px!important;
  height:18px!important;
}
.hero-presence-pill{
  grid-column:1!important;
  grid-row:2!important;
  justify-self:stretch!important;
  margin-left:0!important;
  min-height:28px!important;
  padding:5px 10px!important;
  justify-content:center!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}
.asset-d3-chips .device-presence-pill:not(.hero-presence-pill){
  display:none!important;
}
.asset-identity-lines{
  gap:7px!important;
  margin-top:14px!important;
}
.asset-identity-lines div{
  grid-template-columns:58px minmax(0,1fr)!important;
}
.asset-identity-lines span{
  font-size:11px!important;
}
.asset-identity-lines b{
  font-size:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.assignment-d3-card{
  min-height:232px!important;
  padding:14px!important;
  gap:10px!important;
}
.assignment-clean-title{
  padding-bottom:8px!important;
}
.assignment-clean-person{
  margin-top:0!important;
  padding:13px 14px!important;
  grid-template-columns:50px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-content:center!important;
}
.assignment-d3-card .avatar.lg{
  width:50px!important;
  height:50px!important;
  font-size:17px!important;
}
.assignment-clean-copy h2{
  font-size:22px!important;
  line-height:1.05!important;
  margin:0 0 8px!important;
}
.assignment-clean-copy p{
  font-size:12px!important;
  line-height:1.32!important;
}
.assignment-detail-list{
  gap:3px!important;
}
.assignment-email{
  font-size:11.5px!important;
}
@media(max-width:1319px){
  .asset-design3-shell{
    grid-template-columns:1fr!important;
  }
}

/* Google-managed asset guardrails and checkout mismatch review */
.sync-section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.sync-managed-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  border-radius:50%;
  padding:0;
  width:30px;
  height:30px;
}
.sync-managed-badge .google-admin-action-mark{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
}
.sync-managed-badge .google-admin-action-mark img{
  width:18px;
  height:18px;
  display:block;
}
input.synced-field[readonly],
select.synced-field:disabled{
  border-color:#dbeafe!important;
  background:#f8fbff!important;
  color:#334155!important;
  cursor:not-allowed;
}
input.permission-locked-field[readonly],
select.permission-locked-field:disabled{
  border-color:#e5e7eb!important;
  background:#f8fafc!important;
  color:#64748b!important;
  cursor:not-allowed;
}
.device-presence-pill{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  min-height:30px;
  border-radius:999px;
  border:1px solid #dbe5f2;
  background:#f8fafc;
  color:#475569;
  padding:5px 10px!important;
  font-size:12px;
  font-weight:950;
  line-height:1;
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}
.device-presence-pill i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#94a3b8;
  box-shadow:0 0 0 4px rgba(148,163,184,.15);
  flex:0 0 auto;
}
.device-presence-pill small{
  color:inherit;
  font-size:10px;
  font-weight:900;
  opacity:.76;
}
.device-presence-pill.online{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#047857;
}
.device-presence-pill.online i{
  background:#22c55e;
  box-shadow:0 0 0 5px rgba(34,197,94,.16);
  animation:presencePulse 1.8s ease-out infinite;
}
.device-presence-pill.recent{
  border-color:#fde68a;
  background:#fffbeb;
  color:#b45309;
}
.device-presence-pill.recent i{
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.16);
}
.device-presence-pill.offline{
  border-color:#fecaca;
  background:#fef2f2;
  color:#b91c1c;
}
.device-presence-pill.offline i{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.14);
}
.device-presence-pill.disabled{
  border-color:#fecdd3;
  background:#fff1f2;
  color:#be123c;
}
.device-presence-pill.disabled i{
  background:#e11d48;
  box-shadow:0 0 0 5px rgba(225,29,72,.14);
}
@keyframes presencePulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.38);}
  70%{box-shadow:0 0 0 8px rgba(34,197,94,0);}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}
}
.google-mismatch-alert{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:12px 0;
  padding:14px 16px;
  border:1px solid #fed7aa;
  background:linear-gradient(135deg,#fff7ed,#ffffff 58%,#eff6ff);
  border-radius:14px;
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
.mismatch-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#c2410c;
  background:#ffedd5;
  border:1px solid #fed7aa;
}
.mismatch-icon .ui-icon{
  width:21px;
  height:21px;
}
.mismatch-copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.mismatch-copy strong{
  color:#9a3412;
  font-size:15px;
}
.mismatch-copy span{
  color:#475569;
  font-weight:800;
  line-height:1.45;
}
.mismatch-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.google-mismatch-highlight{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
  box-shadow:inset 4px 0 0 #f97316;
}
.google-mismatch-highlight .overview-d3-icon{
  background:#ffedd5!important;
  color:#c2410c!important;
}
.google-mismatch-highlight em{
  display:block;
  margin-top:4px;
  color:#c2410c;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.mismatch-review-modal{
  width:min(760px,100%)!important;
  padding:18px!important;
}
.mismatch-review-modal .modal-head p{
  margin:4px 0 0;
  color:#64748b;
  font-weight:800;
}
.mismatch-review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0;
}
.mismatch-review-card{
  border:1px solid #dbe5f2;
  border-radius:14px;
  padding:14px;
  display:grid;
  gap:5px;
  min-height:118px;
}
.mismatch-review-card small{
  color:#64748b;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.mismatch-review-card strong{
  color:#0f172a;
  font-size:20px;
}
.mismatch-review-card span{
  color:#475569;
  font-weight:800;
  overflow-wrap:anywhere;
}
.mismatch-review-card em{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:5px 8px;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.mismatch-review-card.source-truth{
  background:linear-gradient(180deg,#eff6ff,#fff);
  border-color:#bfdbfe;
}
.mismatch-review-card.source-truth em{
  color:#1d4ed8;
  background:#dbeafe;
}
.mismatch-review-card.google-signal{
  background:linear-gradient(180deg,#fff7ed,#fff);
  border-color:#fed7aa;
}
.mismatch-review-card.google-signal em{
  color:#c2410c;
  background:#ffedd5;
}
.mismatch-guidance{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:12px;
}
.mismatch-guidance strong{
  display:block;
  color:#0f172a;
  margin-bottom:4px;
}
.mismatch-guidance p{
  margin:0;
  color:#475569;
  font-weight:800;
  line-height:1.45;
}
.mismatch-note-form .modal-actions{
  margin-top:12px;
}
@media(max-width:760px){
  .google-mismatch-alert{
    grid-template-columns:1fr;
  }
  .mismatch-actions{
    justify-content:flex-start;
  }
  .mismatch-review-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:1280px){
  .tab-panel.active:not(#overview){
    padding:16px!important;
  }
}

/* Asset page action center and stronger device presence */
.asset-d3-chips .device-presence-pill{
  min-height:34px!important;
  padding:7px 12px!important;
  gap:8px!important;
  font-size:13px!important;
  font-weight:950!important;
  border-width:1px!important;
  box-shadow:0 10px 22px rgba(15,23,42,.10)!important;
}
.asset-d3-chips .device-presence-pill i{
  width:12px!important;
  height:12px!important;
}
.asset-d3-chips .device-presence-pill small{
  font-size:10px!important;
  margin-left:2px;
}
.asset-d3-chips .device-presence-pill.online{
  background:#dcfce7!important;
  border-color:#86efac!important;
  color:#065f46!important;
}
.asset-d3-chips .device-presence-pill.recent{
  background:#fef3c7!important;
  border-color:#f59e0b!important;
  color:#78350f!important;
}
.asset-d3-chips .device-presence-pill.offline{
  background:#fee2e2!important;
  border-color:#f87171!important;
  color:#7f1d1d!important;
}
.action-center-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.45fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  border-left:0!important;
  border-top:4px solid #2563eb!important;
  padding:16px 18px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
.action-center-main{
  min-width:0;
}
.action-center-card small{
  display:block;
  color:#2563eb!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase;
  letter-spacing:.04em!important;
}
.action-center-card h2{
  margin:5px 0 6px!important;
  font-size:20px!important;
  line-height:1.2!important;
  color:#0f172a!important;
}
.action-center-card p{
  margin:0 0 12px!important;
}
.action-center-signals{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.action-signal{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  border:1px solid #dbe5f2;
  background:#fff;
  color:#475569;
  padding:5px 10px;
  font-size:11px;
  font-weight:900;
}
.action-signal.warn{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}
.action-signal.bad{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}
.action-signal.ok{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#047857;
}
.action-signal.neutral{
  border-color:#e2e8f0;
  background:#f8fafc;
}
.action-center-steps{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:12px;
  align-content:center;
}
.action-step{
  display:grid;
  gap:4px;
}
.action-step b{
  color:#0f172a;
  font-size:14px;
}
.action-step span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.action-center-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.action-center-buttons .btn,
.action-center-buttons button{
  min-height:34px!important;
}
@media(max-width:900px){
  .action-center-card{
    grid-template-columns:1fr!important;
  }
}

/* Asset detail icon rail: make the section navigation feel intentional. */
section.card:has(.tabs.icon-tabs){
  padding:16px 18px 18px!important;
  border-color:#d8e2f0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
}
.tabs.icon-tabs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0 0 18px!important;
  padding:10px!important;
  min-height:58px!important;
  border:1px solid #d8e2f0!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#f8fafc,#eef4fb)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 26px rgba(15,23,42,.06)!important;
  overflow:visible!important;
}
.tabs.icon-tabs a{
  position:relative!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:#41546d!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.tabs.icon-tabs a .ui-icon{
  width:19px!important;
  height:19px!important;
  stroke-width:2.15!important;
}
.tabs.icon-tabs a:hover{
  background:#ffffff!important;
  border-color:#cbd8e8!important;
  color:#0f172a!important;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}
.tabs.icon-tabs a.active{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#ffffff!important;
  box-shadow:0 12px 24px rgba(37,99,235,.26)!important;
}
.tabs.icon-tabs a.active::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:calc(100% + 7px)!important;
  width:22px!important;
  height:3px!important;
  border:0!important;
  border-radius:999px!important;
  background:#2563eb!important;
  transform:translateX(-50%)!important;
  opacity:1!important;
  box-shadow:none!important;
}
.tabs.icon-tabs a b{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 5px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  border:2px solid #f8fafc!important;
  background:#dbe5f2!important;
  color:#24364f!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 4px 10px rgba(15,23,42,.12)!important;
}
.tabs.icon-tabs a.active b{
  background:#fbbf24!important;
  color:#111827!important;
  border-color:#ffffff!important;
}
@media(max-width:760px){
  .tabs.icon-tabs{
    gap:8px!important;
    padding:9px!important;
  }
  .tabs.icon-tabs a{
    flex-basis:40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
  }
}

/* Asset-specific alert tray in the header */
.asset-alert-header-btn{
  position:relative;
  min-width:42px!important;
  height:38px!important;
  padding:0 10px!important;
  border:1px solid #fed7aa!important;
  border-radius:12px!important;
  background:#fff7ed!important;
  color:#c2410c!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:0!important;
  box-shadow:0 10px 22px rgba(194,65,12,.12)!important;
}
.asset-alert-header-btn:hover{
  background:#ffedd5!important;
  border-color:#fb923c!important;
  transform:translateY(-1px);
}
.asset-alert-header-btn .ui-icon{
  width:18px!important;
  height:18px!important;
}
.asset-alert-header-btn b{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:2px solid #fff;
  background:#dc2626;
  color:#fff;
  font-size:10px;
  font-weight:950;
  line-height:1;
  box-shadow:0 6px 14px rgba(220,38,38,.28);
}
.asset-alerts-modal{
  width:min(680px,100%)!important;
}
.asset-alerts-modal .modal-head p{
  margin:4px 0 0;
  color:#64748b;
  font-weight:800;
}
.asset-alert-list{
  display:grid;
  gap:10px;
}
.asset-alert-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  padding:13px;
}
.asset-alert-item>span,
.asset-alert-empty>span{
  width:38px;
  height:38px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#475569;
  border:1px solid #dbe5f2;
}
.asset-alert-item>span .ui-icon,
.asset-alert-empty>span .ui-icon{
  width:19px;
  height:19px;
}
.asset-alert-item.warn{
  background:linear-gradient(180deg,#fff7ed,#fff);
  border-color:#fed7aa;
}
.asset-alert-item.warn>span{
  background:#ffedd5;
  border-color:#fed7aa;
  color:#c2410c;
}
.asset-alert-item.bad{
  background:linear-gradient(180deg,#fef2f2,#fff);
  border-color:#fecaca;
}
.asset-alert-item.bad>span{
  background:#fee2e2;
  border-color:#fecaca;
  color:#b91c1c;
}
.asset-alert-item strong,
.asset-alert-empty strong{
  display:block;
  color:#0f172a;
  font-size:15px;
}
.asset-alert-item p,
.asset-alert-empty p{
  margin:4px 0 0;
  color:#475569;
  font-weight:800;
  line-height:1.45;
}
.asset-alert-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.asset-alert-empty{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:8px;
  border:1px solid #bbf7d0;
  border-radius:14px;
  background:#f0fdf4;
  padding:18px;
}
.asset-alert-empty>span{
  background:#dcfce7;
  color:#047857;
  border-color:#bbf7d0;
}

/* Official app shell, login, settings, and teacher portal */
.user-menu{
  position:relative;
}
.user-menu summary{
  list-style:none;
  cursor:pointer;
}
.user-menu summary::-webkit-details-marker{
  display:none;
}
.user-menu-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:270px;
  z-index:100;
  border:1px solid #d8e2f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  padding:8px;
  display:none;
}
.user-menu[open] .user-menu-panel{
  display:grid;
}
.user-menu-head{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px;
  border-bottom:1px solid #e2e8f0;
  margin-bottom:5px;
}
.user-menu-head strong,
.user-menu-head span{
  display:block;
}
.user-menu-head span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  overflow-wrap:anywhere;
}
.user-menu-panel a,
.user-menu-panel > button,
.user-menu-panel form button{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border-radius:10px;
  color:#334155;
  font-weight:900;
  text-decoration:none;
}
.user-menu-panel form{
  margin:0;
}
.user-menu-panel > button,
.user-menu-panel form button{
  width:100%;
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.user-menu-panel a:hover,
.user-menu-panel > button:hover,
.user-menu-panel form button:hover{
  background:#f1f5f9;
}
.user-menu-panel .ui-icon{
  width:17px;
  height:17px;
  color:#2563eb;
}
.app-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:22px 0 0;
  padding:13px 16px;
  border-top:1px solid #dbe5f2;
  border-radius:8px 8px 0 0;
  background:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.app-footer span:last-child{
  color:#334155;
  font-weight:950;
}
body:not(.student-shell) .main{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.student-shell) .main > .app-footer{
  margin-top:auto!important;
  margin-bottom:-12px!important;
}
@media(max-width:720px){
  .app-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}
.cc-hr-widget{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.cc-hr-stat{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fbff;
}
.cc-hr-stat>span{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eaf1ff;
  color:#2458d3;
}
.cc-hr-stat .ui-icon{
  width:21px;
  height:21px;
}
.cc-hr-stat strong{
  font-size:26px;
  line-height:1;
  color:#0f172a;
}
.cc-hr-stat small{
  color:#64748b;
  font-weight:900;
}
.cc-hr-list{
  display:grid;
  gap:8px;
}
.cc-hr-list a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px;
  border:1px solid #e5ecf5;
  border-radius:8px;
  background:#fff;
  color:#172033;
  text-decoration:none;
}
.cc-hr-list a:hover{
  background:#f8fbff;
  border-color:#cfe0ff;
}
.cc-hr-list b,
.cc-hr-list small{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cc-hr-list b{
  font-size:12px;
  color:#0f172a;
}
.cc-hr-list small{
  margin-top:2px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.cc-hr-list em{
  max-width:96px;
  border-radius:999px;
  padding:4px 7px;
  background:#eef4ff;
  color:#2458d3;
  font-style:normal;
  font-size:10px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cc-hr-task-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#eef4ff;
  color:#2458d3;
}
.cc-hr-task-icon.warn,
.cc-hr-risk .cc-hr-stat>span{
  background:#fff1f2;
  color:#be123c;
}
.cc-hr-empty{
  padding:14px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fbff;
  color:#64748b;
  font-weight:900;
  text-align:center;
}
.add-asset-modal{
  width:min(980px,calc(100vw - 36px))!important;
  height:min(760px,calc(100vh - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  display:flex!important;
  flex-direction:column!important;
}
.add-asset-modal .asset-edit-head{
  flex:0 0 auto!important;
}
.add-asset-modal .add-asset-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.add-asset-modal .add-asset-shell{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
}
.add-asset-modal .add-asset-aside,
.add-asset-modal .add-asset-content{
  min-height:0!important;
}
.add-asset-modal .add-asset-content{
  overflow:auto!important;
}
.add-asset-modal .asset-edit-actions{
  flex:0 0 auto!important;
  position:relative!important;
  bottom:auto!important;
}
@media(max-width:820px){
  .add-asset-modal{
    height:calc(100vh - 24px)!important;
    width:calc(100vw - 24px)!important;
  }
  .add-asset-modal .add-asset-shell{
    grid-template-columns:1fr!important;
  }
  .add-asset-modal .add-asset-aside{
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
}
.advanced-search-modal{
  width:min(1180px,calc(100vw - 34px))!important;
  height:min(820px,calc(100vh - 34px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
.advanced-search-head{
  flex:0 0 auto;
  padding:18px 20px!important;
  margin:0!important;
  border-bottom:1px solid #dbe5f2;
  background:linear-gradient(135deg,#f8fbff,#eef5ff);
}
.advanced-search-title{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.advanced-search-title h2{
  margin:0 0 3px;
  font-size:24px;
  color:#0f172a;
}
.advanced-search-title p{
  margin:0;
  font-weight:800;
}
.advanced-search-hero-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#2f6ff2;
  color:#fff;
  box-shadow:0 16px 34px rgba(47,111,242,.22);
}
.advanced-search-hero-icon .ui-icon{
  width:30px;
  height:30px;
}
.advanced-search-shell{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);
  gap:0;
  background:#fff;
}
.advanced-search-panel{
  min-height:0;
  overflow:auto;
  padding:20px;
  border-right:1px solid #dbe5f2;
  background:#fbfdff;
}
.advanced-search-preview{
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
}
.advanced-search-query{
  display:grid;
  gap:8px;
  color:#25324a;
  font-size:12px;
  font-weight:950;
}
.advanced-search-query>span{
  height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 12px;
  border:1px solid #bfd0ec;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.advanced-search-query .ui-icon{
  width:20px;
  height:20px;
  color:#2f6ff2;
}
.advanced-search-query input{
  height:44px;
  border:0;
  padding:0;
  outline:0;
  font-size:14px;
  font-weight:850;
}
.advanced-search-group{
  display:grid;
  gap:10px;
  margin-top:16px;
  padding:14px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
}
.advanced-search-group>strong{
  color:#0f172a;
  font-size:14px;
}
.advanced-search-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.advanced-search-group-head strong{
  color:#0f172a;
  font-size:14px;
}
.advanced-search-recent-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.advanced-search-recent-chip{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  color:#25324a;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:6px 10px;
  cursor:pointer;
  max-width:100%;
}
.advanced-search-recent-chip b,
.advanced-search-recent-chip small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.advanced-search-recent-chip b{
  font-size:12px;
}
.advanced-search-recent-chip small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.advanced-search-type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.advanced-search-type-grid label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fbff;
  color:#334155;
  font-weight:900;
}
.advanced-search-type-grid input{
  width:16px;
  height:16px;
}
.advanced-filter-grid,
.advanced-asset-filter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.advanced-filter-grid label,
.advanced-asset-filter-grid label{
  display:grid;
  gap:6px;
  color:#334155;
  font-size:12px;
  font-weight:600;
}
.advanced-filter-grid input,
.advanced-filter-grid select,
.advanced-asset-filter-grid input,
.advanced-asset-filter-grid select{
  height:38px;
  border:1px solid #cfdaea;
  border-radius:8px;
  padding:8px 10px;
  background:#fff;
  font-weight:400;
}
.advanced-filter-grid input::placeholder,
.advanced-asset-filter-grid input::placeholder{
  color:#64748b;
  font-weight:400;
}
.advanced-search-preview-head{
  flex:0 0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.advanced-search-preview-head strong,
.advanced-search-preview-head span{
  display:block;
}
.advanced-search-preview-head strong{
  color:#0f172a;
  font-size:15px;
}
.advanced-search-preview-head span{
  margin-top:2px;
  color:#64748b;
  font-weight:850;
  font-size:12px;
}
.advanced-search-results{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:12px;
  display:grid;
  align-content:start;
  gap:8px;
}
.advanced-search-result-group{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:8px 2px 0;
  padding:7px 8px;
  border-bottom:1px solid #e2e8f0;
  color:#334155;
}
.advanced-search-result-group strong{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.advanced-search-result-group small{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.advanced-search-result{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:11px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
  color:#172033;
  text-decoration:none;
}
.advanced-search-result:hover{
  border-color:#bfd0ff;
  background:#f8fbff;
  box-shadow:0 10px 22px rgba(15,23,42,.07);
}
.advanced-search-result-visual{
  width:42px;
  height:42px;
  border-radius:10px;
  display:grid;
  place-items:center;
  object-fit:cover;
  background:#eef4ff;
  color:#2458d3;
  font-weight:950;
}
.advanced-search-result-copy{
  min-width:0;
}
.advanced-search-result-copy strong,
.advanced-search-result-copy small{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.advanced-search-result-copy strong{
  color:#0f172a;
  font-size:13px;
}
.advanced-search-result-copy small{
  color:#64748b;
  font-weight:800;
  font-size:11px;
}

.advanced-search-result[data-type="asset"] .advanced-search-result-visual,
.advanced-search-result[data-type="loan"] .advanced-search-result-visual{
  width:38px!important;
  height:34px!important;
  border-radius:8px!important;
  object-fit:contain!important;
  padding:4px!important;
  background:#f8fbff!important;
  border:1px solid #e2e8f0!important;
}
.advanced-search-result[data-type="asset"] img.advanced-search-result-visual,
.advanced-search-result[data-type="loan"] img.advanced-search-result-visual{
  max-width:38px!important;
  max-height:34px!important;
}
.advanced-search-result[data-type="person"] img.advanced-search-result-visual,
.advanced-search-result-visual.photo-avatar{
  object-fit:cover!important;
  padding:0!important;
  border-radius:999px!important;
}

.advanced-search-result em{
  align-self:start;
  max-width:150px;
  border-radius:999px;
  padding:5px 8px;
  background:#eef4ff;
  color:#2458d3;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.advanced-search-empty{
  min-height:260px;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  gap:8px;
  color:#64748b;
  border:1px dashed #cbd5e1;
  border-radius:10px;
  background:#f8fbff;
}
.advanced-search-empty span{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2458d3;
  font-size:28px;
}
.advanced-search-empty b{
  color:#0f172a;
  font-size:16px;
}
.advanced-search-empty small{
  max-width:360px;
  font-weight:850;
}
.advanced-search-actions{
  flex:0 0 auto;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2;
  background:#fff;
}
.advanced-search-launch-btn{
  background:#138a5b!important;
  border-color:#138a5b!important;
  color:#fff!important;
}
.advanced-search-launch-btn .ui-icon,
.advanced-search-launch-btn span{
  color:#fff!important;
}
.advanced-search-launch-btn:hover{
  background:#0f754e!important;
  border-color:#0f754e!important;
  box-shadow:0 10px 22px rgba(19,138,91,.2)!important;
}
@media(max-width:900px){
  .advanced-search-modal{
    height:calc(100vh - 24px)!important;
  }
  .advanced-search-shell{
    grid-template-columns:1fr;
  }
  .advanced-search-panel{
    border-right:0;
    border-bottom:1px solid #dbe5f2;
  }
  .advanced-asset-filter-grid,
  .advanced-search-type-grid{
    grid-template-columns:1fr;
  }
}
.paginated-table tr.table-page-hidden{
  display:none!important;
}
.table-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  margin:-6px 0 14px;
  border:1px solid #dbe5f2;
  border-top:0;
  border-radius:0 0 8px 8px;
  background:#f8fbff;
  color:#475569;
  font-size:12px;
  font-weight:900;
}
.table-pagination[hidden]{
  display:none!important;
}
.table-pagination-summary{
  white-space:nowrap;
}
.table-pagination-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.table-pagination-actions label{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:7px;
  color:#475569;
  font-size:12px;
  font-weight:900;
}
.table-pagination-actions select{
  width:auto;
  min-width:74px;
  height:32px;
  padding:5px 28px 5px 8px;
  border-radius:7px;
  font-weight:900;
}
.table-page-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  padding:0;
  border:1px solid #cbd8ea;
  border-radius:7px;
  font-size:16px;
  line-height:1;
  background:#fff;
  color:#1d4ed8;
  text-decoration:none;
  font-weight:950;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.table-page-btn:hover{
  background:#eef5ff;
  border-color:#9bbbea;
  color:#1746a2;
}
.table-page-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  box-shadow:none;
}
.table-page-btn.disabled,
.table-page-btn[aria-disabled="true"]{
  opacity:.45;
  pointer-events:none;
  cursor:not-allowed;
  box-shadow:none;
  color:#64748b;
  background:#f8fafc;
}
.table-col-resizer{
  position:relative;
  display:inline-flex;
  flex:0 0 16px;
  width:16px;
  height:24px;
  margin-left:auto;
  cursor:col-resize;
  touch-action:none;
  z-index:8;
}
.resizable-table th.resizable-th{
  padding-right:18px!important;
}
.table-th-resize-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  min-width:0;
}
.table-th-resize-wrap>button{
  min-width:0;
  flex:1 1 auto;
  justify-content:flex-start;
}
.table-col-resizer:after{
  content:"";
  position:absolute;
  top:3px;
  bottom:3px;
  left:7px;
  width:2px;
  border-radius:999px;
  background:rgba(100,116,139,.08);
}
.table-col-resizer:before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:13px;
  height:22px;
  transform:translate(-50%,-50%);
  border-radius:7px;
  background:
    radial-gradient(circle,rgba(100,116,139,.32) 1.1px,transparent 1.3px) 3px 5px/5px 6px,
    rgba(255,255,255,.62);
  border:1px solid rgba(100,116,139,.09);
  box-shadow:none;
  opacity:.12;
}
.resizable-table th:hover .table-col-resizer:after,
.table-col-resizer:hover:after,
.resizable-table.is-resizing-column .table-col-resizer:after{
  background:#2f6ff2;
}
.resizable-table th:hover .table-col-resizer:before,
.table-col-resizer:hover:before,
.resizable-table.is-resizing-column .table-col-resizer:before{
  opacity:.72;
  border-color:rgba(47,111,242,.42);
}
.resizable-table.is-resizing-column{
  user-select:none;
}
body.is-table-column-resizing,
body.is-table-column-resizing *{
  cursor:col-resize!important;
  user-select:none!important;
}
.resizable-table th,
.resizable-table td{
  overflow:hidden;
  text-overflow:ellipsis;
}
.resizable-table{
  width:max-content;
  min-width:100%;
}
.table-wrap:has(.resizable-table),
.hr-main-table:has(.resizable-table),
.checkout-table-wrap:has(.resizable-table){
  overflow-x:auto;
}
@media(max-width:720px){
  .table-pagination{
    align-items:flex-start;
    flex-direction:column;
  }
  .table-pagination-summary{
    white-space:normal;
  }
  .table-pagination-actions{
    justify-content:flex-start;
  }
}
.login-body{
  min-height:100vh;
  margin:0;
  background:radial-gradient(circle at top left,#dbeafe 0,#f8fafc 38%,#eef2f7 100%);
  display:grid;
  place-items:center;
  padding:28px;
}
.login-shell{
  width:min(1120px,100%);
  min-height:680px;
  display:grid;
  grid-template-columns:1.05fr .85fr;
  border:1px solid #d8e2f0;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 30px 90px rgba(15,23,42,.18);
}
.login-brand-panel{
  background:linear-gradient(135deg,#0b1f36,#12395f 58%,#2563eb);
  color:#fff;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.login-brand-panel.theme-mode,
.login-branding-preview-panel.theme-mode{
  background:var(--login-theme-bg,linear-gradient(135deg,#0b1f36,#12395f 58%,#2563eb))!important;
}
.login-brand-panel.theme-mode .login-panel-photo,
.login-branding-preview-panel.theme-mode .login-branding-preview-image{
  display:none!important;
}
.login-theme-default{--login-theme-bg:linear-gradient(135deg,#0d1f34,#0f243b 58%,#2563eb);}
.login-theme-midnight{--login-theme-bg:linear-gradient(135deg,#050816,#111827 64%,#334155);}
.login-theme-slate{--login-theme-bg:linear-gradient(135deg,#1f2937,#334155 64%,#64748b);}
.login-theme-blue{--login-theme-bg:linear-gradient(135deg,#0b3d91,#1d4ed8 64%,#38bdf8);}
.login-theme-green{--login-theme-bg:linear-gradient(135deg,#064e3b,#047857 64%,#34d399);}
.login-theme-purple{--login-theme-bg:linear-gradient(135deg,#3b0764,#6d28d9 64%,#c084fc);}
.login-brand{
  padding:0;
}
.login-brand-panel h1{
  max-width:520px;
  font-size:46px;
  line-height:1.02;
  margin:80px 0 14px;
  letter-spacing:0;
}
.login-brand-panel p{
  max-width:560px;
  color:#dbeafe;
  font-size:16px;
  line-height:1.6;
}
.login-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.login-proof-grid span{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px;
  color:#dbeafe;
  font-weight:800;
}
.login-proof-grid b{
  display:block;
  color:#fff;
  margin-bottom:4px;
}
.login-card{
  padding:54px;
  display:grid;
  align-content:center;
  gap:18px;
}
.login-eyebrow{
  color:#2563eb;
  font-weight:950;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.05em;
}
.login-card h2{
  margin:6px 0;
  font-size:34px;
}
.login-card p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.login-form{
  display:grid;
  gap:14px;
}
.login-form input{
  min-height:44px;
}
.login-form button{
  min-height:44px;
  border-radius:12px;
}
.settings-hero{
  border:1px solid #d8e2f0;
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f0f7ff);
  padding:22px;
  margin-bottom:16px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}
.settings-hero span{
  color:#2563eb;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.settings-hero h1{
  margin:4px 0;
  font-size:30px;
}
.settings-hero p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.settings-layout{
  display:grid;
  gap:14px;
}
.settings-panel h2{
  margin:0;
}
.settings-accordion{
  padding:0!important;
  overflow:hidden;
}
.settings-accordion>summary{
  list-style:none;
}
.settings-accordion>summary::-webkit-details-marker{
  display:none;
}
.settings-accordion-summary{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  padding:18px 20px;
}
.settings-accordion-summary:before{
  content:"+";
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2f6ff2;
  font-weight:950;
  font-size:20px;
}
.settings-accordion[open]>.settings-accordion-summary:before{
  content:"-";
}
.settings-accordion-summary>span{
  min-width:0;
  flex:1;
}
.settings-accordion-summary p{
  margin:4px 0 0;
}
.settings-accordion-body{
  padding:0 20px 20px;
}
.settings-accordion-body>.form-grid,
.settings-accordion-body>.manual-user-form,
.settings-accordion-body>.permission-role-list{
  margin-top:2px;
}
.user-admin-panel{
  margin:14px 0;
}
.manual-user-form{
  display:grid;
  gap:14px;
  border:1px solid #d8e2f0;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  padding:16px;
  margin-bottom:14px;
}
.manual-user-password-field{
  grid-column:1;
}
.user-permission-picker{
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.user-permission-picker>summary{
  display:grid;
  gap:4px;
  padding:14px;
  cursor:pointer;
}
.user-permission-picker>summary strong,
.user-permission-picker>summary span{
  display:block;
}
.user-permission-picker>summary strong{
  color:#0f172a;
}
.user-permission-picker>strong,
.user-permission-picker>p{
  display:block;
  padding:0 14px;
}
.user-permission-picker>strong{
  padding-top:14px;
  color:#0f172a;
}
.user-permission-picker>p{
  margin:4px 0 0;
}
.access-bundle-picker{
  display:grid;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#f8fbff;
  padding:14px;
}
.access-bundle-picker>strong{
  color:#0f172a;
  font-size:13px;
  font-weight:950;
}
.access-bundle-picker>small{
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.access-bundle-picker>div{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:8px;
}
.access-bundle-picker label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  padding:8px 10px;
  color:#172033;
  font-size:12px;
  font-weight:850;
}
.access-bundle-picker input{
  width:16px;
  height:16px;
  min-height:0;
  flex:0 0 auto;
}
.permission-picker-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px 0;
}
.permission-picker-toolbar label{
  flex:1 1 260px;
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:0 10px;
  min-height:34px;
}
.permission-picker-toolbar .ui-icon{
  width:16px;
  height:16px;
  color:#64748b;
  flex:0 0 auto;
}
.permission-picker-toolbar input{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  min-height:32px!important;
  width:100%;
}
.permission-picker-empty{
  margin:0;
  padding:10px 12px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
}
.manual-users-table-wrap{
  margin-top:0;
}
.settings-user-table-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0 16px;
}
.settings-user-table-toolbar .people-search-box{
  flex:1;
  max-width:560px;
}
.settings-users-table td small{
  display:block;
  color:var(--muted);
  font-weight:800;
  margin-top:3px;
}
.settings-users-table th[data-col="contact"],
.settings-users-table td[data-col="contact"]{
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
}
.settings-users-table td[data-col="contact"] b,
.settings-users-table td[data-col="contact"] small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.settings-users-table .person-cell .avatar{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.settings-users-table .person-cell .avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.settings-users-table .person-cell > span:last-child{
  min-width:0!important;
  display:block!important;
}
.settings-users-table code{
  background:#f3f6fb;
  border:1px solid #dfe6f1;
  border-radius:6px;
  padding:4px 7px;
  color:#263348;
  font-weight:900;
  white-space:nowrap;
}
.settings-users-table .table-action-menu-panel form{
  margin:0;
}
.settings-users-table .table-action-menu-panel form button{
  width:100%;
  text-align:left;
  justify-content:flex-start;
  background:transparent;
  border:0;
  box-shadow:none;
}
.checkout-override-modal{
  width:min(620px,calc(100vw - 32px));
}
.checkout-override-body{
  display:grid;
  gap:14px;
}
.checkout-override-device,
.checkout-override-owner,
.checkout-override-target{
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fbff;
  padding:14px;
}
.checkout-override-device b,
.checkout-override-device span,
.checkout-override-device small,
.checkout-override-owner small,
.checkout-override-target small{
  display:block;
}
.checkout-override-device b{
  font-size:18px;
  color:#0f172a;
}
.checkout-override-device span,
.checkout-override-person small{
  color:var(--muted);
  font-weight:800;
}
.checkout-override-person{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
}
.checkout-override-person b{
  display:block;
  color:#0f172a;
}
.checkout-policy-modal{
  width:min(680px,calc(100vw - 32px));
}
.checkout-policy-body{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px;
  align-items:start;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbff;
  padding:16px;
}
.checkout-policy-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#eaf2ff;
  color:#1d4ed8;
}
.checkout-policy-icon.warn{
  background:#fff7ed;
  color:#b45309;
}
.checkout-policy-icon.danger{
  background:#fff1f2;
  color:#be123c;
}
.checkout-policy-icon svg{
  width:22px;
  height:22px;
}
.checkout-policy-body b{
  display:block;
  color:#0f172a;
}
.checkout-policy-body p{
  margin:5px 0 12px;
  color:#64748b;
  font-weight:800;
}
.checkout-policy-list{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}
.checkout-policy-list div{
  display:grid;
  grid-template-columns:minmax(90px,.6fr) minmax(0,1fr);
  gap:2px 10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:10px;
}
.checkout-policy-list small{
  grid-column:1 / -1;
  color:#64748b;
  font-weight:850;
}
.checkout-policy-list .checkout-overdue-device-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.checkout-overdue-device-image{
  width:52px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.checkout-overdue-device-image img{
  max-width:48px;
  max-height:36px;
  object-fit:contain;
}
.checkout-overdue-device-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.checkout-overdue-device-copy b,
.checkout-overdue-device-copy span,
.checkout-overdue-device-copy small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.checkout-overdue-device-copy small{
  color:#b45309;
  font-weight:900;
}
.checkout-overdue-renew-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  cursor:pointer;
}
.checkout-overdue-renew-btn:hover{
  background:#dbeafe;
  border-color:#93c5fd;
  box-shadow:0 8px 18px rgba(29,78,216,.1);
}
.checkout-overdue-renew-btn .ui-icon{
  width:15px!important;
  height:15px!important;
}
@media(max-width:620px){
  .checkout-policy-list .checkout-overdue-device-row{
    grid-template-columns:52px minmax(0,1fr);
  }
  .checkout-overdue-renew-btn{
    grid-column:2;
    justify-self:start;
  }
}
.manual-users-table-wrap td:nth-child(5){
  max-width:260px;
  white-space:normal;
}
.settings-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #d8e2f0;
  border-radius:12px;
  padding:12px;
  background:#f8fafc;
}
.settings-toggle input,
.settings-check-grid input,
.permission-row input{
  width:auto;
}
.portal-room-device-category-grid,
.circulation-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px 14px;
  align-items:start;
}
.portal-room-device-category-grid label,
.circulation-category-grid label{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  column-gap:9px;
  margin:0;
  line-height:1.25;
}
.portal-room-device-category-grid input[type="checkbox"],
.circulation-category-grid input[type="checkbox"]{
  width:16px;
  height:16px;
  min-width:16px;
  margin:1px 0 0;
}
.settings-field-muted{
  opacity:.58;
}
.settings-field-muted input{
  background:#eef2f7;
  cursor:not-allowed;
}
.import-progress-modal{
  width:min(720px,calc(100vw - 32px));
}
.import-progress-body{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:16px;
  align-items:start;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbff;
  padding:18px;
}
.import-progress-ring{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:16px;
  background:#eaf2ff;
  color:#2358dc;
}
.import-progress-ring svg{
  width:26px;
  height:26px;
}
.import-progress-main{
  display:grid;
  gap:14px;
}
.import-progress-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#0f172a;
}
.import-progress-title b,
.import-progress-title span{
  font-weight:950;
}
.import-progress-track{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  background:#e4ebf5;
}
.import-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2358dc,#17a66a);
  transition:width .18s ease;
}
.import-progress-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.import-progress-stats span{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:11px;
}
.import-progress-stats b,
.import-progress-stats small{
  display:block;
}
.import-progress-stats b{
  color:#0f172a;
  font-size:20px;
}
.import-progress-stats small{
  color:#64748b;
  font-weight:900;
}
.settings-check-grid{
  padding:14px;
  display:grid;
  gap:10px;
}
.settings-check-grid label{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:10px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
  padding:11px;
}
.settings-check-grid label.permission-detail-option{
  align-items:flex-start;
}
.permission-detail-option>input{
  flex:0 0 auto;
  margin-top:3px;
}
.permission-detail-option>span{
  min-width:0;
  display:grid;
  gap:3px;
}
.permission-detail-option b{
  color:#0f172a;
  font-size:13px;
  font-weight:950;
  line-height:1.25;
}
.permission-detail-option b small{
  display:inline-flex;
  margin-left:6px;
  color:#64748b;
  font-size:10px;
  font-weight:900;
}
.permission-detail-option small{
  color:#536177;
  font-size:12px;
  font-weight:750;
  line-height:1.35;
}
.permission-detail-option em{
  color:#7c3aed;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  line-height:1.3;
}
.permission-detail-option.permission-search-hidden{
  display:none!important;
}
.permission-matrix{
  border:1px solid #e2e8f0;
  border-radius:14px;
  overflow:auto;
}
.permission-row{
  display:grid;
  grid-template-columns:150px repeat(6,minmax(120px,1fr));
  min-width:880px;
  border-bottom:1px solid #e2e8f0;
}
.permission-row:last-child{
  border-bottom:0;
}
.permission-row>*{
  padding:12px;
  border-right:1px solid #e2e8f0;
  display:grid;
  place-items:center;
}
.permission-row>*:last-child{
  border-right:0;
}
.permission-head{
  background:#f8fafc;
  color:#475569;
  font-size:12px;
  font-weight:950;
}
.permission-row strong{
  place-items:center start;
}
.permission-row label span{
  width:26px;
  height:26px;
  border-radius:8px;
  border:1px solid #cbd5e1;
  background:#fff;
}
.permission-row input{
  position:absolute;
  opacity:0;
}
.permission-row input:checked+span{
  border-color:#2563eb;
  background:#2563eb;
  box-shadow:inset 0 0 0 6px #2563eb;
}
.settings-savebar{
  position:sticky;
  bottom:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid #d8e2f0;
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
  box-shadow:0 18px 44px rgba(15,23,42,.14);
  z-index:10;
}
.settings-savebar span{
  color:#64748b;
  font-weight:900;
}
.teacher-metrics{
  grid-template-columns:repeat(3,1fr);
  margin-bottom:14px;
}
.teacher-metrics .stat span{
  color:#64748b;
  font-weight:800;
}
.teacher-devices-card{
  margin-bottom:14px;
}
.teacher-roster-table small{
  color:#64748b;
  font-weight:800;
}
@media(max-width:900px){
  .login-shell{
    grid-template-columns:1fr;
  }
  .login-brand-panel h1{
    margin:40px 0 14px;
    font-size:34px;
  }
  .login-proof-grid,
  .teacher-metrics{
    grid-template-columns:1fr;
  }
  .settings-hero{
    display:block;
  }
}

/* Asset detail header scale refinements */
.asset-d3-title-row h1{
  font-size:22px!important;
  line-height:1.14!important;
  font-weight:820!important;
  letter-spacing:0!important;
  max-width:100%!important;
}
.asset-identity-lines{
  gap:5px!important;
  margin-top:10px!important;
}
.asset-identity-lines div{
  min-height:24px!important;
}
.asset-identity-lines b{
  font-size:13px!important;
  font-weight:700!important;
  color:#1e293b!important;
}
.asset-identity-lines div:nth-child(1) b,
.asset-identity-lines div:nth-child(2) b{
  font-weight:600!important;
}
.asset-d3-chips{
  align-items:center!important;
  gap:7px!important;
  margin-top:10px!important;
}
.asset-d3-chips .device-presence-pill{
  min-height:28px!important;
  padding:5px 9px!important;
  gap:6px!important;
  font-size:11px!important;
  font-weight:850!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
.asset-d3-chips .device-presence-pill i{
  width:9px!important;
  height:9px!important;
  box-shadow:none!important;
}
.asset-d3-chips .device-presence-pill small{
  margin-left:2px!important;
  font-size:10px!important;
  font-weight:800!important;
}
.asset-d3-main-card,
.assignment-d3-card{
  min-height:212px!important;
}
.assignment-d3-card{
  padding:14px!important;
}
.assignment-clean-person{
  padding:10px 12px!important;
}
.assignment-clean-copy h2{
  font-size:22px!important;
  line-height:1.1!important;
}
@media(min-width:1601px){
  .asset-design3-shell{
    grid-template-columns:minmax(610px,1.42fr) minmax(300px,.72fr) minmax(350px,.82fr)!important;
  }
}
@media(max-width:1600px) and (min-width:1180px){
  .asset-design3-shell{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.72fr)!important;
  }
  .assignment-d3-card{
    grid-column:1 / -1!important;
    min-height:auto!important;
  }
  .assignment-clean-person{
    max-width:760px!important;
    margin-inline:auto!important;
  }
}
@media(max-width:1320px){
  .asset-d3-title-row h1{
    font-size:21px!important;
  }
  .asset-d3-main-card{
    grid-template-columns:150px minmax(0,1fr)!important;
  }
}
@media(max-width:760px){
  .asset-d3-title-row h1{
    font-size:20px!important;
  }
  .asset-d3-main-card{
    grid-template-columns:1fr!important;
  }
  .asset-d3-visual{
    align-items:flex-start!important;
  }
}

/* Asset header identity + dashboard table responsive pass */
.asset-identity-lines b,
.asset-identity-lines div:nth-child(1) b,
.asset-identity-lines div:nth-child(2) b,
.asset-identity-lines div:nth-child(3) b{
  font-weight:600!important;
  color:#26364d!important;
}
.asset-identity-lines div:nth-child(3) b{
  max-width:min(360px,100%)!important;
}

.asset-snapshot-card .asset-table-wrap{
  overflow:auto!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  max-width:100%!important;
}
.asset-snapshot-card .asset-table{
  width:max(100%,1180px)!important;
  min-width:1180px!important;
  table-layout:fixed!important;
}
.asset-snapshot-card .table-action-menu-panel{
  position:fixed!important;
}

@media(max-width:1450px){
  .asset-snapshot-card{
    min-height:calc(100vh - 124px)!important;
  }
  .asset-table-toolbar{
    align-items:flex-start!important;
  }
  .asset-toolbar-title-row{
    flex-wrap:wrap!important;
  }
  .asset-toolbar-controls,
  .toolbar-actions.asset-toolbar-controls{
    justify-content:flex-start!important;
    width:100%!important;
  }
  .asset-toolbar-controls .add-asset-dashboard-btn{
    order:-2!important;
  }
  .asset-toolbar-controls .dashboard-tool-btn[onclick*="advancedSearchModal"]{
    order:-1!important;
  }
}

@media(max-width:1100px){
  .asset-snapshot-card{
    padding:14px!important;
  }
  .asset-snapshot-card .asset-table{
    width:1120px!important;
    min-width:1120px!important;
  }
  .asset-snapshot-card .asset-table th[data-col="asset"],
  .asset-snapshot-card .asset-table td[data-col="asset"]{
    width:250px!important;
  }
  .asset-snapshot-card .asset-table th[data-col="assigned"],
  .asset-snapshot-card .asset-table td[data-col="assigned"],
  .asset-snapshot-card .asset-table th[data-col="teacher"],
  .asset-snapshot-card .asset-table td[data-col="teacher"]{
    width:164px!important;
  }
  .asset-snapshot-card .asset-table th[data-col="location"],
  .asset-snapshot-card .asset-table td[data-col="location"]{
    width:180px!important;
  }
}

/* People directory */
.people-table{
  min-width:1180px;
}
.people-table th,
.people-table td{
  vertical-align:middle;
}
.people-table tbody tr{
  cursor:pointer;
}
.people-table tbody tr:hover{
  background:#f8fbff!important;
}
.people-type-badge{
  border-color:#d8e5f5!important;
  background:#f8fafc!important;
  color:#334155!important;
}
.people-type-badge.type-super-admin{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
.people-type-badge.type-technician{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#c2410c!important;
}
.people-type-badge.type-teacher{
  border-color:#ddd6fe!important;
  background:#f5f3ff!important;
  color:#6d28d9!important;
}
.people-type-badge.type-employee{
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#15803d!important;
}
.people-type-badge.type-student{
  border-color:#c7d2fe!important;
  background:#eef2ff!important;
  color:#3730a3!important;
}
.person-profile-modal{
  width:min(1180px,calc(100vw - 36px))!important;
}
.person-profile-modal .refined-student-profile-head{
  grid-template-columns:72px minmax(210px,.55fr) minmax(620px,1.45fr)!important;
}
.person-profile-modal .student-profile-id-table{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.person-profile-modal .student-profile-id-table div:nth-child(3n){
  border-right:1px solid #e2e8f0!important;
}
.person-profile-modal .student-profile-id-table div:nth-child(4n){
  border-right:0!important;
}
.person-profile-modal .student-profile-id-table div:nth-last-child(-n+4){
  border-bottom:0!important;
}
.person-profile-modal .student-profile-id-table b{
  white-space:normal!important;
}
.profile-assigned-assets-list{
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
  gap:0!important;
}
.profile-assigned-assets-list a{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px!important;
  text-decoration:none!important;
  border:0!important;
  border-bottom:1px solid #e2e8f0!important;
  border-radius:0!important;
  background:#fff!important;
  width:100%!important;
  text-align:left!important;
  cursor:pointer!important;
  font:inherit!important;
  color:inherit!important;
}
.profile-assigned-assets-list .profile-assigned-asset-thumb{
  width:58px!important;
  height:44px!important;
  flex:0 0 58px!important;
  object-fit:contain!important;
}
.profile-assigned-assets-list .asset-icon-image.profile-assigned-asset-thumb,
.profile-assigned-assets-list .asset-no-image.profile-assigned-asset-thumb{
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  display:grid!important;
  place-items:center!important;
  color:#2563eb!important;
}
.profile-assigned-assets-list .asset-icon-image.profile-assigned-asset-thumb svg,
.profile-assigned-assets-list .asset-no-image.profile-assigned-asset-thumb svg{
  width:28px!important;
  height:28px!important;
}
.profile-assigned-assets-list a:last-child{
  border-bottom:0!important;
}
.profile-empty-table-row{
  min-height:56px;
  display:flex;
  align-items:center;
  padding:14px 16px;
  color:#64748b;
  font-weight:850;
  background:#fbfdff;
}
.student-directory-actions a.primary{
  text-decoration:none!important;
}
@media(max-width:1180px){
  .person-profile-modal .refined-student-profile-head{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .person-profile-modal .student-profile-id-table{
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .person-profile-modal .student-profile-id-table div:nth-child(4n),
  .person-profile-modal .student-profile-id-table div:nth-child(3n){
    border-right:1px solid #e2e8f0!important;
  }
  .person-profile-modal .student-profile-id-table div:nth-child(2n){
    border-right:0!important;
  }
  .person-profile-modal .student-profile-id-table div:nth-last-child(-n+4){
    border-bottom:1px solid #e2e8f0!important;
  }
  .person-profile-modal .student-profile-id-table div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
  .people-table{
    min-width:1080px;
  }
  .student-filter-row.refined-student-filters{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:720px){
  .student-filter-row.refined-student-filters{
    grid-template-columns:1fr!important;
  }
}

/* People directory cleanup */
.compact-student-hero{
  min-height:112px!important;
  padding:24px 28px!important;
  align-items:center!important;
}
.people-search-panel{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0;
}
.people-search-box{
  min-height:48px;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #d8e4f2;
  border-radius:16px;
  background:#fff;
  padding:0 16px;
  box-shadow:0 14px 30px rgba(15,23,42,.055);
}
.people-search-box .ui-icon{
  width:18px;
  height:18px;
  color:#2563eb;
}
.people-search-box input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#0f172a;
  font-size:14px;
  font-weight:750;
}
.people-search-box input::placeholder{
  color:#94a3b8;
}
.people-table-wrap{
  overflow:auto!important;
}
.people-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed;
}
.people-table th,
.people-table td{
  padding:11px 8px!important;
}
.people-table th:nth-child(1),
.people-table td:nth-child(1){
  width:40px;
}
.people-table th:nth-child(2),
.people-table td:nth-child(2){
  width:230px;
}
.people-table th:nth-child(3),
.people-table td:nth-child(3){
  width:92px;
}
.people-table th:nth-child(4),
.people-table td:nth-child(4){
  width:108px;
}
.people-table th:nth-child(5),
.people-table td:nth-child(5){
  width:160px;
}
.people-table th:nth-child(6),
.people-table td:nth-child(6){
  width:150px;
}
.people-table th:nth-child(7),
.people-table td:nth-child(7){
  width:136px;
}
.people-table th:nth-child(8),
.people-table td:nth-child(8){
  width:86px;
}
.people-table th:nth-child(9),
.people-table td:nth-child(9),
.people-table th:nth-child(10),
.people-table td:nth-child(10){
  width:70px;
  text-align:center;
}
.people-table th:nth-child(11),
.people-table td:nth-child(11){
  width:82px;
}
.people-table th:nth-child(12),
.people-table td:nth-child(12){
  width:130px;
}
.people-table thead th button[data-people-sort]{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:#334155;
  font:inherit;
  font-weight:950;
  cursor:pointer;
}
.people-table thead th button[data-people-sort]::after{
  content:"";
  display:inline-block;
  width:0;
  height:0;
  margin-left:6px;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #94a3b8;
  vertical-align:middle;
  opacity:.55;
}
.people-table thead th button[data-people-sort].active::after{
  border-top-color:#2563eb;
  opacity:1;
}
.people-table thead th button[data-people-sort].active[aria-sort="ascending"]::after{
  transform:rotate(180deg);
}
.people-inline-filters th{
  background:#fff!important;
  padding:8px 10px!important;
}
.people-inline-filters input,
.people-inline-filters select{
  width:100%;
  min-width:0;
  height:34px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  color:#334155;
  padding:0 9px;
  font-size:12px;
  font-weight:750;
}
.people-inline-filters input::placeholder{
  color:#94a3b8;
}
.people-table input[type="checkbox"]{
  width:16px;
  height:16px;
}
.people-table input[type="checkbox"]:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.people-table .student-actions-cell .row-actions-clean{
  gap:6px!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
}
.people-table .table-action{
  min-width:54px!important;
  height:34px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  font-size:12px!important;
}
.people-table .secondary-table-action{
  background:#fff!important;
  color:#1e40af!important;
  border:1px solid #cbdcf5!important;
  text-decoration:none!important;
}
@media(max-width:900px){
  .people-search-panel{
    display:block;
  }
  .people-search-panel .btn{
    margin-top:10px;
    width:100%;
  }
}

.people-table .person-cell{
  min-width:0;
}
.people-table .person-cell > div:last-child{
  min-width:0;
  overflow:hidden;
}
.people-table .person-cell b,
.people-table .subtext{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.people-table .subtext{
  display:block;
}
@media(max-width:1280px){
  .people-table{
    min-width:1180px!important;
  }
}

/* Consistent system shell: global search everywhere, tighter page rhythm */
.main{
  padding:0 16px 22px!important;
}
.topbar{
  min-height:74px!important;
  height:auto!important;
  padding:10px 16px!important;
  margin:0 -16px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  justify-content:flex-start!important;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
  border-bottom:1px solid #e2e8f0!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
.topbar .back{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  flex:0 0 auto!important;
}
.topbar-context{
  min-width:214px!important;
  max-width:250px!important;
}
.topbar-context strong{
  font-size:16px!important;
}
.topbar-context span{
  font-size:11px!important;
}
.topbar .global-search{
  display:flex!important;
  flex:1 1 520px!important;
  max-width:780px!important;
  min-width:260px!important;
  height:46px!important;
  margin:0!important;
  border-radius:16px!important;
}
.topbar .global-search span{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
}
.topbar .global-search input{
  font-size:14px!important;
  font-weight:850!important;
}
.topbar-right{
  margin-left:auto!important;
  padding:5px!important;
  flex:0 0 auto!important;
}
.topicons>span{
  width:34px!important;
  height:34px!important;
}
.topicons .school{
  min-width:122px!important;
}
.topbar-user{
  min-width:174px!important;
}
.asset-snapshot-card{
  min-height:auto!important;
}
.asset-snapshot-card form{
  min-height:0!important;
}
.asset-snapshot-card .asset-table-wrap{
  min-height:0!important;
}
body:has(.asset-snapshot-card),
.main:has(.asset-snapshot-card){
  min-height:0!important;
}
.main:has(.asset-snapshot-card){
  display:block!important;
}
.asset-table-toolbar{
  margin-bottom:12px!important;
}
@media(max-width:1180px){
  .topbar{
    flex-wrap:wrap!important;
  }
  .topbar-context{
    min-width:0!important;
    max-width:none!important;
  }
  .topbar .global-search{
    order:3!important;
    flex-basis:100%!important;
    max-width:none!important;
  }
  .topbar-right{
    margin-left:auto!important;
  }
}

/* Dashboard whitespace fix */
.main:has(.modern-dashboard-metrics){
  padding-top:0!important;
}
.modern-dashboard-metrics{
  display:none!important;
  margin:0!important;
  height:0!important;
}

/* Sidebar navigation facelift */
.sidebar{
  width:245px!important;
  padding:18px 12px!important;
  background:linear-gradient(180deg,#0b1d31 0%,#102b45 100%)!important;
  border-right:1px solid rgba(148,163,184,.18)!important;
}
.brand{
  padding:0 8px 16px!important;
  margin:0 0 12px!important;
  border-bottom:1px solid rgba(226,232,240,.12)!important;
}
.brand-mark{
  width:34px!important;
  height:34px!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#ffc247,#f59e0b)!important;
  color:#0b1d31!important;
  box-shadow:0 12px 24px rgba(245,158,11,.22)!important;
}
.brand-text{
  font-size:19px!important;
  letter-spacing:.01em!important;
}
.sidebar nav{
  display:grid!important;
  gap:5px!important;
}
.sidebar nav a,
.sidebar .nav-accordion summary{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  color:#d9e7f7!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-decoration:none!important;
  border:1px solid transparent!important;
  transform:none!important;
}
.sidebar nav a:before,
.sidebar .nav-accordion summary:before{
  display:none!important;
  content:none!important;
}
.sidebar nav a .ui-icon,
.sidebar .nav-accordion summary .ui-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}
.sidebar nav a > .ui-icon{
  width:22px!important;
  height:22px!important;
  padding:4px!important;
  border-radius:8px!important;
  color:#b9c8dc!important;
  background:rgba(226,232,240,.08)!important;
}
.sidebar nav a span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.sidebar nav a:hover,
.sidebar .nav-accordion summary:hover{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(148,163,184,.18)!important;
  color:#fff!important;
}
.sidebar nav a:hover > .ui-icon{
  color:#fff!important;
  background:rgba(96,165,250,.16)!important;
}
.sidebar nav a.active{
  background:linear-gradient(90deg,#2b496d 0%,#27415f 100%)!important;
  color:#fff!important;
  border-color:rgba(147,197,253,.22)!important;
  box-shadow:inset 4px 0 0 #ffc247,0 10px 20px rgba(0,0,0,.12)!important;
}
.sidebar nav a.active > .ui-icon{
  color:#102033!important;
  background:#ffc247!important;
}
.sidebar nav a b{
  margin-left:auto!important;
  min-width:24px!important;
  height:20px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  padding:0 7px!important;
  background:#f05262!important;
  color:#fff!important;
  font-size:10px!important;
  box-shadow:0 8px 16px rgba(240,82,98,.25)!important;
}
.sidebar .nav-accordion{
  margin:4px 0!important;
}
.sidebar .nav-accordion summary{
  color:#f8fafc!important;
  cursor:default!important;
  padding:12px 10px 6px!important;
  min-height:0!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  opacity:.9!important;
}
.sidebar .nav-accordion a{
  margin-left:14px!important;
  min-height:36px!important;
  font-size:12px!important;
}
.sidebar .nav-accordion a > .ui-icon{
  width:20px!important;
  height:20px!important;
}
@media(max-width:1100px){
  .sidebar{
    width:100%!important;
    position:static!important;
  }
  .sidebar nav{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  }
  .sidebar .nav-accordion{
    grid-column:1 / -1!important;
  }
}

/* Collapsible icon rail */
.brand-logo{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  text-decoration:none!important;
}
.brand-logo img{
  display:block!important;
  width:150px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.sidebar-toggle{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:12px!important;
  margin-left:auto!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(226,232,240,.16)!important;
  color:#dbeafe!important;
  box-shadow:none!important;
}
.sidebar-toggle .ui-icon{
  width:20px!important;
  height:20px!important;
}
.brand-mark,
.brand-text{
  display:none!important;
}
.sidebar nav a > .ui-icon{
  width:30px!important;
  height:30px!important;
  padding:6px!important;
  border-radius:11px!important;
}
body.nav-collapsed .sidebar{
  width:82px!important;
  padding:18px 11px!important;
  overflow-x:hidden!important;
}
body.nav-collapsed .main{
  margin-left:82px!important;
  width:calc(100% - 82px)!important;
}
body.nav-collapsed .brand{
  justify-content:center!important;
  padding:0 0 14px!important;
}
body.nav-collapsed .brand-logo{
  display:none!important;
}
body.nav-collapsed .sidebar-toggle{
  margin:0!important;
  background:#ffc247!important;
  color:#102033!important;
  border-color:#ffc247!important;
}
body.nav-collapsed .sidebar nav{
  gap:8px!important;
}
body.nav-collapsed .sidebar nav a,
body.nav-collapsed .sidebar .nav-accordion summary{
  width:58px!important;
  min-height:54px!important;
  justify-content:center!important;
  padding:0!important;
  gap:0!important;
}
body.nav-collapsed .sidebar nav a span,
body.nav-collapsed .sidebar .nav-accordion summary,
body.nav-collapsed .sidebar .nav-accordion a span{
  font-size:0!important;
}
body.nav-collapsed .sidebar nav a > .ui-icon{
  width:36px!important;
  height:36px!important;
  padding:8px!important;
  border-radius:13px!important;
}
body.nav-collapsed .sidebar nav a b{
  position:absolute!important;
  top:7px!important;
  right:5px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
}
body.nav-collapsed .sidebar .nav-accordion{
  margin:2px 0!important;
}
body.nav-collapsed .sidebar .nav-accordion summary{
  display:none!important;
}
body.nav-collapsed .sidebar .nav-accordion a{
  margin-left:0!important;
}
body.nav-collapsed .sidebar nav a:hover::after{
  content:attr(aria-label);
}
body.nav-collapsed .sidebar nav a[href]{
  position:relative!important;
}
body.nav-collapsed .sidebar nav a[href]:hover:after{
  content:attr(title)!important;
  position:fixed!important;
  left:76px!important;
  z-index:10000!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  box-shadow:0 14px 30px rgba(15,23,42,.2)!important;
}
@media(max-width:1100px){
  body.nav-collapsed .sidebar,
  .sidebar{
    width:100%!important;
  }
  body.nav-collapsed .main,
  .main{
    margin-left:0!important;
    width:100%!important;
  }
  body.nav-collapsed .brand-logo{
    display:flex!important;
  }
  body.nav-collapsed .sidebar nav a,
  body.nav-collapsed .sidebar .nav-accordion summary{
    width:auto!important;
  }
  body.nav-collapsed .sidebar nav a span{
    font-size:13px!important;
  }
}

/* Collapsed sidebar correction */
body.nav-collapsed .layout{
  display:flex!important;
}
body.nav-collapsed .sidebar{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  flex:0 0 76px!important;
  padding:14px 8px!important;
  overflow-x:hidden!important;
  scrollbar-width:none!important;
}
body.nav-collapsed .sidebar::-webkit-scrollbar{
  width:0!important;
}
body.nav-collapsed .main{
  margin-left:76px!important;
  width:calc(100% - 76px)!important;
  max-width:calc(100% - 76px)!important;
}
body.nav-collapsed .brand{
  width:60px!important;
  padding:0 0 12px!important;
  margin:0 0 10px!important;
}
body.nav-collapsed .sidebar-toggle{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  border-radius:14px!important;
}
body.nav-collapsed .sidebar nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
}
body.nav-collapsed .sidebar nav a{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
body.nav-collapsed .sidebar nav a span{
  display:none!important;
}
body.nav-collapsed .sidebar nav a > .ui-icon{
  width:38px!important;
  height:38px!important;
  padding:8px!important;
  margin:0!important;
}
body.nav-collapsed .sidebar .nav-accordion{
  width:52px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
}
body.nav-collapsed .sidebar .nav-accordion a{
  margin-left:0!important;
}
body.nav-collapsed .sidebar .nav-accordion a span,
body.nav-collapsed .sidebar .nav-accordion summary{
  display:none!important;
}
body.nav-collapsed .sidebar nav a[href]:hover:after{
  left:74px!important;
}
body:not(.nav-collapsed) .sidebar{
  width:245px!important;
  min-width:245px!important;
  max-width:245px!important;
}
body:not(.nav-collapsed) .main{
  margin-left:245px!important;
  width:calc(100% - 245px)!important;
  max-width:calc(100% - 245px)!important;
}
@media(max-width:1100px){
  body.nav-collapsed .layout{
    display:block!important;
  }
  body.nav-collapsed .sidebar,
  body:not(.nav-collapsed) .sidebar{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:auto!important;
  }
  body.nav-collapsed .main,
  body:not(.nav-collapsed) .main{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
  }
}

/* Sidebar rail final pass: fixed sidebar + predictable content offset */
.layout{
  display:block!important;
}
body:not(.nav-collapsed) .sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:245px!important;
  min-width:245px!important;
  max-width:245px!important;
  padding:18px 14px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
body:not(.nav-collapsed) .sidebar::-webkit-scrollbar{
  width:0!important;
  height:0!important;
}
body:not(.nav-collapsed) .main{
  margin-left:245px!important;
  width:calc(100% - 245px)!important;
  max-width:calc(100% - 245px)!important;
}
body.nav-collapsed .sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  padding:14px 8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
body.nav-collapsed .sidebar::-webkit-scrollbar{
  width:0!important;
  height:0!important;
}
body.nav-collapsed .main{
  margin-left:72px!important;
  width:calc(100% - 72px)!important;
  max-width:calc(100% - 72px)!important;
}
body.nav-collapsed .brand{
  width:56px!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0 0 14px!important;
}
body.nav-collapsed .brand-logo{
  display:none!important;
}
body.nav-collapsed .sidebar-toggle{
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  border-radius:15px!important;
  background:#ffc247!important;
  border-color:#ffc247!important;
  color:#0b2035!important;
}
body.nav-collapsed .sidebar-toggle .ui-icon{
  width:26px!important;
  height:26px!important;
  stroke-width:2.6!important;
}
body.nav-collapsed .sidebar nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
}
body.nav-collapsed .sidebar nav a{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:15px!important;
  overflow:visible!important;
}
body.nav-collapsed .sidebar nav a span{
  display:none!important;
}
body.nav-collapsed .sidebar nav a > svg.ui-icon{
  width:34px!important;
  height:34px!important;
  padding:7px!important;
  margin:0!important;
  flex:0 0 34px!important;
  border-radius:13px!important;
  stroke-width:2.5!important;
}
body.nav-collapsed .sidebar nav a.active > svg.ui-icon{
  background:rgba(255,255,255,.18)!important;
}
body.nav-collapsed .sidebar .nav-accordion{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
  width:52px!important;
  margin:0!important;
}
body.nav-collapsed .sidebar .nav-accordion summary{
  display:none!important;
}
body.nav-collapsed .sidebar .nav-accordion a{
  margin:0!important;
}
body.nav-collapsed .sidebar nav a b{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
}
body.nav-collapsed .sidebar nav a[href]:hover:after{
  left:68px!important;
  margin-top:0!important;
}

@media(max-width:900px){
  body.nav-collapsed .sidebar,
  body:not(.nav-collapsed) .sidebar{
    position:fixed!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
  }
  body.nav-collapsed .main,
  body:not(.nav-collapsed) .main{
    margin-left:72px!important;
    width:calc(100% - 72px)!important;
    max-width:calc(100% - 72px)!important;
  }
}

/* Sidebar icon sizing and reliable collapsed tooltip */
body:not(.nav-collapsed) .sidebar nav a{
  min-height:48px!important;
  gap:12px!important;
  padding:11px 12px!important;
}
body:not(.nav-collapsed) .sidebar nav a > svg.ui-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  flex:0 0 32px!important;
  padding:7px!important;
  border-radius:12px!important;
  stroke-width:2.45!important;
}
body:not(.nav-collapsed) .sidebar nav a.active > svg.ui-icon,
body:not(.nav-collapsed) .sidebar nav a:hover > svg.ui-icon{
  background:rgba(255,255,255,.18)!important;
  color:#ffffff!important;
}
body.nav-collapsed .sidebar nav a[href]:hover:after,
body.nav-collapsed .sidebar nav a[href]:hover::after,
body.nav-collapsed .sidebar nav a:hover::after{
  content:none!important;
  display:none!important;
}
.sidebar-float-tip{
  position:fixed;
  left:76px;
  top:0;
  z-index:100000;
  transform:translateY(-50%);
  padding:8px 11px;
  border-radius:11px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 16px 36px rgba(15,23,42,.24);
  opacity:0;
  pointer-events:none;
  transition:opacity .1s ease, transform .1s ease;
}
.sidebar-float-tip.show{
  opacity:1;
  transform:translateY(-50%) translateX(4px);
}
.sidebar-float-tip::before{
  content:"";
  position:absolute;
  right:100%;
  top:50%;
  transform:translateY(-50%);
  border:6px solid transparent;
  border-right-color:#0f172a;
}

/* Asset source badges */
.source-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:116px;
  max-width:150px;
  padding:5px 8px 5px 6px;
  border-radius:999px;
  border:1px solid #d8e2f0;
  background:#f8fbff;
  color:#27364f;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.source-badge span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
}
.source-mark,
.source-mark-icon{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  flex:0 0 22px!important;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
}
.source-mark{
  color:#fff;
  font-size:12px;
  font-weight:1000;
  letter-spacing:-.02em;
}
.source-mark-icon{
  padding:5px!important;
}
.source-google{
  background:#eef7ff;
  border-color:#c7e2ff;
  color:#174ea6;
}
.google-mark{
  background:#fff;
  border:1px solid #c7e2ff;
  box-shadow:0 2px 8px rgba(66,133,244,.14);
  overflow:hidden;
}
.google-mark img{
  width:16px!important;
  height:16px!important;
  display:block!important;
  object-fit:contain!important;
}
.source-jamf{
  background:#eefcf7;
  border-color:#b9ecd8;
  color:#047857;
}
.jamf-mark{
  background:linear-gradient(135deg,#00a976,#006f9f);
}
.source-manual{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.source-manual .source-mark-icon{
  background:#ffedd5;
  color:#ea580c;
}

/* Dashboard toolbar icon-only controls */
.asset-toolbar-controls .toolbar-icon-btn{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:14px!important;
  display:inline-grid!important;
  place-items:center!important;
  gap:0!important;
}
.asset-toolbar-controls .toolbar-icon-btn .ui-icon{
  width:22px!important;
  height:22px!important;
  stroke-width:2.55!important;
}
.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:50px!important;
  min-width:50px!important;
  height:50px!important;
  min-height:50px!important;
  border-radius:15px!important;
}
.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn .ui-icon{
  width:25px!important;
  height:25px!important;
  stroke-width:2.85!important;
}

/* Dashboard and system header spacing refresh */
.topbar{
  min-height:88px!important;
  padding:14px 18px!important;
  margin:0 -16px 16px!important;
  gap:16px!important;
}
.topbar .global-search{
  height:54px!important;
  border-radius:18px!important;
  padding:0 16px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.055)!important;
}
.topbar .global-search span{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  border-radius:13px!important;
}
.topbar .global-search span .ui-icon{
  width:20px!important;
  height:20px!important;
}
.topbar .global-search input{
  font-size:15px!important;
  line-height:1.2!important;
}
.search-suggestions{
  top:60px!important;
}
.asset-snapshot-card{
  padding:20px!important;
}
.asset-table-toolbar{
  margin-bottom:20px!important;
  align-items:center!important;
}
.asset-toolbar-title-row{
  gap:0!important;
}
.asset-toolbar-title-row h2{
  font-size:27px!important;
  letter-spacing:-.025em!important;
}
.asset-count-chips{
  display:none!important;
}
.asset-table-toolbar > div:first-child > .muted{
  display:none!important;
}
.asset-table-wrap{
  margin-top:6px!important;
}

/* Asset table balanced dashboard fit */
.asset-snapshot-card .asset-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.asset-snapshot-card .asset-table th,
.asset-snapshot-card .asset-table td{
  padding-left:10px!important;
  padding-right:10px!important;
}
.asset-snapshot-card .asset-table th[data-col="select"],
.asset-snapshot-card .asset-table td[data-col="select"]{
  width:42px!important;
  min-width:42px!important;
}
.asset-snapshot-card .asset-table th[data-col="asset"],
.asset-snapshot-card .asset-table td[data-col="asset"]{
  width:18%!important;
}
.asset-snapshot-card .asset-table th[data-col="category"],
.asset-snapshot-card .asset-table td[data-col="category"]{
  width:11%!important;
}
.asset-snapshot-card .asset-table th[data-col="assigned"],
.asset-snapshot-card .asset-table td[data-col="assigned"],
.asset-snapshot-card .asset-table th[data-col="teacher"],
.asset-snapshot-card .asset-table td[data-col="teacher"]{
  width:13%!important;
}
.asset-snapshot-card .asset-table th[data-col="location"],
.asset-snapshot-card .asset-table td[data-col="location"]{
  width:13%!important;
}
.asset-snapshot-card .asset-table th[data-col="status"],
.asset-snapshot-card .asset-table td[data-col="status"],
.asset-snapshot-card .asset-table th[data-col="condition"],
.asset-snapshot-card .asset-table td[data-col="condition"]{
  width:8%!important;
}
.asset-snapshot-card .asset-table th[data-col="source"],
.asset-snapshot-card .asset-table td[data-col="source"]{
  width:9%!important;
  min-width:0!important;
}
.asset-snapshot-card .asset-table th[data-col="actions"],
.asset-snapshot-card .asset-table td[data-col="actions"]{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  padding-right:12px!important;
}
.asset-snapshot-card .asset-title span,
.asset-snapshot-card .subtext,
.asset-snapshot-card td[data-col="location"],
.asset-snapshot-card td[data-col="category"]{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.asset-snapshot-card .person-cell{
  gap:8px!important;
}
.asset-snapshot-card .table-avatar{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
}
.asset-snapshot-card .asset-thumb.asset-thumb-lg{
  width:58px!important;
  height:44px!important;
}
.asset-snapshot-card .source-badge{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
}
.asset-snapshot-card .asset-row-action-summary{
  min-width:104px!important;
  width:104px!important;
  max-width:104px!important;
  padding-left:10px!important;
  padding-right:8px!important;
}

/* Header profile emphasis */
.topbar-right{
  gap:14px!important;
}
.topbar-right .topicons:empty{
  display:none!important;
}
.topicons{
  margin-left:0!important;
}
.topicons .school{
  min-width:150px!important;
  border-left:0!important;
  padding:8px 13px!important;
  border:1px solid #dbe5f2!important;
  border-radius:14px!important;
  background:#fff!important;
  text-align:center!important;
}
.topbar-user{
  min-width:216px!important;
  padding:10px 14px!important;
  gap:12px!important;
}
.topbar-user .avatar.small{
  width:42px!important;
  height:42px!important;
  font-size:13px!important;
  flex:0 0 42px!important;
}
.topbar-user strong{
  font-size:14px!important;
  line-height:1.1!important;
}
.topbar-user span{
  font-size:12px!important;
  line-height:1.2!important;
}

/* Asset hero action row: tighter checkout and protected delete */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.refined-asset-actions{
  gap:10px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.asset-hero-icon-actions .asset-hero-icon-btn{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
.asset-hero-icon-actions .asset-hero-icon-btn .ui-icon{
  width:22px!important;
  height:22px!important;
  stroke-width:2.55!important;
}
.asset-hero-icon-actions .asset-hero-checkout-btn{
  width:50px!important;
  min-width:50px!important;
  height:50px!important;
  min-height:50px!important;
  border-radius:14px!important;
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
}
.asset-hero-icon-actions .asset-hero-checkout-btn .ui-icon{
  width:25px!important;
  height:25px!important;
  stroke-width:2.85!important;
}
.asset-hero-icon-actions .asset-hero-checkout-btn:disabled{
  background:#f3f6fb!important;
  border-color:#d8e1f0!important;
  color:#8a96aa!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  opacity:.8!important;
}
.chip-row .asset-requestable-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  line-height:1!important;
  min-width:max-content!important;
  padding:6px 10px!important;
}
.chip-row .asset-requestable-pill .ui-icon{
  width:14px!important;
  height:14px!important;
  flex:0 0 14px!important;
  display:block!important;
}
.portal-aup-device-badge{
  margin-left:6px!important;
  vertical-align:middle!important;
}
.aup-sign-modal{
  width:min(940px,calc(100vw - 36px))!important;
  padding:20px!important;
}
.aup-sign-layout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.aup-device-summary{
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fbff;
  padding:16px;
  display:grid;
  gap:8px;
  justify-items:start;
}
.aup-device-summary img{
  width:100%;
  height:132px;
  object-fit:contain;
  background:#fff;
  border:1px solid #dfe6f2;
  border-radius:12px;
  padding:16px;
}
.aup-device-summary strong,
.aup-device-summary span,
.aup-device-summary small{
  display:block;
}
.aup-sign-form{
  display:grid;
  gap:12px;
}
.aup-policy-copy{
  border:1px solid #d9e3f2;
  border-radius:14px;
  background:#fff;
  padding:16px;
  max-height:300px;
  overflow:auto;
  line-height:1.55;
}
.aup-policy-copy h3{
  margin:0 0 8px;
}
.aup-policy-copy p{
  margin:0;
  color:#33415f;
}
.aup-sign-form label{
  font-weight:900;
  color:#526078;
}
.aup-sign-form input[type="text"],
.aup-sign-form input:not([type]){
  width:100%;
  margin-top:6px;
  border:1px solid #dfe4ef;
  border-radius:10px;
  padding:10px 12px;
}
.aup-hero-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:14px;
}
.aup-hero-card h1{
  margin:4px 0 6px;
}
.aup-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(130px,1fr));
  gap:10px;
}
.aup-summary-grid span{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfcff;
  padding:12px;
  color:var(--muted);
  font-weight:900;
}
.aup-summary-grid b{
  display:block;
  color:var(--text);
  font-size:24px;
}
.aup-table td{
  vertical-align:middle;
}
.aup-table .person-cell > span:last-child{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.aup-table .person-cell b,
.aup-table .person-cell small{
  display:block;
}
.aup-table .person-cell small{
  color:var(--muted);
  font-weight:700;
  line-height:1.25;
}
.aup-signature-line{
  display:block;
  color:var(--muted);
  font-weight:800;
  margin-top:3px;
}
@media(max-width:900px){
  .aup-sign-layout,.aup-hero-card{
    grid-template-columns:1fr;
    display:grid;
  }
  .aup-summary-grid{
    grid-template-columns:1fr;
  }
}
.alerts-menu{
  position:relative;
}
.alerts-menu summary{
  list-style:none;
}
.alerts-menu summary::-webkit-details-marker{
  display:none;
}
.alerts-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(430px,calc(100vw - 28px));
  background:#fff;
  border:1px solid #dbe5f2;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(15,23,42,.2);
  padding:10px;
  z-index:80;
  display:none;
}
.alerts-menu[open] .alerts-panel{
  display:block;
}
.alerts-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:8px 8px 10px;
  border-bottom:1px solid #e7edf6;
}
.alerts-panel-head strong{
  font-size:16px;
}
.alerts-panel-head span{
  color:var(--muted);
  font-weight:900;
  font-size:12px;
}
.alerts-list{
  display:grid;
  gap:7px;
  max-height:420px;
  overflow:auto;
  padding:9px 0;
}
.alert-item,
.alert-page-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color:var(--text);
  border:1px solid #e2e9f4;
  border-left-width:4px;
  border-radius:12px;
  background:#fbfcff;
  padding:10px;
}
.alert-item:hover,
.alert-page-row:hover{
  background:#f5f8ff;
  text-decoration:none;
}
.alert-item.severity-high,
.alert-page-row.severity-high{
  border-left-color:#e54855;
}
.alert-item.severity-normal,
.alert-page-row.severity-normal{
  border-left-color:#f0a020;
}
.alert-item.severity-low,
.alert-page-row.severity-low{
  border-left-color:#2361d8;
}
.alert-item-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#2f5ef6;
}
.alert-item-icon .ui-icon{
  width:18px;
  height:18px;
}
.alert-item b,
.alert-item small,
.alert-item em{
  display:block;
}
.alert-item small{
  color:#526078;
  font-weight:800;
  line-height:1.35;
}
.alert-item em{
  color:#7b879c;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  margin-top:2px;
}
.alert-item>strong,
.alert-page-row>strong{
  color:#244bd8;
  font-size:12px;
  white-space:nowrap;
}
.alerts-empty{
  display:grid;
  place-items:center;
  text-align:center;
  gap:4px;
  padding:28px 10px;
  color:var(--muted);
}
.alerts-empty span{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#ecfdf3;
  color:#168950;
}
.alerts-view-all{
  display:flex;
  justify-content:center;
  border-top:1px solid #e7edf6;
  padding:10px 8px 4px;
  font-weight:900;
  text-decoration:none;
  color:#244bd8;
}
.alerts-hero-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:14px;
}
.alerts-hero-card h1{
  margin:4px 0 6px;
}
.alerts-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(130px,1fr));
  gap:10px;
}
.alerts-summary-grid span{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfcff;
  padding:12px;
  color:var(--muted);
  font-weight:900;
}
.alerts-summary-grid b{
  display:block;
  color:var(--text);
  font-size:24px;
}
.alerts-page-list{
  display:grid;
  gap:9px;
}
.alert-page-row{
  grid-template-columns:38px minmax(0,1fr) auto 130px auto;
  padding:12px;
}
.alert-page-copy b,
.alert-page-copy small{
  display:block;
}
.alert-page-copy small,
.alert-page-date{
  color:var(--muted);
  font-weight:800;
}
@media(max-width:900px){
  .alerts-hero-card{
    display:grid;
  }
  .alerts-summary-grid{
    grid-template-columns:1fr;
  }
  .alert-page-row{
    grid-template-columns:38px minmax(0,1fr);
  }
  .alert-page-row .badge,
  .alert-page-date,
  .alert-page-row>strong{
    grid-column:2;
  }
}
.alerts-workbench{
  display:grid;
  gap:14px;
}
.alerts-command-card,
.alerts-filter-card,
.alerts-priority-lane,
.alerts-board-card{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.alerts-command-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(460px,.9fr);
  gap:18px;
  align-items:center;
  padding:18px;
  border-left:5px solid #1d4ed8;
}
.alerts-command-copy h1{
  margin:4px 0 7px;
  font-size:30px;
  letter-spacing:0;
}
.alerts-command-copy p{
  margin:0;
  max-width:820px;
  color:#64748b;
  font-weight:750;
}
.alerts-workbench .alerts-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.alerts-summary-card{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fafc;
  padding:12px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:2px 10px;
  text-align:left;
  color:#172033;
  box-shadow:none;
  min-height:76px;
}
.alerts-summary-card span{
  grid-row:1 / span 2;
  width:40px;
  height:40px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#1d4ed8;
}
.alerts-summary-card span .ui-icon{
  width:20px;
  height:20px;
}
.alerts-summary-card b{
  font-size:24px;
  line-height:1;
}
.alerts-summary-card small{
  color:#64748b;
  font-weight:900;
}
.alerts-summary-card.high span{background:#fef2f2;color:#dc2626}
.alerts-summary-card.due span{background:#fff7ed;color:#c2410c}
.alerts-summary-card.work span{background:#eef2ff;color:#4f46e5}
.alerts-summary-card.approvals span{background:#ecfdf5;color:#15803d}
.alerts-summary-card.active,
.alerts-summary-card:hover{
  border-color:#93c5fd;
  background:#fff;
  box-shadow:0 10px 22px rgba(37,99,235,.12);
}
.alerts-filter-card{
  display:grid;
  gap:12px;
  padding:12px;
}
.alerts-filter-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.alerts-filter-tabs button{
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  color:#334155;
  padding:8px 11px;
  min-height:0;
  font-weight:900;
  box-shadow:none;
}
.alerts-filter-tabs button b{
  margin-left:5px;
  color:#64748b;
}
.alerts-filter-tabs button.active{
  background:#172033;
  color:#fff;
  border-color:#172033;
}
.alerts-filter-tabs button.active b{
  color:#bfdbfe;
}
	.alerts-filter-tools{
	  display:grid;
	  grid-template-columns:minmax(260px,1fr) minmax(180px,240px) auto auto;
	  gap:10px;
	  align-items:end;
	}
.alerts-filter-tools label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:11px;
  font-weight:950;
}
.alerts-search-field{
  position:relative;
}
.alerts-search-field .ui-icon{
  position:absolute;
  left:10px;
  bottom:10px;
  width:18px;
  height:18px;
  color:#64748b;
}
.alerts-filter-tools input,
.alerts-filter-tools select{
  width:100%;
  height:40px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#172033;
  font-weight:700;
  padding:0 10px;
}
	.alerts-search-field input{
	  padding-left:36px;
	}
	.alerts-bulk-form{
	  display:flex;
	  justify-content:flex-end;
	  align-items:end;
	}
	.alerts-priority-lane,
	.alerts-board-card{
	  padding:14px;
}
.alerts-priority-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px;
}
	.alert-action-card{
	  display:grid;
	  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid #e2e8f0;
  border-left:5px solid #e54855;
  border-radius:8px;
  background:#fff;
	  color:#172033;
	  padding:12px;
	  text-decoration:none;
	}
.alert-action-card:hover{
  text-decoration:none;
  border-color:#bfdbfe;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}
.alert-action-icon{
  width:44px;
  height:44px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fef2f2;
  color:#dc2626;
}
.alert-action-icon .ui-icon{
  width:21px;
  height:21px;
}
.alert-action-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.alert-action-copy small,
.alert-action-copy em{
  color:#64748b;
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
.alert-action-copy b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.alert-action-copy em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
	.alert-row-actions{
	  display:flex;
	  gap:6px;
	  align-items:center;
	  justify-content:flex-end;
	  flex-wrap:wrap;
	}
	.alert-inline-form{
	  margin:0;
	  display:inline-flex;
	}
	.alert-open-btn,
	.alert-snooze-btn,
	.alert-dismiss-btn{
	  min-height:34px;
	  border-radius:8px;
	  padding:7px 9px;
	  font-size:12px;
	  font-weight:950;
	  line-height:1;
	  text-decoration:none;
	  box-shadow:none;
	  white-space:nowrap;
	}
	.alert-open-btn{
	  display:inline-flex;
	  align-items:center;
	  border:1px solid #bfdbfe;
	  background:#eff6ff;
	  color:#1d4ed8;
	}
	.alert-open-btn:hover{
	  background:#dbeafe;
	  text-decoration:none;
	}
	.alert-snooze-btn{
	  border:1px solid #cbd5e1;
	  background:#fff;
	  color:#334155;
	}
	.alert-snooze-btn:hover{
	  border-color:#94a3b8;
	  background:#f8fafc;
	  box-shadow:none;
	}
	.alert-dismiss-btn{
	  border:1px solid #fecaca;
	  background:#fff5f5;
	  color:#b91c1c;
	}
	.alert-dismiss-btn:hover{
	  border-color:#fca5a5;
	  background:#fee2e2;
	  box-shadow:none;
	}
	.alerts-group-stack{
	  display:grid;
  gap:12px;
}
.alerts-group{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.alerts-group-head{
  width:100%;
  border:0;
  border-radius:0;
  background:#f8fafc;
  color:#172033;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  text-align:left;
  padding:11px 12px;
  box-shadow:none;
}
.alerts-group-head span{
  width:34px;
  height:34px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#1d4ed8;
}
.alerts-group-head small{
  color:#64748b;
  font-weight:900;
}
.alerts-group-head em{
  font-style:normal;
}
.alerts-group.collapsed .alerts-page-list{
  display:none;
}
.alerts-group .alerts-page-list{
  padding:10px;
}
	.alerts-workbench .alert-page-row{
	  grid-template-columns:38px minmax(0,1fr) auto 130px minmax(230px,auto);
	  border-radius:8px;
	  background:#fff;
  border-left-width:5px;
  padding:12px;
}
.alerts-workbench .alert-page-row:hover{
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.alerts-workbench .alert-page-copy{
  min-width:0;
}
.alerts-workbench .alert-page-copy b,
.alerts-workbench .alert-page-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.alert-type-pill{
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fafc;
  color:#334155;
  padding:5px 8px;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
	.alert-snooze-modal{
	  width:min(520px,100%);
	}
	.alert-snooze-options{
	  display:grid;
	  gap:9px;
	}
	.alert-snooze-options label{
	  display:grid;
	  grid-template-columns:20px minmax(0,1fr);
	  gap:10px;
	  align-items:start;
	  border:1px solid #e2e8f0;
	  border-radius:8px;
	  background:#f8fafc;
	  padding:11px;
	  cursor:pointer;
	}
	.alert-snooze-options label:has(input:checked){
	  border-color:#93c5fd;
	  background:#eff6ff;
	}
	.alert-snooze-options input{
	  margin-top:3px;
	}
	.alert-snooze-options span{
	  display:grid;
	  gap:2px;
	}
	.alert-snooze-options small{
	  color:#64748b;
	  font-weight:800;
	}
	.alerts-filter-empty{
	  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
}
@media(max-width:980px){
  .alerts-command-card,
  .alerts-filter-tools{
    grid-template-columns:1fr;
  }
	  .alerts-workbench .alert-page-row,
	  .alert-action-card{
	    grid-template-columns:38px minmax(0,1fr);
	  }
	  .alert-type-pill,
	  .alert-page-date,
	  .alert-row-actions{
	    grid-column:2;
	    justify-self:start;
	  }
	  .alert-row-actions{
	    justify-content:flex-start;
	  }
	  .alert-action-copy b,
	  .alert-action-copy em{
	    white-space:normal;
  }
}
@media(max-width:620px){
  .alerts-workbench .alerts-summary-grid{
    grid-template-columns:1fr;
  }
  .alerts-command-card,
  .alerts-filter-card,
  .alerts-priority-lane,
  .alerts-board-card{
    padding:12px;
  }
}
.asset-hero-google-admin-btn{
  background:#fff!important;
  border-color:#c7e2ff!important;
  color:#174ea6!important;
}
.asset-hero-google-admin-btn:hover:not(:disabled){
  background:#eef7ff!important;
  border-color:#93c5fd!important;
}
.asset-hero-jamf-admin-btn{
  background:#fff!important;
  border-color:#bbf7d0!important;
  color:#047857!important;
}
.asset-hero-jamf-admin-btn:hover:not(:disabled){
  background:#ecfdf5!important;
  border-color:#86efac!important;
}
.google-admin-action-mark,
.jamf-admin-action-mark{
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
}
.google-admin-action-mark img,
.jamf-admin-action-mark img{
  width:25px!important;
  height:25px!important;
  object-fit:contain!important;
  display:block!important;
}
.asset-hero-icon-actions .asset-hero-icon-btn:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 15px 32px rgba(15,23,42,.12)!important;
}
.delete-asset-action{
  background:#fff5f5!important;
  border-color:#fecaca!important;
  color:#b91c1c!important;
}
.delete-asset-action:hover:not(:disabled){
  background:#fee2e2!important;
  border-color:#f87171!important;
  box-shadow:0 8px 18px rgba(185,28,28,.14)!important;
}
.delete-asset-action:disabled{
  background:#f3f4f6!important;
  border-color:#d1d5db!important;
  color:#9ca3af!important;
  cursor:not-allowed!important;
  opacity:.78!important;
  box-shadow:none!important;
}
.delete-asset-action:disabled .ui-icon{
  color:#9ca3af!important;
}

.google-admin-actions-modal{
  width:min(780px,calc(100vw - 34px))!important;
  padding:18px!important;
}
.google-admin-actions-modal .modal-head p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-weight:800!important;
}
.google-admin-action-summary{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid #dbeafe!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#f8fbff,#fff)!important;
  padding:12px!important;
  margin-bottom:12px!important;
}
.jamf-admin-action-summary{
  border-color:#bbf7d0!important;
  background:linear-gradient(180deg,#f0fdf4,#fff)!important;
}
.google-admin-action-logo{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border:1px solid #c7e2ff!important;
  box-shadow:0 8px 20px rgba(66,133,244,.12)!important;
  flex:0 0 auto!important;
}
.google-admin-action-logo img{
  width:28px!important;
  height:28px!important;
  object-fit:contain!important;
}
.jamf-admin-action-logo{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border:1px solid #bbf7d0!important;
  box-shadow:0 8px 20px rgba(4,120,87,.12)!important;
  flex:0 0 auto!important;
}
.jamf-admin-action-logo img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
}
.google-admin-action-summary strong,
.google-admin-action-summary small{
  display:block!important;
}
.google-admin-action-summary small{
  color:#64748b!important;
  font-weight:800!important;
  margin-top:3px!important;
}
.google-admin-scope-note{
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#475569!important;
  font-weight:800!important;
  line-height:1.45!important;
  padding:10px 12px!important;
  margin:0 0 12px!important;
}
.google-admin-scope-note code{
  color:#174ea6!important;
  font-size:11px!important;
}
.google-admin-action-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
  gap:12px!important;
}
.google-admin-action-card{
  border:1px solid #dbe5f2!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:14px!important;
  display:grid!important;
  grid-template-rows:42px minmax(38px,auto) minmax(54px,1fr) auto!important;
  align-items:start!important;
  gap:9px!important;
  min-height:190px!important;
  height:100%!important;
  align-content:stretch!important;
}
.google-admin-action-card.danger{
  background:#fff7f7!important;
  border-color:#fecaca!important;
}
.google-admin-action-card.success{
  background:#f0fdf4!important;
  border-color:#bbf7d0!important;
}
.admin-card-icon{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:#eff6ff!important;
  color:#2563eb!important;
}
.admin-card-icon.warn{
  background:#fff7ed!important;
  color:#ea580c!important;
}
.admin-card-icon.danger{
  background:#fee2e2!important;
  color:#dc2626!important;
}
.admin-card-icon.success{
  background:#dcfce7!important;
  color:#15803d!important;
}
.admin-card-icon .ui-icon{
  width:22px!important;
  height:22px!important;
  stroke-width:2.5!important;
}
.google-admin-action-card strong{
  font-size:16px!important;
  line-height:1.15!important;
}
.google-admin-action-card small{
  color:#64748b!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.google-admin-action-card button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:end!important;
  margin-top:auto!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  line-height:1.15!important;
  text-align:center!important;
}

/* Managed Chromebook asset header: reserve badge space and keep long model names readable. */
.asset-d3-main-card{
  position:relative!important;
}
.asset-d3-copy{
  padding-right:0!important;
}
.asset-d3-title-row{
  padding-right:220px!important;
}
.asset-d3-title-row h1{
  width:auto!important;
  max-width:calc(100% - 220px)!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:none!important;
}
.asset-d3-title-row h1 .asset-title-main,
.asset-d3-title-row h1 .asset-title-sub{
  display:block!important;
  width:max-content!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.asset-d3-title-row h1 .asset-title-sub{
  margin-top:2px!important;
  font-size:.92em!important;
  line-height:1.05!important;
  color:#334155!important;
}
.asset-status-actions{
  top:14px!important;
  right:14px!important;
  max-width:280px!important;
}
.asset-status-actions .asset-status-corner,
.asset-status-actions .hero-presence-pill{
  justify-self:end!important;
}
@media(max-width:1500px){
  .asset-d3-title-row{padding-right:0!important;}
  .asset-d3-title-row h1{max-width:100%!important;}
  .asset-status-actions{
    position:static!important;
    max-width:none!important;
    margin:10px 0 0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
}
.admin-confirm{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#991b1b!important;
  font-weight:900!important;
  font-size:12px!important;
}
.admin-reset-options{
  display:grid!important;
  gap:8px!important;
  margin:2px 0!important;
}
.admin-reset-options label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:9px!important;
  align-items:start!important;
  padding:9px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  cursor:pointer!important;
}
.admin-reset-options input{
  margin-top:3px!important;
  width:16px!important;
  height:16px!important;
}
.admin-reset-options b{
  display:block!important;
  color:#0f172a!important;
  font-size:13px!important;
  line-height:1.15!important;
}
.admin-reset-options small{
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:600!important;
}
.reset-confirm{
  color:#b45309!important;
  align-items:flex-start!important;
}
@media(max-width:760px){
  .google-admin-action-grid{
    grid-template-columns:1fr!important;
  }
}

/* Checkout page: scan-console layout inspired by fast circulation tools */
.circulation-shell{
  gap:14px!important;
}
.circ-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px) auto!important;
  align-items:center!important;
  min-height:86px!important;
  padding:18px 20px!important;
}
.circ-hero h1{
  color:#4780b7!important;
  font-size:22px!important;
  letter-spacing:-.02em!important;
  margin:2px 0 6px!important;
}
.circ-hero p{
  font-size:13px!important;
  font-weight:800!important;
}
.circ-setting-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.35!important;
}
.circ-setting-note .ui-icon{
  width:17px!important;
  height:17px!important;
  color:#14b8a6!important;
  margin-top:1px!important;
}
.scan-layout{
  grid-template-columns:minmax(640px,1fr) minmax(340px,.42fr) minmax(260px,.34fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.scan-entry-board{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:16px;
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(260px,.72fr);
  gap:16px;
  min-height:288px;
}
.scan-steps-column{
  display:grid;
  gap:14px;
  align-content:start;
}
.scan-entry-board .scan-card{
  min-height:0!important;
  padding:0!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:14px!important;
  background:transparent!important;
}
.scan-step-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  border:1px solid #e4ebf5;
  background:#fff;
  display:grid;
  place-items:center;
  color:#5b7fab;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
.scan-step-icon .ui-icon{
  width:27px!important;
  height:27px!important;
}
.scan-step-body{
  min-width:0;
}
.scan-entry-board .step-title{
  margin-bottom:8px!important;
}
.scan-entry-board .step-title>span{
  display:none!important;
}
.scan-entry-board .step-title h2{
  font-size:14px!important;
  line-height:1.2!important;
  margin:0 0 2px!important;
}
.scan-entry-board .step-title p{
  font-size:12px!important;
}
.scan-entry-board .scan-input-wrap{
  height:46px!important;
  border-radius:12px!important;
  background:#fff!important;
  border-color:#dce6ef!important;
}
.scan-entry-board .scan-input-wrap input{
  font-size:15px!important;
  font-weight:850!important;
}
.scan-entry-board .quick-results{
  max-height:112px!important;
  border-radius:12px!important;
}
.scan-entry-board .scan-result{
  min-height:50px!important;
}
.scan-feedback-panel{
  min-height:224px;
  border-radius:12px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  text-align:center;
  padding:24px;
  color:#fff;
  background:linear-gradient(135deg,#64748b,#475569);
}
.scan-feedback-panel.partial{
  background:linear-gradient(135deg,#f59e0b,#d97706);
}
.scan-feedback-panel.success{
  background:linear-gradient(135deg,#14b8a6,#059669);
}
.scan-feedback-panel.checkin.success{
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
}
.scan-feedback-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.76);
  display:grid;
  place-items:center;
  font-size:31px;
  font-weight:900;
  line-height:1;
}
.scan-feedback-panel h2{
  margin:0!important;
  font-size:20px!important;
  color:#fff!important;
}
.scan-feedback-panel p{
  margin:0!important;
  max-width:300px;
  color:rgba(255,255,255,.88)!important;
  font-weight:800!important;
  line-height:1.4!important;
}
.preview-panel{
  min-height:610px!important;
  gap:12px!important;
}
.checkout-result-card{
  border:1px solid #e5edf6;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  padding:14px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.checkout-result-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#f1f5f9;
  color:#64748b;
}
.checkout-result-icon .ui-icon{
  width:24px!important;
  height:24px!important;
}
.checkout-result-card h3{
  margin:0 0 3px!important;
  font-size:17px!important;
  color:#b08a57!important;
}
.checkout-result-card p{
  margin:0!important;
  color:#64748b!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.preview-head{
  padding:8px 0 14px!important;
  border-bottom:1px solid #eef2f7!important;
}
.preview-panel .avatar.lg{
  width:82px!important;
  height:82px!important;
  font-size:28px!important;
}
.preview-panel .preview-stats,
.preview-panel .preview-device-box,
.current-checkouts-card{
  background:#fff!important;
}
.live-panel{
  min-height:610px!important;
}
.tips-row{
  display:none!important;
}
@media(max-width:1380px){
  .scan-layout{
    grid-template-columns:1fr minmax(320px,.42fr)!important;
  }
  .live-panel{
    grid-column:1 / -1!important;
    min-height:auto!important;
  }
}
@media(max-width:1050px){
  .circ-hero,
  .scan-layout,
  .scan-entry-board{
    grid-template-columns:1fr!important;
  }
  .circ-controls{
    justify-content:flex-start!important;
  }
}

/* Checkout page: scanner-first layout with a transaction table */
.circulation-shell .quick-mode-switch,
.circulation-shell .preview-panel,
.circulation-shell .quick-action-panel,
.circulation-shell .live-panel,
.circulation-shell .tips-row,
.circulation-shell .selected-devices,
.circulation-shell .scan-steps-column .scan-card .full-width{
  display:none!important;
}
.circulation-shell .quick-results{
  display:none!important;
}
.circulation-shell .circ-hero{
  grid-template-columns:minmax(0,1fr) minmax(310px,470px) auto!important;
  min-height:72px!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.circulation-shell .circ-controls{
  justify-content:flex-end!important;
}
.circulation-shell .scan-layout{
  grid-template-columns:1fr!important;
}
.circulation-shell .scan-entry-board{
  grid-template-columns:minmax(390px,.95fr) minmax(300px,.55fr)!important;
  min-height:220px!important;
  padding:20px!important;
}
.circulation-shell .scan-steps-column{
  gap:22px!important;
}
.circulation-shell .primary-step{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  align-items:center!important;
}
.circulation-shell .scan-step-icon{
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border:1px solid #e4ebf4!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
  color:#67809e!important;
}
.circulation-shell .scan-step-icon .ui-icon{
  width:30px!important;
  height:30px!important;
}
.circulation-shell .scan-feedback-panel{
  align-self:stretch!important;
  min-height:154px!important;
  padding:18px!important;
  border-style:dashed!important;
}
.circulation-shell .scan-feedback-panel .scan-feedback-icon{
  width:48px!important;
  height:48px!important;
  font-size:24px!important;
}
.circulation-shell .scan-feedback-panel h2{
  font-size:19px!important;
  margin:0!important;
}
.circulation-shell .scan-feedback-panel p{
  max-width:320px!important;
}
.checkout-history-panel{
  display:grid;
  gap:4px;
  grid-column:1 / 2;
  grid-row:2;
  align-self:start;
  margin-top:-10px;
}
.checkout-history-tabs{
  display:flex;
  align-items:center;
  gap:18px;
  padding-left:4px;
}
.checkout-history-tabs button{
  border:0;
  background:transparent;
  color:#6a7891;
  min-height:30px;
  padding:0 4px;
  font-weight:900;
  border-radius:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.checkout-history-tabs button.active{
  color:#3346d3;
  border-bottom:3px solid #3346d3;
}
.checkout-history-tabs .ui-icon{
  width:17px;
  height:17px;
}
.checkout-history-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.checkout-history-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:9px 14px;
  border-bottom:1px solid #e6edf6;
  color:#6a7891;
  font-size:13px;
  font-weight:800;
}
.checkout-total-pill{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#eef7ff;
  border:1px solid #cfe3ff;
  color:#1f4f85!important;
  font-weight:950!important;
  white-space:nowrap;
}
.checkout-total-pill b{
  color:#0f2f61;
  font-size:16px;
}
.checkout-history-toolbar>div,
.checkout-history-footer>div,
.checkout-row-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.checkout-row-actions{
  flex-wrap:nowrap;
  gap:6px;
  white-space:nowrap;
}
.checkout-table-wrap{
  overflow:visible;
}
.checkout-history-table{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.checkout-history-table th,
.checkout-history-table td{
  padding:9px 10px;
  border-bottom:1px solid #e8eef6;
  text-align:left;
  vertical-align:middle;
}
.checkout-history-table th{
  background:#fbfcff;
  color:#2c3e5b;
  font-size:12px;
  font-weight:950;
}
.checkout-history-table td{
  color:#172033;
  font-size:13px;
}
.checkout-history-table th:nth-child(1),
.checkout-history-table td:nth-child(1){width:34px}
.checkout-history-table th:nth-child(2),
.checkout-history-table td:nth-child(2){width:16%}
.checkout-history-table th:nth-child(3),
.checkout-history-table td:nth-child(3){width:14%}
.checkout-history-table th:nth-child(4),
.checkout-history-table td:nth-child(4){width:15%}
.checkout-history-table th:nth-child(5),
.checkout-history-table td:nth-child(5){width:14%}
.checkout-history-table th:nth-child(6),
.checkout-history-table td:nth-child(6){width:14%}
.checkout-history-table th:nth-child(7),
.checkout-history-table td:nth-child(7){width:27%}
.checkout-empty-row td{
  padding:18px!important;
  color:#7c8aa2!important;
  background:#fbfcff!important;
  font-weight:850;
}
.checkout-asset-tag{
  color:#1557d6;
  display:block;
  font-weight:950;
  text-decoration:none;
}
.checkout-history-table td small{
  color:#7b879c;
  display:block;
  font-size:11px;
  margin-top:2px;
}
.checkout-owner{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.checkout-owner .avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  aspect-ratio:1/1;
  border-radius:50%!important;
}
.checkout-owner .avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  border-radius:50%!important;
  display:block;
}
.checkout-owner b{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.checkout-history-toolbar .btn.small{
  min-height:34px!important;
  padding:7px 12px!important;
  font-size:12px!important;
}
.checkout-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  min-width:70px;
  padding:0 8px;
  border-radius:10px;
  border:1px solid #d6e0ee;
  background:#fff;
  color:#172033;
  font-size:11px;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.checkout-action-btn:hover{
  background:#f6f9ff;
  border-color:#bfd0e8;
}
.checkout-action-btn.ticket{
  color:#1847b8;
}
.checkout-action-btn.intake{
  color:#0f6b4a;
  background:#f3fff9;
  border-color:#bde9d3;
  min-width:132px;
}
.checkout-action-btn.fee{
  color:#7b3f00;
  background:#fffaf2;
  border-color:#f2d2a6;
}
.checkout-row-actions .danger-soft{
  color:#d44747!important;
  border-color:#ffd6d6!important;
  background:#fff7f7!important;
  width:30px!important;
  min-height:30px!important;
}
.checkout-history-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:8px 14px;
  background:#fbfcff;
  color:#64748b;
  font-size:13px;
  font-weight:850;
}
.checkout-history-footer .primary{
  min-height:38px!important;
  padding:0 18px!important;
}
.quick-mode-switch{
  display:none!important;
}
.batch-mode-switch{
  display:flex;
  align-items:stretch;
  gap:6px;
  padding:5px;
  border:1px solid #d5deec;
  border-radius:14px;
  background:#f7faff;
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.batch-mode-pill{
  min-height:44px!important;
  padding:7px 13px!important;
  border-radius:11px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  color:#53657f!important;
  gap:9px!important;
  box-shadow:none!important;
}
.batch-mode-pill .ui-icon{
  width:20px!important;
  height:20px!important;
}
.batch-mode-pill span{
  display:grid;
  text-align:left;
  line-height:1.05;
}
.batch-mode-pill b{
  color:inherit;
  font-size:13px;
}
.batch-mode-pill small{
  color:inherit;
  opacity:.72;
  font-size:10px;
  font-weight:900;
}
.batch-mode-pill.active{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(37,99,235,.22)!important;
}
.batch-complete-btn{
  display:none!important;
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  border-radius:10px!important;
  font-weight:950!important;
}
.batch-flow-on .batch-complete-btn{
  display:inline-flex!important;
}
.batch-complete-btn:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.batch-flow-on .scan-feedback-panel.success{
  background:#eef6ff!important;
  border-color:#6aa6ff!important;
  color:#0f3b73!important;
}
.checkout-asset-cell{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.checkout-asset-thumb{
  width:36px!important;
  height:30px!important;
}
.checkout-serial-cell,
.checkout-history-table td:nth-child(3),
.checkout-history-table td:nth-child(5){
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:1050px){
  .circulation-shell .circ-hero,
  .circulation-shell .scan-entry-board{
    grid-template-columns:1fr!important;
  }
  .checkout-history-toolbar,
  .checkout-history-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Checkout page: right-side user profile, matching scanner workflow */
.circulation-shell .scan-layout{
  grid-template-columns:minmax(620px,1fr) minmax(300px,380px)!important;
  align-items:start!important;
  row-gap:10px!important;
}
.checkout-person-panel{
  display:grid;
  gap:10px;
  grid-column:2;
  grid-row:1 / 3;
  align-self:start;
}
.checkout-person-status,
.checkout-person-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
}
.checkout-person-status{
  min-height:82px;
  padding:13px 14px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.checkout-status-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fff7e8;
  color:#b88a4b;
}
.checkout-status-icon .ui-icon{
  width:19px;
  height:19px;
}
.checkout-person-status h3{
  margin:0 0 5px!important;
  color:#b08a57!important;
  font-size:16px!important;
  letter-spacing:-.01em!important;
}
.checkout-person-status p{
  margin:2px 0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.checkout-person-status b{
  color:#33415f;
}
.checkout-person-panel.has-checkout-hold .checkout-person-status{
  border-color:#fecaca!important;
  background:#fff7f7!important;
}
.checkout-person-panel.has-checkout-hold .checkout-status-icon{
  background:#fee2e2!important;
  color:#dc2626!important;
}
.checkout-person-panel.has-checkout-hold .checkout-person-status h3{
  color:#b42318!important;
}
.checkout-hold-callout{
  display:grid;
  gap:4px;
  margin-top:9px;
  padding:10px;
  border:1px solid #fecaca;
  border-radius:9px;
  background:#fff1f2;
  color:#7f1d1d;
}
.checkout-hold-callout[hidden]{
  display:none!important;
}
.checkout-hold-callout b{
  display:flex;
  align-items:center;
  gap:7px;
  color:#991b1b!important;
  font-size:12px;
  font-weight:950;
}
.checkout-hold-callout b .ui-icon{
  width:16px!important;
  height:16px!important;
}
.checkout-hold-callout span,
.checkout-hold-callout small{
  display:block;
  color:#7f1d1d;
  font-weight:850;
  line-height:1.35;
}
.checkout-hold-callout small{
  color:#9f1239;
  font-size:11px;
}
.people-circulation-holds-editor{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.people-checkout-hold-editor{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #fecaca;
  border-radius:10px;
  background:#fff7f7;
}
.people-renew-hold-editor{
  border-color:#fde68a;
  background:#fffbeb;
}
.people-renew-hold-editor .checkbox-row b{
  color:#92400e;
}
.people-renew-hold-editor .checkbox-row small{
  color:#78350f;
}
@media(max-width:760px){
  .people-circulation-holds-editor{
    grid-template-columns:1fr;
  }
}
.people-checkout-hold-editor .checkbox-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.people-checkout-hold-editor .checkbox-row input{
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  margin:3px 0 0!important;
}
.people-checkout-hold-editor .checkbox-row span,
.people-checkout-hold-editor .checkbox-row b,
.people-checkout-hold-editor .checkbox-row small{
  display:block;
  text-align:left!important;
}
.people-checkout-hold-editor .checkbox-row span{
  flex:1 1 auto!important;
  min-width:0!important;
}
.people-checkout-hold-editor .checkbox-row b{
  color:#991b1b;
  font-weight:950;
}
.people-checkout-hold-editor .checkbox-row small{
  margin-top:2px;
  color:#7f1d1d;
  font-weight:800;
  line-height:1.35;
}
.people-checkout-hold-editor>label:not(.checkbox-row){
  display:grid!important;
  justify-items:stretch!important;
  text-align:left!important;
}
.people-checkout-hold-editor textarea{
  width:100%!important;
}
.checkout-current-assets-link{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#2456c8!important;
  box-shadow:none!important;
  font:inherit!important;
  font-weight:950!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
}
.checkout-current-assets-link:hover{
  color:#174ea6!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.homeroom-current-checkouts-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:5px!important;
  font-size:12px!important;
}
.homeroom-current-checkouts-link em{
  color:#64748b!important;
  font-style:normal!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.homeroom-roster-loading{
  width:100%;
  min-height:78px;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #bfdbfe;
  border-radius:12px;
  background:linear-gradient(135deg,#f8fbff,#ffffff);
  padding:13px 14px;
  box-shadow:0 10px 24px rgba(37,99,235,.08);
}
.homeroom-loading-row td{
  padding:18px!important;
  background:#f8fbff!important;
}
.homeroom-roster-loading>span{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eff6ff;
  color:#2563eb;
}
.homeroom-roster-loading>span .ui-icon{
  width:22px;
  height:22px;
  animation:homeroomLoadSpin 1.1s linear infinite;
}
.homeroom-roster-loading>div{
  min-width:0;
  display:grid;
  gap:5px;
  flex:1;
}
.homeroom-roster-loading b{
  color:#172033;
  font-size:13px;
  font-weight:950;
}
.homeroom-roster-loading small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.homeroom-roster-loading i{
  position:relative;
  display:block;
  width:100%;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#dbeafe;
}
.homeroom-roster-loading i:after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:42%;
  border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#16a34a);
  animation:homeroomLoadBar 1.15s ease-in-out infinite;
}
@keyframes homeroomLoadBar{
  0%{transform:translateX(-110%)}
  55%{transform:translateX(85%)}
  100%{transform:translateX(255%)}
}
@keyframes homeroomLoadSpin{
  to{transform:rotate(360deg)}
}
.homeroom-device-results .homeroom-device-result{
  justify-content:flex-start!important;
  text-align:left!important;
}
.homeroom-device-results .homeroom-device-result>span:not(.device-mini){
  min-width:0!important;
  flex:1 1 auto!important;
  display:grid!important;
  justify-items:start!important;
  text-align:left!important;
}
.homeroom-device-results .homeroom-device-result b,
.homeroom-device-results .homeroom-device-result small{
  width:100%!important;
  text-align:left!important;
}
.checkout-blocked-device-modal{
  width:min(640px,calc(100vw - 32px))!important;
}
.checkout-blocked-device-card{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:16px;
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:14px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}
.checkout-blocked-device-image{
  width:118px;
  height:92px;
  display:grid;
  place-items:center;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}
.checkout-blocked-device-image img{
  max-width:98px;
  max-height:72px;
  object-fit:contain;
}
.checkout-blocked-device-copy{
  min-width:0;
  display:grid;
  gap:7px;
}
.checkout-blocked-device-title-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.checkout-blocked-device-title-row>span:last-child{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.checkout-blocked-device-copy strong{
  color:#172033;
  font-size:18px;
  font-weight:950;
  line-height:1.2;
}
.checkout-blocked-device-copy small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.checkout-blocked-reason-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:12px;
  border:1px solid #fecaca;
  border-radius:14px;
  background:#fff7f7;
  padding:14px;
}
.checkout-blocked-reason-card>span{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#fee2e2;
  color:#b91c1c;
}
.checkout-blocked-reason-card b{
  display:block;
  color:#991b1b;
  font-size:13px;
  font-weight:950;
}
.checkout-blocked-reason-card p{
  margin:3px 0 0;
  color:#172033;
  font-size:14px;
  font-weight:500;
  line-height:1.35;
}
@media(max-width:620px){
  .checkout-blocked-device-card{
    grid-template-columns:1fr;
  }
  .checkout-blocked-device-image{
    width:100%;
  }
}
.checkout-current-assets-modal{
  width:min(840px,calc(100vw - 32px))!important;
}
.checkout-current-assets-table-wrap{
  max-height:460px;
  overflow:auto;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
}
.checkout-current-assets-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.checkout-current-assets-table th,
.checkout-current-assets-table td{
  padding:10px 12px;
  border-bottom:1px solid #edf2f7;
  text-align:left;
  vertical-align:middle;
}
.checkout-current-assets-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8fbff;
  color:#475569;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.checkout-current-assets-table tr:last-child td{
  border-bottom:0;
}
.checkout-current-assets-table tr.is-overdue td{
  background:#fff1f2;
  border-bottom-color:#fecdd3;
}
.checkout-current-assets-table tr.is-overdue:hover td{
  background:#ffe4e6;
}
.checkout-current-assets-table th:last-child,
.checkout-current-assets-table td:last-child{
  text-align:right;
  white-space:nowrap;
}
.checkout-current-asset-cell{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.checkout-current-asset-cell b,
.checkout-current-asset-cell small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.checkout-current-asset-cell b{
  color:#172033;
  font-weight:950;
}
.checkout-current-asset-cell small{
  margin-top:2px;
  color:#64748b;
  font-weight:800;
}
.checkout-current-asset-image{
  width:48px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
  overflow:hidden;
}
.checkout-current-asset-image img{
  max-width:44px;
  max-height:34px;
  object-fit:contain;
}
.checkout-current-asset-image.empty .ui-icon{
  width:20px!important;
  height:20px!important;
  color:#64748b!important;
}
.checkout-current-due-cell{
  display:grid;
  gap:2px;
}
.checkout-current-due-cell b{
  color:#172033;
  font-size:13px;
  font-weight:900;
}
.checkout-current-due-cell small{
  color:#b91c1c;
  font-size:11px;
  font-weight:950;
}
.checkout-person-card{
  position:relative;
  overflow:hidden;
}
.person-photo{
  width:104px!important;
  height:104px!important;
  margin:28px auto 22px!important;
  border-radius:50%!important;
  font-size:30px!important;
  box-shadow:0 12px 30px rgba(51,70,211,.12);
}
.checkout-person-panel.has-person .person-photo{
  background:#e9d8f5!important;
  color:#0f1c33!important;
}
.person-info-list{
  border-top:1px solid #eef2f7;
}
.person-info-list>div{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid #eef2f7;
  align-items:center;
}
.person-info-list>div:last-child{
  border-bottom:0;
}
.person-info-list .ui-icon{
  width:22px;
  height:22px;
  color:#607089;
}
.person-info-list small,
.person-info-list b{
  display:block;
}
.person-info-list small{
  color:#7b879c;
  font-size:11px;
  font-weight:850;
  margin-bottom:2px;
}
.person-info-list b{
  color:#172033;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.checkout-person-panel.has-person .checkout-person-status{
  border-color:#d7ebdf;
  background:linear-gradient(180deg,#fff,#fbfffc);
}
.checkout-person-panel.has-person .checkout-person-status h3{
  color:#168957!important;
}
.checkout-person-panel:not(.has-person) .checkout-person-card{
  display:none!important;
}
.checkout-person-panel:not(.has-person){
  align-content:start!important;
}
.checkout-person-panel.has-person .checkout-person-card,
.checkout-person-panel.has-person .person-info-list{
  overflow:visible!important;
}
@media(max-width:1250px){
  .circulation-shell .scan-layout{
    grid-template-columns:1fr!important;
  }
  .checkout-person-panel{
    grid-column:auto;
    grid-row:auto;
  }
  .checkout-history-panel{
    grid-column:auto;
    grid-row:auto;
  }
}

/* Checkout layout final: left workflow stacks tightly, right profile does not push rows down */
.circulation-shell .scan-layout{
  display:block!important;
  position:relative!important;
  padding-right:396px!important;
  min-height:0!important;
}
.circulation-shell .scan-entry-board{
  width:100%!important;
}
.checkout-history-panel{
  grid-column:auto!important;
  grid-row:auto!important;
  margin-top:8px!important;
}
.checkout-person-panel{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:380px!important;
  max-height:calc(100vh - 190px)!important;
  overflow:hidden!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.checkout-person-card{
  max-height:calc(100vh - 300px)!important;
  overflow:hidden!important;
}
.person-info-list{
  max-height:calc(100vh - 445px)!important;
  overflow:auto!important;
}
.person-photo{
  width:86px!important;
  height:86px!important;
  margin:18px auto 16px!important;
}

/* Checkout page: keep the open sidebar state from creating extra page scroll */
body:not(.nav-collapsed) .main:has(.circulation-shell){
  padding-bottom:10px!important;
}
body:not(.nav-collapsed) .circulation-shell{
  gap:10px!important;
}
body:not(.nav-collapsed) .circulation-shell .circ-hero{
  min-height:58px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
body:not(.nav-collapsed) .circulation-shell .circ-hero h1{
  font-size:20px!important;
  margin:0 0 2px!important;
}
body:not(.nav-collapsed) .circulation-shell .circ-hero p{
  font-size:12px!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-entry-board{
  min-height:194px!important;
  padding:14px!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-steps-column{
  gap:14px!important;
}
body:not(.nav-collapsed) .circulation-shell .primary-step{
  grid-template-columns:58px minmax(0,1fr)!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-step-icon{
  width:46px!important;
  height:46px!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-step-icon .ui-icon{
  width:24px!important;
  height:24px!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-feedback-panel{
  min-height:136px!important;
  padding:12px!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-feedback-panel .scan-feedback-icon{
  width:40px!important;
  height:40px!important;
  font-size:21px!important;
}
body:not(.nav-collapsed) .circulation-shell .scan-feedback-panel h2{
  font-size:17px!important;
}
body:not(.nav-collapsed) .checkout-history-panel{
  margin-top:6px!important;
}
body:not(.nav-collapsed) .checkout-history-tabs button{
  min-height:24px!important;
  padding:4px 8px!important;
}
body:not(.nav-collapsed) .checkout-history-toolbar{
  padding:7px 12px!important;
}
body:not(.nav-collapsed) .checkout-history-table th,
body:not(.nav-collapsed) .checkout-history-table td{
  padding:7px 8px!important;
}
body:not(.nav-collapsed) .checkout-history-footer{
  padding:6px 12px!important;
}
body:not(.nav-collapsed) .checkout-person-panel{
  max-height:calc(100vh - 168px)!important;
}
body:not(.nav-collapsed) .checkout-person-card{
  max-height:calc(100vh - 272px)!important;
}
body:not(.nav-collapsed) .person-photo{
  width:74px!important;
  height:74px!important;
  margin:12px auto 10px!important;
}
body:not(.nav-collapsed) .person-info-list{
  max-height:calc(100vh - 390px)!important;
}
body:not(.nav-collapsed) .person-info-list>div{
  padding:9px 12px!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person,
.checkout-person-panel.has-person{
  overflow:hidden!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .checkout-person-card,
.checkout-person-panel.has-person .checkout-person-card{
  max-height:none!important;
  overflow:hidden!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-info-list,
.checkout-person-panel.has-person .person-info-list{
  max-height:none!important;
  overflow:hidden!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-info-list>div:nth-child(n+6),
.checkout-person-panel.has-person .person-info-list>div:nth-child(n+6){
  display:none!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-photo,
.checkout-person-panel.has-person .person-photo{
  width:58px!important;
  height:58px!important;
  margin:8px auto 6px!important;
  font-size:22px!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-info-list>div,
.checkout-person-panel.has-person .person-info-list>div{
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:8px!important;
  padding:7px 12px!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-info-list .ui-icon,
.checkout-person-panel.has-person .person-info-list .ui-icon{
  width:18px!important;
  height:18px!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-info-list small,
.checkout-person-panel.has-person .person-info-list small{
  font-size:10px!important;
  margin-bottom:1px!important;
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-info-list b,
.checkout-person-panel.has-person .person-info-list b{
  font-size:12px!important;
}
@media(max-width:1250px){
  .circulation-shell .scan-layout{
    display:grid!important;
    padding-right:0!important;
  }
  .checkout-person-panel{
    position:static!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .checkout-person-card,
  .person-info-list{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* People directory aligned with dashboard asset table */
.student-directory-card.asset-snapshot-card{
  padding:20px!important;
}
.student-directory-toolbar{
  align-items:center!important;
  margin-bottom:20px!important;
}
.student-directory-toolbar h2{
  font-size:27px!important;
  letter-spacing:-.025em!important;
  line-height:1.05!important;
}
.student-directory-toolbar .muted,
.people-search-panel{
  display:none!important;
}
.student-directory-actions{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  margin-top:0!important;
}
.student-directory-actions .student-bulk-select{
  width:230px!important;
  min-width:230px!important;
}
.student-directory-actions .student-year-select{
  width:128px!important;
  min-width:128px!important;
}
.student-directory-actions .filter{
  height:46px!important;
  border-radius:14px!important;
}
.people-table-wrap{
  margin-top:6px!important;
  border-radius:14px!important;
  overflow:auto!important;
}
.people-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.people-table th,
.people-table td{
  padding-left:10px!important;
  padding-right:10px!important;
  vertical-align:middle!important;
}
.people-table th[data-col="select"],
.people-table td[data-col="select"]{
  width:42px!important;
  min-width:42px!important;
}
.people-table th[data-col="person"],
.people-table td[data-col="person"]{
  width:20%!important;
}
.people-table th[data-col="id"],
.people-table td[data-col="id"]{
  width:7%!important;
}
.people-table th[data-col="type"],
.people-table td[data-col="type"]{
  width:8%!important;
}
.people-table th[data-col="role"],
.people-table td[data-col="role"]{
  width:12%!important;
}
.people-table th[data-col="building"],
.people-table td[data-col="building"]{
  width:11%!important;
}
.people-table th[data-col="level"],
.people-table td[data-col="level"]{
  width:10%!important;
}
.people-table th[data-col="created"],
.people-table td[data-col="created"]{
  width:8%!important;
}
.people-table th[data-col="assets"],
.people-table td[data-col="assets"],
.people-table th[data-col="repairs"],
.people-table td[data-col="repairs"]{
  width:6%!important;
}
.people-table th[data-col="status"],
.people-table td[data-col="status"]{
  width:7%!important;
}
.people-table th[data-col="actions"],
.people-table td[data-col="actions"]{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  padding-right:12px!important;
}
.people-table th button[data-people-sort]{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.people-table th button[data-people-sort]::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #b8c4d5;
}
.people-table th button[data-people-sort].active::after{
  border-top-color:#2563eb;
}
.asset-directory-table thead th button[data-asset-sort]{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:900!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  text-align:left!important;
}
.asset-directory-table thead th button[data-asset-sort]::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #b8c4d5;
}
.asset-directory-table thead th button[data-asset-sort].active::after{
  border-top-color:#2563eb;
}
.asset-directory-table thead th button[data-asset-sort].active[aria-sort="ascending"]::after{
  transform:rotate(180deg);
}
.people-inline-filters input,
.people-inline-filters select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  border-radius:10px!important;
  padding:7px 10px!important;
  font-size:11px!important;
}
.people-table .person-cell{
  min-width:0!important;
  gap:8px!important;
}
.people-table .person-cell > div:last-child,
.people-table td[data-col="role"],
.people-table td[data-col="building"],
.people-table td[data-col="level"]{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.people-table .subtext{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.people-table .avatar.md{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  font-size:12px!important;
}
.people-table th[data-col="person"],
.people-table td[data-col="person"]{
  width:300px!important;
  min-width:300px!important;
  max-width:360px!important;
}
.people-table td[data-col="person"] .person-cell > div:last-child{
  min-width:0!important;
  max-width:100%!important;
}
.people-table td[data-col="person"] .person-cell b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.people-table:not(.resizable-table) th[data-col="person"],
.people-table:not(.resizable-table) td[data-col="person"]{
  width:clamp(260px,28vw,360px)!important;
}
.people-row-action-menu .asset-row-action-summary{
  min-width:104px!important;
  width:104px!important;
  max-width:104px!important;
  padding-left:10px!important;
  padding-right:8px!important;
}
.table-action-menu-panel button{
  display:flex;
  width:100%;
  justify-content:flex-start;
  border:0;
  background:#fff;
  color:#172033;
  border-radius:10px;
  font-weight:500;
  padding:10px 11px;
  text-align:left;
  cursor:pointer;
}
.table-action-menu-panel button:hover{
  background:#f2f5ff;
}
.student-bulk-footer{
  margin-top:10px!important;
  padding:0 4px!important;
}

@media(max-width:1280px){
  .people-table{
    min-width:1180px!important;
  }
  .student-directory-actions{
    flex-wrap:wrap!important;
  }
}

/* Single asset circulation and locations */
.asset-hero-checkin-btn{
  color:#0f5132!important;
}
.section-head-actions{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.single-asset-flow-modal{
  max-width:1080px!important;
}
.single-asset-flow-modal .modal-head p{
  margin:4px 0 0;
  color:#64748b;
  font-weight:800;
}
.single-asset-flow-form{
  display:block;
}
.single-asset-flow-grid{
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 330px;
  gap:16px;
  padding:16px 18px;
}
.single-asset-summary-card,
.single-flow-main,
.single-flow-side,
.checkin-guidance-card{
  border:1px solid #dbe5f3;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.single-asset-summary-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  align-self:start;
}
.single-asset-summary-card strong,
.single-asset-summary-card span,
.single-asset-summary-card small{
  display:block;
}
.single-asset-summary-card strong{
  color:#0b57d0;
  font-size:15px;
}
.single-asset-summary-card span{
  font-weight:800;
  color:#172033;
  word-break:break-word;
}
.single-asset-summary-card small{
  color:#64748b;
  font-weight:800;
  margin-top:4px;
}
.single-flow-main,
.single-flow-side{
  padding:16px;
}
.single-flow-main h3,
.single-flow-side h3{
  margin:0 0 10px;
  font-size:16px;
}
.single-flow-search{
  display:flex;
  align-items:center;
  gap:10px;
  height:48px;
  padding:0 14px;
  border:1px solid #d5e0ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 20px rgba(15,23,42,.04);
}
.single-flow-search input{
  border:0;
  outline:0;
  width:100%;
  font-weight:900;
  color:#172033;
}
.single-flow-results{
  display:grid;
  gap:8px;
  margin-top:12px;
  max-height:300px;
  overflow:auto;
  padding-right:4px;
}
.single-person-option{
  display:flex;
  align-items:center;
  justify-content:flex-start!important;
  gap:10px;
  width:100%;
  border:1px solid #e1e8f3;
  border-radius:14px;
  background:#fff;
  padding:10px;
  text-align:left;
  cursor:pointer;
}
.single-person-option > span:last-child{
  min-width:0;
  text-align:left!important;
  display:block;
}
.single-person-option .avatar{
  flex:0 0 auto;
}
.single-person-option:hover,
.single-person-option.selected{
  border-color:#2563eb;
  background:#f2f6ff;
  box-shadow:0 10px 22px rgba(37,99,235,.12);
}
.single-person-option b,
.single-person-option small{
  display:block;
}
.single-person-option b{
  color:#172033;
  font-weight:950;
}
.single-person-option small{
  color:#5d6b82;
  font-weight:800;
  margin-top:2px;
}
.single-flow-selected-person{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #e1e8f3;
  border-radius:16px;
  padding:12px;
  background:#fff;
  margin-bottom:14px;
}
.single-flow-selected-person strong,
.single-flow-selected-person small{
  display:block;
}
.single-flow-selected-person small{
  color:#64748b;
  font-weight:800;
}
.checkout-loan-guardrail{
  display:grid;
  gap:4px;
  border:1px solid #fbbf24;
  border-radius:10px;
  background:#fffbeb;
  color:#92400e;
  padding:10px 12px;
  margin:-4px 0 14px;
  font-size:12px;
  font-weight:800;
}
.checkout-loan-guardrail[hidden]{display:none;}
.checkout-loan-guardrail b{color:#78350f;font-size:12px;font-weight:950;}
.checkout-loan-guardrail.is-hard-stop{border-color:#f87171;background:#fff1f2;color:#991b1b;}
.checkout-loan-guardrail.is-hard-stop b{color:#7f1d1d;}
.single-flow-options{
  gap:12px!important;
}
.single-flow-options label{
  font-size:11px;
  color:#526178;
  font-weight:950;
  text-transform:none;
}
.single-flow-options textarea{
  min-height:84px;
}
.single-flow-options .checkout-aup-email-toggle{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  border-radius:10px!important;
  padding:10px 12px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:850!important;
}
.single-flow-options .checkout-aup-email-toggle input[type="checkbox"]{
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.single-flow-options .checkout-aup-email-help{
  margin:-3px 0 2px!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.check-toggle{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #dbe5f3;
  border-radius:12px;
  background:#f8fbff;
}
.checkin-flow-grid{
  grid-template-columns:260px minmax(0,1fr) 280px;
}
.checkin-guidance-card{
  padding:18px;
  align-self:stretch;
}
.checkin-guidance-card p{
  color:#526178;
  font-weight:800;
  line-height:1.45;
}
.locations-page-shell{
  display:grid;
  gap:16px;
}
.hero-theme-card.locations-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 24px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 48%,#eef6ff 100%);
}
.locations-hero h1{
  margin:4px 0 6px;
  font-size:32px;
  line-height:1;
}
.locations-hero p{
  margin:0;
  color:#526178;
  font-weight:800;
}
.section-kicker{
  display:block;
  color:#2563eb;
  font-weight:950;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.locations-hero-actions{
  display:flex;
  gap:10px;
}
.locations-layout{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.location-picker-card,
.location-focus-card{
  padding:18px;
}
.location-picker-head,
.location-focus-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.location-picker-head h2,
.location-focus-head h2{
  margin:0;
  font-size:24px;
}
.location-count-pill,
.location-kpi-strip span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #cfe0f7;
  border-radius:999px;
  background:#f4f8ff;
  color:#17365f;
  font-weight:950;
  padding:8px 12px;
}
.location-kpi-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.location-kpi-strip b{
  color:#0b57d0;
}
.location-search{
  display:flex;
  align-items:center;
  gap:10px;
  height:46px;
  margin:14px 0;
  padding:0 12px;
  border:1px solid #d5e0ef;
  border-radius:14px;
  background:#fff;
}
.location-search input{
  width:100%;
  border:0;
  outline:0;
  font-weight:900;
}
.location-list{
  display:grid;
  gap:8px;
  max-height:620px;
  overflow:auto;
  padding-right:4px;
}
.location-list-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid #e0e8f4;
  border-radius:16px;
  color:#172033;
  text-decoration:none;
  background:#fff;
}
.location-list-item:hover,
.location-list-item.active{
  border-color:#2563eb;
  background:#f2f6ff;
  box-shadow:0 12px 24px rgba(37,99,235,.12);
}
.location-list-icon{
  width:38px;
  height:38px;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:#2563eb;
  background:#eaf2ff;
  flex:0 0 auto;
}
.location-list-item strong,
.location-list-item small{
  display:block;
}
.location-list-item small{
  color:#64748b;
  font-weight:800;
  margin-top:2px;
}
.location-people-strip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0;
  min-height:36px;
}
.location-person-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #dde7f4;
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:#172033;
  font-weight:900;
  cursor:pointer;
}
.location-person-chip .avatar{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  font-size:9px!important;
}
.location-teacher-chip{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#17365f;
  cursor:default;
}
.location-person-more{
  border:1px solid #cfe0f7;
  border-radius:999px;
  background:#f4f8ff;
  color:#64748b;
  font-weight:900;
  padding:6px 10px;
  cursor:pointer;
}
.location-person-more:hover{
  border-color:#2563eb;
  color:#17365f;
  background:#eff6ff;
}
.location-asset-table-wrap{
  overflow:auto;
  border-radius:16px;
}
.location-asset-table{
  min-width:920px;
}
.location-asset-table th,
.location-asset-table td{
  vertical-align:middle;
}
@media(max-width:1300px){
  .single-asset-flow-grid,
  .checkin-flow-grid{
    grid-template-columns:1fr;
  }
  .locations-layout{
    grid-template-columns:1fr;
  }
  .location-list{
    max-height:360px;
  }
}

/* Locations and single-asset circulation polish */
.single-asset-flow-modal{
  max-width:1120px!important;
}
.single-asset-flow-grid{
  grid-template-columns:230px minmax(0,1fr) 320px!important;
}
.checkin-flow-grid{
  grid-template-columns:240px minmax(0,1fr) 280px!important;
}
.single-asset-summary-card{
  display:grid!important;
  grid-template-columns:62px minmax(0,1fr)!important;
  align-items:center!important;
}
.single-asset-summary-card > div{
  min-width:0!important;
}
.single-asset-summary-card strong,
.single-asset-summary-card span,
.single-asset-summary-card small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  word-break:normal!important;
}
.single-flow-options input,
.single-flow-options select,
.single-flow-options textarea{
  width:100%!important;
  min-width:0!important;
}
.single-flow-selected-person .avatar.lg{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  font-size:20px!important;
}
.single-flow-selected-person{
  min-height:94px!important;
}
.single-location-helper{
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f3!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  color:#526178!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.35!important;
}
.single-custom-location-field{
  transition:.15s ease!important;
}
.compact-flow-modal .check-toggle{
  justify-content:flex-start!important;
  text-align:left!important;
}
.compact-flow-modal .check-toggle input{
  width:auto!important;
  min-width:auto!important;
}

.location-assets-form{
  display:block;
}
.location-table-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
}
.location-table-toolbar span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  border:1px solid #cfe0f7;
  border-radius:999px;
  background:#f4f8ff;
  color:#17365f;
  font-weight:950;
  padding:6px 12px;
}
.location-table-toolbar button:disabled{
  opacity:.48;
  cursor:not-allowed;
  box-shadow:none!important;
}

/* Locations selected-location revamp: asset-first summary and searchable people modal. */
.location-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:16px 0 12px!important;
}
.location-summary-grid article{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:12px!important;
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
.location-summary-grid small{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.location-summary-grid b{
  color:#172033!important;
  font-size:24px!important;
  line-height:1!important;
}
.location-summary-grid span{
  color:#526178!important;
  font-size:12px!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.location-action-bar{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:0 0 12px!important;
}
.location-inline-action-form{
  margin:0!important;
  display:inline-flex!important;
}
.location-people-modal{
  width:min(1040px,calc(100vw - 28px))!important;
  max-height:90vh!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.location-people-modal-body{
  min-height:0!important;
  display:grid!important;
  gap:12px!important;
  padding:14px 0!important;
}
.location-people-search{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  border:1px solid #d5e0ef!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:0 12px!important;
}
.location-people-search input{
  width:100%!important;
  border:0!important;
  outline:0!important;
  font-weight:850!important;
}
.location-people-list{
  min-height:0!important;
  max-height:62vh!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(315px,1fr))!important;
  align-content:start!important;
  gap:8px!important;
  padding-right:4px!important;
}
.location-person-row{
  width:100%!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px 12px!important;
  text-align:left!important;
  cursor:pointer!important;
  font:inherit!important;
}
.location-person-row:hover{
  border-color:#9fb0ff!important;
  background:#f8fbff!important;
}
.location-person-row>.avatar{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  flex:0 0 42px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  font-size:12px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  align-self:center!important;
  justify-self:center!important;
}
.location-person-row>.avatar img,
.location-person-row>.avatar.photo-avatar img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:50%!important;
  display:block!important;
  transform:none!important;
}
.location-person-row span{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.location-person-row b,
.location-person-row small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.location-person-row small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}
.location-person-row em{
  grid-column:3!important;
  justify-self:end!important;
  width:max-content!important;
  max-width:100%!important;
  border:1px solid #dbe5f2!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#526178!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
}
.location-person-row[hidden]{display:none!important}
@media(max-width:900px){
  .location-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
  .location-summary-grid{grid-template-columns:1fr!important;}
  .location-people-list{grid-template-columns:1fr!important;}
  .location-person-row{grid-template-columns:42px minmax(0,1fr) auto!important;}
  .location-person-row em{grid-column:3!important;}
}
.location-asset-table-wrap{
  overflow:visible!important;
  border-radius:16px!important;
}
.location-asset-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.location-asset-table th,
.location-asset-table td{
  padding:10px 10px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.location-asset-table th[data-col="select"],
.location-asset-table td[data-col="select"]{
  width:38px!important;
  text-align:center!important;
  padding-left:8px!important;
  padding-right:4px!important;
}
.location-asset-table th[data-col="asset"],
.location-asset-table td[data-col="asset"]{
  width:27%!important;
}
.location-asset-table th[data-col="category"],
.location-asset-table td[data-col="category"]{
  width:13%!important;
}
.location-asset-table th[data-col="assigned"],
.location-asset-table td[data-col="assigned"]{
  width:20%!important;
}
.location-asset-table th[data-col="status"],
.location-asset-table td[data-col="status"]{
  width:10%!important;
}
.location-asset-table th[data-col="condition"],
.location-asset-table td[data-col="condition"]{
  width:9%!important;
}
.location-asset-table th[data-col="source"],
.location-asset-table td[data-col="source"]{
  width:13%!important;
}
.location-asset-table th[data-col="actions"],
.location-asset-table td[data-col="actions"]{
  width:118px!important;
}
.location-asset-table .asset-main,
.location-asset-table .person-cell{
  min-width:0!important;
  gap:9px!important;
}
.location-asset-table .asset-title,
.location-asset-table .person-cell > span:last-child{
  min-width:0!important;
  overflow:hidden!important;
}
.location-asset-table .asset-title b,
.location-asset-table .asset-title small,
.location-asset-table .subtext,
.location-asset-table .person-cell b,
.location-asset-table .person-cell small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.location-asset-table .asset-thumb-lg{
  width:54px!important;
  height:42px!important;
}
.location-asset-table .source-badge,
.location-asset-table .google-source-badge,
.location-asset-table .jamf-source-badge,
.location-asset-table .manual-source-badge{
  max-width:100%!important;
  overflow:hidden!important;
}
.location-row-actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:100%;
}
.location-row-btn{
  min-height:32px;
  height:32px;
  border:1px solid #d5e0ef;
  border-radius:10px;
  background:#fff;
  color:#1e3a8a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 8px;
  font-size:11px;
  font-weight:950;
  text-decoration:none!important;
  white-space:nowrap;
}
.location-row-btn .ui-icon{
  width:14px;
  height:14px;
}
.location-row-btn.primary{
  width:36px;
  padding:0;
  background:#2563eb;
  color:#fff;
  border-color:#2563eb;
}
.location-row-btn.primary span{
  display:none;
}
.location-move-modal{
  max-width:560px!important;
}
.location-move-body{
  display:grid;
  gap:16px;
  padding:18px;
}
.location-move-body label{
  display:grid;
  gap:7px;
  color:#526178;
  font-size:12px;
  font-weight:950;
}
.location-move-body select{
  width:100%;
  min-height:44px;
  border:1px solid #d5e0ef;
  border-radius:12px;
  background:#fff;
  padding:0 12px;
  font-weight:850;
}
.location-move-modal.location-select-expanded{
  overflow:visible!important;
}
.location-move-modal.location-select-expanded .location-move-body{
  overflow:visible!important;
}
.location-move-body select[data-location-move-expanded="1"]{
  height:auto!important;
  max-height:292px!important;
  overflow-y:auto!important;
  padding:8px 12px!important;
  align-self:start!important;
  position:relative!important;
  z-index:4!important;
}
.location-move-callout{
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:1px solid #cfe7d9;
  border-radius:16px;
  background:#f2fbf6;
  padding:14px;
}
.location-move-callout strong,
.location-move-callout p{
  display:block;
}
.location-move-callout strong{
  color:#0f5132;
  font-weight:950;
}
.location-move-callout p{
  margin:4px 0 0;
  color:#526178;
  font-weight:800;
  line-height:1.35;
}

@media(max-width:1300px){
  .single-asset-flow-grid,
  .checkin-flow-grid{
    grid-template-columns:1fr!important;
  }
}

/* Helpdesk and user portal */
.portal-hero,.helpdesk-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:14px;box-shadow:var(--shadow)}
.portal-hero h1,.helpdesk-hero h1{margin:3px 0 4px;font-size:28px;letter-spacing:0}.portal-hero p,.helpdesk-hero p{margin:0;color:var(--muted)}
.portal-hero-actions,.helpdesk-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.section-kicker{display:block;color:#65748d;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.portal-metrics,.helpdesk-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.portal-metric,.helpdesk-metric{min-height:92px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);text-align:left;color:var(--text)}
.helpdesk-metric{cursor:pointer}.helpdesk-metric.active,.helpdesk-metric:hover{border-color:#9eb6ff;background:#f7f9ff}
.portal-metric>span,.helpdesk-metric>span{width:38px;height:38px;border-radius:10px;background:#eef4ff;color:#2f6ff2;display:grid;place-items:center;flex:0 0 auto}
.portal-metric strong,.helpdesk-metric strong{display:block;font-size:25px;line-height:1}.portal-metric small,.helpdesk-metric small{color:var(--muted);font-weight:800}
.portal-grid,.helpdesk-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.helpdesk-layout{grid-template-columns:320px minmax(0,1fr)}
.portal-main{display:grid;gap:14px}.portal-card .section-head,.helpdesk-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.portal-card h2,.helpdesk-queue-card h2,.helpdesk-side-panel h2{margin:0}
.portal-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.portal-device-card{border:1px solid var(--line);border-radius:12px;background:#fbfcff;padding:12px;display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:start}
.portal-device-visual{width:74px;height:60px;border:1px solid #dfe5f2;border-radius:10px;background:#fff;display:grid;place-items:center}.portal-device-visual img{max-width:62px;max-height:48px}.portal-device-card h3{margin:8px 0 3px;font-size:15px}.portal-device-card p,.portal-device-card small{display:block;margin:0;color:var(--muted)}.portal-device-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}
.portal-empty{border:1px dashed #cfd7e8;border-radius:12px;padding:24px;text-align:center;color:var(--muted);grid-column:1/-1}.portal-empty span{width:44px;height:44px;border-radius:12px;background:#f1f5ff;color:#2f6ff2;display:grid;place-items:center;margin:0 auto 8px}.portal-empty strong{display:block;color:var(--text);margin-bottom:4px}
.teacher-roster-list{display:grid;gap:9px}.teacher-roster-row{border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1.1fr) auto;gap:12px;align-items:center;padding:10px}
.student-device-chips{display:flex;gap:7px;flex-wrap:wrap}.student-device-chips a{display:inline-flex;align-items:center;gap:6px;border:1px solid #dfe5f2;border-radius:9px;background:#f7f9ff;color:#22314c;text-decoration:none;font-weight:800;padding:6px 8px}.student-device-chips img{width:26px;height:20px;object-fit:contain}
.portal-notifications{position:sticky;top:74px}.portal-notification,.helpdesk-alert{width:100%;display:grid;gap:5px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);padding:10px;text-decoration:none;margin-bottom:8px;box-shadow:none}.portal-notification:hover,.helpdesk-alert:hover{background:#f8fbff;border-color:#c9d8ff;transform:none}.portal-notification b,.helpdesk-alert b{font-size:13px}.portal-notification small,.helpdesk-alert small{color:var(--muted)}
.portal-request-table td,.helpdesk-table td{vertical-align:middle}.helpdesk-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.helpdesk-filters .filter{min-width:150px}.helpdesk-filters input.filter{min-width:250px}
.helpdesk-side-panel{position:sticky;top:74px}.helpdesk-alert-list{display:grid;gap:0}.helpdesk-table tr.selected td{background:#f6f8ff}.table-action-menu-panel button{width:100%;border:0;background:transparent;border-radius:0;box-shadow:none;transform:none;color:#2f3b52;font-weight:500;justify-content:flex-start;padding:9px 11px}.table-action-menu-panel button:hover{background:#f5f7fb}
.helpdesk-ticket-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.ticket-summary-panel{border:1px solid var(--line);border-radius:12px;background:#fbfcff;padding:13px;align-self:start}.ticket-badge-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.ticket-summary-panel dl{margin:0;display:grid;gap:8px}.ticket-summary-panel dt{font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase}.ticket-summary-panel dd{margin:2px 0 0;font-weight:800;color:#23314a}.ticket-summary-panel dd small{color:var(--muted);font-weight:700}
.ticket-update-form{display:grid;gap:9px;margin-top:14px}.ticket-update-form label{display:grid;gap:4px}.ticket-update-form textarea{min-height:74px}
.ticket-message-thread{display:grid;gap:9px;max-height:460px;overflow:auto;padding-right:4px}.ticket-message{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;margin-bottom:9px}.ticket-message div{display:flex;align-items:center;gap:8px;justify-content:space-between}.ticket-message b{display:block;margin-bottom:5px}.ticket-message p{margin:0 0 8px;line-height:1.45}.ticket-message small,.ticket-message span{color:var(--muted);font-size:11px;font-weight:800}.requester-message{border-left:4px solid #3478f6}.staff-message{border-left:4px solid #19b36b}.internal-message{border-left:4px solid #ff9f43;background:#fffaf1}
.ticket-reply-form{display:grid;gap:8px;margin-top:12px}.ticket-reply-form textarea{min-height:92px}.ticket-reply-actions{display:flex;justify-content:flex-end;gap:8px}.ticket-reply-actions select{max-width:180px}.helpdesk-request-modal .form-grid{align-items:start}
#newHelpdeskTicketModal .helpdesk-request-modal,
#newRequestModal .helpdesk-request-modal{
  width:min(1040px,calc(100vw - 36px))!important;
  height:min(900px,calc(100vh - 28px))!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#newHelpdeskTicketModal .helpdesk-request-modal .modal-head,
#newRequestModal .helpdesk-request-modal .modal-head{
  margin:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid #e2e8f0!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
#newHelpdeskTicketModal .helpdesk-request-modal .modal-head h2,
#newRequestModal .helpdesk-request-modal .modal-head h2{
  font-size:22px!important;
  letter-spacing:0!important;
}
#newHelpdeskTicketModal .helpdesk-request-modal .modal-head p,
#newRequestModal .helpdesk-request-modal .modal-head p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-weight:800!important;
}
.new-helpdesk-ticket-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  padding:16px 20px 0!important;
  max-height:none!important;
  min-height:0!important;
  flex:1!important;
  overflow:auto!important;
  background:#f6f9fd!important;
}
.new-ticket-section{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:14px;
  box-shadow:0 8px 24px rgba(15,32,51,.05);
}
.new-ticket-section-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:12px;
}
.new-ticket-section-head>span{
  width:34px;
  height:34px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef5ff;
  color:#2f6ff2;
  flex:0 0 auto;
}
.new-ticket-section-head h3,
.new-ticket-section-head p{
  margin:0;
}
.new-ticket-section-head h3{
  font-size:15px;
  color:#172033;
}
.new-ticket-section-head p{
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.new-ticket-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type .new-ticket-section-grid{
  grid-template-columns:minmax(320px,1fr) minmax(280px,.9fr);
  align-items:end;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type .new-ticket-requester-field{
  grid-column:1;
  grid-row:1;
  z-index:180!important;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type #newTicketRequesterPreview{
  grid-column:2;
  grid-row:1;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type .new-ticket-assignee-field{
  grid-column:1;
  grid-row:2;
  z-index:120!important;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type #newTicketAssigneePreview{
  grid-column:2;
  grid-row:2;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type .requester-combo-field:focus-within{
  z-index:260!important;
}
.new-ticket-details-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.new-ticket-details-grid .full{
  grid-column:1 / -1;
}
.new-ticket-details-grid .helpdesk-incident-field select,
.new-ticket-details-grid .helpdesk-parent-incident-field select,
.ticket-update-form .helpdesk-incident-field select,
.ticket-update-form .helpdesk-parent-incident-field select{
  height:38px;
  min-height:38px;
  padding:0 10px;
  font-size:12px;
  font-weight:800;
  line-height:38px;
}
.new-ticket-details-grid .helpdesk-parent-incident-field,
.ticket-update-form .helpdesk-parent-incident-field{
  min-width:0;
}
.new-ticket-details-grid .helpdesk-parent-incident-field select,
.ticket-update-form .helpdesk-parent-incident-field select{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.helpdesk-guided-intake{
  border:1px solid #c8d7ee;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  gap:11px;
}
.helpdesk-guided-intake[hidden]{
  display:none!important;
}
.helpdesk-guided-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.helpdesk-guided-head>span{
  width:34px;
  height:34px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eaf1ff;
  color:#285ee8;
  flex:0 0 auto;
}
.helpdesk-guided-head h4{
  margin:0;
  color:#172033;
  font-size:14px;
}
.helpdesk-guided-head p{
  margin:3px 0 0;
  color:#5c6b82;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.helpdesk-guided-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.helpdesk-guided-chip{
  border:1px solid #d7e1f2;
  border-radius:999px;
  background:#fff;
  color:#334155;
  padding:5px 8px;
  font-size:11px;
  font-weight:850;
}
.helpdesk-guided-chip.warn{
  border-color:#f5d08a;
  background:#fff8e8;
  color:#7a4b00;
}
.helpdesk-guided-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.helpdesk-guided-grid [hidden]{
  display:none!important;
}
.helpdesk-guided-grid .full{
  grid-column:1 / -1;
}
.helpdesk-guided-grid label.is-guided-active{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:9px;
  color:#24324a;
  align-content:start;
}
.helpdesk-guided-grid label.is-guided-active input,
.helpdesk-guided-grid label.is-guided-active select,
.helpdesk-guided-grid label.is-guided-active textarea{
  background:#fff;
  color:#172033;
  opacity:1;
}
.helpdesk-guided-grid label.is-guided-active input,
.helpdesk-guided-grid label.is-guided-active select{
  min-height:34px;
  height:34px;
  padding:6px 9px;
  font-size:12px;
}
.helpdesk-guided-grid label.is-guided-active textarea{
  min-height:70px;
}
.helpdesk-guided-grid .helpdesk-guided-toggle.is-guided-active{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.helpdesk-guided-grid .helpdesk-guided-toggle.is-guided-active input[type="checkbox"]{
  width:18px!important;
  min-width:18px;
  height:18px!important;
  min-height:18px;
  margin-top:2px;
  padding:0;
}
.helpdesk-guided-toggle span{
  display:grid;
  gap:2px;
}
.helpdesk-guided-toggle b{
  color:#172033;
  font-size:13px;
}
.helpdesk-guided-toggle small{
  color:#5c6b82;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
}
.helpdesk-guided-grid .guided-student-combo-field,
.helpdesk-guided-grid label[data-guide-field="impact"],
.helpdesk-guided-grid label[data-guide-field="notes"]{
  grid-column:1 / -1;
}
.helpdesk-guided-grid .guided-student-combo-field input{
  height:42px;
  min-height:42px;
}
.new-ticket-section label.is-guided-recommended,
.new-ticket-section button.is-guided-recommended{
  outline:2px solid #b8ccff;
  outline-offset:3px;
  border-radius:8px;
}
.ticket-guided-summary dd{
  display:grid;
  gap:4px;
  font-weight:700;
}
.ticket-guided-summary dd span{
  color:#334155;
}
.ticket-guided-summary dd b{
  color:#172033;
}
.ticket-guided-actions{
  display:grid;
  gap:8px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:10px;
  margin-top:10px;
}
.ticket-guided-actions>b{
  font-size:12px;
  color:#172033;
}
.ticket-guided-actions>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.new-ticket-section label{
  color:#48576f;
}
.new-ticket-section label small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1.25;
}
.new-ticket-requester-field{
  position:relative;
}
.new-ticket-assignee-field{
  position:relative;
}
.new-ticket-requester-field input,
.new-ticket-assignee-field input,
select[data-helpdesk-assignee-select]{
  min-height:50px!important;
}
.new-ticket-requester-field .requester-combo-toggle{
  top:8px!important;
  bottom:8px!important;
}
.requester-combo-preview{
  align-self:end;
  height:50px;
  min-height:50px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:5px 10px;
  min-width:0;
}
.requester-combo-preview[hidden]{
  display:none!important;
}
.requester-combo-preview .avatar{
  width:36px;
  height:36px;
  flex:0 0 36px;
  font-size:13px;
}
#newHelpdeskTicketModal [data-assignee-option] .avatar,
#newHelpdeskTicketModal .helpdesk-assignee-preview .avatar{
  border-radius:50%!important;
  overflow:hidden!important;
  aspect-ratio:1 / 1;
}
#newHelpdeskTicketModal [data-assignee-option] .avatar img,
#newHelpdeskTicketModal .helpdesk-assignee-preview .avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.requester-combo-preview>div{
  min-width:0;
}
.requester-combo-preview b,
.requester-combo-preview small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.requester-combo-preview b{
  color:#172033;
  font-size:13px;
  line-height:1.1;
  font-weight:950;
}
.requester-combo-preview small{
  color:#475569;
  font-size:11px;
  line-height:1.1;
  font-weight:850;
}
.requester-combo-preview.is-placeholder{
  border-style:dashed;
  color:#64748b;
}
.requester-combo-preview.is-placeholder .avatar{
  background:#eef2f7;
  color:#64748b;
}
.requester-combo-preview.is-placeholder b{
  color:#475569;
}
.new-ticket-message-section{
  display:grid;
  gap:10px;
}
.new-helpdesk-ticket-form>.modal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:2px -20px 0!important;
  padding:12px 20px 14px!important;
  border-top:1px solid #dbe5f2;
  background:#fff!important;
  backdrop-filter:none;
  box-shadow:0 -8px 18px rgba(15,23,42,.06);
}
.new-helpdesk-ticket-form>.modal-actions .primary{
  min-width:150px;
}
.portal-new-request-form .portal-request-device-preview{
  margin-top:0;
}
.portal-new-request-form .ticket-kb-slideout{
  margin:0;
}
.portal-request-device-question{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  gap:10px;
}
.portal-request-device-question[hidden],
[data-general-device-select][hidden]{
  display:none!important;
}
.portal-request-student-workflow{
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  gap:12px;
}
.portal-request-student-workflow[hidden]{
  display:none;
}
.portal-request-device-question-head{
  display:flex;
  align-items:center;
  gap:10px;
}
.portal-request-device-question-head>span{
  width:34px;
  height:34px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef5ff;
  color:#2f6ff2;
  flex:0 0 auto;
}
.portal-request-device-question-head strong,
.portal-request-device-question-head small{
  display:block;
}
.portal-request-device-question-head small{
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.portal-request-device-choice-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:9px;
}
.portal-request-device-choice{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:66px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:9px;
  text-align:left;
  color:#172033;
  cursor:pointer;
}
.portal-request-device-choice:hover,
.portal-request-device-choice.selected{
  border-color:#2f6ff2;
  background:#eef5ff;
  box-shadow:0 8px 20px rgba(47,111,242,.1);
}
.portal-request-device-choice .asset-thumb,
.portal-request-device-choice-none>span:first-child{
  width:46px;
  height:46px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.portal-request-device-choice img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
}
.portal-request-device-choice b,
.portal-request-device-choice small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-request-device-choice small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.portal-request-device-more{
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#fff;
  padding:9px 11px;
}
.portal-request-device-more summary{
  cursor:pointer;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.portal-request-device-more[open] summary{
  margin-bottom:10px;
}
.portal-request-device-more label{
  margin:0;
}
.portal-request-student-picker{
  position:relative;
  display:grid;
  gap:6px;
}
.portal-request-student-picker>label{
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.portal-request-student-button{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:7px 10px;
  text-align:left;
}
.portal-request-student-button:hover,
.portal-request-student-button[aria-expanded="true"]{
  border-color:#2f6ff2;
  background:#f8fbff;
}
.portal-request-student-button span:not(.avatar),
.portal-request-student-option span:not(.avatar){
  min-width:0;
  display:grid;
  gap:2px;
}
.portal-request-student-button b,
.portal-request-student-option b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#172033;
  font-size:13px;
  font-weight:950;
}
.portal-request-student-button small,
.portal-request-student-option small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.portal-request-student-menu{
  position:absolute;
  z-index:95;
  top:calc(100% + 6px);
  left:0;
  right:0;
  max-height:320px;
  overflow:auto;
  display:grid;
  gap:4px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  padding:6px;
}
.portal-request-student-menu[hidden]{
  display:none;
}
.portal-request-student-search{
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:8px;
  margin:0 0 4px;
  padding:6px 8px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
}
.portal-request-student-search .ui-icon{
  width:16px;
  height:16px;
  color:#2f6ff2;
}
.portal-request-student-search input{
  min-height:30px;
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.portal-request-student-search input:focus{
  outline:0;
}
.portal-request-student-option{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:1px solid transparent;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:7px 8px;
  text-align:left;
}
.portal-request-student-option:hover,
.portal-request-student-option.selected{
  border-color:#bfdbfe;
  background:#eff6ff;
}
.portal-request-student-empty{
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
  color:#64748b;
  padding:10px;
  font-size:12px;
  font-weight:850;
  text-align:center;
}
.portal-request-student-device-panel{
  display:grid;
  gap:9px;
  border-top:1px solid #dbe5f2;
  padding-top:10px;
}
.portal-request-student-device-panel[hidden]{
  display:none;
}
.portal-request-student-device-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.portal-request-student-device-head b,
.portal-request-student-device-head small{
  display:block;
}
.portal-request-student-device-head b{
  color:#172033;
  font-size:13px;
  font-weight:950;
}
.portal-request-student-device-head small{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.portal-request-student-device-empty{
  min-height:58px;
  display:grid;
  align-content:center;
  gap:2px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#fff;
  padding:10px;
}
.portal-request-student-device-empty b{
  color:#172033;
  font-size:13px;
}
.portal-request-student-device-empty small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
@media(max-width:1100px){.portal-metrics,.helpdesk-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid,.helpdesk-layout,.helpdesk-ticket-split{grid-template-columns:1fr}.portal-notifications,.helpdesk-side-panel{position:static}.teacher-roster-row{grid-template-columns:1fr}.portal-hero,.helpdesk-hero,.portal-card .section-head,.helpdesk-queue-head{display:grid}.helpdesk-filters{justify-content:stretch}.helpdesk-filters .filter,.helpdesk-filters input.filter{width:100%;min-width:0}}

/* Module settings */
.settings-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:14px}
.settings-module-grid a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px;text-decoration:none;color:var(--text)}
.settings-module-grid a:hover{border-color:#b9caff;background:#f8fbff}.settings-module-grid .ui-icon{width:34px;height:34px;border-radius:10px;background:#eef4ff;color:#2f6ff2;padding:8px}.settings-module-grid b,.settings-module-grid small{display:block}.settings-module-grid small{margin-top:2px;color:var(--muted);font-weight:800}
.settings-subsection-anchor{height:0;scroll-margin-top:96px}
.module-settings-panel{scroll-margin-top:84px}.settings-inline-stack,.settings-sync-status{display:grid;gap:10px}.settings-sync-status{grid-template-columns:repeat(3,1fr);grid-column:1/-1}.settings-sync-status>div{background:#fbfcff;border:1px solid var(--line);border-radius:10px;padding:10px}.settings-sync-status small,.settings-sync-status b{display:block}.settings-sync-status small{color:var(--muted);font-weight:900}
.helpdesk-email-settings{border:1px solid #dbe5f2;border-radius:12px;background:#fbfcff;padding:14px;display:grid;gap:12px}.helpdesk-email-settings h3{margin:0}.helpdesk-email-settings p{margin:0}.settings-nested-details{border:1px solid #e3eaf6;border-radius:10px;background:#fff;padding:10px}.settings-nested-details summary{cursor:pointer;font-weight:900}.settings-template-editor{border-top:1px solid #e3eaf6;margin-top:12px;padding-top:12px;display:grid;gap:8px}.settings-template-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-template-editor strong{display:block}.settings-template-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}.helpdesk-email-preview-modal{width:min(980px,100%)}.helpdesk-email-preview-subject{border:1px solid #dbe5f2;border-radius:10px;background:#fbfcff;padding:10px 12px;margin-bottom:12px}.helpdesk-email-preview-subject small,.helpdesk-email-preview-subject strong{display:block}.helpdesk-email-preview-subject small{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.helpdesk-email-preview-subject strong{margin-top:3px;color:#172033}.helpdesk-email-preview-shell{border:1px solid #dbe5f2;border-radius:12px;background:#edf2f8;padding:14px;min-height:520px}.helpdesk-email-preview-shell iframe{display:block;width:100%;height:620px;border:0;border-radius:10px;background:#f3f6fb;box-shadow:0 12px 34px rgba(15,32,51,.12)}
.workflow-email-card{border:1px solid #dbe5f2;border-radius:12px;background:#fbfcff;padding:14px;display:grid;gap:12px}.workflow-email-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workflow-email-head h3,.workflow-email-head p{margin:0}.workflow-email-list{display:grid;gap:10px}.workflow-email-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,auto);gap:14px;align-items:center;border:1px solid #e3eaf6;border-radius:11px;background:#fff;padding:12px}.workflow-email-main{display:flex;align-items:center;gap:11px;min-width:0}.workflow-email-main strong,.workflow-email-main small{display:block}.workflow-email-main small{color:#64748b;font-weight:800;margin-top:2px}.workflow-email-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 4px rgba(22,137,87,.12);background:#168957;flex:0 0 auto}.workflow-email-row-helpdesk .workflow-email-dot{background:#3346d3;box-shadow:0 0 0 4px rgba(51,70,211,.12)}.workflow-email-row-hr .workflow-email-dot{background:#c98210;box-shadow:0 0 0 4px rgba(201,130,16,.14)}.workflow-email-switch{display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;padding:5px 8px;border:1px solid #dbe5f2;border-radius:999px;background:#f8fbff;color:#52617a;font-size:11px;font-weight:900;text-transform:uppercase;cursor:pointer}.workflow-email-switch input{position:absolute;opacity:0;pointer-events:none}.workflow-email-switch span{width:28px;height:16px;border-radius:999px;background:#cbd5e1;position:relative;transition:.16s}.workflow-email-switch span:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.22);transition:.16s}.workflow-email-switch input:checked+span{background:#168957}.workflow-email-row-helpdesk .workflow-email-switch input:checked+span{background:#3346d3}.workflow-email-row-hr .workflow-email-switch input:checked+span{background:#c98210}.workflow-email-switch input:checked+span:after{transform:translateX(12px)}.workflow-email-switch b{font-size:11px;line-height:1}.workflow-email-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.workflow-email-actions-wide{max-width:660px}.workflow-email-actions .btn{width:auto;white-space:nowrap}@media(max-width:1100px){.workflow-email-row{grid-template-columns:1fr}.workflow-email-actions{justify-content:flex-start}.workflow-email-actions-wide{max-width:none}}
.workflow-email-row-event .workflow-email-dot{background:#047857;box-shadow:0 0 0 4px rgba(4,120,87,.13)}
.workflow-email-row-event .workflow-email-switch input:checked+span{background:#047857}
.workflow-email-template-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:10px;border-top:1px solid #e3eaf6;padding-top:12px}
.workflow-email-template-panel label{display:grid;gap:5px;color:#334155;font-size:12px;font-weight:800}
.workflow-email-template-panel input,.workflow-email-template-panel textarea{width:100%;min-width:0;border:1px solid #d3deec;border-radius:8px;background:#fff;color:#172033;padding:9px 10px;font:inherit;font-weight:500}
.workflow-email-template-panel small{color:#64748b;font-weight:650;line-height:1.35}
.helpdesk-assignee-reference{border:1px solid #dbe5f2;border-radius:12px;background:#fbfcff;padding:12px}.helpdesk-assignee-reference>strong{display:block;margin-bottom:3px}.helpdesk-assignee-reference>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.helpdesk-assignee-reference span{border:1px solid #dbe5f2;border-radius:999px;background:#fff;padding:6px 10px}.helpdesk-assignee-reference b,.helpdesk-assignee-reference small{display:block}.helpdesk-assignee-reference small{color:#64748b;font-weight:800}
.helpdesk-assignment-builder{border:1px solid #dbe5f2;border-radius:12px;background:#fbfcff;padding:12px;display:grid;gap:10px}
.helpdesk-assignment-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.helpdesk-assignment-builder-head strong{display:block;margin-bottom:3px}.helpdesk-assignment-builder-head p{margin:0}
.helpdesk-assignment-rows{display:grid;gap:8px}
.helpdesk-assignment-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(240px,1.35fr) auto;gap:10px;align-items:end;border:1px solid #e3eaf6;border-radius:11px;background:#fff;padding:10px}
.helpdesk-assignment-row.maintenance-assignment-row{grid-template-columns:minmax(140px,1fr) minmax(170px,1.1fr) minmax(150px,1fr) minmax(220px,1.3fr) auto}
.helpdesk-assignment-row label{display:grid;gap:5px;font-weight:900;color:#52617a}
.helpdesk-assignment-remove{white-space:nowrap;min-height:38px}
@media(max-width:1100px){.helpdesk-assignment-builder-head,.helpdesk-assignment-row{grid-template-columns:1fr;display:grid}.helpdesk-assignment-builder-head .btn,.helpdesk-assignment-remove{width:100%}}

/* Refined helpdesk queue */
.refined-helpdesk-filters{align-items:center}.refined-helpdesk-filters label{min-width:330px;height:42px;display:flex;align-items:center;gap:8px;border:1px solid #dbe5f2;border-radius:10px;background:#fff;padding:0 10px}.refined-helpdesk-filters label .ui-icon{width:18px;height:18px;color:#53657f}.refined-helpdesk-filters label input{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.helpdesk-inline-filters input,.helpdesk-inline-filters select{min-width:118px;height:34px;padding:7px 9px;border-radius:8px}.requester-profile-link{color:var(--text);text-decoration:none}.requester-profile-link:hover b{color:#2f61e8;text-decoration:underline}.helpdesk-table th[data-col="ticket"],.helpdesk-table td:first-child{min-width:230px}.helpdesk-table th[data-col="requester"]{min-width:220px}.helpdesk-table th[data-col="actions"]{width:120px}

/* Compact portal devices and request notes */
.portal-device-list{display:grid;gap:9px}.portal-compact-device-card .portal-device-card{grid-template-columns:58px minmax(0,1fr) auto;align-items:center;padding:10px}.portal-compact-device-card .portal-device-visual{width:58px;height:48px}.portal-compact-device-card .portal-device-visual img{max-width:48px;max-height:38px}.portal-compact-device-card .portal-device-card h3{margin:4px 0 2px;font-size:14px}.portal-compact-device-card .portal-device-actions{grid-column:auto;justify-content:flex-end;white-space:nowrap}.portal-notes-cell{max-width:320px;white-space:normal!important;color:#4b5b73}.portal-request-table th:nth-child(4),.portal-request-table td:nth-child(4){min-width:170px}

/* Global search redesign */
.topbar .search-suggestions.open{display:block!important}.topbar .search-suggestions{box-sizing:border-box!important;width:min(680px,calc(100vw - 120px))!important;max-width:calc(100vw - 120px)!important;right:auto!important;left:50%!important;transform:translateX(-50%)!important;padding:10px!important;overflow-x:hidden!important}.global-search-head{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 8px 10px;color:#475569;box-sizing:border-box!important;max-width:100%!important;text-align:center}.global-search-head strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;min-width:0}.global-search-head span{display:none!important}
.global-search-result{box-sizing:border-box!important;grid-template-columns:46px minmax(0,1fr) minmax(52px,88px)!important;border:1px solid transparent!important;margin-bottom:4px!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.global-search-result:hover{border-color:#d5e0f3!important;background:#f8fbff!important}.global-search-result[data-type="ticket"] > span{background:#fff1e8!important;color:#b64d00!important}.global-search-result[data-type="person"] > span{background:#efe9ff!important;color:#4f32a8!important}.global-search-result[data-type="location"] > span{background:#e9f8ef!important;color:#127344!important}.global-search-result .global-search-serial,.advanced-search-result-copy .advanced-search-serial{color:#334155!important;font-weight:700!important}.global-search-result .global-search-detail{color:#334155!important;font-weight:850!important}.global-search-result em{max-width:88px;justify-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){.portal-compact-device-card .portal-device-card{grid-template-columns:58px minmax(0,1fr)}.portal-compact-device-card .portal-device-actions{grid-column:1/-1}.settings-sync-status{grid-template-columns:1fr}.refined-helpdesk-filters label{min-width:0;width:100%}}

/* Helpdesk production workflow polish */
.helpdesk-layout{grid-template-columns:1fr!important}
.helpdesk-queue-card{min-width:0}
.helpdesk-table{min-width:1180px}
.ticket-subject-button,
button.requester-profile-link{
  width:100%;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--text);
  padding:0;
  text-align:left;
  justify-content:flex-start;
  min-height:0;
}
.ticket-subject-button:hover,
button.requester-profile-link:hover{
  transform:none;
  box-shadow:none;
  background:transparent;
}
.ticket-subject-button b,
.ticket-subject-button span,
.ticket-tech-stack b,
.ticket-tech-stack small,
button.requester-profile-link b,
button.requester-profile-link small{
  display:block;
}
.ticket-subject-button:hover b,
button.requester-profile-link:hover b{
  color:#245ee8;
  text-decoration:underline;
}
button.requester-profile-link small{
  color:var(--muted);
  font-weight:800;
  line-height:1.35;
}
.helpdesk-directory-table td[data-col="requester"] button.requester-profile-link{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.helpdesk-directory-table td[data-col="requester"] button.requester-profile-link .avatar,
.helpdesk-directory-table td[data-col="assigned"] .ticket-tech-cell .avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  flex:0 0 34px!important;
  border-radius:50%!important;
  aspect-ratio:1 / 1!important;
  overflow:hidden!important;
}
.helpdesk-directory-table td[data-col="requester"] button.requester-profile-link .avatar img,
.helpdesk-directory-table td[data-col="assigned"] .ticket-tech-cell .avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.helpdesk-directory-table td[data-col="requester"] button.requester-profile-link>span:last-child,
.helpdesk-directory-table td[data-col="assigned"] .ticket-tech-cell>span:last-child{
  min-width:0!important;
}
.ticket-tech-stack small{color:var(--muted);font-weight:800;margin-top:2px}
.helpdesk-ticket-modal{
  width:min(1280px,calc(100vw - 36px))!important;
  max-width:1280px!important;
  max-height:calc(100dvh - 36px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
.helpdesk-ticket-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e5edf7!important;
  background:#fff!important;
  position:relative!important;
  top:auto!important;
  z-index:5!important;
}
.helpdesk-ticket-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px!important;
  background:#fff!important;
}
.helpdesk-ticket-footer{
  flex:0 0 auto!important;
  margin:0!important;
  padding:12px 18px!important;
  border-top:1px solid #e5edf7!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  position:relative!important;
  bottom:auto!important;
  z-index:5!important;
}
.helpdesk-ticket-modal>.helpdesk-ticket-footer{
  position:relative!important;
  bottom:auto!important;
}
.helpdesk-ticket-footer>span{
  min-width:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.helpdesk-ticket-split{grid-template-columns:360px minmax(0,1fr)!important}
.ticket-summary-panel select[multiple]{min-height:104px}
.ticket-message-thread{max-height:520px}
.ticket-message .ticket-message-row{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  min-width:0;
}
.ticket-message .ticket-message-content{
  display:block;
  min-width:0;
  flex:1;
}
.ticket-message .ticket-message-content header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
  min-width:0;
}
.ticket-message .ticket-message-content b{margin:0;min-width:0;overflow-wrap:anywhere}
.ticket-message-author{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
}
.person-presence{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
}
.person-presence i{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#94a3b8;
  box-shadow:0 0 0 2px #f1f5f9;
  flex:0 0 auto;
}
.person-presence.online{
  color:#15803d;
}
.person-presence.online i{
  background:#22c55e;
  box-shadow:0 0 0 2px #dcfce7;
}
.person-presence.recent i{
  background:#94a3b8;
}
.ticket-person-presence{
  margin:3px 0 4px;
}
.helpdesk-message-body{display:block!important;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.helpdesk-message-body p{margin:0 0 8px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.helpdesk-message-body p:last-child{margin-bottom:4px}
.helpdesk-message-list{margin:0 0 8px 18px;padding:0}
.helpdesk-message-list li{margin:3px 0;line-height:1.45;overflow-wrap:anywhere}
.helpdesk-message-body code{background:#eef2f7;border:1px solid #dce4f0;border-radius:5px;padding:1px 5px;white-space:pre-wrap;overflow-wrap:anywhere}
.message-toolbar{
  display:flex;
  align-items:center;
  gap:6px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:6px;
}
.message-toolbar button{
  width:34px;
  height:30px;
  min-height:30px;
  padding:0;
  border-radius:7px;
  background:#fff;
  color:#24314d;
  box-shadow:none;
}
.message-toolbar .ui-icon{width:15px;height:15px}
.message-toolbar.helpdesk-tiptap-toolbar,
.message-toolbar.kb-rich-toolbar{
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  border:1px solid #cfd9e8!important;
  border-bottom-color:#dbe5f2!important;
  border-radius:10px 10px 0 0!important;
  background:#f7f9fd!important;
  padding:7px!important;
  box-shadow:inset 0 -1px 0 rgba(15,23,42,.03)!important;
}
.message-toolbar.helpdesk-tiptap-toolbar button,
.message-toolbar.kb-rich-toolbar button{
  width:auto!important;
  min-width:34px!important;
  height:32px!important;
  min-height:32px!important;
  border:1px solid #cfd9e8!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#263348!important;
  padding:0 9px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}
.message-toolbar.helpdesk-tiptap-toolbar button:hover,
.message-toolbar.kb-rich-toolbar button:hover{
  border-color:#9fc5ff!important;
  background:#eef5ff!important;
  color:#174ea6!important;
}
.message-toolbar.helpdesk-tiptap-toolbar .toolbar-divider{
  width:1px!important;
  height:22px!important;
  background:#d6deea!important;
  margin:0 2px!important;
  flex:0 0 auto!important;
}
.message-toolbar.helpdesk-tiptap-toolbar .kb-article-toolbar-btn,
.message-toolbar.helpdesk-tiptap-toolbar .attachment-toolbar-btn,
.message-toolbar.helpdesk-tiptap-toolbar .screen-capture-toolbar-btn{
  min-width:0!important;
  padding:0 10px!important;
}
.reply-attachment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.message-link-preview{display:block!important;margin:6px 0}
.message-link-preview a{display:inline-flex;align-items:center;gap:6px;color:#1f55b5;font-weight:900;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.message-link-preview .ui-icon{width:15px;height:15px}
.message-attachments{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:8px 0}
.message-attachment{display:grid;gap:6px;border:1px solid #dbe5f2;border-radius:10px;background:#f8fbff;padding:8px;color:#24314d;text-decoration:none;font-weight:900;min-width:0}
.message-attachment img,
.message-attachment video{width:100%;height:112px;object-fit:cover;border-radius:8px;background:#fff;border:1px solid #e5ecf5}
.message-attachment span{display:flex;align-items:center;gap:6px;min-width:0;white-space:normal;overflow-wrap:anywhere;color:#24314d!important}
.message-attachment .ui-icon{width:15px;height:15px;flex:0 0 auto}
.message-video-attachment a{
  color:#24314d!important;
  text-decoration:none!important;
}
.requester-profile-modal{width:min(1040px,calc(100vw - 36px))!important}
.requester-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.requester-profile-grid h3{margin:0 0 8px}
.requester-profile-grid .compact-list button{
  width:100%;
  display:grid;
  gap:4px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfcff;
  color:var(--text);
  text-align:left;
  padding:10px;
  box-shadow:none;
}
.requester-profile-grid .compact-list button:hover{background:#f3f7ff;border-color:#cbd8ff;transform:none}
@media(max-width:1100px){
  .helpdesk-ticket-split,
  .requester-profile-grid,
  .reply-attachment-grid{grid-template-columns:1fr!important}
  .helpdesk-ticket-modal{width:calc(100vw - 20px)!important}
}

/* Helpdesk queue as a technician workspace */
.helpdesk-queue-head{
  align-items:center!important;
}
.refined-helpdesk-filters{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) 150px 160px auto 42px;
  width:min(840px,100%);
  gap:8px;
}
.refined-helpdesk-filters label{
  min-width:0!important;
  width:100%;
}
.refined-helpdesk-filters select,
.refined-helpdesk-filters button{
  height:42px;
}
.refined-helpdesk-filters .columns-btn{
  width:42px!important;
  min-width:42px!important;
  padding:0!important;
  justify-content:center!important;
}
.helpdesk-view-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:4px 0 12px;
}
.helpdesk-view-tabs button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  color:#22314c;
  box-shadow:none;
  font-weight:900;
}
.helpdesk-view-tabs button.active,
.helpdesk-view-tabs button:hover{
  border-color:#9db7ff;
  background:#f5f8ff;
  color:#1d4ed8;
  transform:none;
}
.helpdesk-view-tabs b{
  min-width:26px;
  border-radius:999px;
  background:#eef4ff;
  color:#1d4ed8;
  padding:2px 8px;
}
.helpdesk-view-tabs .ui-icon{width:17px;height:17px}
.helpdesk-queue-card.is-loading{
  opacity:.72;
  pointer-events:none;
  transition:opacity .16s ease;
}
.ticket-linked-kb-strip{border:1px solid #dbe5f2;border-radius:12px;background:#f8fbff;padding:12px;margin:12px 0;display:grid;gap:8px}
.ticket-linked-kb-strip>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ticket-linked-kb-strip h3{margin:0;font-size:14px}.ticket-linked-kb-strip span{color:var(--muted);font-weight:900;font-size:12px}
.ticket-linked-kb-strip a{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:6px 9px;border:1px solid #cfe0ff;border-radius:8px;background:#fff;color:#0d4ec4;font-weight:900;text-decoration:none}
.ticket-kb-picker-modal{width:min(920px,calc(100vw - 36px))!important}.modal-kb-suggestion-list{max-height:520px;overflow:auto;margin-top:12px}
.modal-kb-suggestion-list article{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;align-items:center}
.ticket-worklog-panel{width:100%}

/* Official Knowledge Base */
.kb-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;background:#0879d1;color:#fff;border-radius:14px;padding:28px;margin-bottom:14px;box-shadow:var(--shadow)}
.kb-hero h1{font-size:34px;margin:4px 0 6px;letter-spacing:0}.kb-hero p{margin:0;color:#e5f2ff}.kb-hero .section-kicker{color:#d7ecff}
.kb-search-band{display:grid;grid-template-columns:minmax(280px,1fr) 220px 180px;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px;box-shadow:var(--shadow)}
.kb-search-band label{display:flex;align-items:center;gap:9px;border:1px solid #dbe5f2;border-radius:10px;padding:0 11px}.kb-search-band label input{border:0!important;box-shadow:none!important;background:transparent!important}
.kb-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.kb-metrics span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}.kb-metrics b{display:block;font-size:24px}.kb-metrics small{color:var(--muted);font-weight:900}
.kb-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.kb-sidebar,.kb-reader,.kb-article-list{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.kb-sidebar{position:sticky;top:74px;padding:14px}.kb-sidebar h2{font-size:15px;margin:4px 0 10px}.kb-sidebar button{width:100%;justify-content:space-between;margin-bottom:6px;background:#fff;color:var(--text);border:1px solid #e1e8f4;box-shadow:none}.kb-sidebar button.active,.kb-sidebar button:hover{background:#eef5ff;border-color:#aecaef;transform:none}.kb-sidebar button b{color:#2f6ff2}
.kb-main{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px}.kb-article-list{padding:10px;display:grid;gap:8px;align-content:start;max-height:calc(100vh - 260px);overflow:auto}.kb-article-card{display:grid;gap:5px;border:1px solid #e1e8f4;border-radius:10px;padding:11px;color:var(--text);text-decoration:none}.kb-article-card:hover,.kb-article-card.active{background:#f5f9ff;border-color:#aac7f6;transform:none}.kb-article-card span{color:#0d62b7;font-size:11px;font-weight:900;text-transform:uppercase}.kb-article-card b{font-size:15px}.kb-article-card p{margin:0;color:#475569;line-height:1.35}.kb-article-card small{color:var(--muted);font-weight:800}
.kb-reader{padding:18px;min-height:540px}.kb-reader header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid #e6edf6;padding-bottom:14px;margin-bottom:14px}.kb-reader header span{color:#0d62b7;font-weight:900;text-transform:uppercase;font-size:11px}.kb-reader h2{margin:4px 0 6px;font-size:26px}.kb-reader header p{margin:0;color:var(--muted)}
.kb-reader-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.kb-reader-meta span{background:#f1f5fb;border:1px solid #d9e4f3;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;color:#334155}
.kb-article-body{line-height:1.6;color:#17233b}.kb-article-body h2,.kb-article-body h3{margin:18px 0 8px}.kb-article-body p{margin:0 0 10px}.kb-article-body blockquote{border-left:4px solid #2f6ff2;margin:12px 0;padding:8px 12px;background:#f4f8ff}.kb-article-body pre{background:#101828;color:#e5eefc;border-radius:10px;padding:12px;overflow:auto}
.kb-related,.kb-downloads,.kb-collab{margin-top:16px;border-top:1px solid #e6edf6;padding-top:14px}.kb-related h3,.kb-downloads h3,.kb-collab h3{margin:0 0 9px;font-size:16px}.kb-related a,.kb-downloads a{display:flex;align-items:center;gap:9px;border:1px solid #d9e4f3;border-radius:10px;padding:9px 10px;margin-bottom:7px;text-decoration:none;color:#17345f;background:#fbfdff}.kb-downloads a span{display:grid}.kb-downloads a small{color:var(--muted);font-weight:800}.kb-collab div{border:1px solid #e6edf6;border-radius:10px;padding:10px;margin-bottom:8px;background:#fffaf1}.kb-collab p{margin:4px 0}.kb-collab small{color:var(--muted);font-weight:800}
.kb-glossary-list{display:grid;gap:7px;margin-bottom:12px}.kb-glossary-list article{border:1px solid #e1e8f4;border-radius:9px;padding:9px;background:#fbfdff}.kb-glossary-list p{margin:3px 0 0;color:#475569}.kb-glossary-form{display:grid;gap:8px;border-top:1px solid #e6edf6;padding-top:12px}.kb-glossary-form label{display:grid;gap:4px}
.kb-editor-modal{width:min(1100px,calc(100vw - 32px))!important}.kb-editor-form{display:grid;gap:12px}.kb-editor-audience{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fbff;border:1px solid #dbe5f2;border-radius:10px;padding:10px}.kb-editor-audience label{display:inline-flex!important;align-items:center;gap:6px;font-weight:800;white-space:nowrap;width:auto!important}.kb-editor-audience input[type=checkbox]{width:auto!important;min-width:16px!important;flex:0 0 auto!important;margin:0}.kb-rich-toolbar{margin:0}.kb-rich-toolbar button{min-width:36px}.kb-editor-body{min-height:280px;border:1px solid #d4dfed;border-radius:12px;background:#fff;padding:14px;line-height:1.55;outline:none;overflow:auto}.kb-editor-body:focus{border-color:#8fb6ff;box-shadow:0 0 0 3px rgba(47,111,242,.12)}.kb-publish-form{margin-top:16px;text-align:right}
@media(max-width:1200px){.kb-layout,.kb-main{grid-template-columns:1fr}.kb-sidebar{position:static}.kb-article-list{max-height:none}.kb-search-band{grid-template-columns:1fr}.kb-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.kb-hero{display:grid}.kb-metrics{grid-template-columns:1fr}.kb-reader header{display:grid}.modal-kb-suggestion-list article{grid-template-columns:1fr}}
.helpdesk-bulk-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fbfcff;
  padding:10px 12px;
  margin:0 0 12px;
}
.helpdesk-bulk-toolbar>div:first-child{
  display:grid;
  gap:2px;
}
.helpdesk-bulk-toolbar b{
  color:#1d4ed8;
  font-size:13px;
}
.helpdesk-bulk-toolbar span{
  color:#64748b;
  font-size:12px;
  font-weight:750;
}
.helpdesk-bulk-toolbar>div:last-child{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.helpdesk-bulk-toolbar button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.helpdesk-table-wrap{overflow:visible!important}
.helpdesk-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed;
}
.helpdesk-table th,
.helpdesk-table td{
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.helpdesk-table th[data-col="select"]{width:34px}
.helpdesk-table td[data-col="select"]{
  text-align:center!important;
  vertical-align:middle;
}
.helpdesk-table input[type="checkbox"][data-helpdesk-select],
.helpdesk-table input[type="checkbox"][data-select-all-helpdesk]{
  width:15px;
  height:15px;
  cursor:pointer;
}
.helpdesk-table th[data-col="ticket_no"]{width:9%}
.helpdesk-table th[data-col="subject"]{width:12%}
.helpdesk-table th[data-col="requester"]{width:14%}
.helpdesk-table th[data-col="latest_note"]{width:14%}
.helpdesk-table th[data-col="asset"]{width:12%}
.helpdesk-table th[data-col="status"]{width:8%}
.helpdesk-table th[data-col="assign_to"]{width:9%}
.helpdesk-table th[data-col="assigned"]{width:8%}
.helpdesk-table th[data-col="updated"]{width:7%}
.helpdesk-table th[data-col="actions"]{width:116px}
.helpdesk-table th[data-col="ticket"],
.helpdesk-table th[data-col="requester"],
.helpdesk-table th[data-col="actions"],
.helpdesk-table td:first-child{min-width:0!important}
.helpdesk-inline-filters th{
  min-width:0!important;
  padding:8px 10px;
}
.helpdesk-inline-filters input,
.helpdesk-inline-filters select{
  width:100%!important;
  min-width:0!important;
  max-width:100%;
  box-sizing:border-box;
}
.table-action-menu-form{
  margin:0;
  width:100%;
}
.ticket-number-pill{
  width:100%;
  border:1px solid transparent;
  border-radius:999px;
  min-height:32px;
  padding:6px 9px;
  box-shadow:none;
  font-size:12px;
  font-weight:950;
  color:#20304a;
  background:#eef4ff;
}
.ticket-number-pill.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.ticket-number-pill.warn{background:#fff1d6;color:#a84d00;border-color:#ffe2a9}
.ticket-number-pill.blue{background:#eaf1ff;color:#1d4ed8;border-color:#cfe0ff}
.ticket-number-pill.ok{background:#dcfce7;color:#047857;border-color:#bbf7d0}
.ticket-number-pill.gray{background:#f1f5f9;color:#475569;border-color:#dbe5f2}
.ticket-number-stack{
  display:grid;
  gap:5px;
  justify-items:center;
}
.ticket-merge-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border-radius:999px;
  background:#f3e8ff;
  color:#6b21a8;
  padding:3px 7px;
  font-size:10px;
  font-weight:900;
}
.ticket-merge-badge .ui-icon{
  width:12px;
  height:12px;
}
.ticket-priority-label{
  display:block;
  margin-top:4px;
  text-align:center;
  color:#64748b;
  font-weight:900;
  font-size:11px;
}
.inline-claim-form{
  margin:0;
}
.claim-ticket-btn{
  width:100%;
  justify-content:center;
  white-space:normal;
  line-height:1.15;
  background:#2563eb!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(37,99,235,.18)!important;
}
.claim-ticket-btn:hover{background:#1d4ed8!important;color:#fff!important}
.claim-ticket-btn .ui-icon{width:15px;height:15px}
.bulk-close-field{
  align-self:end;
  display:flex!important;
  align-items:center;
  gap:8px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fbfcff;
  color:#334155;
  font-weight:900;
  padding:10px 12px;
}
.bulk-close-field input{width:auto!important}
.helpdesk-bulk-modal [data-helpdesk-bulk-fields],
.helpdesk-bulk-modal [data-helpdesk-merge-fields]{display:none}
.assignment-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:30px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-align:center;
  padding:5px 8px;
}
.assignment-state.mine{background:#eaf1ff;color:#1d4ed8}
.assignment-state.closed{background:#ecfdf3;color:#168957}
.ticket-summary-person{
  display:flex;
  align-items:flex-start;
  gap:11px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:10px;
  margin-bottom:10px;
}
.ticket-summary-person .avatar.lg{
  width:85px;
  height:85px;
  font-size:25px;
  flex:0 0 85px;
}
.ticket-summary-person b,
.ticket-summary-person small{
  display:block;
}
.ticket-summary-person b{font-size:14px}
.ticket-summary-person small{
  color:#526178;
  font-weight:800;
  line-height:1.35;
}
.ticket-icon-line{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  vertical-align:middle!important;
}
.ticket-icon-line .ui-icon{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  color:#2563eb!important;
  stroke-width:2.2!important;
}
.ticket-icon-line span{
  min-width:0!important;
}
.ticket-summary-person .ticket-person-name{
  color:#0f172a!important;
}
.ticket-summary-panel dd .ticket-icon-line{
  font-weight:900!important;
}
.ticket-support-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.ticket-kb-panel,
.ticket-worklog-panel{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fbfcff;
  padding:12px;
  min-width:0;
}
.mini-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.mini-section-head h3{margin:0;font-size:15px}
.mini-section-head span{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.kb-search-field{
  height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:0 9px;
  margin-bottom:9px;
}
.kb-search-field input{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.kb-suggestion-list,
.worklog-list,
.linked-kb-list{
  display:grid;
  gap:8px;
}
.linked-kb-list{
  margin-bottom:9px;
}
.linked-kb-list span{
  display:block;
  border:1px solid #cde7d9;
  border-radius:9px;
  background:#f0fdf4;
  color:#166534;
  padding:7px 9px;
  font-weight:900;
  font-size:12px;
}
.kb-suggestion-list article{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #e1e8f3;
  border-radius:10px;
  background:#fff;
  padding:10px;
}
.kb-suggestion-list b,
.kb-suggestion-list small{
  display:block;
}

/* Helpdesk queue visual polish and calendar */
.helpdesk-metric.metric-open{border-color:#bfdbfe;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
.helpdesk-metric.metric-new{border-color:#c7d2fe;background:linear-gradient(135deg,#fbfbff,#eef2ff)}
.helpdesk-metric.metric-urgent{border-color:#fed7aa;background:linear-gradient(135deg,#fffaf3,#fff1df)}
.helpdesk-metric.metric-waiting{border-color:#bae6fd;background:linear-gradient(135deg,#f8fdff,#eef9ff)}
.helpdesk-metric.metric-open>span{background:#dbeafe;color:#1d4ed8}
.helpdesk-metric.metric-new>span{background:#e0e7ff;color:#3346d3}
.helpdesk-metric.metric-urgent>span{background:#ffedd5;color:#c2410c}
.helpdesk-metric.metric-waiting>span{background:#e0f2fe;color:#0369a1}
.helpdesk-metrics.repair-intake-kpi-strip{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
.helpdesk-metrics.repair-intake-kpi-strip .helpdesk-metric{
  min-height:68px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:2px 10px!important;
  padding:10px 12px!important;
  border:1px solid #d8e2f0!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}
.helpdesk-metrics.repair-intake-kpi-strip .helpdesk-metric:hover{
  border-color:#c2d0e4!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.07)!important;
}
.helpdesk-metrics.repair-intake-kpi-strip .helpdesk-metric>span{
  grid-row:1 / span 2;
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
  border:1px solid #d6e4ff!important;
  box-shadow:none!important;
}
.helpdesk-metrics.repair-intake-kpi-strip .helpdesk-metric strong{
  align-self:end;
  color:#0f172a!important;
  font-size:22px!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.helpdesk-metrics.repair-intake-kpi-strip .helpdesk-metric small{
  align-self:start;
  min-width:0;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.15!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:1120px){
  .helpdesk-metrics.repair-intake-kpi-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .helpdesk-metrics.repair-intake-kpi-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
.ticket-subject-title{display:block;color:#172033;font-size:12px;font-weight:500;line-height:1.35}
.ticket-subject-meta{display:none}
button.requester-profile-link small{color:#4f5f78;font-weight:650;line-height:1.35}
.helpdesk-table td[data-col="latest_note"]{
  text-align:left!important;
}
.helpdesk-note-cell{
  width:100%;
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
  min-height:0;
  display:grid;
  gap:4px;
  justify-items:start;
  justify-content:start!important;
  align-items:start!important;
  text-align:left;
  color:#23314a;
}
.helpdesk-note-cell:hover{
  background:transparent;
  box-shadow:none;
  transform:none;
}
.helpdesk-note-cell span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#23314a;
  font-size:12px;
  font-weight:400;
  line-height:1.35;
}
.helpdesk-note-cell small{
  color:#64748b;
  font-size:11px;
  font-weight:650;
}
.helpdesk-asset-cell{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;color:inherit;text-decoration:none}
.helpdesk-asset-cell:hover b{color:#245ee8;text-decoration:underline}
.helpdesk-asset-thumb{width:42px;height:36px;border:1px solid #dfe7f2;border-radius:9px;background:#f7f9fe;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #fff}
.helpdesk-asset-thumb img{max-width:34px;max-height:28px;object-fit:contain}
.helpdesk-asset-cell b,.helpdesk-asset-cell small,.helpdesk-asset-empty b,.helpdesk-asset-empty small{display:block}
.helpdesk-asset-cell small,.helpdesk-asset-empty small{color:#64748b;font-size:11px;font-weight:650;line-height:1.35}
.helpdesk-status-stack{display:grid;gap:5px;justify-items:center;width:100%;text-align:center}
.ticket-priority-chip{display:inline-flex;width:max-content;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:900}
.ticket-priority-chip.bad{background:#fee2e2;color:#991b1b}
.ticket-priority-chip.warn{background:#fff1d6;color:#a84d00}
.ticket-priority-chip.blue{background:#eaf1ff;color:#1d4ed8}
.ticket-priority-chip.gray{background:#f1f5f9;color:#475569}
.kb-suggestion-list small{
  color:#64748b;
  font-weight:850;
  margin-top:2px;
}
.kb-suggestion-list p{
  margin:5px 0 0;
  color:#475569;
  line-height:1.35;
}
.ticket-worklog-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.ticket-worklog-form .full,
.ticket-worklog-form button{
  grid-column:1/-1;
}
.worklog-list{
  margin-top:10px;
}
.worklog-list>div{
  border:1px solid #e1e8f3;
  border-radius:10px;
  background:#fff;
  padding:9px;
}
.worklog-list b,
.worklog-list span,
.worklog-list small{
  display:block;
}
.worklog-list span,
.worklog-list small{
  color:#64748b;
  font-weight:850;
}
.worklog-list p{margin:6px 0 0;color:#334155}
@media(max-width:1180px){
  .helpdesk-queue-head{display:grid!important}
  .refined-helpdesk-filters{width:100%;grid-template-columns:1fr 1fr}
  .refined-helpdesk-filters label{grid-column:1/-1}
  .ticket-support-grid{grid-template-columns:1fr}
}

/* Expandable permissions */
.permission-role-list{
  display:grid;
  gap:10px;
}
.permission-role-card{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.permission-role-card summary{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  padding:13px 14px;
  list-style:none;
  background:#f8fbff;
}
.permission-role-card summary::-webkit-details-marker{display:none}
.permission-role-card summary strong,
.permission-role-card summary small{
  display:block;
}
.permission-role-card summary small{
  color:#64748b;
  font-weight:850;
  margin-top:2px;
}
.permission-expand{
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid #cbd8ee;
  background:#fff;
  display:grid;
  place-items:center;
  color:#1d4ed8;
  font-weight:950;
}
.permission-expand::before{content:"+"}
.permission-role-card[open]>summary .permission-expand::before{content:"-"}
.permission-module-list{
  display:grid;
  gap:12px;
  padding:14px;
}
.permission-module-group{
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fbfcff;
  padding:0;
  overflow:hidden;
}
.permission-module-group summary{
  list-style:none;
}
.permission-module-group summary::-webkit-details-marker{
  display:none;
}
.permission-module-summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  cursor:pointer;
}
.permission-module-summary strong,
.permission-module-summary small{
  display:block;
}
.permission-module-summary strong{
  font-size:13px;
}
.permission-module-summary small{
  margin-top:2px;
  color:#64748b;
  font-weight:850;
}
.permission-module-group[open]>.permission-module-summary{
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.permission-module-group[open]>.permission-module-summary .permission-expand::before{
  content:"-";
}
.permission-toggle-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
  padding:12px;
}
.permission-toggle-grid label{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:9px;
  border:1px solid #dfe7f3;
  border-radius:10px;
  background:#fff;
  padding:9px;
  font-weight:850;
}
.permission-toggle-grid input{
  position:absolute;
  opacity:0;
}
.permission-toggle-grid label span{
  width:24px;
  height:24px;
  border-radius:7px;
  border:1px solid #cbd5e1;
  background:#fff;
}
.permission-toggle-grid input:checked+span{
  border-color:#2563eb;
  background:#2563eb;
  box-shadow:inset 0 0 0 6px #2563eb;
}
.permission-toggle-grid b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}

/* Teacher portal module layout */
.portal-grid{grid-template-columns:1fr!important}
.portal-side{display:none!important}
.portal-module-nav{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  margin:0 0 14px;
}
.portal-module-nav a{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:11px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--text);
  text-decoration:none;
  padding:13px;
  box-shadow:var(--shadow);
}
.portal-module-nav a:hover{
  border-color:#bfd0ff;
  background:#f8fbff;
  text-decoration:none;
}
.portal-module-nav span{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  border-radius:10px;
  background:#eef4ff;
  color:#2f6ff2;
  display:grid;
  place-items:center;
}
.portal-module-nav .ui-icon{width:20px;height:20px}
.portal-module-nav b,
.portal-module-nav small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-module-nav b{font-size:13px}
.portal-module-nav small{color:var(--muted);font-weight:850}
.portal-card{
  position:relative;
  overflow:hidden;
}
.portal-card > :not(.portal-card-watermark){
  position:relative;
  z-index:1;
}
.portal-card-watermark{
  position:absolute;
  right:18px;
  bottom:12px;
  width:132px;
  height:132px;
  display:grid;
  place-items:center;
  color:#1d4ed8;
  opacity:.055;
  pointer-events:none;
  z-index:0;
}
.portal-card-watermark .ui-icon{
  width:108px;
  height:108px;
}
.teacher-roster-card .section-head{
  align-items:center;
}
.teacher-roster-table{
  display:grid;
  gap:8px;
}
.teacher-roster-header,
.teacher-roster-row{
  display:grid!important;
  grid-template-columns:minmax(250px,1.1fr) minmax(170px,.55fr) minmax(320px,1.25fr) 112px!important;
  gap:12px!important;
  align-items:center!important;
}
.teacher-roster-header{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0;
  padding:0 12px 2px;
}
.teacher-roster-row{
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:12px!important;
}
.student-roster-person{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.student-roster-person > span:last-child{
  display:block;
  min-width:0;
}
.student-roster-person small{
  display:block;
  color:var(--muted);
  font-weight:800;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.student-profile-link{
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
  min-height:0;
  color:#0f172a;
  font-size:14px;
  font-weight:950;
  text-align:left;
  justify-content:flex-start;
}
.student-profile-link:hover{
  background:transparent;
  box-shadow:none;
  transform:none;
  color:#245ee8;
  text-decoration:underline;
}
.student-password-cell{
  display:flex;
  align-items:center;
  gap:8px;
}
.student-password-value{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  min-width:96px;
  border:1px solid #dbe5f2;
  border-radius:9px;
  background:#f8fbff;
  color:#24314d;
  padding:6px 10px;
  font-weight:950;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:0;
}
.student-password-toggle{
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
}
.student-password-toggle:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.student-device-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}
.student-device-card-mini{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:0;
  border-radius:8px;
  background:transparent;
  padding:3px 4px;
  text-decoration:none!important;
  color:#22314c!important;
  min-width:0;
}
button.student-device-card-mini{
  width:100%;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.student-device-card-mini:hover{
  background:#f8fbff;
  transform:none;
  box-shadow:none;
}
.student-device-card-mini img{
  width:28px;
  height:22px;
  object-fit:contain;
  flex:0 0 auto;
}
.student-device-card-mini span{
  min-width:0;
}
.student-device-card-mini b,
.student-device-card-mini small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.student-device-card-mini b{font-size:12px;line-height:1.25}
.student-device-card-mini small{color:var(--muted);font-weight:800;line-height:1.25}
.student-device-card-mini.has-repair-intake,
.student-asset-list a.has-repair-intake{
  border-color:#fdba74!important;
  background:#fff7ed!important;
}
.student-device-repair-pill{
  display:inline-flex!important;
  align-items:center;
  gap:4px;
  width:max-content;
  max-width:100%;
  margin-top:4px;
  padding:2px 6px;
  border-radius:999px;
  background:#f97316;
  color:#fff!important;
  font-size:10px!important;
  font-style:normal;
  font-weight:950!important;
  line-height:1.2!important;
}
.student-device-repair-pill .ui-icon{
  width:11px;
  height:11px;
}
.portal-student-profile-modal .modal-head{
  align-items:flex-start;
}
.portal-student-profile-grid{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr);
  gap:16px;
}
.portal-student-profile-grid h3{
  margin:0 0 10px;
}
.portal-profile-detail-list{
  display:grid;
  gap:8px;
  margin:0;
}
.portal-profile-detail-list div{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfcff;
  padding:10px;
}
.portal-profile-detail-list dt{
  color:var(--muted);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.portal-profile-detail-list dd{
  margin:3px 0 0;
  font-weight:850;
}
.portal-profile-password{
  display:flex;
  align-items:center;
  gap:8px;
}
.portal-profile-password .student-password-value{
  min-width:96px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fbff;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.portal-rich-profile-grid h3 + .student-mini-table-wrap,
.portal-rich-profile-grid h3 + .portal-profile-detail-list{
  margin-bottom:14px;
}
@media(max-width:1200px){
  .portal-module-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-roster-header{display:none!important}
  .teacher-roster-row{grid-template-columns:1fr!important}
  .student-device-stack{grid-template-columns:1fr}
  .portal-student-profile-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .portal-module-nav{grid-template-columns:1fr}
}

/* Teacher student label printing: Avery 5160, 30-up letter sheets. */
.student-label-print-body{
  margin:0;
  background:#eef3fa;
  color:#111827;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.student-label-toolbar{
  width:min(8.5in,calc(100vw - 32px));
  margin:24px auto 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  background:#fff;
  border:1px solid #dbe5f2;
  border-radius:12px;
  box-shadow:0 16px 38px rgba(15,23,42,.12);
}
.student-label-toolbar h1{
  margin:2px 0 4px;
  font-size:24px;
}
.student-label-toolbar p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.student-label-sheet-wrap{
  display:grid;
  gap:22px;
  justify-content:center;
  padding:0 16px 40px;
}
.avery-5160-sheet{
  width:8.5in;
  min-height:11in;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(3,2.625in);
  grid-auto-rows:1in;
  column-gap:.125in;
  row-gap:0;
  padding:.5in .1875in;
  background:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.18);
}
.student-label-cell{
  box-sizing:border-box;
  overflow:hidden;
  padding:.12in .14in;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px dashed rgba(100,116,139,.42);
  color:#0f172a;
}
.student-label-cell strong{
  display:block;
  font-size:13pt;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.student-label-cell span,
.student-label-cell small{
  display:block;
  margin-top:3px;
  color:#475569;
  font-size:8.5pt;
  line-height:1.15;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.student-label-cell small{
  color:#64748b;
}
.student-label-empty{
  width:min(8.5in,calc(100vw - 32px));
  margin:0 auto;
  padding:28px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
}
@media print{
  .student-label-print-body{
    background:#fff!important;
  }
  .student-label-toolbar,
  .student-label-empty{
    display:none!important;
  }
  .student-label-sheet-wrap{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }
  .avery-5160-sheet{
    width:8.5in!important;
    height:11in!important;
    min-height:11in!important;
    margin:0!important;
    padding:.5in .1875in!important;
    box-shadow:none!important;
    page-break-after:always;
  }
  .avery-5160-sheet:last-child{
    page-break-after:auto;
  }
.student-label-cell{
    border:0!important;
  }
}

/* Cleaner permission editor: consistent tiles with checkmarks. */
.permission-toggle-grid{
  grid-template-columns:repeat(auto-fill,minmax(214px,214px))!important;
  justify-content:start!important;
}
.permission-toggle-grid label{
  min-height:44px!important;
  width:214px!important;
}
.permission-toggle-grid label span,
.permission-row label span{
  position:relative!important;
  box-shadow:none!important;
}
.permission-toggle-grid input:checked+span,
.permission-row input:checked+span{
  border-color:#2563eb!important;
  background:#eff6ff!important;
  box-shadow:none!important;
}
.permission-toggle-grid input:checked+span::after,
.permission-row input:checked+span::after{
  content:""!important;
  position:absolute!important;
  left:7px!important;
  top:3px!important;
  width:7px!important;
  height:13px!important;
  border-right:3px solid #2563eb!important;
  border-bottom:3px solid #2563eb!important;
  transform:rotate(45deg)!important;
}
@media(max-width:760px){
  .permission-toggle-grid{
    grid-template-columns:1fr!important;
  }
  .permission-toggle-grid label{
    width:100%!important;
  }
}

/* Compact assigned-device grids for users with many checked-out items. */
.portal-compact-device-card .portal-device-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(290px,360px))!important;
  justify-content:start!important;
  align-items:start!important;
  gap:10px!important;
  max-height:470px!important;
  overflow:auto!important;
  padding:2px 4px 2px 0!important;
}
.portal-compact-device-card .portal-device-card{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:10px!important;
  align-items:center!important;
  min-height:126px!important;
  padding:10px!important;
}
.portal-device-card-clickable{
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.portal-device-card-clickable:hover{
  border-color:#bfdbfe!important;
  box-shadow:0 10px 24px rgba(37,99,235,.1);
  transform:translateY(-1px);
}
.portal-device-card-clickable:focus-visible{
  outline:3px solid rgba(37,99,235,.28);
  outline-offset:3px;
}
.portal-compact-device-card .portal-device-visual{
  width:64px!important;
  height:56px!important;
}
.portal-compact-device-card .portal-device-visual img{
  max-width:54px!important;
  max-height:46px!important;
}
.portal-compact-device-card .portal-device-card h3{
  margin:5px 0 3px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.portal-compact-device-card .portal-device-card p,
.portal-compact-device-card .portal-device-card small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.portal-compact-device-card .portal-device-actions{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  justify-content:stretch!important;
}
.portal-compact-device-card .portal-device-actions .btn{
  width:100%!important;
  justify-content:center!important;
}
@media(max-width:760px){
  .portal-compact-device-card .portal-device-list{
    grid-template-columns:1fr!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* Portal clarity and request-page polish */
.portal-metrics a,
.portal-module-nav a{
  text-decoration:none!important;
}
.portal-metric{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.portal-metric:hover,
.portal-module-nav a:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(15,23,42,.1);
}
.portal-metric em{
  margin-left:auto;
  align-self:flex-end;
  border-radius:999px;
  padding:5px 10px;
  background:rgba(255,255,255,.72);
  color:#22314c;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  border:1px solid rgba(148,163,184,.24);
}
.portal-metric-devices{
  background:linear-gradient(135deg,#eff6ff 0%,#fff 72%);
  border-color:#bfdbfe;
}
.portal-metric-requests{
  background:linear-gradient(135deg,#ecfdf5 0%,#fff 72%);
  border-color:#bbf7d0;
}
.portal-metric-reply{
  background:linear-gradient(135deg,#fff7ed 0%,#fff 72%);
  border-color:#fed7aa;
}
.portal-metric-students{
  background:linear-gradient(135deg,#f5f3ff 0%,#fff 72%);
  border-color:#ddd6fe;
}
.portal-module-nav a{
  position:relative;
  min-height:70px;
  padding-right:76px;
  border-color:#d7e2f0;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.portal-module-nav a::after{
  content:"Open";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  border-radius:999px;
  padding:5px 10px;
  background:#fff;
  border:1px solid #dbe5f2;
  color:#1d4ed8;
  font-size:11px;
  font-weight:950;
}
.portal-module-nav a:nth-child(1){background:linear-gradient(135deg,#eff6ff,#fff)}
.portal-module-nav a:nth-child(2){background:linear-gradient(135deg,#ecfeff,#fff)}
.portal-module-nav a:nth-child(3){background:linear-gradient(135deg,#f5f3ff,#fff)}
.portal-module-nav a:nth-child(4){background:linear-gradient(135deg,#f0fdf4,#fff)}
.portal-module-nav a:nth-child(5){background:linear-gradient(135deg,#fff7ed,#fff)}
.portal-compact-device-card .portal-device-card{
  grid-template-columns:86px minmax(0,1fr) auto;
}
.portal-compact-device-card .portal-device-visual{
  width:86px;
  height:68px;
  border-radius:12px;
}
.portal-compact-device-card .portal-device-visual img{
  max-width:76px;
  max-height:58px;
}
.student-device-card-mini{
  grid-template-columns:46px minmax(0,1fr);
}
.student-device-card-mini img{
  width:42px;
  height:34px;
}
.portal-request-card .portal-card-watermark{
  display:none;
}
.portal-request-table{
  width:100%;
  table-layout:fixed;
}
.portal-request-table th,
.portal-request-table td{
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.portal-request-table th:nth-child(1){width:13%}
.portal-request-table th:nth-child(2){width:21%}
.portal-request-table th:nth-child(3){width:16%}
.portal-request-table th:nth-child(4){width:15%}
.portal-request-table th:nth-child(5){width:18%}
.portal-request-table th:nth-child(6){width:9%}
.portal-request-table th:nth-child(7){width:12%}
.portal-request-table th:nth-child(8){width:98px}
.portal-ticket-id-cell .ticket-number-pill{
  width:100%;
  justify-content:center;
}
.portal-ticket-id-cell .ticket-priority-label{
  text-align:left;
  padding-left:4px;
}
.portal-requests-hero{
  margin-bottom:14px;
}
@media(max-width:1100px){
  .portal-compact-device-card .portal-device-card{grid-template-columns:86px minmax(0,1fr)}
  .portal-request-table{min-width:860px}
  .portal-request-table-wrap{overflow:auto}
}

/* Portal request table and user-facing asset permission polish */
.portal-metrics a{
  pointer-events:none;
}
.portal-metric{
  cursor:default!important;
}
.portal-metric:hover{
  transform:none!important;
  box-shadow:var(--shadow)!important;
}
.portal-metric em{
  display:none!important;
}
.portal-request-card{
  min-height:0;
  padding-top:20px;
}
.portal-request-card .portal-card-watermark{
  display:none!important;
}
.portal-request-card .section-head{
  align-items:center;
  margin-bottom:14px;
}
.portal-request-table-wrap{
  overflow:visible!important;
}
.portal-request-table{
  table-layout:auto!important;
  min-width:0!important;
}
.portal-request-table th,
.portal-request-table td{
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
.portal-request-table th:nth-child(1){width:142px!important}
.portal-request-table th:nth-child(2){width:auto!important}
.portal-request-table th:nth-child(3){width:16%!important}
.portal-request-table th:nth-child(4){width:15%!important}
.portal-request-table th:nth-child(5){width:18%!important}
.portal-request-table th:nth-child(6){width:110px!important}
.portal-request-table th:nth-child(7){width:148px!important}
.portal-request-table th:nth-child(8){width:118px!important}
.portal-request-table th:nth-child(7),
.portal-request-table td:nth-child(7),
.portal-request-table th:nth-child(8),
.portal-request-table td:nth-child(8){
  white-space:nowrap!important;
}
.portal-request-empty-state{
  position:relative;
  min-height:156px;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  display:flex;
  align-items:center;
  gap:14px;
  padding:26px 220px 26px 22px;
  overflow:hidden;
}
.portal-request-empty-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:#eef4ff;
  color:#2563eb;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.portal-request-empty-icon .ui-icon{
  width:24px;
  height:24px;
}
.portal-request-empty-state strong{
  display:block;
  font-size:16px;
  margin-bottom:4px;
}
.portal-request-empty-state p{
  margin:0;
  color:var(--muted);
  font-weight:800;
  line-height:1.45;
}
.portal-request-empty-visual{
  position:absolute;
  right:28px;
  bottom:-8px;
  width:170px;
  height:170px;
  color:#2563eb;
  opacity:.075;
  display:grid;
  place-items:center;
}
.portal-request-empty-visual .ui-icon{
  width:136px;
  height:136px;
}
.asset-design3-shell.asset-design3-no-warranty{
  grid-template-columns:minmax(610px,1.45fr) minmax(360px,.8fr)!important;
}
.asset-design3-shell.asset-design3-no-warranty .assignment-d3-card{
  grid-column:auto!important;
}
.asset-alert-actions button:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}
@media(max-width:1280px){
  .asset-design3-shell.asset-design3-no-warranty{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .portal-request-empty-state{
    padding:22px;
  }
  .portal-request-empty-visual{
    display:none;
  }
}

/* Teacher collection check-ins */
.teacher-roster-header,
.teacher-roster-row{
  grid-template-columns:minmax(250px,1.1fr) minmax(170px,.55fr) minmax(320px,1.25fr) minmax(250px,.8fr)!important;
}
.student-roster-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.student-roster-actions .btn{
  min-height:34px;
}
.student-roster-actions .btn:disabled,
.collection-checkin-form button:disabled{
  opacity:.52;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}
.collection-checkin-modal{
  max-width:720px;
}
.collection-checkin-callout{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #dbeafe;
  border-radius:12px;
  background:#f8fbff;
  color:#29415f;
  padding:12px;
}
.collection-checkin-callout span{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#eff6ff;
  color:#2563eb;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.collection-checkin-callout p{
  margin:0;
  font-weight:850;
  line-height:1.4;
}
.collections-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  overflow:hidden;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);
}
.collections-hero h1{
  margin:4px 0 6px;
}
.collections-hero p{
  margin:0;
  color:var(--muted);
  font-weight:800;
}
.collections-hero-metrics{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.collections-hero-metrics span{
  min-width:128px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:12px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.collections-hero-metrics b,
.collections-hero-metrics small{
  display:block;
}
.collections-hero-metrics b{
  font-size:24px;
  line-height:1;
}
.collections-hero-metrics small{
  margin-top:5px;
  color:var(--muted);
  font-weight:900;
}
.collection-teacher-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:12px;
  margin-bottom:14px;
}
.collection-teacher-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  color:var(--text);
  padding:14px;
  text-decoration:none!important;
  box-shadow:var(--shadow);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.collection-teacher-card:hover,
.collection-teacher-card.active{
  border-color:#93c5fd;
  background:linear-gradient(135deg,#eff6ff 0%,#fff 78%);
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(37,99,235,.12);
}
.collection-teacher-name,
.collection-teacher-name b,
.collection-teacher-name small,
.collection-teacher-count,
.collection-teacher-count strong,
.collection-teacher-count small{
  display:block;
}
.collection-teacher-name{
  min-width:0;
}
.collection-teacher-name b,
.collection-teacher-name small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.collection-teacher-name small,
.collection-teacher-count small,
.collection-teacher-meta{
  color:var(--muted);
  font-weight:850;
}
.collection-teacher-count{
  text-align:right;
}
.collection-teacher-count strong{
  font-size:24px;
  line-height:1;
}
.collection-teacher-meta{
  grid-column:2 / -1;
  border-top:1px solid #edf2f7;
  padding-top:8px;
  font-size:12px;
}
.collection-empty-card,
.collection-empty-table{
  border:1px dashed #cbd8ee;
  border-radius:14px;
  background:#fbfdff;
  color:#23314a;
  padding:24px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:8px;
}
.collection-empty-card{
  grid-column:1 / -1;
}
.collection-empty-card span,
.collection-empty-table span{
  width:48px;
  height:48px;
  border-radius:14px;
  background:#eef4ff;
  color:#2563eb;
  display:grid;
  place-items:center;
}
.collection-empty-card p,
.collection-empty-table p{
  margin:0;
  color:var(--muted);
  font-weight:800;
}
.collection-table-card{
  overflow:hidden;
}
.collection-table{
  width:100%;
  table-layout:fixed;
}
.collection-table th:nth-child(1){width:18%}
.collection-table th:nth-child(2){width:23%}
.collection-table th:nth-child(3){width:14%}
.collection-table th:nth-child(4){width:19%}
.collection-table th:nth-child(5){width:13%}
.collection-table th:nth-child(6){width:120px}
.collection-table th:nth-child(7){width:148px}
.collection-table td{
  vertical-align:middle;
}
.collection-table .ticket-number-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:110px;
  text-decoration:none!important;
}
.collection-device-cell{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:10px;
  text-decoration:none!important;
  color:#23314a!important;
}
.collection-device-cell img{
  width:46px;
  height:38px;
  object-fit:contain;
}
.collection-device-cell b,
.collection-device-cell small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.collection-device-cell small{
  color:var(--muted);
  font-weight:800;
}
.collection-status-stack{
  display:flex;
  align-items:flex-start;
  gap:6px;
  flex-wrap:wrap;
}
.collection-notes-cell{
  color:#29415f;
  font-weight:800;
  line-height:1.35;
}
@media(max-width:1180px){
  .collections-hero{
    display:grid;
  }
  .collections-hero-metrics{
    justify-content:stretch;
  }
  .collections-hero-metrics span{
    flex:1 1 160px;
  }
  .collection-table{
    min-width:980px;
  }
  .collection-table-wrap{
    overflow:auto;
  }
}
@media(max-width:1200px){
  .teacher-roster-header{
    display:none!important;
  }
  .teacher-roster-row{
    grid-template-columns:1fr!important;
  }
  .student-roster-actions{
    justify-content:flex-start;
  }
}

/* Collections review queue refinement */
.collection-teacher-grid{
  display:flex!important;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:flex-start;
  gap:10px!important;
}
.collection-teacher-card{
  flex:0 0 326px;
  width:326px;
  min-height:132px;
  grid-template-columns:38px 52px minmax(0,1fr) auto!important;
  padding:12px!important;
  position:relative;
}
.collection-teacher-card .avatar.lg{
  width:52px;
  height:52px;
  font-size:17px;
}
.collection-teacher-count strong{
  font-size:20px;
}
.collection-teacher-count small{
  font-size:10px;
}
.collection-teacher-meta{
  grid-column:3 / -1!important;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.collection-card-status{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eff6ff;
  color:#2563eb;
  font-size:17px;
  font-weight:950;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.13);
}
.collection-card-status .ui-icon{
  width:22px;
  height:22px;
  stroke-width:3;
}
.collection-card-complete{
  border-color:#bbf7d0!important;
  background:linear-gradient(135deg,#f0fdf4 0%,#fff 78%)!important;
}
.collection-card-complete .collection-card-status{
  width:40px;
  height:40px;
  background:#22c55e;
  color:#fff;
  box-shadow:0 12px 22px rgba(34,197,94,.24);
}
.collection-card-needs-review{
  border-color:#fed7aa!important;
  background:linear-gradient(135deg,#fff7ed 0%,#fff 80%)!important;
}
.collection-card-needs-review .collection-card-status{
  background:#ffedd5;
  color:#c2410c;
  box-shadow:inset 0 0 0 1px rgba(194,65,12,.15);
}
.collection-card-in-progress{
  border-color:#bfdbfe!important;
  background:linear-gradient(135deg,#eff6ff 0%,#fff 82%)!important;
}
.collection-teacher-name small{
  display:flex!important;
  align-items:center;
  gap:5px;
}
.collection-teacher-name small .ui-icon{
  width:13px;
  height:13px;
  flex:0 0 auto;
}
.collection-teacher-name .collection-student-count-line{
  margin-top:2px;
  padding-left:18px;
  color:#64748b;
}
.collection-card-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:950;
  line-height:1;
}
.collection-card-pill.ok{
  background:#dcfce7;
  color:#15803d;
}
.collection-card-pill.warn{
  background:#ffedd5;
  color:#c2410c;
}
.collection-card-pill.state{
  background:#f1f5f9;
  color:#475569;
}
.collection-card-students{
  color:var(--muted);
  font-size:11px;
  font-weight:950;
}
.collection-filter-card{
  margin-bottom:14px;
}
.collection-filters{
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) repeat(6,minmax(135px,.7fr)) auto;
  gap:10px;
  align-items:end;
}
.collection-filter-search{
  min-width:0;
}
.collection-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.collection-filter-actions .primary,
.collection-filter-actions .btn{
  min-height:38px;
  white-space:nowrap;
}
.collection-table-wrap table.collection-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.collection-table th,
.collection-table td{
  white-space:normal!important;
}
.collection-table th:nth-child(1){width:19%}
.collection-table th:nth-child(2){width:20%}
.collection-table th:nth-child(3){width:13%}
.collection-table th:nth-child(4){width:17%}
.collection-table th:nth-child(5){width:12%}
.collection-table th:nth-child(6){width:12%}
.collection-table th:nth-child(7){width:190px}
.collection-student-lines,
.collection-student-lines b,
.collection-student-lines small{
  display:block;
}
.collection-student-lines{
  min-width:0;
}
.collection-student-lines b,
.collection-student-lines small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.collection-student-lines small{
  color:var(--muted);
  font-weight:850;
  line-height:1.35;
}
.collection-table .subtext{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-weight:850;
}
.collection-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  flex-wrap:wrap;
}
.collection-row-actions form{
  margin:0;
}
.collection-row-actions .btn{
  min-height:32px;
}
.collection-table .person-cell{
  align-items:flex-start;
}
@media(max-width:1500px){
  .collection-filters{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .collection-filter-search,
  .collection-filter-actions{
    grid-column:auto;
  }
}
@media(max-width:1180px){
  .collection-table-wrap table.collection-table{
    min-width:1040px!important;
  }
}
@media(max-width:760px){
  .collection-teacher-card{
    flex:1 1 100%;
    width:100%;
  }
  .collection-filters{
    grid-template-columns:1fr;
  }
  .collection-filter-actions{
    justify-content:stretch;
  }
  .collection-filter-actions .primary,
  .collection-filter-actions .btn{
    flex:1;
  }
}

/* Portal collection visibility and student popups */
.collection-status-device{
  border:1px solid #dbe5f2!important;
  background:#fbfdff!important;
  padding:7px!important;
}
.collection-status-device em{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:5px;
  font-style:normal;
}
.link-button{
  border:0;
  background:transparent;
  color:#1d4ed8;
  padding:0;
  min-height:0;
  font-size:11px;
  font-weight:950;
  box-shadow:none;
}
.link-button:hover{
  text-decoration:underline;
  transform:none;
  box-shadow:none;
}
.student-asset-list-item{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfcff;
  padding:10px;
  color:var(--text);
}
.student-asset-list-item img{
  width:58px;
  height:44px;
  object-fit:contain;
}
.student-asset-list-item b,
.student-asset-list-item small{
  display:block;
}
.student-asset-list-item small{
  color:var(--muted);
  font-weight:800;
}
.collection-profile-item{
  justify-content:space-between;
}
.collection-student-link{
  border:0;
  background:transparent;
  box-shadow:none;
  min-height:0;
  padding:0;
  color:#111827;
  font-size:12px;
  font-weight:950;
  justify-content:flex-start;
}
.collection-student-link:hover{
  color:#1d4ed8;
  text-decoration:underline;
  transform:none;
  box-shadow:none;
}
.collection-student-profile-modal{
  width:min(1040px,100%);
}
.collection-profile-assets{
  margin-top:16px;
}
.collection-profile-assets h3{
  margin:0 0 10px;
}

/* Report wizard */
.report-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 58%,#f6fff9 100%);
}
.report-hero h1{
  margin:4px 0 6px;
}
.report-hero p{
  margin:0;
  color:var(--muted);
  font-weight:800;
}
.report-hero-metrics{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.report-hero-metrics span{
  min-width:132px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:12px;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}
.report-hero-metrics b,
.report-hero-metrics small{
  display:block;
}
.report-hero-metrics b{
  font-size:24px;
  line-height:1;
}
.report-hero-metrics small{
  margin-top:5px;
  color:var(--muted);
  font-weight:900;
}
.report-wizard-shell{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(380px,1fr) minmax(560px,1.45fr);
  gap:14px;
  align-items:start;
}
.report-panel{
  background:#fff;
  border:1px solid #dbe5f2;
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:14px;
  min-width:0;
}
.report-field-library,
.report-builder-panel{
  position:sticky;
  top:76px;
  max-height:calc(100vh - 100px);
  overflow:auto;
}
.report-step-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.report-step-head span{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2563eb;
  font-weight:950;
}
.report-step-head h2{
  margin:0;
  font-size:18px;
}
.report-step-head p{
  margin:2px 0 0;
  color:var(--muted);
  font-weight:800;
}
.report-search-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fbfdff;
  margin-bottom:10px;
}
.report-search-row span{
  color:#64748b;
  display:grid;
  place-items:center;
}
.report-search-row input{
  border:0;
  background:transparent;
  min-height:38px;
  padding-left:0;
}
.report-category-tabs{
  display:flex;
  gap:6px;
  overflow:auto;
  padding-bottom:8px;
  margin-bottom:8px;
}
.report-category-tabs button{
  border:1px solid #dbe5f2;
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:950;
  color:#475569;
  white-space:nowrap;
}
.report-category-tabs button.active,
.report-category-tabs button:hover{
  background:#eaf2ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}
.report-field-list{
  display:grid;
  gap:8px;
}
.report-field-option{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 32px;
  align-items:center;
  gap:8px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  color:#111827;
  text-align:left;
  padding:9px;
  cursor:pointer;
  min-height:54px;
}
.report-field-option:hover{
  border-color:#93c5fd;
  background:#f8fbff;
}
.report-field-option.selected{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
.report-field-option b,
.report-field-option small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-field-option small{
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
}
.report-field-option i{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#eff6ff;
  color:#2563eb;
}
.selected-report-fields{
  display:grid;
  gap:8px;
  min-height:118px;
  border:1px dashed #bfdbfe;
  border-radius:12px;
  background:#fbfdff;
  padding:10px;
}
.report-selected-empty{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-weight:850;
  min-height:92px;
}
.report-selected-field{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto auto;
  align-items:center;
  gap:7px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:8px;
}
.report-selected-field b,
.report-selected-field small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-selected-field small{
  color:var(--muted);
  font-size:11px;
  font-weight:850;
}
.report-drag-handle{
  border-radius:8px;
  background:#f1f5f9;
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-align:center;
  padding:7px 4px;
  cursor:grab;
}
.report-selected-field button{
  border:1px solid #dbe5f2;
  background:#fff;
  border-radius:8px;
  padding:7px 8px;
  min-height:30px;
  color:#334155;
  font-size:11px;
  font-weight:950;
}
.report-selected-field button:hover{
  background:#eff6ff;
  color:#1d4ed8;
}
.report-selected-field button[disabled]{
  opacity:.45;
  cursor:not-allowed;
}
.report-builder-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin:10px 0 14px;
}
.report-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.report-settings-grid .full{
  grid-column:1 / -1;
}
.report-check-row{
  display:flex;
  align-items:center;
  gap:8px 18px;
  flex-wrap:wrap;
}
.report-check-row label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:24px;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.report-check-row input[type="checkbox"]{
  flex:0 0 auto;
  width:14px;
  height:14px;
  margin:0;
}
.report-preview-panel{
  min-height:680px;
}
.report-preview-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.report-preview-actions h2{
  margin:0;
}
.report-preview-actions p{
  margin:2px 0 0;
}
.report-preview-actions > div:last-child{
  display:flex;
  gap:8px;
}
.report-output-status{
  min-height:22px;
  margin:-2px 0 12px;
  color:#64748b;
  font-weight:900;
  font-size:13px;
}
.report-output-status:empty{
  display:none;
}
.report-output-status.ok{
  color:#047857;
}
.report-output-status.bad{
  color:#b91c1c;
}
.report-output-status.working{
  color:#1d4ed8;
}
.report-pdf-preview-overlay{
  z-index:2147483647!important;
  padding:4px!important;
}
.modal-backdrop.report-pdf-preview-overlay.open{
  z-index:2147483647!important;
}
.report-pdf-preview-modal{
  width:min(1440px,calc(100vw - 8px));
  height:calc(100vh - 8px);
  max-height:calc(100vh - 8px);
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.report-pdf-preview-modal .modal-head{
  flex:0 0 auto;
  padding:8px 14px 0;
  margin-bottom:6px;
}
.report-pdf-preview-frame-wrap{
  min-height:0;
  flex:1 1 auto;
  border-top:1px solid #dbe5f2;
  border-bottom:1px solid #dbe5f2;
  background:#eef2f7;
  padding:6px;
}
.report-pdf-preview-frame-wrap iframe{
  display:block;
  width:100%;
  height:100%;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
}
.report-pdf-preview-modal .modal-actions{
  flex:0 0 auto;
  padding:8px 14px 10px;
  margin-top:0;
  border-top:0;
}
.report-preview-note{
  margin:8px 0 10px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.report-preview-paper{
  background:#fff;
  border:1px solid #dbe5f2;
  border-radius:12px;
  overflow:auto;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.report-preview-paper.landscape{
  min-height:360px;
}
.report-preview-paper.portrait{
  max-width:720px;
  margin:0 auto;
  min-height:560px;
}
.report-preview-empty{
  min-height:420px;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-weight:900;
  background:#fbfdff;
}
.report-document{
  background:#fff;
}
.report-document-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  border-bottom:1px solid #e2e8f0;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);
}
.report-document-head-compact{
  padding:10px 14px;
}
.report-document-head-letterhead{
  border-top:4px solid #3346d3;
  background:#fff;
}
.report-document-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:150px;
  max-width:240px;
}
.report-document-head.report-logo-center{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
}
.report-document-head.report-logo-center .report-document-brand,
.report-document-head.report-logo-center .report-document-meta{
  justify-content:center;
  max-width:none;
}
.report-document-head.report-logo-right .report-document-brand{
  order:3;
  justify-content:flex-end;
}
.report-document-head.report-logo-right .report-document-meta{
  justify-content:flex-start;
}
.report-document-brand img{
  width:38px;
  height:38px;
  object-fit:contain;
  flex:0 0 auto;
}
.report-document-brand strong{
  display:block;
  color:#111827;
  font-size:13px;
  line-height:1.15;
}
.report-document-brand .report-company-text-size-small{
  font-size:11px;
}
.report-document-brand .report-company-text-size-normal{
  font-size:13px;
}
.report-document-brand .report-company-text-size-large{
  font-size:16px;
}
.report-document-brand .report-company-text-size-xlarge{
  font-size:19px;
}
.report-document-brand .report-company-text-color-dark,
.report-footer-text-color-dark{
  color:#111827;
}
.report-document-brand .report-company-text-color-gray,
.report-footer-text-color-gray{
  color:#64748b;
}
.report-document-brand .report-company-text-color-blue,
.report-footer-text-color-blue{
  color:#1d4ed8;
}
.report-document-brand .report-company-text-color-green,
.report-footer-text-color-green{
  color:#047857;
}
.report-document-brand .report-company-text-color-red,
.report-footer-text-color-red{
  color:#be123c;
}
.report-document-brand .report-company-text-font-sans,
.report-footer-text-font-sans{
  font-family:inherit;
}
.report-document-brand .report-company-text-font-serif,
.report-footer-text-font-serif{
  font-family:Georgia, "Times New Roman", serif;
}
.report-document-brand .report-company-text-font-mono,
.report-footer-text-font-mono{
  font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
.report-document-title{
  flex:1 1 auto;
  min-width:0;
}
.report-document-head h2{
  margin:0;
  font-size:24px;
}
.report-document-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-weight:800;
}
.report-document-meta{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  min-width:180px;
}
.report-document-meta span{
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  color:#475569;
  padding:5px 8px;
  font-size:11px;
  font-weight:900;
}
.report-document-signature{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  gap:22px;
  padding:22px 16px 10px;
}
.report-document-signature div{
  min-width:0;
}
.report-document-signature span{
  display:block;
  height:24px;
  border-bottom:1px solid #94a3b8;
}
.report-document-signature b{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.report-document-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 16px 14px;
  border-top:1px solid #e2e8f0;
  color:#64748b;
  font-size:10px;
  font-weight:850;
}
.report-footer-text-size-small{
  font-size:9px;
}
.report-footer-text-size-normal{
  font-size:10px;
}
.report-footer-text-size-large{
  font-size:12px;
}
.report-table-scroll{
  overflow:auto;
}
.report-preview-table{
  width:100%;
  border-collapse:collapse;
  min-width:0;
  table-layout:fixed;
  font-size:12px;
}
.report-preview-table.fit-page-width{
  width:100%;
}
.report-preview-table.column-width-auto{
  table-layout:auto;
}
.report-preview-table.column-width-narrow th,
.report-preview-table.column-width-narrow td{
  padding-left:5px;
  padding-right:5px;
  font-size:10.5px;
}
.report-preview-table.column-width-wide th,
.report-preview-table.column-width-wide td{
  min-width:150px;
}
.report-preview-table th,
.report-preview-table td{
  border-bottom:1px solid #e2e8f0;
  border-right:1px solid #edf2f7;
  padding:8px;
  vertical-align:middle;
  text-align:left;
  overflow-wrap:anywhere;
}
.report-preview-table th{
  background:#f8fafc;
  color:#334155;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.02em;
  overflow-wrap:anywhere;
}
.report-preview-table.center-headers th,
.report-simple-card dl.center-headers dt{
  text-align:center;
}
.report-preview-table.center-cells td,
.report-simple-card dl.center-cells dd{
  text-align:center;
}
.report-preview-table.wrap-text th,
.report-preview-table.wrap-text td,
.report-simple-card dl.wrap-text dd{
  white-space:normal;
  overflow-wrap:anywhere;
}
.report-preview-table:not(.wrap-text) th,
.report-preview-table:not(.wrap-text) td,
.report-simple-card dl:not(.wrap-text) dd{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.report-preview-table.bold-headers th{
  font-weight:950;
}
.report-preview-table.bold-cells tbody td,
.report-simple-card dl.bold-cells dd{
  font-weight:850;
}
.report-preview-table.no-borders th,
.report-preview-table.no-borders td{
  border-right:0;
  border-bottom:0;
}
.report-preview-table.zebra-rows.band-gray tbody tr:nth-child(even) td{
  background:#f8fafc;
}
.report-preview-table.zebra-rows.band-blue tbody tr:nth-child(even) td{
  background:#eff6ff;
}
.report-preview-table.zebra-rows.band-green tbody tr:nth-child(even) td{
  background:#f0fdf4;
}
.report-preview-table.zebra-rows.band-yellow tbody tr:nth-child(even) td{
  background:#fefce8;
}
.report-preview-table.zebra-rows.band-red tbody tr:nth-child(even) td{
  background:#fff1f2;
}
.report-preview-table.zebra-rows.band-none tbody tr:nth-child(even) td{
  background:#fff;
}
.report-preview-table.compact-spacing th,
.report-preview-table.compact-spacing td{
  padding:5px 6px;
  font-size:10px;
}
.report-simple-card dl.compact-spacing{
  gap:5px;
}
.report-preview-table.repeat-headers thead{
  display:table-header-group;
}
.report-preview-table.freeze-first-column th:first-child,
.report-preview-table.freeze-first-column td:first-child{
  position:sticky;
  left:0;
  z-index:2;
  background:#fff;
}
.report-preview-table.freeze-first-column th:first-child{
  z-index:3;
  background:#f8fafc;
}
.report-preview-table.normal-headers th{
  text-transform:none;
}
.report-preview-table.uppercase-headers th{
  text-transform:uppercase;
}
.report-filter-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px 16px;
  border-bottom:1px solid #e2e8f0;
  background:#fbfdff;
}
.report-filter-summary span{
  display:inline-flex;
  gap:6px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  padding:4px 8px;
  color:#475569;
  font-size:10px;
  font-weight:850;
}
.report-filter-summary b{
  color:#111827;
}
.report-chart-card{
  margin:14px 16px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.report-chart-card.keep-with-summary{
  break-inside:avoid;
  page-break-inside:avoid;
}
.report-chart-card header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:12px 14px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}
.report-chart-card h3{
  margin:0;
  font-size:15px;
}
.report-chart-card p{
  margin:3px 0 0;
  color:#64748b;
  font-size:11px;
  font-weight:700;
}
.report-chart-card header > span{
  flex:0 0 auto;
  color:#475569;
  font-size:11px;
  font-weight:900;
}
.report-chart-empty{
  padding:26px 14px;
  color:#64748b;
  text-align:center;
  font-weight:800;
}
.report-echart{
  width:100%;
  box-sizing:border-box;
  min-height:280px;
  padding:10px 12px 12px;
}
.report-echart canvas{
  max-width:100%;
}
.report-echart-print-image{
  display:none;
  width:100%;
  height:auto;
}
.report-chart-static{
  display:block;
}
.report-chart-card.echarts-ready .report-chart-static{
  display:none;
}
@media print{
  .report-chart-card.echarts-ready:not(.echarts-print-ready) .report-echart{
    display:none!important;
  }
  .report-chart-card.echarts-ready:not(.echarts-print-ready) .report-chart-static{
    display:block!important;
  }
  .report-chart-card.echarts-print-ready .report-echart{
    display:none!important;
  }
  .report-chart-card.echarts-print-ready .report-echart-print-image{
    display:block!important;
  }
  .report-chart-card.no-print-image .report-echart{
    display:block!important;
  }
  .report-chart-card.no-print-image .report-echart-print-image{
    display:none!important;
  }
  .report-chart-card.echarts-print-ready .report-chart-static{
    display:none!important;
  }
}
.report-chart-bars{
  display:grid;
  gap:9px;
  padding:14px;
}
.report-chart-bar-row{
  display:grid;
  grid-template-columns:minmax(110px,1fr) minmax(140px,2fr) minmax(46px,auto);
  gap:10px;
  align-items:center;
}
.report-chart-bar-row span{
  min-width:0;
  color:#334155;
  font-size:11px;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-chart-bar-row div{
  height:13px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}
.report-chart-bar-row i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#2563eb;
}
.report-chart-bar-row b{
  color:#111827;
  font-size:11px;
  text-align:right;
}
.report-chart-donut-wrap{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:16px;
}
.report-chart-donut{
  width:140px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
}
.report-chart-donut::after{
  content:"";
  position:absolute;
  inset:28px;
  border-radius:50%;
  background:#fff;
}
.report-chart-donut span{
  position:relative;
  z-index:1;
  color:#111827;
  font-size:18px;
  font-weight:950;
}
.report-chart-legend{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
}
.report-chart-legend span{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  color:#334155;
  font-size:11px;
}
.report-chart-legend i{
  width:10px;
  height:10px;
  border-radius:50%;
}
.report-chart-legend b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-chart-legend em{
  color:#64748b;
  font-style:normal;
  font-weight:900;
}
.report-chart-line-wrap{
  padding:12px 14px 14px;
}
.report-chart-line-wrap svg{
  width:100%;
  height:220px;
  overflow:visible;
}
.report-chart-line{
  fill:none;
  stroke:#2563eb;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.report-chart-line-wrap circle{
  fill:#fff;
  stroke:#2563eb;
  stroke-width:3;
}
.report-chart-grid-line{
  fill:none;
  stroke:#cbd5e1;
  stroke-width:1;
}
.report-chart-line-labels{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#475569;
  font-size:10px;
}
.report-chart-line-labels span{
  min-width:0;
  text-align:center;
}
.report-chart-line-labels b,
.report-chart-line-labels em{
  display:block;
  font-style:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-chart-line-labels em{
  color:#111827;
  font-weight:900;
}
.report-chart-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px;
}
.report-chart-kpis span{
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:12px;
  background:#fbfdff;
}
.report-chart-kpis b{
  display:block;
  font-size:22px;
}
.report-chart-kpis small{
  color:#64748b;
  font-weight:800;
}
.report-approval-line{
  padding:18px 16px 8px;
  max-width:260px;
}
.report-approval-line span{
  display:block;
  height:22px;
  border-bottom:1px solid #94a3b8;
}
.report-approval-line b{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-size:10px;
  text-transform:uppercase;
}
.report-grand-total-row{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:10px 16px;
  color:#166534;
  font-size:12px;
  font-weight:900;
}
.report-assignee-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  max-width:100%;
}
.report-assignee-chip img,
.report-assignee-chip i{
  width:24px;
  height:24px;
  border-radius:999px;
  flex:0 0 24px;
}
.report-assignee-chip img{
  object-fit:cover;
}
.report-assignee-chip i{
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#3346d3;
  font-size:9px;
  font-style:normal;
  font-weight:950;
}
.report-assignee-chip b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.report-image-head{
  width:82px;
}
.report-image-cell{
  width:82px;
  text-align:center!important;
}
.report-image-cell img{
  width:44px;
  height:36px;
  object-fit:contain;
  display:block;
  margin:0 auto 3px;
}
.report-image-cell span{
  display:block;
  color:#64748b;
  font-size:10px;
  font-weight:900;
}
.report-group-row td{
  background:#eff6ff!important;
  color:#1d4ed8;
  font-weight:950;
}
.report-group-row span{
  color:#64748b;
  margin-left:8px;
}
.report-preview-table tfoot td{
  background:#f0fdf4;
  color:#166534;
  font-weight:950;
}
.report-no-results{
  height:120px;
  text-align:center!important;
  color:var(--muted);
  font-weight:900;
}
@media(max-width:1500px){
  .report-wizard-shell{
    grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);
  }
  .report-preview-panel{
    grid-column:1 / -1;
  }
  .report-field-library,
  .report-builder-panel{
    position:static;
    max-height:none;
  }
}
@media(max-width:900px){
  .report-hero,
  .report-preview-actions,
  .report-document-head{
    display:grid;
  }
  .report-wizard-shell,
  .report-settings-grid{
    grid-template-columns:1fr;
  }
  .report-selected-field{
    grid-template-columns:1fr;
  }
}
@media print{
  body.report-printing .report-hero,
  body.report-printing .report-field-library,
  body.report-printing .report-builder-panel,
  body.report-printing .report-preview-actions{
    display:none!important;
  }
  body.report-printing .report-wizard-shell{
    display:block!important;
  }
  body.report-printing .report-preview-panel,
  body.report-printing .report-preview-paper,
  body.report-printing .report-document{
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    max-width:none!important;
    min-height:0!important;
  }
  body.report-printing .report-table-scroll{
    overflow:visible!important;
  }
  body.report-printing .report-preview-table{
    min-width:0!important;
    font-size:8px;
  }
  body.report-printing .report-preview-table th,
  body.report-printing .report-preview-table td{
    padding:4px;
  }
  body.report-printing .report-document-head{
    padding:0 0 10px!important;
  }
}

/* Step-by-step report wizard */
.report-wizard-window{
  display:grid;
  grid-template-columns:246px minmax(0,1fr);
  min-height:calc(100vh - 150px);
  height:calc(100vh - 150px);
  background:#fff;
  border:1px solid #dbe5f2;
  border-radius:14px;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
  overflow:hidden;
}
.report-wizard-steps{
  background:linear-gradient(180deg,#334155 0%,#1f2937 100%);
  color:#e5e7eb;
  padding:16px 12px;
  display:grid;
  align-content:start;
  gap:6px;
}
.report-wizard-brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 8px 16px;
  margin-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.report-wizard-brand > span{
  width:38px;
  height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#f8fafc;
  color:#2563eb;
}
.report-wizard-brand small,
.report-wizard-brand strong{
  display:block;
}
.report-wizard-brand small{
  color:#cbd5e1;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.report-wizard-brand strong{
  color:#fff;
  font-size:17px;
}
.report-wizard-steps button{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:8px;
  width:100%;
  min-height:40px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#dbe4ef;
  text-align:left;
  padding:7px 9px;
  font-weight:900;
  cursor:pointer;
}
.report-wizard-steps button:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.report-wizard-steps button.active{
  background:#fff;
  color:#111827;
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.report-wizard-steps button span{
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:11px;
  font-weight:950;
}
.report-wizard-steps button:first-of-type span{
  background:#22c55e;
}
.report-wizard-steps button.active span{
  background:#2563eb;
  color:#fff;
}
.report-wizard-main{
  position:relative;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  background:#f8fafc;
  overflow:hidden;
}
.report-wizard-content{
  min-width:0;
  min-height:0;
  padding:28px;
  overflow:auto;
}
.report-wizard-summary{
  max-width:1180px;
  margin:0 auto 16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.report-wizard-summary span{
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:9px 11px;
}
.report-wizard-summary b,
.report-wizard-summary em{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-wizard-summary b{
  color:#64748b;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.report-wizard-summary em{
  margin-top:3px;
  color:#111827;
  font-style:normal;
  font-weight:900;
}
.report-step-panel{
  display:none;
  max-width:1180px;
  margin:0 auto;
}
.report-step-panel.active{
  display:block;
  animation:reportStepFade .16s ease;
}
@keyframes reportStepFade{
  from{opacity:.45;transform:translateY(4px)}
  to{opacity:1;transform:none}
}
.report-step-panel h1{
  margin:0 0 12px;
  color:#111827;
  font-size:30px;
  letter-spacing:0;
}
.report-step-lead{
  max-width:780px;
  margin:0 0 24px;
  color:#475569;
  font-size:15px;
  font-weight:750;
  line-height:1.55;
}
.report-welcome-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:12px;
  max-width:760px;
  margin:24px 0 46px;
}
.report-welcome-grid span{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.report-welcome-grid b,
.report-welcome-grid small{
  display:block;
}
.report-welcome-grid b{
  font-size:28px;
}
.report-welcome-grid small{
  color:var(--muted);
  font-weight:900;
}
.report-settings-grid.narrow{
  max-width:820px;
}
.report-identity-grid{
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(280px,380px);
  gap:16px;
  align-items:start;
}
.report-identity-panel,
.report-header-preview{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.report-header-preview{
  display:grid;
  gap:10px;
}
.report-header-preview-card{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
  padding:16px;
}
.report-header-preview-card b,
.report-header-preview-card small,
.report-header-preview-card em{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.report-header-preview-card b{
  color:#111827;
  font-size:20px;
  line-height:1.2;
}
.report-header-preview-card small{
  margin-top:5px;
  color:#64748b;
  font-weight:800;
}
.report-header-preview-card em{
  margin-top:12px;
  color:#475569;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.report-source-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:10px;
}
.report-source-grid button{
  width:100%;
}
.report-source-grid button.selected{
  border-color:#2563eb;
  background:#fff;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.report-source-grid button:disabled{
  opacity:.68;
  cursor:not-allowed;
}
.report-source-grid .report-source-icon{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.report-source-grid .report-source-icon svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
}
.report-source-card em{
  margin-top:2px;
  color:#475569;
  font-size:11px;
  font-style:normal;
  font-weight:850;
}
.report-template-panel{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e2e8f0;
}
.report-template-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:end;
  margin-bottom:12px;
}
.report-template-head h2{
  margin:0;
  font-size:18px;
}
.report-template-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
}
.report-template-head > span{
  flex:0 0 auto;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.report-template-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:10px;
}
.report-template-card{
  min-height:132px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#111827;
  text-align:left;
  padding:13px;
  display:grid;
  align-content:start;
  gap:7px;
}
.report-template-card.selected{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.report-template-card > span{
  color:#2563eb;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.report-template-card b{
  font-size:14px;
  line-height:1.25;
}
.report-template-card small{
  color:#64748b;
  font-size:12px;
  line-height:1.35;
  font-weight:400;
}
.report-field-step-grid{
  display:grid;
  grid-template-columns:minmax(300px,.88fr) minmax(360px,1fr);
  gap:14px;
  align-items:start;
  height:min(560px,calc(100vh - 290px));
  min-height:390px;
}
.report-wizard-window .report-field-library,
.report-wizard-window .report-builder-panel{
  position:static;
  max-height:none;
  min-height:0;
  height:100%;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr) auto;
}
.report-wizard-window .report-builder-panel{
  grid-template-rows:auto minmax(0,1fr) auto;
}
.report-wizard-window .report-field-list{
  max-height:none;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}
.report-wizard-window .selected-report-fields{
  min-height:0;
  overflow:auto;
}
.report-field-empty{
  border:1px dashed #cbd5e1;
  border-radius:10px;
  color:#64748b;
  font-weight:900;
  padding:24px 12px;
  text-align:center;
}
.report-organize-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(220px,1fr));
  gap:12px;
  align-items:start;
}
.report-settings-grid.compact{
  grid-template-columns:1fr;
  gap:8px;
}
.report-chart-mini{
  grid-column:1 / -1;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:13px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.report-chart-mini b,
.report-chart-mini small{
  display:block;
}
.report-chart-mini small{
  margin-top:4px;
  color:#64748b;
  font-weight:800;
}
.report-placement-box{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.report-locked-field,
.report-placement-list span,
.report-placement-empty{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.report-locked-field{
  min-height:130px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:6px;
  text-align:center;
  color:#111827;
  padding:16px;
}
.report-locked-field span{
  width:44px;
  height:44px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2563eb;
}
.report-locked-field b,
.report-locked-field small{
  display:block;
}
.report-locked-field small{
  color:var(--muted);
  font-weight:850;
}
.report-placement-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:9px;
}
.report-placement-list span{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:10px;
  font-weight:950;
}
.report-placement-list span b{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eff6ff;
  color:#2563eb;
}
.report-placement-list span small{
  grid-column:2;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
}
.report-placement-empty{
  min-height:120px;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-weight:900;
}
.report-placement-tools{
  max-width:820px;
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:10px 18px;
  flex-wrap:wrap;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:12px;
}
.report-placement-tools label{
  margin:0;
}
.report-filter-chip-row{
  max-width:820px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.report-filter-chip-row span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  color:#475569;
  padding:5px 9px;
  font-size:11px;
  font-weight:850;
}
.report-filter-chip-row b{
  color:#111827;
}
.report-template-scope{
  max-width:820px;
  margin:0 0 14px;
  border:1px solid #bfdbfe;
  border-radius:12px;
  background:#eff6ff;
  color:#1e3a8a;
  padding:12px;
  font-size:12px;
}
.report-template-scope b{
  display:block;
  color:#172033;
  font-size:13px;
  margin-bottom:8px;
}
.report-template-scope span{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:8px;
}
.report-template-scope i{
  display:inline-flex;
  align-items:center;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#fff;
  color:#1d4ed8;
  font-style:normal;
  font-weight:800;
  padding:4px 8px;
}
.report-template-scope small{
  display:block;
  color:#475569;
  font-weight:750;
}
.report-record-count{
  max-width:820px;
  margin-top:16px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:16px;
  color:#475569;
  font-weight:900;
}
.report-record-count span{
  color:#111827;
  font-size:26px;
  margin-right:8px;
}
.report-layout-step{
  display:grid;
  grid-template-columns:minmax(320px,440px) minmax(320px,1fr);
  gap:28px;
  align-items:start;
}
.report-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.report-choice-grid button,
.report-output-card-grid button,
.report-preset-row button,
.report-page-tabs button{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#111827;
  text-align:left;
  cursor:pointer;
}
.report-choice-grid button,
.report-output-card-grid button{
  display:grid;
  gap:4px;
  min-height:78px;
  padding:11px;
}
.report-choice-grid button.selected,
.report-output-card-grid button.selected,
.report-page-tabs button.active{
  border-color:#2563eb;
  background:#eff6ff;
  box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
.report-choice-grid b,
.report-output-card-grid b{
  font-size:13px;
  line-height:1.2;
}
.report-choice-grid small,
.report-output-card-grid small{
  color:#64748b;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
}
.report-page-design-step{
  display:grid;
  grid-template-columns:minmax(330px,430px) minmax(420px,1fr);
  gap:18px;
  align-items:start;
}
.report-page-design-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  max-width:1180px;
  margin-bottom:18px;
}
.report-page-design-intro .report-step-lead{
  margin-bottom:0;
}
.report-page-design-intro button{
  flex:0 0 auto;
  white-space:nowrap;
}
.report-preset-row,
.report-page-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
.report-preset-row button,
.report-page-tabs button{
  min-height:34px;
  padding:7px 10px;
  color:#475569;
  font-size:12px;
  font-weight:900;
}
.report-preset-row button:hover,
.report-page-tabs button:hover{
  border-color:#bfdbfe;
  color:#1d4ed8;
}
.report-page-section-stack{
  display:grid;
  gap:12px;
}
.report-page-basics{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
[data-report-page-section][hidden]{
  display:none!important;
}
.report-page-option-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.report-option-group{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:13px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.report-option-group h3{
  margin:0 0 10px;
  color:#111827;
  font-size:13px;
  letter-spacing:0;
}
.report-page-live-preview{
  margin-top:18px;
  min-height:360px;
}
.report-page-live-preview.portrait{
  max-width:720px;
}
.report-layout-preview{
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:18px;
  display:grid;
  place-items:center;
  min-height:350px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.mini-report-paper{
  width:250px;
  min-height:315px;
  border:2px solid #334155;
  background:#fff;
  padding:18px;
  display:grid;
  align-content:start;
  gap:8px;
  color:#111827;
  box-shadow:0 16px 36px rgba(15,23,42,.12);
}
.mini-report-paper.landscape{
  width:330px;
  min-height:220px;
}
.mini-report-paper b{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
  font-size:13px;
  border-bottom:1px solid #cbd5e1;
  padding-bottom:8px;
}
.mini-report-paper b i{
  width:18px;
  height:18px;
  border-radius:5px;
  background:#3346d3;
  display:inline-block;
  flex:0 0 auto;
}
.mini-report-paper strong{
  display:block;
  color:#111827;
  font-size:11px;
  text-align:center;
}
.mini-report-paper.center b{
  justify-content:center;
}
.mini-report-paper.right b{
  justify-content:flex-end;
}
.mini-report-grid.center span{
  text-align:center;
}
.mini-report-grid.bold span{
  font-weight:950;
  color:#334155;
}
.mini-avatar-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  border:1px solid #dbe5f2;
  border-radius:999px;
  padding:3px 7px 3px 3px;
  color:#475569;
  font-size:9px;
  font-weight:900;
}
.mini-avatar-chip i{
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#3346d3;
  font-size:7px;
  font-style:normal;
}
.mini-signature-line{
  height:18px;
  border-bottom:1px solid #94a3b8;
  margin-top:8px;
}
.mini-report-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
}
.mini-report-paper.landscape .mini-report-grid{
  grid-template-columns:repeat(4,1fr);
}
.mini-report-grid span{
  height:34px;
  border-radius:4px;
  background:#f1f5f9;
  color:#64748b;
  font-size:8px;
  font-weight:900;
  padding:5px;
  overflow:hidden;
}
.mini-report-paper em{
  margin-top:8px;
  border-top:1px solid #cbd5e1;
  padding-top:8px;
  color:#475569;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.report-wizard-footer{
  position:sticky;
  bottom:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  border-top:1px solid #dbe5f2;
  background:#fff;
  padding:14px 18px;
  box-shadow:0 -10px 24px rgba(15,23,42,.07);
}
.report-wizard-footer-status{
  margin-right:auto;
  color:#475569;
  font-size:12px;
  font-weight:950;
}
.report-wizard-footer .btn,
.report-wizard-footer .primary{
  min-width:104px;
}
.report-wizard-footer button[disabled]{
  opacity:.55;
}
.report-wizard-footer [hidden]{
  display:none!important;
}
.report-launch-btn{
  color:#2563eb!important;
}
.report-wizard-overlay{
  z-index:120;
}
.report-wizard-modal-frame{
  width:min(1520px,calc(100vw - 42px));
  height:min(910px,calc(100vh - 42px));
  max-width:none!important;
  padding:0!important;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.report-wizard-modal-head{
  padding:14px 18px!important;
  border-bottom:1px solid #dbe5f2;
  background:#fff;
}
.report-wizard-modal-head h2{
  margin:0;
}
.report-wizard-modal-head p{
  margin:3px 0 0;
}
.report-wizard-modal-frame iframe{
  width:100%;
  height:100%;
  border:0;
  background:#f8fafc;
}
.report-embed-body{
  margin:0;
  background:#f8fafc;
  height:100vh;
  overflow:hidden;
}
.report-embed-main{
  padding:0;
  height:100vh;
  overflow:hidden;
}
.report-embed-body .report-wizard-window{
  height:100vh;
  min-height:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.report-embed-body .report-wizard-content{
  min-height:0;
}
.report-center-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.report-center-hero h1{
  margin:4px 0 6px;
}
.report-center-grid{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);
  gap:16px;
  margin-top:16px;
}
.report-center-panel{
  min-height:360px;
}
.report-center-panel-wide{
  grid-column:1 / -1;
}
.report-saved-list{
  display:grid;
  gap:10px;
}
.report-saved-list article{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fbfdff;
  padding:12px;
}
.report-saved-list article.report-saved-system{
  border-color:#b7ddc8;
  background:#f8fffb;
}
.report-saved-system .report-saved-icon{
  background:#e8f8ee;
  color:#15803d;
}
.report-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.report-inline-action{
  margin:0;
  display:inline-flex;
}
.report-delete-action,
.btn.soft.report-delete-action{
  background:#fff1f2!important;
  color:#be123c!important;
  border-color:#fecdd3!important;
}
.report-delete-action:hover{
  background:#ffe4e6!important;
  border-color:#fda4af!important;
}
.report-saved-icon,
.report-empty-state span{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2563eb;
}
.report-saved-list h3{
  margin:0 0 3px;
}
.report-saved-list p,
.report-saved-list small{
  display:block;
  margin:0;
  color:#64748b;
  font-weight:850;
}
.report-empty-state{
  min-height:230px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  text-align:center;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:#fbfdff;
  color:#64748b;
}
.report-empty-state b{
  color:#111827;
}
.report-empty-state p{
  margin:0;
  max-width:420px;
}
.report-queue-wrap td span{
  display:block;
  color:#64748b;
  font-weight:800;
  margin-top:2px;
}
.report-queue-wrap{
  overflow:visible;
}
.report-queue-wrap .table{
  min-width:0;
  table-layout:fixed;
}
.report-queue-wrap th:last-child,
.report-queue-wrap td:last-child{
  width:170px;
  text-align:right;
}
.report-queue-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.report-queue-wrap small{
  display:block;
  color:#64748b;
  font-weight:850;
  margin-top:2px;
}
.import-center-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.import-center-hero h1{
  margin:4px 0 8px;
  font-size:32px;
}
.import-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.import-type-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.import-type-card>span{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2563eb;
}
.import-type-card h2{
  margin:0 0 4px;
}
.import-type-card p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.import-history-panel{
  min-height:330px;
}
.import-history-wrap td span{
  display:block;
  color:#64748b;
  font-weight:800;
  margin-top:2px;
}
.import-empty-state{
  min-height:220px;
}
.import-wizard-overlay{
  z-index:70;
}
.import-wizard-modal{
  width:min(1320px,96vw);
  height:min(830px,92vh);
  max-height:92vh;
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.import-wizard-head{
  margin:0;
  padding:16px 18px;
  border-bottom:1px solid #dbe5f2;
}
.import-wizard-shell{
  min-height:0;
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
}
.import-wizard-steps{
  background:#273449;
  color:#fff;
  padding:18px 14px;
  display:grid;
  align-content:start;
  gap:10px;
}
.import-wizard-steps>span{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:8px 10px;
  border-radius:8px;
  font-weight:900;
  color:#d8e0ec;
}
.import-wizard-steps>span.active{
  background:#fff;
  color:#111827;
}
.import-wizard-steps>span.complete i{
  background:#22c55e;
}
.import-wizard-steps i{
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#5d6b80;
  color:#fff;
  font-style:normal;
  font-size:12px;
}
.import-wizard-content{
  min-height:0;
  overflow:auto;
  background:#f8fafc;
  padding:24px 28px;
}
.import-upload-form,
.import-map-form{
  display:grid;
  gap:16px;
}
.import-source-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.import-source-option{
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:14px;
  display:grid;
  gap:8px;
  cursor:pointer;
}
.import-source-option input{
  position:absolute;
  opacity:0;
}
.import-source-option:has(input:checked){
  border-color:#93c5fd;
  box-shadow:0 0 0 3px #dbeafe;
}
.import-source-option span{
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#2563eb;
}
.import-source-option b,
.import-source-option small{
  display:block;
}
.import-source-option small{
  color:#64748b;
  font-weight:800;
}
.import-file-drop{
  border:1px dashed #bfdbfe;
  border-radius:14px;
  background:#fff;
  padding:16px;
}
.import-mapping-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.import-options-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.import-counts{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.import-preview-wrap{
  max-height:300px;
  overflow:auto;
  overflow-x:scroll;
  background:#fff;
  padding-bottom:8px;
}
.import-preview-wrap .table{
  min-width:1200px;
  width:max-content;
}
.import-catalog-field-summary{
  min-width:150px;
}
.import-catalog-field-summary summary{
  cursor:pointer;
  display:inline-flex;
  border:1px solid #c7d2fe;
  border-radius:999px;
  background:#f7f9ff;
  color:#3346d3;
  font-size:11px;
  font-weight:950;
  padding:5px 9px;
}
.import-catalog-field-summary div{
  display:grid;
  gap:4px;
  margin-top:7px;
  min-width:220px;
}
.import-catalog-field-summary span{
  display:grid;
  grid-template-columns:minmax(90px,.8fr) minmax(0,1fr);
  gap:8px;
  border-bottom:1px solid #e5ecf5;
  padding-bottom:4px;
}
.import-catalog-field-summary b,
.import-catalog-field-summary small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.import-catalog-field-summary b{
  color:#334155;
  font-size:11px;
}
.import-catalog-field-summary small{
  color:#64748b;
  font-weight:850;
}
.import-wizard-actions{
  position:sticky;
  bottom:-24px;
  background:#f8fafc;
  border-top:1px solid #dbe5f2;
  padding-top:12px;
}
.report-save-panel{
  display:grid;
  grid-template-columns:minmax(250px,1fr) minmax(160px,210px) minmax(160px,210px);
  gap:12px;
  align-items:end;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:14px;
  margin-bottom:14px;
}
.report-save-panel h3{
  margin:0 0 4px;
}
.report-save-panel p{
  margin:0;
}
.report-save-panel select{
  width:100%;
}
.report-output-card-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}
.report-user-share{
  grid-column:1 / -1;
  position:relative;
  display:grid;
  gap:8px;
}
.report-user-share[hidden]{
  display:none!important;
}
.report-share-suggestions{
  position:absolute;
  top:64px;
  left:0;
  width:min(520px,100%);
  z-index:6;
  display:none;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 34px rgba(15,23,42,.15);
  overflow:hidden;
}
.report-share-suggestions.open{
  display:grid;
}
.report-share-suggestions button{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:0;
  background:#fff;
  color:#111827;
  padding:10px 12px;
  text-align:left;
  cursor:pointer;
}
.report-share-suggestions button:hover{
  background:#f8fbff;
}
.report-share-suggestions b,
.report-share-suggestions small,
.report-share-person b,
.report-share-person small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-share-suggestions small,
.report-share-person small{
  color:#64748b;
  font-weight:850;
}
.report-share-no-match,
.report-share-empty{
  color:#64748b;
  font-weight:900;
  padding:12px;
}
.report-share-list{
  display:grid;
  gap:8px;
}
.report-share-person{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 120px 36px;
  align-items:center;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fbfdff;
  padding:8px;
}
.avatar.tiny{
  width:30px;
  height:30px;
  font-size:11px;
}
.report-field-option.is-hidden,
.report-field-empty.is-hidden{
  display:none!important;
}
.report-save-status{
  grid-column:1 / -1;
  min-height:20px;
  color:#64748b;
  font-weight:900;
}
.report-save-status.ok{
  color:#047857;
}
.report-save-status.bad{
  color:#b91c1c;
}
.report-save-status.working{
  color:#1d4ed8;
}
.report-save-status a{
  color:#1d4ed8;
  font-weight:950;
  margin-left:8px;
}
.report-preview-paper.simple{
  max-width:920px;
}
.report-simple-list{
  display:grid;
  gap:10px;
  padding:14px;
}
.report-simple-card{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:12px;
}
.report-simple-asset{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.report-simple-asset img{
  width:54px;
  height:42px;
  object-fit:contain;
}
.report-simple-asset b,
.report-simple-asset span{
  display:block;
}
.report-simple-asset span{
  color:#64748b;
  font-weight:850;
}
.report-simple-asset b{
  color:#111827;
}
.report-simple-card dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.report-simple-card div{
  min-width:0;
}
.report-simple-card dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.report-simple-card dd{
  margin:2px 0 0;
  color:#111827;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
}
.report-simple-group{
  margin:8px 0 0;
  color:#334155;
}
.report-preview-table.highlight-alternate tbody tr:nth-child(even) td,
.report-preview-paper.highlight-alternate .report-simple-card:nth-child(even){
  background:#f8fafc;
}
.report-preview-table.highlight-none tbody td{
  background:#fff!important;
}
.mini-report-paper.simple .mini-report-grid{
  grid-template-columns:1fr 1fr;
}
.mini-report-paper.alternate .mini-report-grid span:nth-child(even){
  background:#eaf2ff;
}
.mini-report-paper.none .mini-report-grid span{
  background:#fff;
  border:1px solid #e2e8f0;
}
@media(max-width:1300px){
  .report-wizard-window{
    grid-template-columns:220px minmax(0,1fr);
  }
  .report-source-grid,
  .report-template-grid,
  .report-wizard-summary,
  .report-identity-grid,
  .report-organize-grid,
  .report-field-step-grid,
  .report-layout-step,
  .report-page-design-step,
  .report-page-option-grid,
  .report-output-card-grid,
  .report-center-grid,
  .report-save-panel{
    grid-template-columns:1fr;
  }
  .report-field-step-grid{
    height:auto;
  }
  .report-chart-donut-wrap,
  .report-chart-kpis{
    grid-template-columns:1fr;
  }
  .report-chart-legend{
    grid-template-columns:1fr;
  }
}
@media(max-width:820px){
  .report-page-design-intro{
    display:grid;
  }
  .report-page-design-intro button{
    justify-self:start;
  }
  .report-wizard-window{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    height:calc(100vh - 86px);
    min-height:0;
    overflow:hidden;
  }
  .report-wizard-steps{
    border-radius:0;
  }
  .report-wizard-steps{
    display:flex;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    padding:10px;
    scrollbar-width:thin;
  }
  .report-wizard-brand{
    flex:0 0 auto;
    width:180px;
    padding:0 10px 0 0;
    margin:0 4px 0 0;
    border-bottom:0;
    border-right:1px solid rgba(255,255,255,.22);
  }
  .report-wizard-steps button{
    flex:0 0 auto;
    width:auto;
    min-width:132px;
  }
  .report-wizard-main{
    min-height:0;
  }
  .report-wizard-content{
    padding:18px;
  }
  .report-welcome-grid,
  .report-placement-box{
    grid-template-columns:1fr;
  }
  .report-wizard-footer{
    padding:11px 12px;
  }
  .report-wizard-footer-status{
    flex:1 1 100%;
    margin-right:0;
  }
}
@media(max-width:520px){
  .report-wizard-footer .btn,
  .report-wizard-footer .primary{
    flex:1 1 calc(50% - 8px);
    min-width:0;
  }
  .report-wizard-footer-status{
    font-size:11px;
  }
}

/* Friendly access denied */
.access-denied-shell{
  min-height:calc(100vh - 170px);
  display:grid;
  place-items:center;
  padding:42px 18px;
}
.access-denied-card{
  width:min(720px,100%);
  text-align:center;
  padding:44px;
  overflow:hidden;
  position:relative;
}
.access-denied-card::after{
  content:"";
  position:absolute;
  right:-44px;
  bottom:-58px;
  width:210px;
  height:210px;
  border:28px solid #eef4ff;
  border-radius:50%;
  opacity:.9;
}
.access-denied-icon{
  width:64px;
  height:64px;
  border-radius:18px;
  display:inline-grid;
  place-items:center;
  color:#1d4ed8;
  background:#eff6ff;
  border:1px solid #cfe0ff;
  margin-bottom:18px;
}
.access-denied-icon .ui-icon{
  width:32px;
  height:32px;
}
.access-denied-card h1{
  margin:8px 0 10px;
  font-size:clamp(28px,3vw,42px);
}
.access-denied-card p{
  color:var(--muted);
  font-weight:800;
  max-width:520px;
  margin:0 auto 24px;
}
.access-denied-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}

/* Header and People action polish */
.topbar{
  position:relative!important;
  background:linear-gradient(90deg,#f8fbff 0%,#ffffff 48%,#edf7ff 100%)!important;
  border-bottom:1px solid #dbeafe!important;
}
.topbar::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:3px!important;
  background:linear-gradient(90deg,#2459c7 0%,#19b36b 46%,#f2b84b 100%)!important;
  opacity:.65!important;
  pointer-events:none!important;
}
.topbar .global-search{
  border-color:#cfe0f7!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;
}
.topbar .global-search span,
.topbar .global-search .global-search-advanced-trigger{
  display:grid!important;
  place-items:center!important;
  background:#eaf3ff!important;
  border:1px solid #c7dbff!important;
  color:#1d4ed8!important;
  box-shadow:none!important;
}
.topbar .global-search > span::before,
.topbar .global-search > span::after,
.topbar .global-search > .global-search-advanced-trigger::before,
.topbar .global-search > .global-search-advanced-trigger::after{
  display:none!important;
  content:none!important;
}
.topbar .global-search > span .ui-icon,
.topbar .global-search > .global-search-advanced-trigger .ui-icon{
  display:block!important;
  color:#2563eb!important;
  stroke:currentColor!important;
}
.user-menu{
  position:relative!important;
}
.topbar-user{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 32px!important;
  align-items:center!important;
  gap:12px!important;
  min-width:226px!important;
  cursor:pointer!important;
  border:1px solid #cfe0f7!important;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 70%,#eef6ff 100%)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.07)!important;
}
.topbar-user:hover{
  border-color:#9fc1ff!important;
  box-shadow:0 16px 34px rgba(37,99,235,.12)!important;
}
.topbar-user-copy{
  min-width:0!important;
}
.topbar-user-copy strong,
.topbar-user-copy span{
  max-width:128px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-menu-cue{
  width:30px!important;
  height:30px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef4ff!important;
  color:#2563eb!important;
  border:1px solid #dbe7ff!important;
}
.profile-menu-cue .ui-icon{
  width:17px!important;
  height:17px!important;
}
.user-menu[open] .profile-menu-cue{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
}
.user-menu-panel{
  right:0!important;
  top:calc(100% + 12px)!important;
  z-index:12000!important;
}
.user-menu-panel::before{
  content:""!important;
  position:absolute!important;
  top:-7px!important;
  right:22px!important;
  width:12px!important;
  height:12px!important;
  transform:rotate(45deg)!important;
  background:#fff!important;
  border-left:1px solid #d8e2f0!important;
  border-top:1px solid #d8e2f0!important;
}
.asset-row-action-menu .table-action-menu-panel{
  position:fixed!important;
  top:auto!important;
  right:auto!important;
  z-index:13000!important;
}
.table-action-menu-panel .danger-menu-action{
  color:#b42318!important;
  background:#fff7f7!important;
}
.table-action-menu-panel .danger-menu-action:hover{
  color:#991b1b!important;
  background:#fee2e2!important;
}
.hidden-form{
  display:none!important;
}

/* User-facing helpdesk table */
.portal-helpdesk-filters{
  grid-template-columns:minmax(280px,1fr) 150px 160px auto!important;
  width:min(760px,100%)!important;
  margin:8px 0 12px auto!important;
  justify-content:end;
}
.portal-helpdesk-filters label{
  min-width:min(420px,100%);
}
.student-device-ticket-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:6px;
  align-items:center;
}
.student-device-ticket-row>:only-child{
  grid-column:1 / -1;
}
.student-device-ticket-row .student-device-card-mini{
  min-width:0;
}
.student-device-loaner-arrow{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#e0f2fe;
  color:#0369a1;
  box-shadow:0 6px 14px rgba(3,105,161,.12);
}
.student-device-loaner-arrow .ui-icon{
  width:14px;
  height:14px;
  transform:rotate(180deg);
}
.student-device-loaner-mini{
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
}
.student-device-loaner-mini:not(a):not(button){
  cursor:default;
}
.student-device-loaner-mini:not(a):not(button):hover{
  transform:none;
  box-shadow:none;
}
.student-device-loaner-mini[type="button"]:hover,
.student-device-loaner-mini[type="button"]:focus-visible{
  border-color:#60a5fa!important;
  background:#dbeafe!important;
}
.student-profile-loaner-item{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
}
.student-asset-list button.student-profile-loaner-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px;
  color:var(--text);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.student-asset-list button.student-profile-loaner-item:hover,
.student-asset-list button.student-profile-loaner-item:focus-visible{
  border-color:#60a5fa!important;
  background:#dbeafe!important;
}
.student-profile-loaner-item b{
  display:flex!important;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.student-device-loaner-pill{
  display:inline-flex!important;
  width:max-content;
  max-width:100%;
  margin-top:4px;
  padding:2px 6px;
  border-radius:999px;
  background:#2563eb;
  color:#fff!important;
  font-size:10px!important;
  font-style:normal;
  font-weight:950!important;
  line-height:1.2!important;
}
.student-device-loaner-pill.bad{
  background:#dc2626;
}
.student-device-loaner-pill.warn{
  background:#d97706;
}
.student-device-loaner-pill.blue{
  background:#2563eb;
}
.student-device-ticket-btn{
  white-space:nowrap;
}
.portal-loaner-detail-modal{
  width:min(520px,calc(100vw - 32px))!important;
}
.portal-loaner-detail-modal .modal-head{
  align-items:flex-start;
  padding-bottom:10px;
  border-bottom:1px solid #e5edf7;
}
.portal-loaner-detail-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.portal-loaner-detail-title .avatar{
  flex:0 0 auto;
}
.portal-loaner-detail-title>div{
  min-width:0;
}
.portal-loaner-detail-title h2{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-loaner-detail-modal .modal-head p{
  margin:4px 0 0;
  color:#64748b;
  font-weight:800;
}
.portal-loaner-detail-hero{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:14px;
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
}
.portal-loaner-detail-hero img{
  width:68px;
  height:52px;
  object-fit:contain;
}
.portal-loaner-detail-hero small,
.portal-loaner-detail-hero b{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-loaner-detail-hero small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.portal-loaner-detail-hero b{
  color:#172033;
  font-size:20px;
  line-height:1.15;
  margin:2px 0 7px;
}
.portal-loaner-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.portal-loaner-detail-grid div{
  min-width:0;
  border:1px solid #e5edf7;
  border-radius:8px;
  background:#fff;
  padding:9px 10px;
}
.portal-loaner-detail-grid dt,
.portal-loaner-detail-notes small{
  display:block;
  margin:0 0 3px;
  color:#64748b;
  font-size:10px;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
}
.portal-loaner-detail-grid dd{
  margin:0;
  color:#172033;
  font-size:13px;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-loaner-detail-notes{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfcff;
  padding:10px 12px;
}
.portal-loaner-detail-notes p{
  margin:0;
  color:#334155;
  font-size:13px;
  line-height:1.45;
  font-weight:750;
}
@media(max-width:560px){
  .portal-loaner-detail-grid{
    grid-template-columns:1fr;
  }
}
.portal-helpdesk-view-tabs{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  margin:4px 0 12px;
}
.portal-helpdesk-table{
  table-layout:fixed!important;
  min-width:0!important;
}
.portal-helpdesk-table th,
.portal-helpdesk-table td{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.portal-helpdesk-table th[data-col="ticket_no"]{width:142px!important}
.portal-helpdesk-table th[data-col="subject"]{width:17%!important}
.portal-helpdesk-table th[data-col="asset"]{width:18%!important}
.portal-helpdesk-table th[data-col="assigned"]{width:15%!important}
.portal-helpdesk-table th[data-col="latest_note"]{width:19%!important}
.portal-helpdesk-table th[data-col="status"]{width:110px!important}
.portal-helpdesk-table th[data-col="updated"]{width:142px!important}
.portal-helpdesk-table th[data-col="actions"]{width:104px!important}
.portal-helpdesk-table .ticket-number-pill{
  width:100%;
  justify-content:center;
}
.portal-helpdesk-table td[data-col="subject"] .ticket-subject-title{
  font-weight:500;
}
.portal-helpdesk-table td[data-col="latest_note"]{
  text-align:left!important;
}
.portal-helpdesk-table td[data-col="status"]{
  text-align:center!important;
}
.portal-helpdesk-table td[data-col="actions"]{
  white-space:nowrap!important;
}
.portal-helpdesk-inline-filters input,
.portal-helpdesk-inline-filters select{
  font-size:12px;
}
@media (max-width:1180px){
  .portal-request-table-wrap{
    overflow:auto!important;
  }
  .portal-helpdesk-table{
    min-width:1050px!important;
  }
}

.ticket-support-grid{grid-template-columns:1fr}
.new-ticket-kb-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #dbe5f2;border-radius:10px;background:#f8fbff;padding:10px}.new-ticket-kb-actions span{color:var(--muted);font-weight:900;font-size:12px}
.global-search-result[data-type="knowledge"] > span{background:#e8f4ff!important;color:#075fa8!important}
.ticket-kb-slideout{border:1px solid #b8d3ff;border-radius:12px;background:#f5f9ff;padding:12px;box-shadow:0 14px 34px rgba(37,99,235,.14);transform:translateX(18px);opacity:0;transition:transform .18s ease,opacity .18s ease}
.ticket-kb-slideout.open{transform:translateX(0);opacity:1}.ticket-kb-slideout[hidden]{display:none!important}
.ticket-kb-slideout>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.ticket-kb-slideout>div:first-child strong{font-size:15px}.ticket-kb-slideout>p{margin:0 0 10px;color:#53657f;font-weight:800}
.ticket-kb-slideout-card{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:center;border:1px solid #d8e6fb;border-radius:10px;background:#fff;padding:10px;margin-bottom:8px}.ticket-kb-slideout-card b{display:block}.ticket-kb-slideout-card small{display:block;color:#2563eb;font-weight:900;margin-top:2px}.ticket-kb-slideout-card p{margin:5px 0 0;color:#53657f;line-height:1.35}.ticket-kb-slideout-card>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:720px){.ticket-kb-slideout-card{grid-template-columns:1fr}}

/* Knowledge Base readability pass */
.kb-hero{padding:32px 34px;margin-bottom:16px}
.kb-search-band{grid-template-columns:minmax(360px,1fr) 230px 190px max-content;align-items:center;padding:13px 14px;margin-bottom:14px}
.kb-search-band label{height:42px}.kb-search-count{color:#53657f;font-weight:900;white-space:nowrap}
.kb-layout{grid-template-columns:300px minmax(0,1fr);gap:16px}
.kb-sidebar{padding:16px;max-height:calc(100vh - 140px);overflow:auto}.kb-sidebar h2{margin:8px 0 12px}
.kb-sidebar button{min-height:42px;padding:9px 10px}.kb-sidebar button span{display:flex;align-items:center;gap:9px;min-width:0;text-align:left}.kb-sidebar button .ui-icon{width:18px;height:18px;color:#2463d8;flex:0 0 auto}.kb-sidebar button b{background:#edf4ff;border-radius:999px;padding:2px 7px}
.kb-main{grid-template-columns:1fr;gap:16px}.kb-article-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-height:none;padding:12px}
.kb-article-card{min-height:134px;padding:14px}.kb-article-card b{font-size:16px}.kb-article-card p{line-height:1.45}
.kb-reader{padding:26px;min-height:420px}.kb-reader h2{font-size:30px}.kb-reader header{margin-bottom:18px}.kb-article-body{font-size:15px;max-width:900px}.kb-article-body p{margin-bottom:12px}.kb-reader-meta span{padding:6px 10px}
.kb-empty{grid-column:1/-1}.kb-search-empty[hidden]{display:none!important}
@media(max-width:1200px){.kb-search-band{grid-template-columns:1fr 1fr}.kb-search-count{grid-column:1/-1}.kb-layout{grid-template-columns:1fr}.kb-sidebar{position:static;max-height:none}.kb-sidebar button{display:inline-flex;width:auto;margin-right:6px}.kb-sidebar h2{clear:both}}
@media(max-width:720px){.kb-search-band{grid-template-columns:1fr}.kb-reader{padding:18px}.kb-reader h2{font-size:24px}.kb-article-list{grid-template-columns:1fr}}
@media(max-width:980px){
  .kb-hero{
    grid-template-columns:1fr!important;
  }
  .kb-hero-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .kb-hero-actions{
    justify-content:flex-start;
  }
}
@media(max-width:560px){
  .kb-hero-summary{
    grid-template-columns:1fr;
  }
}

/* Knowledge Base article index: table/list view for large article sets */
.kb-admin-metrics{display:grid}
.kb-article-index{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px}
.kb-index-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #e6edf6;padding-bottom:12px;margin-bottom:0}
.kb-index-head h2{margin:0 0 3px;font-size:20px}.kb-index-head p{margin:0;color:#64748b}
.kb-article-table{width:100%;overflow:hidden}.kb-article-table-head,.kb-article-row{display:grid;grid-template-columns:minmax(320px,1fr) 120px 180px 140px 90px 150px;gap:14px;align-items:center}
.kb-article-table-head{position:sticky;top:0;z-index:1;background:#fff;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;border-bottom:1px solid #e6edf6;padding:12px 16px}
.kb-article-list{display:block!important;max-height:620px;overflow:auto;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}
.kb-article-row{width:100%;min-height:78px;padding:13px 16px;border:0;border-bottom:1px solid #eef2f7;color:#172033;text-decoration:none;background:transparent;text-align:left;box-shadow:none;border-radius:0}
.kb-article-row:hover,.kb-article-row.active{background:#f6f9ff;transform:none}.kb-article-row.active{box-shadow:inset 3px 0 0 #2f6ff2}
.kb-row-article{display:grid;gap:3px;min-width:0}.kb-row-article b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-row-article small{display:flex;align-items:center;gap:6px;color:#52637a;font-weight:900}.kb-row-article small .ui-icon{width:15px;height:15px;color:#2f6ff2}.kb-row-article em{font-style:normal;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-article-row>span:not(.kb-row-article){color:#52637a;font-weight:800}.kb-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-style:normal;font-size:12px;font-weight:900;background:#eef2f7;color:#334155}.kb-status-pill.published{background:#dcfce7;color:#047857}.kb-status-pill.draft{background:#f1f5f9;color:#475569}.kb-status-pill.review{background:#fef3c7;color:#a16207}.kb-status-pill.archived{background:#fee2e2;color:#b91c1c}
.kb-author-cell{display:flex!important;align-items:center;gap:8px}.kb-author-cell small{font-size:12px;color:#334155;font-weight:900}
.kb-reader{margin-top:0}
@media(max-width:1050px){.kb-article-table-head{display:none}.kb-article-list{max-height:none}.kb-article-row{grid-template-columns:1fr;gap:6px}.kb-row-article b,.kb-row-article em{white-space:normal}.kb-article-row>span:not(.kb-row-article){font-size:13px}}

/* Knowledge article modal */
.kb-reader-modal{width:min(1180px,calc(100vw - 34px))!important;max-height:calc(100vh - 34px);overflow:auto}
.kb-reader-modal-head h2{font-size:30px;margin:4px 0 6px}.kb-reader-modal-head p{margin:0;color:#53657f}
.kb-reader-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:start}
.kb-reader-modal-body{min-width:0}.kb-modal-author{display:flex;align-items:center;gap:9px;margin:0 0 14px}.kb-modal-author span:last-child{display:grid}.kb-modal-author small{color:#64748b;font-weight:800}
.kb-modal-actions{position:sticky;top:0;display:grid;gap:10px}.kb-modal-actions form{margin:0}
.kb-hero-action{width:100%;min-height:74px;display:grid;place-items:center;gap:6px;border:1px solid #cfe0ff;border-radius:14px;background:#f8fbff;color:#17345f;font-weight:900;box-shadow:none}.kb-hero-action .ui-icon{width:24px;height:24px;color:#2563eb}.kb-hero-action:hover{background:#eef5ff;border-color:#9fc0ff;transform:none}
.kb-comments{margin-top:22px;border-top:1px solid #e6edf6;padding-top:16px}.kb-comments h3{display:flex;align-items:center;gap:8px;margin:0 0 12px}.kb-comments h3 span{background:#eef4ff;color:#2563eb;border-radius:999px;padding:2px 8px;font-size:12px}
.kb-comment-form{display:grid;gap:8px;margin-bottom:14px}.kb-comment-form textarea{min-height:82px}.kb-comment-form button{justify-self:end}
.kb-comment-list{display:grid;gap:12px}.kb-comment{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;border:1px solid #e3ebf6;border-radius:12px;background:#fff;padding:12px}.kb-comment b{display:block}.kb-comment p{margin:4px 0 6px;color:#334155}.kb-comment small{color:#64748b;font-weight:800}
.kb-comment-reply{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;margin-top:10px;border-left:3px solid #dbe7ff;padding-left:10px}.kb-reply-form{display:flex;gap:8px;margin-top:10px}.kb-reply-form input{min-width:0;flex:1}
.kb-editor-body img,.kb-article-body img{max-width:100%;height:auto;border-radius:8px}.kb-editor-body img{display:inline-block;min-width:80px;border:1px solid #d6e0ee;padding:3px}.kb-article-body img[data-width],.kb-article-body img[style*="width"]{max-width:100%;height:auto}
@media(max-width:980px){.kb-reader-modal-grid{grid-template-columns:1fr}.kb-modal-actions{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.kb-hero-action{min-height:62px}}
@media print{body>*{visibility:hidden}.modal-backdrop.open,.modal-backdrop.open *{visibility:visible}.modal-backdrop.open{position:absolute;inset:0;background:#fff}.no-print,.kb-modal-actions,.icon-btn{display:none!important}.kb-reader-modal{box-shadow:none!important;border:0!important;width:auto!important;max-height:none!important}.kb-reader-modal-grid{display:block}}

/* Clean admin header: shared and in normal page flow */
body:not(.nav-collapsed){--clean-header-left:245px}
body.nav-collapsed{--clean-header-left:72px}
.main{
  padding-top:0!important;
}
.sidebar .brand{
  justify-content:flex-start!important;
  padding-right:0!important;
}
body.nav-collapsed .sidebar .brand{
  min-height:18px!important;
  margin-bottom:12px!important;
  padding:0!important;
}
body.nav-collapsed .sidebar .brand:empty{
  display:none!important;
}
.topbar.clean-admin-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:10!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 16px!important;
  padding:12px 0 0!important;
  display:block!important;
  background:transparent!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.topbar.clean-admin-header::after{
  content:none!important;
  display:none!important;
}
.clean-admin-header .topbar-shell{
  height:68px;
  display:grid;
  grid-template-columns:minmax(248px,1fr) minmax(360px,640px) minmax(250px,1fr);
  align-items:center;
  gap:18px;
  max-width:100%;
  padding:0 18px;
  background:#fff;
  border:1px solid #dce5f2;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(20,32,60,.06);
}
.topbar-left{
  grid-column:1;
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.header-menu-btn,
.header-icon-btn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#42526c!important;
  display:grid!important;
  place-items:center!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.header-menu-btn:hover,
.header-icon-btn:hover{
  background:#f3f7ff!important;
  color:#2563eb!important;
  box-shadow:none!important;
}
.header-menu-btn .ui-icon,
.header-icon-btn .ui-icon{
  width:20px!important;
  height:20px!important;
}
.header-breadcrumb{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.header-breadcrumb a,
.header-breadcrumb strong,
.header-breadcrumb span{
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#66758f!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  transform:none!important;
}
.header-breadcrumb a{
  display:inline!important;
}
.header-breadcrumb a:before,
.header-breadcrumb a:after{
  display:none!important;
  content:none!important;
}
.header-breadcrumb strong{
  color:#1f2a44!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.header-search{
  grid-column:2;
  justify-self:center;
  position:relative!important;
  width:min(100%,640px)!important;
  height:48px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #dce5f2!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.header-search:focus-within{
  border-color:#b8c9ff!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.08)!important;
}
.topbar.clean-admin-header .header-search > span,
.topbar.clean-admin-header .header-search > .global-search-advanced-trigger{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#25344f!important;
  box-shadow:none!important;
  appearance:none!important;
  cursor:pointer!important;
}
.topbar.clean-admin-header .header-search > span::before,
.topbar.clean-admin-header .header-search > span::after,
.topbar.clean-admin-header .header-search > .global-search-advanced-trigger::before,
.topbar.clean-admin-header .header-search > .global-search-advanced-trigger::after{
  content:none!important;
  display:none!important;
}
.topbar.clean-admin-header .header-search > span .ui-icon,
.topbar.clean-admin-header .header-search > .global-search-advanced-trigger .ui-icon{
  width:19px!important;
  height:19px!important;
  display:block!important;
  opacity:1!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.header-search input{
  height:100%;
  font-size:13px;
  font-weight:500;
  color:#25344f;
}
.header-search input::placeholder{
  color:#94a3b8;
  font-weight:400;
  opacity:1;
}
.header-search kbd{
  flex:0 0 auto;
  min-width:30px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid #e1e7f2;
  border-radius:7px;
  background:#f8fafc;
  color:#475569;
  font-size:11px;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-weight:900;
}
.clean-admin-header .search-suggestions{
  top:calc(100% + 10px)!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  z-index:1800!important;
}
.header-actions{
  grid-column:3;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-width:0;
}
.notification-btn{
  position:relative!important;
}
.notification-btn b{
  position:absolute;
  right:3px;
  top:1px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:900;
}
.clean-user-menu{
  position:relative!important;
}
.clean-user-menu summary{
  list-style:none!important;
}
.clean-user-menu summary::-webkit-details-marker{
  display:none!important;
}
.clean-user-menu .topbar-user{
  min-width:176px!important;
  height:46px!important;
  padding:0 8px!important;
  gap:10px!important;
  display:flex!important;
  align-items:center!important;
  border:0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.clean-user-menu .topbar-user:hover{
  background:#f7faff!important;
  box-shadow:none!important;
}
.clean-user-menu .avatar.small{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  font-size:12px!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  overflow:hidden!important;
  clip-path:circle(50%);
}
.clean-user-menu .topbar-user-copy{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
.clean-user-menu .topbar-user-copy strong,
.clean-user-menu .topbar-user-copy span{
  max-width:130px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.clean-user-menu .topbar-user-copy strong{
  color:#1f2937!important;
  font-size:13px!important;
  line-height:1.15!important;
}
.clean-user-menu .topbar-user-copy span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.header-user-caret{
  width:8px;
  height:8px;
  flex:0 0 8px;
  margin-left:2px;
  border-right:2px solid #526078;
  border-bottom:2px solid #526078;
  transform:rotate(45deg) translateY(-2px);
}
.clean-user-menu[open] .header-user-caret{
  transform:rotate(225deg) translateY(-2px);
}
.clean-user-menu .user-menu-panel{
  top:calc(100% + 10px)!important;
  right:0!important;
}
@media(max-width:1100px){
  body:not(.nav-collapsed),
  body.nav-collapsed{
    --clean-header-left:72px;
  }
  .topbar.clean-admin-header{
    height:auto!important;
    min-height:82px!important;
  }
  .clean-admin-header .topbar-shell{
    height:auto;
    min-height:64px;
    grid-template-columns:minmax(180px,1fr) minmax(260px,1.2fr) auto;
    gap:10px;
    padding:8px 10px;
  }
  .header-breadcrumb strong,
  .header-breadcrumb span{
    display:none!important;
  }
  .clean-user-menu .topbar-user{
    min-width:auto!important;
    width:48px!important;
    padding:0 3px!important;
    justify-content:center!important;
  }
  .clean-user-menu .topbar-user-copy,
  .header-user-caret{
    display:none!important;
  }
}
@media(max-width:760px){
  .clean-admin-header .topbar-shell{
    grid-template-columns:auto 1fr auto;
  }
  .topbar-left{
    gap:8px;
  }
  .header-search{
    width:100%!important;
  }
  .header-search kbd,
  .header-actions .header-icon-btn{
    display:none!important;
  }
}
@media print{
  .main{
    padding-top:0!important;
  }
  .topbar.clean-admin-header{
    display:none!important;
  }
}

/* System action buttons: icon-first, square, and consistent across modules */
.system-action-btn,
.toolbar-actions .btn,
.action-toolbar .btn,
.section-head .btn,
.modal-actions .btn,
.modal-actions button{
  min-height:42px!important;
  padding:0 16px!important;
  border:1px solid #dbe3ef!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#1f2937!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(20,32,60,.05)!important;
}
.system-action-btn:hover,
.toolbar-actions .btn:hover,
.action-toolbar .btn:hover,
.section-head .btn:hover,
.modal-actions .btn:hover,
.modal-actions button:hover{
  border-color:#c4d2e7!important;
  background:#f8fbff!important;
  box-shadow:0 10px 22px rgba(20,32,60,.09)!important;
  transform:none!important;
}
.system-action-btn .ui-icon,
.toolbar-actions .btn .ui-icon,
.action-toolbar .btn .ui-icon,
.section-head .btn .ui-icon,
.modal-actions .btn .ui-icon,
.modal-actions button .ui-icon{
  width:20px!important;
  height:20px!important;
  color:#334155!important;
  stroke-width:2.4!important;
}
.btn.primary,
button.primary,
.add-asset-dashboard-btn{
  background:#335eea!important;
  border-color:#335eea!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(51,94,234,.22)!important;
}
.btn.primary:hover,
button.primary:hover,
.add-asset-dashboard-btn:hover{
  background:#2850d4!important;
  border-color:#2850d4!important;
  color:#fff!important;
}
.btn.primary .ui-icon,
button.primary .ui-icon,
.add-asset-dashboard-btn .ui-icon{
  color:#fff!important;
}
.btn.soft{
  background:#fff!important;
  color:#1f2937!important;
}
.btn.compact,
button.compact{
  min-height:32px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
.asset-snapshot-card{
  overflow:visible!important;
}
.asset-table-wrap{
  position:relative!important;
  z-index:1!important;
  margin-top:14px!important;
  clear:both!important;
}
.asset-directory-card{
  position:relative!important;
}
.asset-directory-card.is-initializing .asset-table-wrap,
.asset-directory-card.is-initializing .asset-server-pagination{
  opacity:0!important;
  pointer-events:none!important;
}
.student-directory-card{
  position:relative!important;
}
.student-directory-card.is-initializing .people-table-wrap,
.student-directory-card.is-initializing .people-server-pagination{
  opacity:0!important;
  pointer-events:none!important;
}
.asset-directory-card.is-loading .asset-table-wrap,
.asset-directory-card.is-loading .asset-server-pagination,
.asset-directory-card.is-settling .asset-table-wrap,
.asset-directory-card.is-settling .asset-server-pagination{
  opacity:.46!important;
  pointer-events:none!important;
}
.student-directory-card.is-loading .people-table-wrap,
.student-directory-card.is-loading .people-server-pagination,
.student-directory-card.is-settling .people-table-wrap,
.student-directory-card.is-settling .people-server-pagination{
  opacity:.46!important;
  pointer-events:none!important;
}
.asset-directory-card.is-loading::before,
.asset-directory-card.is-settling::before{
  content:""!important;
  position:absolute!important;
  inset:72px 18px 18px!important;
  z-index:45!important;
  border:1px solid rgba(219,229,242,.9)!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,rgba(248,251,255,.86),rgba(255,255,255,.96),rgba(248,251,255,.86))!important;
  background-size:220% 100%!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
  animation:asset-table-loading-sheen 1.15s linear infinite!important;
}
.student-directory-card.is-loading::before,
.student-directory-card.is-settling::before{
  content:""!important;
  position:absolute!important;
  inset:118px 18px 18px!important;
  z-index:45!important;
  border:1px solid rgba(219,229,242,.9)!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,rgba(248,251,255,.86),rgba(255,255,255,.96),rgba(248,251,255,.86))!important;
  background-size:220% 100%!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
  animation:asset-table-loading-sheen 1.15s linear infinite!important;
}
.asset-directory-card.is-loading::after,
.asset-directory-card.is-settling::after{
  content:"Loading assets..."!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  z-index:46!important;
  transform:translate(-50%,-50%)!important;
  min-width:180px!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#334155!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 16px 38px rgba(15,23,42,.14)!important;
}
.student-directory-card.is-loading::after,
.student-directory-card.is-settling::after{
  content:"Loading people..."!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  z-index:46!important;
  transform:translate(-50%,-50%)!important;
  min-width:180px!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#334155!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 16px 38px rgba(15,23,42,.14)!important;
}
@keyframes asset-table-loading-sheen{
  from{background-position:0 0;}
  to{background-position:220% 0;}
}
.toolbar-actions.asset-toolbar-controls{
  position:relative!important;
  z-index:41!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
.asset-dashboard-search{
  display:none!important;
}
.asset-toolbar-controls .toolbar-icon-btn,
.asset-toolbar-controls .dashboard-tool-btn,
.asset-toolbar-controls .columns-btn,
.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:auto!important;
  min-width:142px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 20px!important;
  white-space:nowrap!important;
}
.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  min-width:160px!important;
}
.asset-toolbar-controls .toolbar-icon-btn span{
  display:inline!important;
}
.asset-toolbar-controls .toolbar-icon-btn .ui-icon{
  width:21px!important;
  height:21px!important;
}
.bulk-edit-control{
  width:auto!important;
  min-width:176px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 44px 0 18px!important;
  border:1px solid #dbe3ef!important;
  border-radius:7px!important;
  background-color:#fff!important;
  color:#1f2937!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(20,32,60,.05)!important;
}
.asset-toolbar-controls .bulk-edit-control{
  margin-left:8px!important;
}

.asset-toolbar-controls .bulk-edit-control::before{
  content:none!important;
}
@media(max-width:1180px){
  .toolbar-actions.asset-toolbar-controls{
    justify-content:flex-start!important;
  }
}

/* Sanity overrides: keep table sort/filter controls compact and People toolbar icon-sized */
.people-table thead th button[data-people-sort],
.student-mini-table thead th button,
.student-history-table thead th button,
.table th button:not(.table-action),
.table-filters button,
.people-inline-filters button{
  min-height:0!important;
  height:auto!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  font-size:inherit!important;
  font-weight:500!important;
  line-height:1.2!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
.people-inline-filters .btn.compact,
.table-filters .btn.compact{
  min-height:34px!important;
  height:34px!important;
  padding:0 12px!important;
  border:1px solid #dbe3ef!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#1f2937!important;
  box-shadow:none!important;
  font-size:12px!important;
}
.student-directory-actions.asset-toolbar-controls .toolbar-icon-btn,
.student-directory-actions.asset-toolbar-controls .dashboard-tool-btn,
.student-directory-actions.asset-toolbar-controls .columns-btn,
.student-directory-actions.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0!important;
  border-radius:7px!important;
}
.student-directory-actions.asset-toolbar-controls .toolbar-icon-btn span{
  display:none!important;
}
.student-directory-actions.asset-toolbar-controls .filter{
  height:48px!important;
  min-height:48px!important;
  border-radius:7px!important;
}
.student-directory-actions.asset-toolbar-controls .student-bulk-select{
  width:230px!important;
  min-width:230px!important;
}
.student-directory-actions.asset-toolbar-controls .student-year-select{
  width:128px!important;
  min-width:128px!important;
}
@media(max-width:1180px){
  .student-directory-actions.asset-toolbar-controls{
    justify-content:flex-start!important;
  }
}

/* Final sizing pass: keep module action buttons consistent and table-friendly */
.system-action-btn,
.toolbar-actions .btn,
.action-toolbar .btn,
.section-head .btn,
.modal-actions .btn,
.modal-actions button{
  min-height:38px!important;
  height:38px!important;
  padding:0 12px!important;
  border-radius:7px!important;
  gap:8px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 4px 10px rgba(20,32,60,.04)!important;
}
.system-action-btn .ui-icon,
.toolbar-actions .btn .ui-icon,
.action-toolbar .btn .ui-icon,
.section-head .btn .ui-icon,
.modal-actions .btn .ui-icon,
.modal-actions button .ui-icon{
  width:17px!important;
  height:17px!important;
  stroke-width:2.35!important;
}
.toolbar-actions.asset-toolbar-controls{
  gap:8px!important;
}
.asset-toolbar-controls .toolbar-icon-btn,
.asset-toolbar-controls .dashboard-tool-btn,
.asset-toolbar-controls .columns-btn,
.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:auto!important;
  min-width:104px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 12px!important;
}
.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  min-width:124px!important;
}
.asset-toolbar-controls .report-launch-btn,
.asset-toolbar-controls .columns-btn{
  min-width:112px!important;
}
.asset-toolbar-controls .toolbar-icon-btn .ui-icon{
  width:17px!important;
  height:17px!important;
}
.bulk-edit-control{
  min-width:140px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 34px 0 12px!important;
  border-radius:7px!important;
  font-size:12px!important;
  box-shadow:0 4px 10px rgba(20,32,60,.04)!important;
}
.asset-toolbar-controls .bulk-edit-control{
  margin-left:2px!important;
}
.student-directory-actions.asset-toolbar-controls .toolbar-icon-btn,
.student-directory-actions.asset-toolbar-controls .dashboard-tool-btn,
.student-directory-actions.asset-toolbar-controls .columns-btn,
.student-directory-actions.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
}
.student-directory-actions.asset-toolbar-controls .filter{
  height:38px!important;
  min-height:38px!important;
  font-size:12px!important;
}
.student-directory-actions.asset-toolbar-controls .student-bulk-select{
  width:210px!important;
  min-width:210px!important;
}
.student-directory-actions.asset-toolbar-controls .student-year-select{
  width:120px!important;
  min-width:120px!important;
}
.people-inline-filters .btn.compact,
.table-filters .btn.compact{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  font-size:12px!important;
}

/* Shared module actions: same compact button language outside asset tables */
.hero-actions .btn,
.portal-hero-actions .btn,
.helpdesk-hero-actions .btn,
.helpdesk-filters .btn,
.new-ticket-kb-actions .btn,
.kb-index-head .btn,
.action-toolbar .btn{
  min-height:38px!important;
  height:38px!important;
  min-width:auto!important;
  padding:0 12px!important;
  border-radius:7px!important;
  gap:8px!important;
  font-size:12px!important;
}
.hero-actions .btn .ui-icon,
.portal-hero-actions .btn .ui-icon,
.helpdesk-hero-actions .btn .ui-icon,
.helpdesk-filters .btn .ui-icon,
.new-ticket-kb-actions .btn .ui-icon,
.kb-index-head .btn .ui-icon,
.action-toolbar .btn .ui-icon{
  width:17px!important;
  height:17px!important;
}
.helpdesk-filters .columns-btn.toolbar-icon-btn{
  width:38px!important;
  min-width:38px!important;
  padding:0!important;
}


/* Shared directory card/table pattern for People and Assets */
.asset-snapshot-card,
.student-directory-card.asset-snapshot-card,
.asset-directory-card.asset-snapshot-card{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  margin-top:20px!important;
  padding:20px!important;
  overflow:visible!important;
  background:#fff!important;
}
.asset-snapshot-card form,
.student-directory-card form,
.asset-directory-card form{
  display:block!important;
  min-height:0!important;
}
.asset-table-toolbar,
.student-directory-toolbar,
.asset-directory-toolbar{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:0!important;
  height:auto!important;
  padding:0 0 14px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid #edf2f8!important;
  background:#fff!important;
  box-shadow:none!important;
}
.asset-directory-card.asset-snapshot-card{
  margin-top:20px!important;
}
.asset-directory-topbar{
  position:static!important;
  top:auto!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:54px!important;
  height:auto!important;
  padding:0 0 14px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid #edf2f8!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.asset-directory-card > form > .asset-directory-toolbar,
.asset-directory-card > form > .asset-table-toolbar{
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:54px!important;
  height:auto!important;
  transform:none!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
}
.asset-directory-card > form > .asset-directory-table-wrap,
.asset-directory-card > form > .asset-table-wrap{
  margin-top:0!important;
}
.asset-table-toolbar h2,
.student-directory-toolbar h2,
.asset-directory-toolbar h2,
.asset-toolbar-title-row h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.15!important;
}
.asset-table-toolbar p,
.student-directory-toolbar p,
.asset-directory-toolbar p{
  margin:4px 0 0!important;
}
.toolbar-actions,
.asset-toolbar-controls,
.student-directory-actions,
.asset-directory-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  overflow:visible!important;
}
.toolbar-actions .toolbar-icon-btn,
.toolbar-actions .dashboard-tool-btn,
.toolbar-actions .columns-btn,
.toolbar-actions .add-asset-dashboard-btn,
.student-directory-actions .toolbar-icon-btn,
.asset-directory-actions .toolbar-icon-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:8px!important;
  gap:0!important;
  white-space:nowrap!important;
}
.toolbar-actions .toolbar-icon-btn span,
.toolbar-actions .dashboard-tool-btn span,
.toolbar-actions .columns-btn span,
.toolbar-actions .add-asset-dashboard-btn span,
.student-directory-actions .toolbar-icon-btn span,
.asset-directory-actions .toolbar-icon-btn span{
  display:none!important;
}
.toolbar-actions .toolbar-icon-btn .ui-icon,
.toolbar-actions .dashboard-tool-btn .ui-icon,
.toolbar-actions .columns-btn .ui-icon,
.student-directory-actions .toolbar-icon-btn .ui-icon,
.asset-directory-actions .toolbar-icon-btn .ui-icon{
  width:16px!important;
  height:16px!important;
}
.asset-directory-actions .bulk-edit-control,
.student-directory-actions .student-bulk-select,
.student-directory-actions .student-year-select{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:136px!important;
  max-width:240px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 32px 0 10px!important;
  border-radius:8px!important;
  font-size:12px!important;
  border:1px solid #dbe3ef!important;
  background-color:#fff!important;
  color:#111827!important;
  font-weight:900!important;
  box-shadow:0 4px 10px rgba(20,32,60,.04)!important;
}
.student-directory-actions .student-bulk-select{
  min-width:220px!important;
}
.student-directory-actions .student-year-select{
  min-width:128px!important;
}
.student-directory-actions.asset-toolbar-controls .student-bulk-select,
.student-directory-actions.asset-toolbar-controls .student-year-select{
  height:38px!important;
  min-height:38px!important;
  border:1px solid #dbe3ef!important;
  border-radius:8px!important;
  background-color:#fff!important;
  color:#111827!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 4px 10px rgba(20,32,60,.04)!important;
}
.student-directory-actions.asset-toolbar-controls .student-bulk-select{
  min-width:220px!important;
}
.student-directory-actions.asset-toolbar-controls .student-year-select{
  min-width:128px!important;
}
.asset-directory-actions .toolbar-icon-btn,
.asset-directory-actions .dashboard-tool-btn,
.asset-directory-actions .columns-btn,
.asset-directory-actions .add-asset-dashboard-btn,
.student-directory-actions .toolbar-icon-btn,
.student-directory-actions .dashboard-tool-btn,
.student-directory-actions .columns-btn,
.student-directory-actions .add-asset-dashboard-btn{
  width:auto!important;
  min-width:76px!important;
  height:34px!important;
  min-height:34px!important;
  max-width:none!important;
  padding:0 10px!important;
  gap:6px!important;
  font-size:12px!important;
  border-radius:7px!important;
}
.asset-directory-actions .add-asset-dashboard-btn,
.student-directory-actions .add-asset-dashboard-btn{
  min-width:96px!important;
  padding:0 12px!important;
}
.asset-directory-actions .add-asset-dashboard-btn{
  font-size:11px!important;
}
.asset-directory-actions .toolbar-icon-btn .ui-icon,
.asset-directory-actions .dashboard-tool-btn .ui-icon,
.asset-directory-actions .columns-btn .ui-icon,
.asset-directory-actions .add-asset-dashboard-btn .ui-icon,
.student-directory-actions .toolbar-icon-btn .ui-icon,
.student-directory-actions .dashboard-tool-btn .ui-icon,
.student-directory-actions .columns-btn .ui-icon,
.student-directory-actions .add-asset-dashboard-btn .ui-icon{
  width:15px!important;
  height:15px!important;
}
.asset-directory-actions .toolbar-icon-btn span,
.asset-directory-actions .dashboard-tool-btn span,
.asset-directory-actions .columns-btn span,
.asset-directory-actions .add-asset-dashboard-btn span,
.student-directory-actions .toolbar-icon-btn span,
.student-directory-actions .dashboard-tool-btn span,
.student-directory-actions .columns-btn span,
.student-directory-actions .add-asset-dashboard-btn span{
  display:inline!important;
}
.student-directory-actions.asset-toolbar-controls .toolbar-icon-btn,
.student-directory-actions.asset-toolbar-controls .dashboard-tool-btn,
.student-directory-actions.asset-toolbar-controls .columns-btn,
.student-directory-actions.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  width:auto!important;
  min-width:76px!important;
  max-width:none!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 10px!important;
  gap:6px!important;
  border-radius:7px!important;
  font-size:12px!important;
}
.student-directory-actions.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn{
  min-width:96px!important;
  padding:0 12px!important;
}
.student-directory-actions.asset-toolbar-controls .toolbar-icon-btn span,
.student-directory-actions.asset-toolbar-controls .dashboard-tool-btn span,
.student-directory-actions.asset-toolbar-controls .columns-btn span,
.student-directory-actions.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn span{
  display:inline!important;
}
.student-directory-actions.asset-toolbar-controls .toolbar-icon-btn .ui-icon,
.student-directory-actions.asset-toolbar-controls .dashboard-tool-btn .ui-icon,
.student-directory-actions.asset-toolbar-controls .columns-btn .ui-icon,
.student-directory-actions.asset-toolbar-controls .add-asset-dashboard-btn.toolbar-icon-btn .ui-icon{
  width:15px!important;
  height:15px!important;
}
.people-search-panel{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 12px!important;
}
.people-search-box{
  flex:1 1 460px!important;
  min-width:min(460px,100%)!important;
}
.people-search-panel .filter{
  flex:0 0 150px!important;
  min-width:150px!important;
}
.people-search-panel .btn{
  flex:0 0 auto!important;
}
.asset-dashboard-search{
  display:none!important;
}
.table-wrap,
.people-table-wrap,
.asset-table-wrap,
.asset-directory-table-wrap{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:0!important;
  overflow:auto!important;
  border:1px solid #dfe6f2!important;
  border-radius:12px!important;
  background:#fff!important;
}
.table,
.people-table,
.asset-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.table th,
.table td,
.people-table th,
.people-table td,
.asset-table th,
.asset-table td{
  padding:10px!important;
  vertical-align:middle!important;
  border-bottom:1px solid #e8edf5!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.table thead th,
.people-table thead th,
.asset-table thead th{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  background:#f8fafc!important;
  color:#26364f!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.table thead tr:nth-child(2) th,
.people-table thead tr:nth-child(2) th,
.asset-table thead tr:nth-child(2) th{
  background:#fff!important;
}
.table thead input,
.table thead select,
.people-table thead input,
.people-table thead select,
.asset-table thead input,
.asset-table thead select{
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  min-height:32px!important;
  padding:6px 9px!important;
  border-radius:7px!important;
  font-size:11px!important;
}
.table thead .btn.compact,
.people-table thead .btn.compact,
.asset-table thead .btn.compact{
  height:32px!important;
  min-height:32px!important;
  padding:0 10px!important;
  border-radius:7px!important;
  font-size:12px!important;
}
.people-table .select-col,
.people-table th[data-col="select"],
.people-table td[data-col="select"],
.asset-table th[data-col="select"],
.asset-table td[data-col="select"]{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  text-align:center!important;
}
.people-table th[data-col="actions"],
.people-table td[data-col="actions"],
.asset-table th[data-col="actions"],
.asset-table td[data-col="actions"]{
  position:static!important;
  right:auto!important;
  z-index:auto!important;
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  overflow:visible!important;
  background:#fff!important;
  box-shadow:none!important;
}
.people-table th[data-col="actions"],
.asset-table th[data-col="actions"]{
  text-align:left!important;
}
.people-table td[data-col="actions"],
.asset-table td[data-col="actions"]{
  text-align:right!important;
}
.asset-table th[data-col="select"] input[type="checkbox"],
.asset-table td[data-col="select"] input[type="checkbox"],
.people-table th[data-col="select"] input[type="checkbox"],
.people-table td[data-col="select"] input[type="checkbox"]{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin:0!important;
  padding:0!important;
}
.asset-table th[data-col="asset"],
.asset-table td[data-col="asset"]{width:250px!important;min-width:250px!important;max-width:250px!important;}
.asset-table th[data-col="category"],
.asset-table td[data-col="category"]{width:150px!important;min-width:150px!important;max-width:150px!important;}
.asset-table th[data-col="assigned"],
.asset-table td[data-col="assigned"],
.asset-table th[data-col="teacher"],
.asset-table td[data-col="teacher"]{width:180px!important;min-width:180px!important;max-width:180px!important;}
.asset-table th[data-col="location"],
.asset-table td[data-col="location"]{width:140px!important;min-width:140px!important;max-width:140px!important;}
.asset-table th[data-col="status"],
.asset-table td[data-col="status"],
.asset-table th[data-col="condition"],
.asset-table td[data-col="condition"]{width:112px!important;min-width:112px!important;max-width:112px!important;}
.asset-table th[data-col="source"],
.asset-table td[data-col="source"]{width:118px!important;min-width:118px!important;max-width:118px!important;}
.asset-table th[data-col="cost"],
.asset-table td[data-col="cost"],
.asset-table th[data-col="warranty"],
.asset-table td[data-col="warranty"]{width:96px!important;min-width:96px!important;max-width:96px!important;}
.person-cell,
.asset-main{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.person-cell > div:last-child,
.asset-title,
.asset-title span,
.subtext,
.asset-table td[data-col="category"],
.asset-table td[data-col="location"]{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.source-badge{
  max-width:100%!important;
  min-width:0!important;
}
.actions-cell,
.student-actions-cell{
  overflow:visible!important;
}
.row-actions.row-actions-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.asset-row-action-menu,
.table-action-dropdown{
  position:relative!important;
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.asset-row-action-summary,
.row-actions-clean .asset-row-action-summary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:102px!important;
  min-width:102px!important;
  max-width:102px!important;
  height:34px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  gap:6px!important;
  line-height:1!important;
  white-space:nowrap!important;
  visibility:visible!important;
  opacity:1!important;
}
.asset-row-action-summary .ui-icon{
  width:14px!important;
  height:14px!important;
  flex:0 0 14px!important;
}
.table-action-menu-panel{
  position:fixed!important;
  z-index:13000!important;
}
@media(max-width:1500px){
  .asset-table{
    width:max-content!important;
    min-width:1380px!important;
  }
  .asset-table-toolbar,
  .student-directory-toolbar,
  .asset-directory-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .toolbar-actions,
  .asset-toolbar-controls,
  .student-directory-actions,
  .asset-directory-actions{
    justify-content:flex-start!important;
  }
}
@media(max-width:900px){
  .asset-snapshot-card,
  .student-directory-card.asset-snapshot-card,
  .asset-directory-card.asset-snapshot-card{
    padding:14px!important;
  }
  .people-search-panel{
    align-items:stretch!important;
    flex-direction:column!important;
  }
}

/* Knowledge Base compact hero */
.kb-hero{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:20px!important;
  margin-bottom:14px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:var(--shadow)!important;
}
.kb-hero h1{
  margin:2px 0 5px!important;
  color:#172033!important;
  font-size:26px!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}
.kb-hero p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:13px!important;
}
.kb-hero .section-kicker{
  display:block!important;
  margin-bottom:6px!important;
  color:#65748d!important;
  font-size:10px!important;
}
.kb-hero-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(94px,1fr));
  gap:8px;
  align-items:stretch;
}
.kb-hero-summary span{
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:9px 10px;
}
.kb-hero-summary b,
.kb-hero-summary small{
  display:block;
}
.kb-hero-summary b{
  color:#172033;
  font-size:18px;
  line-height:1.1;
}
.kb-hero-summary small{
  margin-top:3px;
  color:#64748b;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.kb-hero-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:980px){
  .kb-hero{
    grid-template-columns:1fr!important;
  }
  .kb-hero-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .kb-hero-actions{
    justify-content:flex-start;
  }
}
@media(max-width:560px){
  .kb-hero-summary{
    grid-template-columns:1fr;
  }
}

/* Knowledge article modal compact actions */
.kb-reader-modal-grid{
  grid-template-columns:minmax(0,1fr) 168px!important;
  gap:14px!important;
}
.kb-modal-actions{
  gap:7px!important;
}
.kb-hero-action{
  min-height:44px!important;
  padding:6px 9px!important;
  gap:4px!important;
  border-radius:9px!important;
  font-size:11px!important;
  line-height:1.1!important;
}
.kb-hero-action .ui-icon{
  width:16px!important;
  height:16px!important;
}
.kb-hero-action span{
  font-size:11px!important;
  line-height:1.1!important;
}
.kb-row-title-line{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.kb-row-title-line b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kb-updated-badge{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  flex:0 0 auto!important;
  padding:3px 7px!important;
  border:1px solid #b7d2ff!important;
  border-radius:999px!important;
  background:#eef6ff!important;
  color:#1d5ed8!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:950!important;
  line-height:1!important;
}
.kb-updated-badge .ui-icon{
  width:12px!important;
  height:12px!important;
}
.kb-updated-badge.is-pulsing:after{
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  border:1px solid rgba(37,99,235,.32)!important;
  border-radius:999px!important;
  animation:kbUpdatePulse 1.8s ease-out infinite!important;
}
@keyframes kbUpdatePulse{
  0%{opacity:.85;transform:scale(.92)}
  100%{opacity:0;transform:scale(1.22)}
}
.kb-meta-updated,
.kb-last-updated-line{
  color:#475569!important;
}
.kb-meta-updated{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
.kb-meta-updated .ui-icon{
  width:13px!important;
  height:13px!important;
  color:#2563eb!important;
}
.kb-hero-action.danger{
  border-color:#fecaca!important;
  background:#fff7f7!important;
  color:#b42318!important;
}
.kb-hero-action.danger .ui-icon{
  color:#dc2626!important;
}
.kb-hero-action.danger:hover{
  border-color:#fca5a5!important;
  background:#fee2e2!important;
}

/* System notice banners and canned comments */
.system-notice-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  margin:0;
  padding:10px 48px;
  border-radius:0;
  background:var(--notice-bg,#dc2626);
  color:var(--notice-fg,#fff);
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  position:relative;
  text-align:center;
}
body:not(.student-shell) .layout > .system-notice-banner{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:13000!important;
}
html.system-notice-layout-open body:not(.student-shell) .sidebar{
  top:48px!important;
  height:calc(100vh - 48px)!important;
}
html.system-notice-layout-open body:not(.student-shell) .main{
  padding-top:48px!important;
}
html.system-notice-layout-closed body:not(.student-shell) .sidebar,
html.all-system-notices-dismissed body:not(.student-shell) .sidebar{
  top:0!important;
  height:100vh!important;
}
html.system-notice-layout-closed body:not(.student-shell) .main,
html.all-system-notices-dismissed body:not(.student-shell) .main{
  padding-top:0!important;
}
body.student-shell .layout > .system-notice-banner{
  margin:0 0 12px!important;
  width:100%!important;
}
.system-notice-banner[hidden]{display:none!important}
.system-notice-banner strong{
  color:var(--notice-fg,#fff);
  font-weight:950;
  line-height:1.3;
}
.system-notice-banner small{
  color:color-mix(in srgb,var(--notice-fg,#fff) 86%,transparent);
  font-weight:900;
  white-space:nowrap;
}
.system-notice-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.system-notice-icon .ui-icon{
  width:22px;
  height:22px;
}
.system-notice-banner>button{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  min-height:32px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--notice-fg,#fff);
  font-size:28px;
  line-height:1;
}
.login-notice-banner{
  margin:0;
  border-radius:0;
  width:100%;
}
.login-body.has-login-notice{
  place-items:stretch center!important;
  grid-template-rows:auto 1fr!important;
  padding:0!important;
}
.login-body.has-login-notice .login-shell{
  align-self:center;
  margin:32px;
}
.notice-admin-modal,
.canned-comments-modal{
  width:min(920px,calc(100vw - 36px))!important;
}
#cannedCommentsModal.open,
#noticeBannerModal.open{
  z-index:14000!important;
}
.notice-banner-form{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fbff;
  padding:12px;
}
.notice-banner-form input[type=color]{
  height:42px;
  padding:4px;
}
.notice-active-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.notice-active-list h3{
  margin:0;
}
.notice-active-list>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px;
}
.notice-active-list>div>span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--notice-bg,#dc2626);
  color:var(--notice-fg,#fff);
}
.notice-active-list p{margin:0}
.notice-active-list b,
.notice-active-list small{display:block}
.notice-active-list small{margin-top:2px;color:#64748b;font-weight:800}
.notice-active-list form{margin:0}
.message-toolbar .canned-toolbar-btn{
  min-width:150px!important;
}
.canned-comments-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:14px;
  align-items:start;
}
.canned-comment-list{
  display:grid;
  gap:8px;
  max-height:520px;
  overflow:auto;
  padding-right:4px;
}
.canned-comment-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.canned-comment-row>button{
  display:grid;
  gap:4px;
  text-align:left;
  align-items:start;
  justify-content:stretch;
  min-height:0;
  padding:11px;
  border:0;
  border-radius:0;
  background:#fff;
  color:#0f172a;
  box-shadow:none;
}
.canned-comment-row:hover{
  border-color:#9fc0ff;
}
.canned-comment-row>button:hover{
  background:#f8fbff;
  transform:none;
}
.canned-comment-row form{
  margin:0;
  display:grid;
}
.canned-comment-row form button{
  width:38px!important;
  min-height:100%!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid #dbe5f2!important;
  border-radius:0!important;
  background:#fff!important;
  color:#dc2626!important;
  box-shadow:none!important;
}
.canned-comment-row form .ui-icon{
  width:15px!important;
  height:15px!important;
}
.canned-comment-list span{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:#eef4ff;
  color:#2456c8;
  padding:2px 8px;
  font-size:11px;
  font-weight:900;
}
.canned-comment-list small{
  color:#64748b;
  font-weight:800;
  line-height:1.35;
}
.canned-comment-create-form{
  display:grid;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fbff;
  padding:12px;
}
.canned-comment-create-form textarea{
  min-height:160px;
}
@media(max-width:860px){
  .system-notice-banner{
    justify-content:flex-start;
    text-align:left;
    padding:10px 44px 10px 12px;
    flex-wrap:wrap;
  }
  .canned-comments-grid{
    grid-template-columns:1fr;
  }
}

.workflow-policy-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
  padding-top:12px;
  border-top:1px solid #e5edf7;
}
.workflow-policy-grid .full{
  grid-column:1/-1;
}
@media(max-width:1000px){
  .reservation-booking-shell{
    grid-template-columns:1fr;
  }
  .reservation-timeline{
    min-width:860px;
  }
  .reservation-timeline-header,
  .reservation-timeline-row{
    grid-template-columns:220px minmax(0,1fr);
  }
  .reservation-item-image{
    width:96px;
    height:96px;
  }
  .reservation-request-table .reservation-status-form{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .reservation-hero,
  .reservation-calendar-head,
  .reservation-catalog-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .reservation-basket{
    width:100%;
  }
  .reservation-equipment-tile{
    grid-template-columns:1fr;
  }
  .reservation-item-image{
    width:100%;
    height:140px;
  }
}

/* ======================================================================
   Accessibility and device sanity layer
   WCAG-oriented shared fixes for keyboard focus, touch targets, modals,
   and phone/tablet layouts across the platform.
   ====================================================================== */
.skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:30000;
  transform:translateY(-140%);
  background:#0f172a;
  color:#fff;
  border:2px solid #fff;
  border-radius:10px;
  padding:10px 14px;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(15,23,42,.28);
}
.skip-link:focus{
  transform:translateY(0);
}
:where(a,button,.btn,summary,input,select,textarea,[tabindex],[contenteditable="true"]):focus-visible{
  outline:2px solid #93c5fd!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;
}
main:focus{
  outline:none;
}
button:disabled,
.btn:disabled,
[aria-disabled="true"]{
  cursor:not-allowed!important;
}
body.modal-open{
  position:fixed;
  inset:0;
  width:100%;
  overflow:hidden;
  touch-action:none;
}
.modal-backdrop.open{
  overscroll-behavior:contain;
  touch-action:auto;
}
.modal[role="dialog"]{
  outline:none;
}
.icon-btn[aria-label],
.header-icon-btn[aria-label],
.header-menu-btn[aria-label]{
  touch-action:manipulation;
}
.helpdesk-message-body,
.ticket-message,
.ticket-message-content,
.ticket-subject-title,
.helpdesk-note-cell,
.student-chat-body,
.request-confirm-details{
  overflow-wrap:anywhere!important;
  word-break:break-word;
  white-space:normal!important;
  max-width:100%;
}
.student-ticket-card .student-card-band{
  background:#087a55;
}
@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
@media (pointer:coarse){
  button,
  .btn,
  summary,
  input,
  select,
  textarea,
  .table-action,
  .header-icon-btn,
  .header-menu-btn,
  .message-toolbar button,
  .new-ticket-kb-actions .btn{
    min-height:44px!important;
  }
  .icon-btn,
  .header-icon-btn,
  .header-menu-btn,
  .message-toolbar button{
    min-width:44px!important;
  }
  input[type="checkbox"],
  input[type="radio"]{
    min-width:22px!important;
    min-height:22px!important;
  }
}
@media(max-width:900px){
  .new-helpdesk-ticket-form{
    max-height:none!important;
    padding:12px!important;
  }
	  .new-ticket-section,
	  .new-ticket-section-grid,
	  .new-ticket-details-grid,
	  .helpdesk-guided-grid{
	    grid-template-columns:1fr!important;
	  }
  .new-ticket-assignee-field,
  #newTicketRequesterPreview,
  .helpdesk-assignee-preview{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .new-helpdesk-ticket-form>.modal-actions{
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .modal-backdrop{
    align-items:stretch!important;
    justify-content:center!important;
    padding:10px!important;
  }
  .modal,
  .modal.wide,
  .modal.checkout-wide,
  .helpdesk-ticket-modal,
  .student-ticket-modal{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:12px!important;
  }
  .modal-head{
    position:sticky;
    top:0;
    z-index:4;
    background:#fff;
    padding-bottom:10px;
    border-bottom:1px solid #e5edf7;
  }
  .modal-actions{
    position:sticky;
    bottom:0;
    z-index:4;
    flex-wrap:wrap;
    background:#fff;
    border-top:1px solid #e5edf7;
    padding-top:10px;
  }
  .modal-actions .btn,
  .modal-actions button{
    flex:1 1 148px;
  }
  .helpdesk-ticket-split,
  .student-ticket-form,
  .form-grid,
  .reply-attachment-grid,
  .request-confirm-preview{
    grid-template-columns:1fr!important;
  }
  .ticket-message-thread{
    max-height:none!important;
    overflow:visible!important;
  }
  .message-toolbar,
  .new-ticket-kb-actions,
  .student-request-toolbar{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;
  }
  .message-toolbar button,
  .message-toolbar .kb-article-toolbar-btn,
  .message-toolbar .canned-toolbar-btn,
  .message-toolbar .attachment-toolbar-btn,
  .message-toolbar .screen-capture-toolbar-btn,
  .new-ticket-kb-actions .btn{
    flex:0 0 auto;
  }
}
@media(max-width:760px){
  body:not(.student-shell) .sidebar{
    position:sticky!important;
    inset:auto!important;
    top:0!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    padding:8px!important;
    z-index:850!important;
    overflow:hidden!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  body:not(.student-shell) .sidebar .brand{
    display:none!important;
  }
  body:not(.student-shell) .sidebar nav{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    padding:0 0 3px!important;
    -webkit-overflow-scrolling:touch;
  }
  body:not(.student-shell) .sidebar nav a,
  body:not(.student-shell) .nav-accordion summary{
    flex:0 0 58px!important;
    width:58px!important;
    min-width:58px!important;
    min-height:52px!important;
    margin:0!important;
    padding:8px!important;
    border-radius:12px!important;
    font-size:0!important;
    justify-content:center!important;
  }
  body:not(.student-shell) .sidebar nav a span,
  body:not(.student-shell) .sidebar nav h4,
  body:not(.student-shell) .nav-accordion a span{
    display:none!important;
  }
  body:not(.student-shell) .sidebar nav a .ui-icon,
  body:not(.student-shell) .nav-accordion summary .ui-icon{
    width:22px!important;
    height:22px!important;
  }
  body:not(.student-shell) .main{
    margin-left:0!important;
    width:100%!important;
    padding:0 12px 28px!important;
  }
  .topbar.clean-admin-header{
    display:block!important;
    min-height:0!important;
    padding:8px 0 0!important;
    margin-bottom:12px!important;
  }
  .clean-admin-header .topbar-shell{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-auto-rows:auto!important;
    min-height:0!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:12px!important;
  }
  .topbar-left{
    grid-column:1!important;
  }
  .header-breadcrumb{
    display:none!important;
  }
  .header-search{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    height:44px!important;
    display:flex!important;
  }
  .header-search kbd{
    display:none!important;
  }
  .header-actions{
    grid-column:3!important;
    gap:6px!important;
  }
  .header-actions .header-icon-btn{
    display:grid!important;
  }
  .clean-user-menu .topbar-user{
    width:48px!important;
    min-width:48px!important;
  }
  .alerts-panel,
  .user-menu-panel{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:72px!important;
    width:auto!important;
    max-width:none!important;
  }
  body.student-shell .topbar.clean-admin-header{
    display:block!important;
  }
  body.student-shell .clean-admin-header .topbar-shell{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .student-header-logo span{
    font-size:15px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
@media(max-width:640px){
  .helpdesk-filters,
  .refined-helpdesk-filters,
  .portal-helpdesk-filters{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    margin-left:0!important;
  }
  .helpdesk-view-tabs{
    overflow-x:auto;
    display:flex!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;
  }
  .helpdesk-view-tabs button{
    flex:0 0 auto;
    min-width:150px;
  }
  .helpdesk-table-wrap,
  .portal-helpdesk-table-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  .helpdesk-table,
  .helpdesk-directory-table,
  .portal-helpdesk-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
  }
  .helpdesk-table thead,
  .helpdesk-directory-table thead,
  .portal-helpdesk-table thead{
    display:none!important;
  }
  .helpdesk-table tbody,
  .helpdesk-directory-table tbody,
  .portal-helpdesk-table tbody{
    display:grid!important;
    gap:10px!important;
  }
  .helpdesk-table tr[data-helpdesk-row],
  .helpdesk-directory-table tr[data-helpdesk-row],
  .portal-helpdesk-table tbody tr{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border:1px solid #dbe5f2!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
    padding:10px!important;
  }
  .helpdesk-table td,
  .helpdesk-directory-table td,
  .portal-helpdesk-table td{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    border:0!important;
    padding:8px 0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .helpdesk-table td::before,
  .helpdesk-directory-table td::before,
  .portal-helpdesk-table td::before{
    content:attr(data-mobile-label);
    color:#64748b;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:0;
  }
  .helpdesk-table td[data-col="select"],
  .helpdesk-directory-table td[data-col="select"],
  .portal-helpdesk-table td[data-col="select"]{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .helpdesk-table td[data-col="select"]::before,
  .helpdesk-directory-table td[data-col="select"]::before,
  .portal-helpdesk-table td[data-col="select"]::before{
    content:"Select";
  }
  .helpdesk-table td[data-col="actions"],
  .helpdesk-directory-table td[data-col="actions"],
  .portal-helpdesk-table td[data-col="actions"]{
    grid-template-columns:1fr!important;
  }
  .helpdesk-table td[data-col="actions"]::before,
  .helpdesk-directory-table td[data-col="actions"]::before,
  .portal-helpdesk-table td[data-col="actions"]::before{
    content:"";
    display:none;
  }
  .table-action-dropdown,
  .table-action-dropdown summary,
  .table-action-dropdown .table-action{
    width:100%!important;
  }
}

/* Column picker and collapsed-nav polish */
@media(min-width:641px){
  .people-table.table-dynamic-columns,
  .people-directory-table.table-dynamic-columns,
  .asset-directory-table.table-dynamic-columns,
  .helpdesk-directory-table.table-dynamic-columns,
  .helpdesk-table.table-dynamic-columns,
  .portal-helpdesk-table.table-dynamic-columns{
    width:max(100%, var(--table-dynamic-min-width, 1180px))!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .people-table.table-dynamic-columns th,
  .people-table.table-dynamic-columns td,
  .people-directory-table.table-dynamic-columns th,
  .people-directory-table.table-dynamic-columns td,
  .asset-directory-table.table-dynamic-columns th,
  .asset-directory-table.table-dynamic-columns td,
  .helpdesk-directory-table.table-dynamic-columns th,
  .helpdesk-directory-table.table-dynamic-columns td,
  .helpdesk-table.table-dynamic-columns th,
  .helpdesk-table.table-dynamic-columns td,
  .portal-helpdesk-table.table-dynamic-columns th,
  .portal-helpdesk-table.table-dynamic-columns td{
    min-width:0!important;
    max-width:none!important;
  }
  .people-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .people-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]),
  .people-directory-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .people-directory-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]),
  .asset-directory-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .asset-directory-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]),
  .helpdesk-directory-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .helpdesk-directory-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]),
  .helpdesk-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .helpdesk-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]),
  .portal-helpdesk-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .portal-helpdesk-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]){
    width:calc((100% - var(--table-utility-columns-width, 176px)) / var(--table-visible-data-columns, 8))!important;
  }
  .people-table.table-dynamic-columns th[data-col="select"],
  .people-table.table-dynamic-columns td[data-col="select"],
  .people-directory-table.table-dynamic-columns th[data-col="select"],
  .people-directory-table.table-dynamic-columns td[data-col="select"],
  .asset-directory-table.table-dynamic-columns th[data-col="select"],
  .asset-directory-table.table-dynamic-columns td[data-col="select"],
  .helpdesk-directory-table.table-dynamic-columns th[data-col="select"],
  .helpdesk-directory-table.table-dynamic-columns td[data-col="select"],
  .helpdesk-table.table-dynamic-columns th[data-col="select"],
  .helpdesk-table.table-dynamic-columns td[data-col="select"],
  .portal-helpdesk-table.table-dynamic-columns th[data-col="select"],
  .portal-helpdesk-table.table-dynamic-columns td[data-col="select"]{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }
  .people-table.table-dynamic-columns th[data-col="actions"],
  .people-table.table-dynamic-columns td[data-col="actions"],
  .people-directory-table.table-dynamic-columns th[data-col="actions"],
  .people-directory-table.table-dynamic-columns td[data-col="actions"],
  .asset-directory-table.table-dynamic-columns th[data-col="actions"],
  .asset-directory-table.table-dynamic-columns td[data-col="actions"],
  .helpdesk-directory-table.table-dynamic-columns th[data-col="actions"],
  .helpdesk-directory-table.table-dynamic-columns td[data-col="actions"],
  .helpdesk-table.table-dynamic-columns th[data-col="actions"],
  .helpdesk-table.table-dynamic-columns td[data-col="actions"],
  .portal-helpdesk-table.table-dynamic-columns th[data-col="actions"],
  .portal-helpdesk-table.table-dynamic-columns td[data-col="actions"]{
    width:126px!important;
    min-width:132px!important;
    max-width:132px!important;
    text-align:left!important;
  }
  .people-table.table-dynamic-columns td,
  .people-directory-table.table-dynamic-columns td,
  .asset-directory-table.table-dynamic-columns td,
  .helpdesk-directory-table.table-dynamic-columns td,
  .helpdesk-table.table-dynamic-columns td,
  .portal-helpdesk-table.table-dynamic-columns td{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
.brand-logo .brand-logo-icon{
  display:none!important;
}
body.nav-collapsed .brand-logo{
  display:flex!important;
  width:58px!important;
  height:58px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 8px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(226,232,240,.16)!important;
}
body.nav-collapsed .brand-logo-full{
  display:none!important;
}
body.nav-collapsed .brand-logo-icon{
  display:block!important;
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
}
/* Catalog image management and Add Asset catalog previews */
.catalog-sidebar a{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.catalog-sidebar .ui-icon{
  width:16px!important;
  height:16px!important;
  flex:0 0 auto!important;
}
.catalog-card .section-head{
  align-items:flex-start!important;
}
.catalog-list > .catalog-item:not(.catalog-item-with-image){
  display:grid!important;
  grid-template-columns:minmax(160px,1fr) 52px 62px 78px!important;
  align-items:center!important;
  gap:10px!important;
}
.catalog-list > .catalog-item:not(.catalog-item-with-image) > input[name="catalog_item[]"]{
  min-width:0!important;
  width:100%!important;
}
.catalog-item.catalog-item-with-image{
  display:grid!important;
  grid-template-columns:68px minmax(140px,1fr) 126px 92px 48px 58px 72px!important;
  align-items:center!important;
  gap:8px!important;
}
.catalog-item.catalog-item-with-image.catalog-model-item{
  grid-template-columns:64px minmax(185px,1.35fr) minmax(155px,1fr) 110px 58px 62px 32px 32px 66px!important;
}
.catalog-item.catalog-item-with-image > input[name="catalog_item[]"]{
  min-width:0!important;
  width:100%!important;
}
.catalog-item.catalog-model-item > select[name="catalog_model_manufacturer[]"]{
  min-width:0!important;
  width:100%!important;
}
.catalog-image-cell{
  width:64px!important;
  height:48px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.catalog-image-cell img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:6px!important;
}
.catalog-image-cell.is-empty{
  background:#f8fafc!important;
}
.catalog-image-cell:not(.is-empty) [data-catalog-image-empty],
.catalog-image-cell [data-catalog-image-empty][hidden]{
  display:none!important;
}
.catalog-image-cell [data-catalog-image-empty]{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
  text-align:center!important;
}
.catalog-item.catalog-model-item > input[name="catalog_item[]"]{
  max-width:none!important;
}
.catalog-item.catalog-model-item > select[name="catalog_model_manufacturer[]"]{
  max-width:none!important;
}
.catalog-image-picker{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#526078!important;
  font-size:12px!important;
  font-weight:900!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.catalog-image-picker input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
}
.catalog-image-picker input::file-selector-button{
  height:24px!important;
  max-width:44px!important;
  padding:0 4px!important;
  border:1px solid #dbe5f2!important;
  border-radius:6px!important;
  background:#f8fafc!important;
  color:#172033!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.catalog-image-picker input::-webkit-file-upload-button{
  height:24px!important;
  max-width:44px!important;
  padding:0 4px!important;
  border:1px solid #dbe5f2!important;
  border-radius:6px!important;
  background:#f8fafc!important;
  color:#172033!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.catalog-item.catalog-item-with-image > button[onclick^="moveCatalogItem"]{
  min-width:32px!important;
  width:32px!important;
  padding:0!important;
  font-size:16px!important;
}
.catalog-item.catalog-item-with-image > button[data-catalog-remove]{
  min-width:66px!important;
  width:66px!important;
  padding:0 8px!important;
}
.catalog-remove-image-btn{
  min-width:58px!important;
  width:58px!important;
  padding:0 8px!important;
  white-space:nowrap!important;
}
.catalog-apply-model-image-btn{
  min-width:62px!important;
  width:62px!important;
  padding:0 8px!important;
  white-space:nowrap!important;
}
.catalog-remove-image-btn:disabled,
.catalog-apply-model-image-btn:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}

.apply-model-image-form{display:grid;gap:14px}
.apply-model-image-options{display:grid;gap:10px}
.apply-model-image-options label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px;cursor:pointer}
.apply-model-image-options input{margin-top:3px}
.apply-model-image-options b,.apply-model-image-options small{display:block}
.apply-model-image-options small{color:var(--muted);font-weight:800;margin-top:3px}
.catalog-model-field-panel{
  grid-column:1/-1!important;
  display:grid!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:8px 10px!important;
}
.catalog-model-field-panel summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.catalog-model-field-panel summary::-webkit-details-marker{display:none!important}
.catalog-model-field-panel summary span{
  display:grid!important;
  place-items:center!important;
  min-width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:#e8f0ff!important;
  color:#2458d3!important;
  font-size:11px!important;
}
.catalog-model-field-list{
  display:grid!important;
  gap:8px!important;
  margin-top:10px!important;
}
.catalog-model-field-row{
  display:grid!important;
  grid-template-columns:minmax(120px,180px) minmax(120px,220px) 78px!important;
  gap:8px!important;
  align-items:center!important;
}
.catalog-model-field-row input{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  padding:7px 9px!important;
}
.catalog-model-field-add{
  justify-self:start!important;
  margin-top:8px!important;
}
.catalog-model-field-panel:not([open]) .catalog-model-field-list,
.catalog-model-field-panel:not([open]) .catalog-model-field-add{
  display:none!important;
}
.catalog-model-field-panel label{
  display:grid!important;
  gap:4px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
}

.add-custom-field-stack{display:grid;gap:14px}
.model-default-custom-field-list{display:grid;gap:10px;padding:14px}
.model-default-custom-field-row{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:10px;align-items:center}
.model-default-custom-field-row label{color:#172033;font-weight:900}
.model-default-custom-field-row input{min-width:0}
.model-default-custom-field-row input:disabled{background:#f8fafc!important;color:#475569!important;opacity:1!important;cursor:not-allowed}
@media(max-width:900px){.model-default-custom-field-row{grid-template-columns:1fr}}
.asset-custom-field-groups{display:grid;gap:14px}
.asset-custom-field-group{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:14px}
.asset-custom-field-group h4{margin:0 0 6px}
.asset-custom-field-table-wrap{margin-top:10px;border-radius:8px;overflow:hidden;background:#fff}
.asset-custom-field-table{margin:0!important}
.asset-custom-field-table th{background:#f8fafc!important;color:#526078!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.asset-custom-field-table td:first-child{width:34%;font-weight:900;color:#172033}
.asset-custom-field-table td:last-child{font-weight:800;color:#334155}
.catalog-custom-field-note{display:grid;gap:3px;margin:12px 14px 0;border:1px solid #c7d2fe;border-radius:8px;background:#f7f9ff;padding:10px;color:#172033}
.catalog-custom-field-note span{color:#64748b;font-weight:800}
.add-asset-preview img[data-add-asset-preview-image]{
  transition:opacity .16s ease, transform .16s ease;
}
.add-asset-form select{
  background:#fff!important;
}
@media(max-width:900px){
  .catalog-item.catalog-item-with-image{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .catalog-item.catalog-item-with-image .catalog-image-picker,
  .catalog-item.catalog-item-with-image button{
    grid-column:1/-1!important;
  }
}

/* Asset index header, print wizard, duplicate action, and bulk move polish */
.topbar.clean-admin-header{
  z-index:14000!important;
  overflow:visible!important;
}
.clean-admin-header .topbar-shell,
.clean-admin-header .header-search,
.clean-user-menu,
.alerts-menu{
  position:relative!important;
  overflow:visible!important;
}
.clean-admin-header .topbar-shell{
  z-index:14001!important;
}
.clean-admin-header .header-search{
  z-index:14100!important;
}
.clean-admin-header .global-search.header-search{
  grid-column:2!important;
  justify-self:center!important;
  width:100%!important;
  max-width:640px!important;
  margin-left:0!important;
  margin-right:0!important;
}
.clean-admin-header .search-suggestions{
  z-index:14200!important;
  max-height:min(420px,calc(100vh - 130px))!important;
  overflow:auto!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(640px,calc(100vw - 48px))!important;
  max-width:calc(100vw - 48px)!important;
}
.clean-user-menu[open],
.alerts-menu[open]{
  z-index:14210!important;
}
.clean-user-menu .user-menu-panel,
.alerts-panel{
  z-index:14220!important;
}
.modal-backdrop.open{
  z-index:22000!important;
}
.asset-directory-card,
.asset-snapshot-card{
  position:relative!important;
  z-index:auto!important;
}
.asset-directory-toolbar,
.asset-table-toolbar,
.toolbar-actions{
  position:relative!important;
  z-index:2!important;
}
.hidden-action-form{
  display:none!important;
}
.table-action-menu-panel .table-action-menu-button{
  width:100%!important;
  min-height:34px!important;
  justify-content:flex-start!important;
  background:#fff!important;
  border:0!important;
  color:#172033!important;
  border-radius:8px!important;
  font-weight:900!important;
  padding:9px 10px!important;
  box-shadow:none!important;
}
.table-action-menu-panel .table-action-menu-button:hover{
  background:#f2f5ff!important;
  box-shadow:none!important;
}
.asset-bulk-location-modal{
  width:min(620px,100%)!important;
}

.table-action-menu-panel.is-floating-table-action-panel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  width:max-content!important;
  min-width:190px!important;
  max-width:calc(100vw - 24px)!important;
  z-index:13000!important;
  display:grid!important;
}
.table-action-menu-panel.is-floating-table-action-panel a,
.table-action-menu-panel.is-floating-table-action-panel button{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:34px!important;
  justify-content:flex-start!important;
  text-align:left!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  font-weight:900!important;
  padding:9px 10px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.table-action-menu-panel.is-floating-table-action-panel a:hover,
.table-action-menu-panel.is-floating-table-action-panel button:hover{
  background:#f2f5ff!important;
  color:#3346d3!important;
  box-shadow:none!important;
}
.asset-print-modal{
  width:min(940px,100%)!important;
}
.asset-print-shell{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.asset-print-shell h3{
  margin:0 0 10px!important;
  font-size:15px!important;
}
.asset-print-layouts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.asset-print-layout-option{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:10px!important;
  cursor:pointer!important;
}
.asset-print-layout-option.active{
  border-color:#4268ef!important;
  background:#eef4ff!important;
  box-shadow:0 0 0 2px rgba(66,104,239,.12)!important;
}
.asset-print-layout-option input{
  width:18px!important;
  height:18px!important;
  margin:0!important;
}
.asset-print-paper{
  justify-self:start!important;
  display:grid!important;
  gap:4px!important;
  border:1px solid #b8c8e8!important;
  background:#fff!important;
  border-radius:5px!important;
  padding:8px!important;
  box-shadow:0 8px 18px rgba(30,45,80,.08)!important;
}
.asset-print-paper.portrait{
  width:54px!important;
  height:72px!important;
}
.asset-print-paper.landscape{
  width:72px!important;
  height:54px!important;
}
.asset-print-paper span{
  display:block!important;
  height:7px!important;
  border-radius:999px!important;
  background:#dbe6f7!important;
}
.asset-print-live-preview{
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  padding:14px!important;
  min-height:190px!important;
}
.asset-print-live-preview[data-orientation="landscape"]{
  min-height:150px!important;
}
.asset-print-preview-title{
  font-size:18px!important;
  font-weight:900!important;
  margin-bottom:12px!important;
}
.asset-print-preview-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.asset-print-preview-grid span{
  min-height:28px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#526078!important;
  font-size:11px!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  padding:0 8px!important;
}
.asset-print-field-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.asset-print-field-grid label,
.asset-print-toggle{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fbfcff!important;
  padding:9px 10px!important;
  font-weight:900!important;
  color:#172033!important;
}
.asset-print-field-grid input,
.asset-print-toggle input{
  width:16px!important;
  height:16px!important;
  margin:0!important;
}
.asset-print-toggle{
  margin-top:10px!important;
}
.asset-print-frame{
  position:fixed!important;
  right:0!important;
  bottom:0!important;
  width:0!important;
  height:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  .asset-print-shell{
    grid-template-columns:1fr!important;
  }
  .asset-print-field-grid{
    grid-template-columns:1fr!important;
  }
}

.asset-directory-actions .dashboard-tool-btn,
.asset-directory-actions .columns-btn,
.asset-directory-actions .add-asset-dashboard-btn.toolbar-icon-btn{
  height:34px!important;
  min-height:34px!important;
  border-radius:8px!important;
  padding:0 10px!important;
  font-size:12px!important;
  line-height:1!important;
  gap:7px!important;
}
.asset-directory-actions .add-asset-dashboard-btn.toolbar-icon-btn{
  min-width:76px!important;
  box-shadow:none!important;
}
.asset-directory-actions .dashboard-tool-btn .ui-icon,
.asset-directory-actions .columns-btn .ui-icon,
.asset-directory-actions .add-asset-dashboard-btn.toolbar-icon-btn .ui-icon{
  width:15px!important;
  height:15px!important;
}
.asset-directory-actions .dashboard-tool-btn span,
.asset-directory-actions .columns-btn span,
.asset-directory-actions .add-asset-dashboard-btn.toolbar-icon-btn span{
  display:inline!important;
  font-size:12px!important;
  line-height:1!important;
}
.asset-directory-actions .advanced-search-launch-btn{
  min-width:118px!important;
  background:#138a5b!important;
  border-color:#138a5b!important;
  color:#fff!important;
  box-shadow:none!important;
}
.asset-directory-actions .advanced-search-launch-btn .ui-icon,
.asset-directory-actions .advanced-search-launch-btn span{
  color:#fff!important;
  stroke:#fff!important;
}
.asset-directory-actions .advanced-search-launch-btn:hover{
  background:#0f754e!important;
  border-color:#0f754e!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(19,138,91,.2)!important;
}

/* Command Center dashboard */
.command-center-page{
  display:grid!important;
  gap:16px!important;
  padding:2px 0 20px!important;
}
.command-center-title-row{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:14px!important;
}
.command-center-title-row h1{
  margin:0!important;
  font-size:22px!important;
  line-height:1.15!important;
  color:#111827!important;
  letter-spacing:0!important;
}
.command-center-title-row p{
  margin:4px 0 0!important;
  color:#5f6f89!important;
  font-weight:700!important;
}
.command-center-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.command-center-actions .btn{
  height:34px!important;
  border-radius:8px!important;
  padding:0 12px!important;
  gap:8px!important;
  font-weight:900!important;
  background:#fff!important;
}
.cc-kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:14px!important;
}
.cc-kpi-card,
.cc-card{
  background:#fff!important;
  border:1px solid #dbe4f2!important;
  border-radius:8px!important;
  box-shadow:0 10px 28px rgba(30,45,80,.07)!important;
}
.cc-kpi-card{
  min-height:90px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:"icon label" "icon value" "icon trend"!important;
  align-items:center!important;
  column-gap:12px!important;
  padding:16px!important;
  color:#111827!important;
  text-decoration:none!important;
}
.cc-kpi-card:hover,
.cc-card-link:hover,
.cc-rank-list a:hover,
.cc-activity-list a:hover{
  text-decoration:none!important;
  border-color:#b8c7e7!important;
  box-shadow:0 14px 34px rgba(30,45,80,.1)!important;
}
.cc-kpi-icon{
  grid-area:icon!important;
  width:46px!important;
  height:46px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
}
.cc-kpi-icon .ui-icon{
  width:24px!important;
  height:24px!important;
}
.cc-kpi-card small{
  grid-area:label!important;
  color:#4e5d78!important;
  font-size:11px!important;
  font-weight:900!important;
}
.cc-kpi-card strong{
  grid-area:value!important;
  display:block!important;
  font-size:25px!important;
  line-height:1!important;
  color:#111827!important;
}
.cc-kpi-card span,
.cc-kpi-card em{
  grid-area:trend!important;
  color:#5f6f89!important;
  font-style:normal!important;
  font-size:11px!important;
  font-weight:800!important;
}
.cc-kpi-card em{
  color:#17a968!important;
}
.cc-blue .cc-kpi-icon{background:#e8efff!important;color:#2f6df6!important;}
.cc-slate .cc-kpi-icon{background:#eef2f7!important;color:#334155!important;}
.cc-purple .cc-kpi-icon{background:#f0e8ff!important;color:#8b5bd6!important;}
.cc-green .cc-kpi-icon{background:#e7f8ee!important;color:#16a765!important;}
.cc-orange .cc-kpi-icon{background:#fff0e6!important;color:#f07836!important;}
.cc-red .cc-kpi-icon{background:#ffe9e9!important;color:#ee5a5a!important;}
.cc-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  align-items:stretch!important;
  gap:14px!important;
}
.cc-card{
  min-height:214px!important;
  padding:16px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.cc-card.cc-widget-accented,
.cc-widget-chart-alt.cc-widget-accented{
  border-color:var(--cc-widget-accent,#2563eb)!important;
  box-shadow:0 10px 28px rgba(30,45,80,.1)!important;
}
.cc-card h2{
  margin:0 0 14px!important;
  font-size:15px!important;
  line-height:1.2!important;
  color:#111827!important;
}
.cc-card h2 span{
  color:#6a7892!important;
  font-size:12px!important;
  font-weight:800!important;
}
.cc-card h3{
  margin:12px 0 8px!important;
  font-size:12px!important;
  color:#4e5d78!important;
}
.cc-span-3{grid-column:span 3!important;}
.cc-span-4{grid-column:span 4!important;}
.cc-span-6{grid-column:span 6!important;}
.cc-span-12{grid-column:1 / -1!important;}
.cc-donut-layout{
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  min-height:132px!important;
}
.cc-donut{
  width:132px!important;
  height:132px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  flex:0 0 auto!important;
}
.cc-donut:after{
  content:""!important;
  position:absolute!important;
  inset:24px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px #e7edf7!important;
}
.cc-donut strong,
.cc-donut span{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  text-align:center!important;
}
.cc-donut strong{
  align-self:end!important;
  font-size:24px!important;
  line-height:1!important;
  color:#111827!important;
}
.cc-donut span{
  align-self:start!important;
  margin-top:4px!important;
  color:#5f6f89!important;
  font-size:12px!important;
  font-weight:800!important;
}
.cc-donut-two{
  background:conic-gradient(#2f6df6 0 calc(var(--checked)*1%), #45c36b 0 100%)!important;
}
.cc-legend{
  display:grid!important;
  gap:9px!important;
  min-width:0!important;
}
.cc-legend span{
  display:grid!important;
  grid-template-columns:12px minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  color:#526078!important;
  font-weight:800!important;
  font-size:12px!important;
}
.cc-legend i,
.cc-mini-legend i{
  width:10px!important;
  height:10px!important;
  border-radius:3px!important;
  display:inline-block!important;
}
.cc-legend b{
  justify-self:end!important;
  color:#4a5870!important;
  font-weight:900!important;
}
.cc-bar-chart{
  min-height:142px!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:end!important;
  gap:12px!important;
  padding:6px 8px 0!important;
  border-bottom:1px solid #e7edf7!important;
}
.cc-bar-day{
  min-width:0!important;
  display:grid!important;
  align-items:end!important;
  gap:8px!important;
  height:140px!important;
}
.cc-bar-day small{
  color:#5f6f89!important;
  font-size:10px!important;
  text-align:center!important;
  font-weight:800!important;
}
.cc-bar-stack,
.cc-single-bar{
  width:22px!important;
  min-height:8px!important;
  justify-self:center!important;
  display:flex!important;
  flex-direction:column-reverse!important;
  overflow:hidden!important;
  border-radius:5px 5px 0 0!important;
  background:#edf3fb!important;
}
.cc-bar-stack span{
  display:block!important;
  min-height:4px!important;
}
.cc-bar-stack .open,
.cc-mini-legend .open{background:#ef4444!important;}
.cc-bar-stack .progress,
.cc-mini-legend .progress{background:#ff9f2f!important;}
.cc-bar-stack .closed,
.cc-mini-legend .closed{background:#45c36b!important;}
.cc-circulation-bars .cc-bar-stack .checkout,
.cc-mini-legend .checkout{background:#2f6df6!important;}
.cc-mini-legend .loan{background:#8b5cf6!important;}
.cc-circulation-bars .cc-bar-stack .checkin,
.cc-mini-legend .checkin{background:#45c36b!important;}
.cc-purple-bars .cc-single-bar{
  background:#8b5bd6!important;
  box-shadow:0 -8px 18px rgba(139,91,214,.18)!important;
}
.cc-mini-legend{
  display:flex!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin-top:6px!important;
  color:#5f6f89!important;
  font-size:11px!important;
  font-weight:800!important;
}
.cc-mini-legend span{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.cc-card-link{
  margin-top:auto!important;
  color:#2f6df6!important;
  font-size:12px!important;
  font-weight:900!important;
  text-decoration:none!important;
  width:max-content!important;
}
.cc-card-link:after{
  content:" ->"!important;
}
.cc-kb-summary{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-areas:"icon value" "icon label" "icon trend"!important;
  column-gap:12px!important;
  align-items:center!important;
}
.cc-kb-summary > span{
  grid-area:icon!important;
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  background:#eef4ff!important;
  color:#2f6df6!important;
}
.cc-kb-summary .ui-icon{
  width:34px!important;
  height:34px!important;
}
.cc-kb-summary strong{
  grid-area:value!important;
  font-size:28px!important;
  line-height:1!important;
}
.cc-kb-summary small{
  grid-area:label!important;
  color:#5f6f89!important;
  font-weight:900!important;
}
.cc-kb-summary em{
  grid-area:trend!important;
  color:#17a968!important;
  font-style:normal!important;
  font-weight:900!important;
}
.cc-rank-list{
  display:grid!important;
  gap:8px!important;
}
.cc-rank-list a{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  color:#273448!important;
  text-decoration:none!important;
  font-weight:800!important;
  font-size:12px!important;
}
.cc-rank-list span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cc-rank-list b{
  color:#526078!important;
}
.cc-activity-list{
  display:grid!important;
  gap:10px!important;
}
.cc-activity-list a{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  color:#111827!important;
  text-decoration:none!important;
}
.cc-activity-icon{
  width:24px!important;
  height:24px!important;
  border-radius:7px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef4ff!important;
  color:#2f6df6!important;
}
.cc-activity-icon .ui-icon{
  width:14px!important;
  height:14px!important;
}
.cc-activity-list b,
.cc-activity-list small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cc-activity-list b{
  font-size:12px!important;
}
.cc-activity-list small,
.cc-activity-list em{
  color:#65748c!important;
  font-size:11px!important;
  font-weight:800!important;
  font-style:normal!important;
}
.cc-location-bars{
  display:grid!important;
  gap:13px!important;
  margin-top:4px!important;
}
.cc-location-row{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr) 54px!important;
  gap:10px!important;
  align-items:center!important;
  color:#3f4e66!important;
  font-size:12px!important;
  font-weight:800!important;
}
.cc-location-row div{
  height:12px!important;
  border-radius:999px!important;
  background:#edf3fb!important;
  overflow:hidden!important;
}
.cc-location-row i{
  height:100%!important;
  display:block!important;
  border-radius:999px!important;
  background:#2f6df6!important;
}
.cc-location-row b{
  text-align:right!important;
}
.cc-spare-rings{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:center!important;
  margin:auto 0!important;
}
.cc-spare-ring{
  width:112px!important;
  height:112px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  color:#111827!important;
  text-decoration:none!important;
  position:relative!important;
  background:conic-gradient(#45c36b 0 calc(var(--value)*1%), #e7edf7 0 100%)!important;
}
.cc-spare-ring:after{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  border-radius:50%!important;
  background:#fff!important;
}
.cc-spare-ring strong,
.cc-spare-ring span,
.cc-spare-ring small{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  text-align:center!important;
}
.cc-spare-ring strong{
  align-self:end!important;
  font-size:21px!important;
  line-height:1!important;
}
.cc-spare-ring span{
  font-size:11px!important;
  font-weight:900!important;
}
.cc-spare-ring small{
  align-self:start!important;
  color:#65748c!important;
  font-size:10px!important;
  font-weight:800!important;
}
@media(max-width:1320px){
  .cc-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .cc-span-3,.cc-span-4,.cc-span-6{grid-column:span 6!important;}
.cc-span-12{grid-column:1 / -1!important;}
}
@media(max-width:820px){
  .command-center-title-row{display:grid!important;}
  .command-center-actions{justify-content:flex-start!important;flex-wrap:wrap!important;}
  .cc-kpi-grid,.cc-grid{grid-template-columns:1fr!important;}
  .cc-span-3,.cc-span-4,.cc-span-6,.cc-span-12{grid-column:1!important;}
  .cc-donut-layout{grid-template-columns:1fr!important;justify-items:center!important;}
  .cc-legend{width:100%!important;}
  .cc-spare-rings{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .cc-location-row{grid-template-columns:minmax(0,1fr)!important;}
  .cc-location-row b{text-align:left!important;}
}

/* Command Center refinement pass */
.command-center-page{
  gap:18px!important;
}
.command-center-title-row{
  margin:2px 0 0!important;
}
.command-center-title-row h1{
  font-size:24px!important;
  font-weight:900!important;
}
.command-center-title-row p{
  font-size:13px!important;
  color:#53627a!important;
}
.cc-kpi-grid{
  gap:12px!important;
}
.cc-kpi-card{
  min-height:112px!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-areas:"icon label" "icon value" "icon trend"!important;
  align-content:center!important;
  column-gap:14px!important;
  padding:18px!important;
  border-radius:9px!important;
}
.cc-kpi-card .cc-kpi-icon{
  grid-area:icon!important;
  align-self:center!important;
  justify-self:start!important;
}
.cc-kpi-card > small{
  grid-area:label!important;
  align-self:end!important;
  font-size:12px!important;
  line-height:1.15!important;
}
.cc-kpi-card > strong{
  grid-area:value!important;
  align-self:center!important;
  margin:3px 0!important;
  font-size:27px!important;
}
.cc-kpi-card > span:not(.cc-kpi-icon),
.cc-kpi-card > em{
  grid-area:trend!important;
  align-self:start!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.cc-kpi-icon{
  width:44px!important;
  height:44px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)!important;
}
.cc-grid{
  gap:14px!important;
}
.cc-card{
  border-radius:9px!important;
  padding:18px!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
}
.cc-card h2{
  font-size:16px!important;
  margin-bottom:16px!important;
}
.cc-donut-layout{
  grid-template-columns:144px minmax(0,1fr)!important;
  gap:20px!important;
}
.cc-donut{
  width:144px!important;
  height:144px!important;
}
.cc-donut:after{
  inset:29px!important;
}
.cc-legend span{
  grid-template-columns:12px minmax(96px,1fr) auto!important;
  font-size:12px!important;
}
.cc-bar-chart{
  min-height:158px!important;
  padding:10px 12px 0!important;
  background:
    linear-gradient(to top, transparent 0 24%, #eef2f7 24% calc(24% + 1px), transparent calc(24% + 1px) 49%, #eef2f7 49% calc(49% + 1px), transparent calc(49% + 1px) 74%, #eef2f7 74% calc(74% + 1px), transparent calc(74% + 1px))!important;
}
.cc-bar-day{
  height:150px!important;
}
.cc-bar-stack,
.cc-single-bar{
  width:24px!important;
}
.cc-stacked-bars .cc-bar-stack span{
  min-height:6px!important;
}
.cc-purple-bars .cc-single-bar{
  min-height:10px!important;
}
.cc-mini-legend{
  margin-top:10px!important;
}
.cc-kb-card{
  min-height:254px!important;
}
.cc-kb-summary{
  margin-bottom:6px!important;
}
.cc-rank-list{
  gap:9px!important;
}
.cc-activity-list a{
  min-height:34px!important;
}
.cc-location-row{
  grid-template-columns:140px minmax(0,1fr) 44px!important;
}
.cc-spare-rings{
  gap:10px!important;
}
.cc-spare-ring{
  width:104px!important;
  height:104px!important;
}
@media(max-width:1320px){
  .cc-kpi-card{
    min-height:100px!important;
  }
  .cc-donut-layout{
    grid-template-columns:132px minmax(0,1fr)!important;
  }
  .cc-donut{
    width:132px!important;
    height:132px!important;
  }
  .cc-donut:after{
    inset:25px!important;
  }
}
@media(max-width:820px){
  .cc-kpi-card{
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  .cc-donut-layout{
    grid-template-columns:1fr!important;
  }
}

/* Command Center widget fixes and zoom interaction */
.cc-checkin-card{
  border-color:#c8dbff!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
}
.cc-checkin-card .cc-donut-layout{
  min-height:168px!important;
}
.cc-checkin-card .cc-legend{
  padding-right:8px!important;
}
.cc-grid .cc-card.cc-span-3 .cc-donut-layout{
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-content:start!important;
  gap:12px!important;
}
.cc-grid .cc-card.cc-span-3 .cc-donut{
  width:116px!important;
  height:116px!important;
}
.cc-grid .cc-card.cc-span-3 .cc-donut:after{
  inset:23px!important;
}
.cc-grid .cc-card.cc-span-3 .cc-legend{
  width:100%!important;
  padding-right:0!important;
}
.cc-axis-chart{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  min-height:178px!important;
}
.cc-y-axis{
  display:grid!important;
  grid-template-rows:repeat(5,1fr)!important;
  align-items:center!important;
  padding:10px 0 26px!important;
  color:#53627a!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:right!important;
}
.cc-reservation-chart .cc-bar-chart{
  min-height:178px!important;
  padding-left:8px!important;
}
.cc-purple-bars .cc-single-bar{
  position:relative!important;
  overflow:visible!important;
}
.cc-purple-bars .cc-single-bar span{
  position:absolute!important;
  top:-19px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  color:#4c1d95!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  background:#f5f0ff!important;
  border:1px solid #ded0ff!important;
  border-radius:999px!important;
  padding:3px 5px!important;
  min-width:18px!important;
  text-align:center!important;
}
.cc-locations-card .cc-location-bars{
  gap:14px!important;
  margin-top:2px!important;
}
.cc-location-row{
  grid-template-columns:minmax(118px,172px) minmax(160px,1fr) 56px!important;
  gap:12px!important;
}
.cc-location-name{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#24324a!important;
}
.cc-location-row div{
  height:13px!important;
  box-shadow:inset 0 0 0 1px #e1e9f5!important;
}
.cc-location-row i{
  background:linear-gradient(90deg,#3b82f6,#2663e8)!important;
}
.cc-location-row b{
  color:#102040!important;
  font-size:12px!important;
}
[data-command-widget]{
  cursor:zoom-in!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
[data-command-widget]:focus-visible{
  outline:3px solid rgba(47,109,246,.32)!important;
  outline-offset:3px!important;
}
[data-command-widget]:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.10)!important;
}
.cc-card [data-command-widget]:hover,
.command-center-zoom-body [data-command-widget]:hover{
  transform:none!important;
}
.command-center-zoom-backdrop{
  z-index:23000!important;
  background:rgba(15,23,42,.54)!important;
}
.command-center-zoom-modal{
  width:min(1040px,calc(100vw - 48px))!important;
  max-height:min(88vh,920px)!important;
  overflow:auto!important;
  padding:18px!important;
  transform:scale(.92) translateY(16px)!important;
  opacity:0!important;
  transition:transform .2s ease, opacity .2s ease!important;
}
.command-center-zoom-backdrop.open .command-center-zoom-modal{
  transform:scale(1) translateY(0)!important;
  opacity:1!important;
}
.command-center-zoom-body{
  display:block!important;
}
.command-center-zoom-body .is-zoom-clone{
  width:100%!important;
  max-width:none!important;
  min-height:360px!important;
  cursor:default!important;
  transform:none!important;
  box-shadow:none!important;
}
.command-center-zoom-body .cc-kpi-card.is-zoom-clone{
  min-height:210px!important;
  padding:28px!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  border-radius:12px!important;
}
.command-center-zoom-body .cc-kpi-card.is-zoom-clone .cc-kpi-icon{
  width:64px!important;
  height:64px!important;
}
.command-center-zoom-body .cc-kpi-card.is-zoom-clone strong{
  font-size:46px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone{
  padding:24px!important;
  min-height:430px!important;
  border-radius:12px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone h2{
  font-size:22px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-bar-chart,
.command-center-zoom-body .cc-card.is-zoom-clone .cc-axis-chart{
  min-height:278px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-bar-day{
  height:250px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-donut{
  width:210px!important;
  height:210px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-donut:after{
  inset:43px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-donut strong{
  font-size:34px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-donut-layout{
  grid-template-columns:230px minmax(0,1fr)!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-location-row{
  grid-template-columns:minmax(170px,260px) minmax(240px,1fr) 70px!important;
  font-size:14px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-location-row div{
  height:16px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-spare-rings{
  grid-template-columns:repeat(4,minmax(128px,1fr))!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-spare-ring{
  width:132px!important;
  height:132px!important;
}
@media(max-width:820px){
  .cc-axis-chart{
    grid-template-columns:30px minmax(0,1fr)!important;
  }
  .cc-location-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cc-location-row b{
    text-align:left!important;
  }
  .command-center-zoom-modal{
    width:100%!important;
    max-height:calc(100dvh - 20px)!important;
  }
  .command-center-zoom-body .cc-card.is-zoom-clone .cc-donut-layout{
    grid-template-columns:1fr!important;
  }
  .command-center-zoom-body .cc-card.is-zoom-clone .cc-spare-rings{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Command Center chart baseline fix */
.cc-stacked-bars,
.cc-purple-bars{
  align-items:stretch!important;
  padding-top:14px!important;
  padding-bottom:0!important;
  border-bottom:0!important;
  background:
    linear-gradient(to top, transparent 0 24%, #eef2f7 24% calc(24% + 1px), transparent calc(24% + 1px) 49%, #eef2f7 49% calc(49% + 1px), transparent calc(49% + 1px) 74%, #eef2f7 74% calc(74% + 1px), transparent calc(74% + 1px))!important;
}
.cc-stacked-bars .cc-bar-day,
.cc-purple-bars .cc-bar-day{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 22px!important;
  align-items:end!important;
  align-content:stretch!important;
  height:158px!important;
  gap:0!important;
}
.cc-stacked-bars .cc-bar-day:before,
.cc-purple-bars .cc-bar-day:before{
  content:""!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:stretch!important;
  height:1px!important;
  background:#dfe7f3!important;
}
.cc-stacked-bars .cc-bar-stack,
.cc-purple-bars .cc-single-bar{
  grid-row:1!important;
  align-self:end!important;
  justify-self:center!important;
  margin-bottom:1px!important;
}
.cc-stacked-bars .cc-bar-day small,
.cc-purple-bars .cc-bar-day small{
  grid-row:2!important;
  align-self:center!important;
}
.cc-stacked-bars .cc-bar-stack{
  min-height:8px!important;
}
.cc-stacked-bars .cc-bar-stack span{
  flex:0 0 auto!important;
  min-height:0!important;
}
.cc-stacked-bars .cc-bar-stack span[style*="height:0"],
.cc-stacked-bars .cc-bar-stack span[style*="height: 0"]{
  display:none!important;
}
.cc-reservation-chart .cc-y-axis{
  padding-bottom:22px!important;
}
.cc-reservation-chart .cc-bar-chart{
  min-height:180px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-stacked-bars .cc-bar-day,
.command-center-zoom-body .cc-card.is-zoom-clone .cc-purple-bars .cc-bar-day{
  height:260px!important;
  grid-template-rows:minmax(0,1fr) 26px!important;
}

/* Command Center chart axis alignment pass */
.cc-ticket-chart,
.cc-reservation-chart{
  grid-template-columns:32px minmax(0,1fr)!important;
  min-height:178px!important;
}
.cc-ticket-chart .cc-y-axis,
.cc-reservation-chart .cc-y-axis{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  padding:13px 0 22px!important;
}
.cc-ticket-chart .cc-y-axis span,
.cc-reservation-chart .cc-y-axis span{
  line-height:1!important;
}
.cc-ticket-chart .cc-bar-chart,
.cc-reservation-chart .cc-bar-chart{
  position:relative!important;
  min-height:178px!important;
  height:178px!important;
  align-items:stretch!important;
  gap:12px!important;
  padding:13px 6px 0!important;
  border-bottom:0!important;
  overflow:visible!important;
}
.cc-ticket-chart .cc-bar-chart:after,
.cc-reservation-chart .cc-bar-chart:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:22px!important;
  height:1px!important;
  background:#dfe7f3!important;
  z-index:0!important;
}
.cc-ticket-chart .cc-bar-day,
.cc-reservation-chart .cc-bar-day{
  position:relative!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 22px!important;
  justify-items:center!important;
  align-items:stretch!important;
  height:auto!important;
  min-height:0!important;
  gap:0!important;
}
.cc-ticket-chart .cc-bar-day:before,
.cc-reservation-chart .cc-bar-day:before{
  content:none!important;
}
.cc-ticket-chart .cc-bar-stack,
.cc-reservation-chart .cc-single-bar{
  grid-row:1!important;
  align-self:end!important;
  justify-self:center!important;
  margin:0!important;
  z-index:1!important;
}
.cc-ticket-chart .cc-bar-day small,
.cc-reservation-chart .cc-bar-day small{
  grid-row:2!important;
  align-self:center!important;
  justify-self:center!important;
  width:100%!important;
  text-align:center!important;
}
.cc-reservation-chart .cc-purple-bars .cc-single-bar span{
  display:none!important;
}
.command-center-zoom-body .cc-ticket-chart .cc-bar-chart,
.command-center-zoom-body .cc-reservation-chart .cc-bar-chart{
  height:278px!important;
}
.command-center-zoom-body .cc-ticket-chart .cc-bar-chart:after,
.command-center-zoom-body .cc-reservation-chart .cc-bar-chart:after{
  bottom:26px!important;
}
.command-center-zoom-body .cc-ticket-chart .cc-bar-day,
.command-center-zoom-body .cc-reservation-chart .cc-bar-day{
  grid-template-rows:minmax(0,1fr) 26px!important;
  height:auto!important;
}

/* Asset detail assignment card: keep the assignee avatar prominent and centered. */
.assignment-d3-card .assignment-clean-person{
  grid-template-columns:96px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:132px!important;
  padding:18px 20px!important;
  gap:18px!important;
}
.assignment-d3-card .assignment-clean-person .avatar.lg,
.assignment-d3-card > .d3-person .avatar.lg{
  width:88px!important;
  height:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  flex:0 0 88px!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  align-self:center!important;
  font-size:27px!important;
  line-height:1!important;
  background:#f3e8ff!important;
  color:#1e293b!important;
}
.assignment-d3-card .assignment-clean-copy{
  align-self:center!important;
}
@media(max-width:760px){
  .assignment-d3-card .assignment-clean-person{
    grid-template-columns:76px minmax(0,1fr)!important;
    min-height:116px!important;
    padding:16px!important;
  }
  .assignment-d3-card .assignment-clean-person .avatar.lg,
  .assignment-d3-card > .d3-person .avatar.lg{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    flex-basis:72px!important;
    font-size:23px!important;
  }
}
@media(max-width:520px){
  .assignment-d3-card .assignment-clean-person{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .assignment-d3-card .assignment-clean-copy{
    justify-self:center!important;
  }
}

/* Site preference: remove visible keyboard focus rings/outlines. */
:where(a,button,.btn,summary,input,select,textarea,[tabindex],[contenteditable="true"]):focus,
:where(a,button,.btn,summary,input,select,textarea,[tabindex],[contenteditable="true"]):focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
:where(.search,.header-search,.topbar .global-search,.scan-input-wrap,.input-prefix,.people-search-box,.asset-dashboard-search,.single-flow-search,.location-search,.kb-search-field,.kb-search-band label,.refined-helpdesk-filters label):focus-within{
  outline:none!important;
  box-shadow:none!important;
}

/* Checkout flow: let the person picker use the full height of the modal column. */
.single-asset-flow-grid{
  align-items:stretch!important;
}
.single-asset-flow-grid .single-flow-main{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.single-asset-flow-grid .single-flow-results{
  flex:1 1 auto!important;
  max-height:476px!important;
  min-height:0!important;
  align-content:start!important;
}
.assignment-due-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#1e40af!important;
  font-weight:800!important;
}
.assignment-due-line .ui-icon{
  width:16px!important;
  height:16px!important;
  color:#2563eb!important;
  flex:0 0 auto!important;
}
.aup-due-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
.aup-due-badge .ui-icon{
  width:14px!important;
  height:14px!important;
}
.aup-due-notice{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:10px 0 14px!important;
  padding:12px 14px!important;
  border:1px solid #bfdbfe!important;
  border-radius:12px!important;
  background:#eff6ff!important;
  color:#1e3a8a!important;
  font-weight:800!important;
}
.aup-due-notice .ui-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 auto!important;
}

/* Student portal refresh: full-width student header and simplified main cards. */
body.student-shell{
  background:linear-gradient(180deg,#eef7ff 0,#f7fbff 44%,#f5f7fb 100%)!important;
}
body.student-shell .main{
  padding:0 0 42px!important;
  overflow-x:hidden!important;
}
body.student-shell .topbar.clean-admin-header{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 26px!important;
  padding:14px 20px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.student-shell .clean-admin-header .topbar-shell{
  width:100%!important;
  max-width:none!important;
  height:74px!important;
  min-height:74px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  padding:0 20px!important;
  border:1px solid #d8e3f2!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 42px rgba(30,45,80,.10)!important;
  backdrop-filter:saturate(130%) blur(12px);
}
body.student-shell .topbar-left{
  min-width:0!important;
}
body.student-shell .student-header-logo.student-header-brand{
  height:auto!important;
  min-width:0!important;
  gap:12px!important;
  color:#0f172a!important;
  font-size:16px!important;
}
body.student-shell .student-header-logo.student-header-brand img{
  width:42px!important;
  height:42px!important;
  max-height:42px!important;
  object-fit:contain!important;
}
body.student-shell .student-header-logo.student-header-brand span{
  display:grid!important;
  gap:1px!important;
  min-width:0!important;
}
body.student-shell .student-header-logo.student-header-brand strong{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:17px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
body.student-shell .student-header-logo.student-header-brand small{
  display:block!important;
  color:#5d6a82!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.15!important;
}
body.student-shell .header-actions{
  grid-column:auto!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
body.student-shell .header-actions .header-icon-btn{
  display:grid!important;
}
body.student-shell .clean-user-menu .topbar-user{
  width:auto!important;
  min-width:190px!important;
  height:52px!important;
  padding:0 10px!important;
  border:1px solid transparent!important;
  background:#fff!important;
  border-radius:999px!important;
}
body.student-shell .clean-user-menu .topbar-user-copy,
body.student-shell .header-user-caret{
  display:grid!important;
}
body.student-shell .clean-user-menu .user-menu-panel > button.student-profile-menu-edit{
  justify-content:flex-start!important;
  text-align:left!important;
  font-weight:500!important;
}
body.student-shell .student-portal-hero{
  width:min(1120px,calc(100% - 40px))!important;
  max-width:none!important;
  margin:18px auto 22px!important;
}
body.student-shell .student-simple-grid{
  width:100%!important;
  margin:0 auto!important;
}
.student-simple-card{
  border-radius:10px!important;
}
.student-card-clip{
  display:none!important;
}
.student-device-picture,
.student-help-picture,
.student-password-picture{
  padding-top:34px!important;
}
.student-card-band strong{
  font-size:clamp(22px,2vw,27px)!important;
}
.student-card-band span{
  font-size:15px!important;
  letter-spacing:0!important;
}
@media(max-width:920px){
  body.student-shell .student-tool-hero{
    max-width:620px!important;
  }
  body.student-shell .student-simple-grid{
    grid-template-columns:1fr!important;
    max-width:none!important;
  }
}
@media(max-width:760px){
  body.student-shell .student-tool-hero{
    width:calc(100% - 24px)!important;
    padding:14px!important;
    border-radius:14px!important;
  }
  body.student-shell .topbar.clean-admin-header{
    padding:10px 12px 0!important;
    margin-bottom:18px!important;
  }
  body.student-shell .clean-admin-header .topbar-shell{
    height:auto!important;
    min-height:66px!important;
    padding:10px 12px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    border-radius:14px!important;
  }
  body.student-shell .student-header-logo.student-header-brand img{
    width:34px!important;
    height:34px!important;
  }
  body.student-shell .student-header-logo.student-header-brand strong{
    font-size:15px!important;
  }
  body.student-shell .student-header-logo.student-header-brand small,
  body.student-shell .clean-user-menu .topbar-user-copy,
  body.student-shell .header-user-caret{
    display:none!important;
  }
  body.student-shell .clean-user-menu .topbar-user{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    padding:0 3px!important;
  }
  body.student-shell .student-portal-hero,
  body.student-shell .student-simple-grid{
    width:calc(100% - 24px)!important;
  }
}

/* Student portal centering pass. Keep the header, hero, and action cards on one centered axis. */
body.student-shell .topbar.clean-admin-header{
  padding:16px 0 0!important;
}

body.student-shell .clean-admin-header .topbar-shell,
body.student-shell .student-tool-hero{
  width:min(1480px,calc(100% - 48px))!important;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.student-shell .student-portal-hero{
  width:min(960px,calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

body.student-shell .student-simple-grid{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  grid-template-columns:repeat(5,minmax(170px,1fr))!important;
  gap:16px!important;
  justify-content:center!important;
  justify-items:stretch!important;
}
body.student-shell .student-simple-card{
  min-height:300px!important;
}
body.student-shell .student-device-picture,
body.student-shell .student-help-picture,
body.student-shell .student-password-picture,
body.student-shell .student-fees-picture,
body.student-shell .student-loaner-empty-icon{
  padding:28px 18px 18px!important;
}
body.student-shell .student-device-picture img{
  width:min(190px,82%)!important;
  height:150px!important;
}
body.student-shell .student-device-picture .ui-icon,
body.student-shell .student-loaner-empty-icon .ui-icon,
body.student-shell .student-password-picture .ui-icon,
body.student-shell .student-fees-picture .ui-icon{
  width:118px!important;
  height:118px!important;
  padding:26px!important;
}
body.student-shell .student-help-picture span{
  width:120px!important;
  height:120px!important;
  font-size:66px!important;
  box-shadow:inset 0 0 0 8px #f8fbff,0 14px 30px rgba(30,64,175,.1)!important;
}
body.student-shell .student-card-band{
  min-height:92px!important;
  padding:15px!important;
}
body.student-shell .student-card-band strong{
  font-size:clamp(18px,1.4vw,22px)!important;
  line-height:1.12!important;
}
body.student-shell .student-card-band span{
  font-size:12px!important;
  line-height:1.25!important;
}
body.student-shell .student-device-state-mark,
body.student-shell .student-card-disabled-mark{
  width:54px!important;
  height:54px!important;
  right:12px!important;
  top:12px!important;
  border-width:5px!important;
}
body.student-shell .student-device-state-mark .ui-icon,
body.student-shell .student-card-disabled-mark .ui-icon{
  width:28px!important;
  height:28px!important;
}

@media(max-width:1320px){
  body.student-shell .student-tool-hero{
    width:min(980px,calc(100% - 40px))!important;
  }
  body.student-shell .student-simple-grid{
    grid-template-columns:repeat(3,minmax(190px,1fr))!important;
  }
}

@media(max-width:920px){
  body.student-shell .student-tool-hero{
    width:min(720px,calc(100% - 32px))!important;
  }
  body.student-shell .student-simple-grid{
    grid-template-columns:repeat(2,minmax(210px,1fr))!important;
  }
}

@media(max-width:760px){
  body.student-shell .topbar.clean-admin-header{
    padding:10px 0 0!important;
  }

  body.student-shell .clean-admin-header .topbar-shell,
  body.student-shell .student-portal-hero,
  body.student-shell .student-tool-hero{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }

  body.student-shell .student-simple-grid{
    grid-template-columns:1fr!important;
  }
}

/* Student pages do not render the sidebar, so ignore the global nav-collapsed offsets. */
body.student-shell,
body.student-shell.nav-collapsed{
  width:100%!important;
  overflow-x:hidden!important;
}

body.student-shell .layout,
body.student-shell.nav-collapsed .layout{
  display:block!important;
  width:100%!important;
  min-height:100vh!important;
}

body.student-shell .main,
body.student-shell.nav-collapsed .main{
  margin-left:0!important;
  width:100%!important;
  max-width:none!important;
  padding:0 0 42px!important;
}
body.student-shell .main,
body.student-shell.nav-collapsed .main{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
}
body.student-shell .main > .app-footer{
  width:min(1480px,calc(100% - 48px))!important;
  margin:32px auto 0!important;
  margin-top:auto!important;
}

/* Helpdesk nested modals and edit toolbar cleanup */
.helpdesk-message-edit-form .message-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  width:100%!important;
}
.helpdesk-message-edit-form .message-toolbar button{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  min-height:34px!important;
  padding:0!important;
}
#ticketKbArticlePreviewModal.open,
#cannedCommentsModal.open{
  z-index:23000!important;
}

/* Grouped sidebar navigation */
.grouped-sidebar-nav{
  gap:7px!important;
}
.sidebar .nav-standalone,
.sidebar .nav-group,
.sidebar .nav-subgroup{
  width:100%!important;
}
.sidebar .nav-group,
.sidebar .nav-subgroup{
  margin:0!important;
}
.sidebar .nav-group summary,
.sidebar .nav-subgroup summary{
  list-style:none!important;
  cursor:pointer!important;
  user-select:none!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  color:#e8f1fb!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1.1!important;
  text-transform:none!important;
  letter-spacing:0!important;
  opacity:1!important;
}
.sidebar .nav-group summary::-webkit-details-marker,
.sidebar .nav-subgroup summary::-webkit-details-marker{
  display:none!important;
}
.sidebar .nav-group summary:before,
.sidebar .nav-subgroup summary:before{
  display:none!important;
  content:none!important;
}
.sidebar .nav-group summary:after,
.sidebar .nav-subgroup summary:after{
  content:"+"!important;
  margin-left:auto!important;
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:rgba(226,232,240,.12)!important;
  color:#dbeafe!important;
  font-size:15px!important;
  line-height:1!important;
}
.sidebar .nav-group[open] > summary:after,
.sidebar .nav-subgroup[open] > summary:after{
  content:"-"!important;
}
.sidebar .nav-group > summary > .ui-icon,
.sidebar .nav-subgroup > summary > .ui-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  flex:0 0 32px!important;
  padding:7px!important;
  border-radius:12px!important;
  color:#c6d5e8!important;
  background:rgba(226,232,240,.08)!important;
  stroke-width:2.45!important;
}
.sidebar .nav-group > summary span,
.sidebar .nav-subgroup > summary span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.sidebar .nav-group > summary:hover,
.sidebar .nav-subgroup > summary:hover,
.sidebar .nav-group[open] > summary{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(148,163,184,.18)!important;
  color:#fff!important;
}
.sidebar .nav-group[open] > summary > .ui-icon,
.sidebar .nav-group > summary:hover > .ui-icon,
.sidebar .nav-subgroup > summary:hover > .ui-icon{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.sidebar .nav-group > a,
.sidebar .nav-subgroup > a{
  margin:5px 0 0 18px!important;
  width:calc(100% - 18px)!important;
  min-height:38px!important;
  padding:8px 10px!important;
  font-size:12px!important;
  border-radius:11px!important;
}
.sidebar .nav-group > a > .ui-icon,
.sidebar .nav-subgroup > a > .ui-icon{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  flex:0 0 26px!important;
  padding:6px!important;
  border-radius:10px!important;
}
.sidebar .nav-subgroup{
  margin:6px 0 0 18px!important;
  width:calc(100% - 18px)!important;
}
.sidebar .nav-subgroup summary{
  min-height:38px!important;
  padding:8px 10px!important;
  font-size:12px!important;
}
.sidebar .nav-subgroup > summary > .ui-icon{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  flex-basis:26px!important;
  padding:6px!important;
  border-radius:10px!important;
}
.sidebar .nav-subgroup > a{
  margin-left:14px!important;
  width:calc(100% - 14px)!important;
}
body.nav-collapsed .sidebar .nav-group,
body.nav-collapsed .sidebar .nav-subgroup{
  width:52px!important;
  margin:0!important;
}
body.nav-collapsed .sidebar .nav-group summary{
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  border-radius:15px!important;
  overflow:visible!important;
}
body.nav-collapsed .sidebar .nav-group summary span,
body.nav-collapsed .sidebar .nav-group summary:after,
body.nav-collapsed .sidebar .nav-subgroup,
body.nav-collapsed .sidebar .nav-group > a{
  display:none!important;
}
body.nav-collapsed .sidebar .nav-group summary > svg.ui-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  padding:7px!important;
  margin:0!important;
  border-radius:13px!important;
}
@media(max-width:1100px){
  .sidebar .nav-group{
    grid-column:auto!important;
  }
  .sidebar .nav-group > a,
  .sidebar .nav-subgroup{
    margin-left:0!important;
    width:100%!important;
  }
}

/* Command Center customization and KPI color pass */
.cc-date-picker{
  margin:0!important;
}
.cc-date-picker label{
  height:34px!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 10px!important;
  border:1px solid #d6e0ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  font-weight:900!important;
}
.cc-date-picker span,
.cc-date-picker .ui-icon{
  width:16px!important;
  height:16px!important;
  color:#334155!important;
}
.cc-date-picker input[type=date]{
  width:auto!important;
  min-width:128px!important;
  height:30px!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  color:#172033!important;
  font-weight:900!important;
}
.cc-customize-toggle[aria-pressed="true"]{
  background:#2f6df6!important;
  border-color:#2f6df6!important;
  color:#fff!important;
}
.cc-customize-toggle[aria-pressed="true"]:hover{
  background:#2458d3!important;
  border-color:#2458d3!important;
  color:#fff!important;
}
.cc-customize-toggle[aria-pressed="true"] .ui-icon,
.cc-customize-toggle[aria-pressed="true"] span{
  color:#fff!important;
}
.cc-customize-panel{
  display:grid!important;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  padding:14px!important;
  border:1px solid #cfe0ff!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#f7fbff,#eef5ff)!important;
  box-shadow:0 12px 28px rgba(30,45,80,.06)!important;
}
.cc-customize-panel[hidden]{
  display:none!important;
}
.cc-customize-panel strong,
.cc-customize-panel span{
  display:block!important;
}
.cc-customize-panel strong{
  color:#172033!important;
  font-size:14px!important;
}
.cc-customize-panel span{
  margin-top:2px!important;
  color:#53627a!important;
  font-weight:800!important;
}
.cc-hidden-widget-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  max-height:390px!important;
  overflow:auto!important;
  padding-right:3px!important;
}
.cc-hidden-empty{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 12px!important;
  border:1px dashed #b9c8e2!important;
  border-radius:8px!important;
  color:#64748b!important;
  background:#fff!important;
  font-weight:900!important;
}
.cc-add-widget-btn{
  height:34px!important;
  border-radius:8px!important;
  background:#fff!important;
  font-size:12px!important;
}
.cc-hidden-widget-preview{
  position:relative!important;
  min-width:0!important;
  border:1px solid #d7e3f5!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 10px 22px rgba(30,45,80,.07)!important;
  overflow:hidden!important;
}
.cc-hidden-widget-preview > .cc-card{
  height:218px!important;
  min-height:218px!important;
  max-height:218px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  cursor:default!important;
  transform:none!important;
  pointer-events:none!important;
  padding:14px!important;
}
.cc-hidden-widget-preview > .cc-card h2{
  min-height:auto!important;
  padding-right:0!important;
  margin:0 0 10px!important;
  font-size:14px!important;
}
.cc-hidden-widget-preview .cc-donut-layout{
  grid-template-columns:90px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:90px!important;
}
.cc-hidden-widget-preview .cc-donut{
  width:90px!important;
  height:90px!important;
}
.cc-hidden-widget-preview .cc-donut:after{
  inset:19px!important;
}
.cc-hidden-widget-preview .cc-donut strong{
  font-size:20px!important;
}
.cc-hidden-widget-preview .cc-donut span,
.cc-hidden-widget-preview .cc-legend,
.cc-hidden-widget-preview .cc-legend span,
.cc-hidden-widget-preview .cc-card-link,
.cc-hidden-widget-preview .cc-hr-list a,
.cc-hidden-widget-preview .cc-rank-list a,
.cc-hidden-widget-preview .cc-activity-list a{
  font-size:10px!important;
}
.cc-hidden-widget-preview .cc-axis-chart,
.cc-hidden-widget-preview .cc-bar-chart{
  height:118px!important;
  min-height:118px!important;
}
.cc-hidden-widget-preview .cc-bar-day{
  height:108px!important;
}
.cc-hidden-widget-preview .cc-aup-metrics{
  gap:6px!important;
}
.cc-hidden-widget-preview .cc-aup-metrics span{
  min-height:48px!important;
  padding:8px!important;
}
.cc-hidden-widget-preview .cc-aup-metrics b,
.cc-hidden-widget-preview .cc-hr-stat strong,
.cc-hidden-widget-preview .cc-kb-summary strong{
  font-size:18px!important;
}
.cc-hidden-widget-preview .cc-hr-list,
.cc-hidden-widget-preview .cc-rank-list,
.cc-hidden-widget-preview .cc-activity-list{
  max-height:92px!important;
  overflow:hidden!important;
}
.cc-hidden-widget-add{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  height:32px!important;
  border-color:#bfdbfe!important;
  background:#fff!important;
  color:#1d4ed8!important;
  box-shadow:0 8px 18px rgba(30,45,80,.12)!important;
}
.cc-hidden-widget-preview:hover{
  border-color:#9fc0ff!important;
  box-shadow:0 14px 30px rgba(47,109,246,.12)!important;
}
.cc-kpi-card{
  position:relative!important;
  cursor:default!important;
  overflow:hidden!important;
  border:1px solid #dbe4f2!important;
}
.cc-kpi-card:after{
  content:none!important;
  display:none!important;
}
.cc-kpi-card:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:5px!important;
  background:var(--cc-accent,#2f6df6)!important;
  pointer-events:none!important;
}
.cc-kpi-card:hover{
  transform:none!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}
.cc-kpi-card > *{
  position:relative!important;
  z-index:1!important;
}
.cc-kpi-card small,
.cc-kpi-card span,
.cc-kpi-card em{
  color:#42526b!important;
}
.cc-kpi-card strong{
  color:#0f172a!important;
}
.cc-kpi-card .cc-kpi-icon{
  background:color-mix(in srgb, var(--cc-accent,#2f6df6) 13%, #fff)!important;
  color:var(--cc-accent,#2f6df6)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--cc-accent,#2f6df6) 20%, #fff)!important;
}
.cc-blue{
  --cc-accent:#2563eb;
  background:#fff!important;
}
.cc-slate{
  --cc-accent:#475569;
  background:#fff!important;
}
.cc-purple{
  --cc-accent:#7c3aed;
  background:#fff!important;
}
.cc-green{
  --cc-accent:#059669;
  background:#fff!important;
}
.cc-orange{
  --cc-accent:#ea580c;
  background:#fff!important;
}
.cc-red{
  --cc-accent:#dc2626;
  background:#fff!important;
}
.cc-card{
  position:relative!important;
}
.cc-widget-controls{
  position:absolute!important;
  z-index:8!important;
  top:8px!important;
  right:8px!important;
}
.cc-widget-gear{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #d7e3f5!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.94)!important;
  color:#334155!important;
  font-size:15px!important;
  font-weight:900!important;
  padding:0!important;
  box-shadow:0 8px 18px rgba(30,45,80,.10)!important;
  opacity:.72!important;
}
.cc-card:hover .cc-widget-gear,
.cc-widget-controls.open .cc-widget-gear,
.cc-widget-gear:focus-visible{
  opacity:1!important;
}
.cc-widget-menu{
  display:none!important;
  position:absolute!important;
  top:36px!important;
  right:0!important;
  width:248px!important;
  max-width:min(248px,calc(100vw - 36px))!important;
  padding:10px!important;
  border:1px solid #d7e3f5!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(30,45,80,.18)!important;
}
.cc-widget-controls.open .cc-widget-menu{
  display:grid!important;
  gap:10px!important;
}
.cc-widget-menu-title{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:950!important;
  padding:2px 2px 8px!important;
  border-bottom:1px solid #edf2f7!important;
}
.cc-widget-menu-section{
  display:grid!important;
  gap:6px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid #edf2f7!important;
}
.cc-widget-menu-section-last{
  padding-bottom:0!important;
  border-bottom:0!important;
}
.cc-widget-menu button{
  min-height:32px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  color:#1d4ed8!important;
  font-size:11px!important;
  font-weight:900!important;
  padding:0 9px!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.cc-widget-menu button:hover{
  background:#eef4ff!important;
  border-color:#d7e6ff!important;
  box-shadow:none!important;
}
.cc-widget-menu-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.cc-widget-menu-label{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.cc-widget-hide-action{
  justify-self:stretch!important;
  width:100%!important;
  color:#b42318!important;
  background:#fff7f7!important;
  border-color:#fee4e2!important;
}
.cc-widget-hide-action:hover{
  background:#fff1f0!important;
  border-color:#fecdca!important;
}
.cc-widget-size-controls{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.cc-widget-size-controls button{
  min-width:0!important;
  padding:0 6px!important;
}
.cc-widget-size-controls button.active,
.cc-widget-size-controls button[aria-pressed="true"]{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}
.cc-widget-handle{
  cursor:grab!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  color:#0f5bd3!important;
  background:#eef4ff!important;
}
.cc-drag-dots{
  width:12px!important;
  height:16px!important;
  flex:0 0 12px!important;
  display:inline-block!important;
  background:
    radial-gradient(circle,#2f6ff2 1.3px,transparent 1.5px) 0 1px/6px 6px,
    radial-gradient(circle,#2f6ff2 1.3px,transparent 1.5px) 6px 1px/6px 6px!important;
  opacity:.75!important;
}
.cc-layout-editing .cc-card{
  cursor:grab!important;
  border-color:#9fc0ff!important;
  box-shadow:0 12px 30px rgba(47,109,246,.10)!important;
  outline:1px dashed rgba(47,111,242,.3)!important;
  outline-offset:-6px!important;
}
.cc-layout-editing .cc-card:active{
  cursor:grabbing!important;
}
.cc-layout-editing [data-command-widget]:hover{
  transform:none!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}
.cc-layout-editing .cc-card h2{
  padding-right:220px!important;
}
.cc-dragging{
  opacity:.72!important;
  transform:scale(.985)!important;
  border-color:#2f6ff2!important;
  outline:2px dashed #2f6ff2!important;
  outline-offset:-7px!important;
  box-shadow:0 18px 42px rgba(47,111,242,.24)!important;
}
.cc-widget-hidden{
  display:none!important;
}
[data-command-widget].cc-widget-hidden{
  display:none!important;
}
@media(max-width:900px){
  .cc-customize-panel{
    grid-template-columns:1fr!important;
  }
  .cc-date-picker input[type=date]{
    min-width:118px!important;
  }
  .cc-layout-editing .cc-card h2{
    padding-right:0!important;
    margin-top:34px!important;
  }
}

/* Collapsed sidebar accordion: keep the rail closed while showing child buttons. */
body.nav-collapsed .sidebar .nav-group[open] > summary{
  background:rgba(255,255,255,.11)!important;
  border-color:rgba(255,194,71,.42)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.16)!important;
}
body.nav-collapsed .sidebar .nav-group[open] > summary > svg.ui-icon{
  background:rgba(255,255,255,.2)!important;
  color:#fff!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a{
  display:flex!important;
  position:relative!important;
  z-index:4!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  margin:5px auto 0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  background:rgba(226,232,240,.08)!important;
  border:1px solid rgba(148,163,184,.14)!important;
  opacity:1!important;
  pointer-events:auto!important;
  overflow:visible!important;
  animation:collapsedNavDrop .2s ease both!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a:hover,
body.nav-collapsed .sidebar .nav-group[open] > a.active{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,194,71,.36)!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a > svg.ui-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  flex:0 0 32px!important;
  padding:7px!important;
}
body.nav-collapsed .sidebar .nav-group[open] > .nav-subgroup{
  display:block!important;
  position:relative!important;
  z-index:4!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  margin:5px auto 0!important;
  animation:collapsedNavDrop .2s ease both!important;
}
body.nav-collapsed .sidebar .nav-group[open] > .nav-subgroup > summary{
  display:flex!important;
  position:relative!important;
  z-index:5!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  background:rgba(226,232,240,.08)!important;
  border:1px solid rgba(148,163,184,.14)!important;
  pointer-events:auto!important;
  overflow:visible!important;
}
body.nav-collapsed .sidebar .nav-group[open] > .nav-subgroup[open] > summary,
body.nav-collapsed .sidebar .nav-group[open] > .nav-subgroup > summary:hover{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,194,71,.36)!important;
}
body.nav-collapsed .sidebar .nav-group[open] > .nav-subgroup > summary > svg.ui-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  flex:0 0 32px!important;
  padding:7px!important;
}
body.nav-collapsed .sidebar .nav-subgroup[open] > a{
  display:flex!important;
  position:relative!important;
  z-index:6!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  margin:5px auto 0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:rgba(226,232,240,.06)!important;
  border:1px solid rgba(148,163,184,.12)!important;
  opacity:1!important;
  pointer-events:auto!important;
  overflow:visible!important;
  animation:collapsedNavDrop .18s ease both!important;
}
body.nav-collapsed .sidebar .nav-subgroup[open] > a:hover,
body.nav-collapsed .sidebar .nav-subgroup[open] > a.active{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,194,71,.3)!important;
}
body.nav-collapsed .sidebar .nav-subgroup[open] > a > svg.ui-icon{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  flex:0 0 28px!important;
  padding:6px!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a:nth-of-type(1),
body.nav-collapsed .sidebar .nav-subgroup[open] > a:nth-of-type(1){
  animation-delay:.015s!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a:nth-of-type(2),
body.nav-collapsed .sidebar .nav-subgroup[open] > a:nth-of-type(2){
  animation-delay:.035s!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a:nth-of-type(3),
body.nav-collapsed .sidebar .nav-subgroup[open] > a:nth-of-type(3){
  animation-delay:.055s!important;
}
body.nav-collapsed .sidebar .nav-group[open] > a:nth-of-type(4),
body.nav-collapsed .sidebar .nav-subgroup[open] > a:nth-of-type(4){
  animation-delay:.075s!important;
}
@keyframes collapsedNavDrop{
  from{opacity:0;transform:translateY(-8px) scale(.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  body.nav-collapsed .sidebar .nav-group[open] > a,
  body.nav-collapsed .sidebar .nav-group[open] > .nav-subgroup,
  body.nav-collapsed .sidebar .nav-subgroup[open] > a{
    animation:none!important;
  }
}

/* Stable shell controls: keep the profile menu visible and the nav preference persistent. */
.clean-user-menu .user-menu-panel{
  position:fixed!important;
  top:62px!important;
  right:18px!important;
  width:min(300px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 78px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  z-index:50000!important;
}
.clean-user-menu[open] .user-menu-panel{
  display:grid!important;
}
.clean-user-menu .user-menu-head,
.clean-user-menu .user-menu-panel a,
.clean-user-menu .user-menu-panel > button{
  min-width:0!important;
}
.clean-user-menu .user-menu-head .avatar{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  flex:0 0 46px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.clean-user-menu .topbar-user .avatar.photo-avatar,
.clean-user-menu .user-menu-head .avatar.photo-avatar{
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  overflow:hidden!important;
  clip-path:circle(50%);
}
.clean-user-menu .avatar.photo-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border-radius:inherit!important;
}
@media(max-width:760px){
  .clean-user-menu .user-menu-panel{
    top:72px!important;
    right:12px!important;
  }
}

.profile-avatar-editor{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#f8fbff!important;
}
.profile-avatar-controls{
  display:grid!important;
  gap:10px!important;
  min-width:min(420px,100%)!important;
}
.profile-avatar-controls .settings-toggle{
  margin:0!important;
}
.profile-password-action{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:16px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
}
.profile-password-action h3{
  margin:0 0 4px!important;
}
.profile-password-action p{
  margin:0!important;
}
.profile-nav-state-field{
  justify-items:start!important;
  max-width:420px!important;
}
.profile-nav-state-field select{
  width:min(100%,360px)!important;
}
.password-change-modal{
  width:min(560px,100%)!important;
  border-radius:16px!important;
  padding:20px!important;
}
.password-change-modal .modal-head{
  align-items:flex-start!important;
  border-bottom:1px solid var(--line)!important;
  padding-bottom:12px!important;
}
.password-change-modal .modal-head p{
  margin:4px 0 0!important;
}
.theme-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.theme-choice-card{
  display:grid;
  grid-template-columns:auto 42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:10px;
  font-weight:900;
}
.theme-choice-card span{
  height:34px;
  border-radius:8px;
  border:1px solid rgba(15,23,42,.12);
}
.theme-choice-card input:checked + span{
  box-shadow:0 0 0 3px rgba(47,111,242,.16);
  border-color:#2f6ff2;
}
.theme-preview-default span{background:linear-gradient(180deg,#0d1f34,#0f243b)}
.theme-preview-midnight span{background:linear-gradient(180deg,#050816,#111827)}
.theme-preview-slate span{background:linear-gradient(180deg,#1f2937,#334155)}
.theme-preview-blue span{background:linear-gradient(180deg,#0b3d91,#1d4ed8)}
.theme-preview-green span{background:linear-gradient(180deg,#064e3b,#047857)}
.theme-preview-purple span{background:linear-gradient(180deg,#3b0764,#6d28d9)}
@media(max-width:760px){.theme-choice-grid{grid-template-columns:1fr}}

.student-shell .profile-settings-hero,
.student-shell .student-profile-settings-card{
  width:min(920px,calc(100vw - 28px));
  margin-left:auto;
  margin-right:auto;
}
.student-shell .profile-settings-hero{
  margin-top:12px;
}
.student-shell .student-profile-settings-card{
  border-radius:12px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}
.student-shell .student-profile-settings-card>.form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.student-shell .student-profile-settings-card .profile-avatar-editor{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fbff;
  padding:14px;
}
@media(max-width:760px){
  .student-shell .student-profile-settings-card>.form-grid{
    grid-template-columns:1fr;
  }
}
.locked-account-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-left:6px!important;
}
.locked-account-badge svg{
  width:13px!important;
  height:13px!important;
}
.table-action-menu-form{
  margin:0!important;
  padding:0!important;
}
.table-action-menu-form button svg{
  width:14px!important;
  height:14px!important;
  margin-right:6px!important;
}
.force-password-shell{
  grid-template-columns:minmax(320px,520px)!important;
  justify-content:center!important;
  width:min(520px,100%)!important;
  min-height:auto!important;
  border-radius:18px!important;
}
.force-password-card{
  min-height:auto!important;
  max-width:520px!important;
  width:100%!important;
  padding:26px!important;
  gap:14px!important;
  border-radius:16px!important;
}
.force-password-card .password-meter{
  margin:0!important;
}
.force-password-card h2{
  margin:6px 0 5px!important;
  font-size:26px!important;
  line-height:1.16!important;
}
.force-password-card p{
  font-size:13px!important;
  line-height:1.45!important;
}
.force-password-card .login-form{
  gap:12px!important;
}
.force-password-card .login-form label{
  gap:5px!important;
}
.force-password-card .login-form input{
  min-height:44px!important;
  padding:10px 12px!important;
}
.force-password-card .password-meter small{
  font-size:11px!important;
  line-height:1.35!important;
}
.maintenance-body .primary,
.force-password-card .primary{
  text-align:center!important;
  justify-content:center!important;
}
@media(max-width:720px){
  .force-password-body{
    padding:16px!important;
  }
  .force-password-shell{
    width:100%!important;
    border-radius:16px!important;
  }
  .force-password-card{
    padding:22px!important;
  }
}
.required-field{
  position:relative!important;
}
.required-marker{
  display:inline-flex!important;
  width:max-content!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  margin:0!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:#fff1f2!important;
  color:#be123c!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  vertical-align:middle!important;
}
.form-validation-message{
  grid-column:1/-1!important;
  margin:0 0 12px!important;
  padding:11px 13px!important;
  border:1px solid #fecdd3!important;
  border-radius:8px!important;
  background:#fff1f2!important;
  color:#9f1239!important;
  font-size:13px!important;
  font-weight:800!important;
}
.field-invalid{
  border-color:#e11d48!important;
  box-shadow:0 0 0 3px rgba(225,29,72,.12)!important;
}
.form-help-note{
  margin:0 0 14px!important;
  padding:10px 12px!important;
  border:1px solid #dbe4f0!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:700!important;
}
.photo-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 56%!important;
  display:block!important;
}
.password-meter{
  --password-score:0%;
  display:grid!important;
  gap:7px!important;
  padding:12px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
.password-meter span{
  height:9px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#dc2626 var(--password-score),#e5e7eb var(--password-score))!important;
}
.password-meter[data-score="weak"] span{background:linear-gradient(90deg,#f59e0b var(--password-score),#e5e7eb var(--password-score))!important}
.password-meter[data-score="good"] span{background:linear-gradient(90deg,#2563eb var(--password-score),#e5e7eb var(--password-score))!important}
.password-meter[data-score="strong"] span{background:linear-gradient(90deg,#16a34a var(--password-score),#e5e7eb var(--password-score))!important}
.password-meter b{
  color:#1f2937!important;
  font-size:12px!important;
}
.password-meter small{
  color:#64748b!important;
  font-weight:800!important;
  line-height:1.35!important;
}

/* HR Onboarding */
.hr-shell{display:grid;gap:18px}.hr-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.hr-page-head h1{margin:0 0 6px;font-size:30px;letter-spacing:0;color:#0f172a}.hr-page-head p{margin:0;color:#465875;font-weight:800}.hr-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.hr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.hr-kpis article{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;min-height:120px;background:#fff;border:1px solid #dbe5f2;border-left:6px solid #2f6ff2;border-radius:8px;padding:20px;box-shadow:var(--shadow)}.hr-kpis article:nth-child(2){border-left-color:#7c3aed}.hr-kpis article:nth-child(3){border-left-color:#17a66a}.hr-kpis article:nth-child(4){border-left-color:#f97316}.hr-kpis article>span{grid-row:1 / span 3;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#2458d3}.hr-kpis small,.hr-kpis em{color:#53657f;font-size:12px;font-weight:900}.hr-kpis b{font-size:30px;line-height:1;color:#0f172a}.hr-filter-card,.hr-card,.hr-detail-hero,.hr-wizard-card,.hr-steps,.hr-summary-card,.hr-sticky-actions{background:#fff;border:1px solid #dbe5f2;border-radius:8px;box-shadow:var(--shadow)}.hr-filter-card{display:flex;align-items:end;gap:12px;padding:16px}.hr-filter-card label,.hr-form-grid label{display:grid;gap:7px;color:#25324a;font-weight:900;font-size:12px}.hr-filter-card select,.hr-filter-card input,.hr-form-grid input,.hr-form-grid textarea{height:42px;border:1px solid #cfdaea;border-radius:7px;padding:9px 11px;font-weight:800;color:#263348;background:#fff}.hr-form-grid textarea{height:auto;resize:vertical}.hr-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.hr-card{padding:18px}.hr-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.hr-card-head h2,.hr-card h2{margin:0;font-size:18px}.hr-card-head h2 span{font-size:12px;background:#eaf1ff;color:#2358dc;border-radius:999px;padding:5px 9px;margin-left:6px}.hr-table{width:100%;border-collapse:collapse}.hr-table th,.hr-table td{border-bottom:1px solid #e5ecf5;padding:12px;text-align:left;font-size:12px;vertical-align:middle}.hr-table th{color:#33415f;background:#f8fbff;font-weight:950}.hr-table td small{display:block;color:#5f708b;font-weight:800;margin-top:3px}.hr-table tr:hover td{background:#fbfdff}.hr-pill{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 10px;font-style:normal;font-weight:950;font-size:11px}.hr-pill.ok{background:#dcfce7;color:#11733f}.hr-pill.info{background:#e9f1ff;color:#2358dc}.hr-pill.warn{background:#fff3df;color:#a54f00}.hr-pill.muted{background:#f1f5f9;color:#475569}.hr-mini-resource,.hr-resource-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eef4ff;color:#2458d3;font-weight:950}.hr-upcoming{display:grid;align-content:start;gap:14px}.hr-upcoming>a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#0f172a}.hr-card-link{color:#2358dc!important;font-weight:950}.hr-detail-hero{display:grid;grid-template-columns:2fr repeat(5,minmax(120px,1fr));gap:16px;padding:20px}.hr-detail-hero small,.hr-detail-hero span{display:block;color:#53657f;font-weight:850}.hr-detail-hero b{display:block;color:#0f172a}.hr-detail-hero h2{margin:0 0 3px}.hr-requested-items{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #e5ecf5;padding-top:14px}.hr-requested-items span{display:inline-flex;align-items:center;gap:7px;border:1px solid #e3ebf6;background:#f8fbff;border-radius:999px;padding:7px 12px;color:#1f2d44}.hr-detail-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.hr-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hr-info-grid dt{color:#53657f;font-weight:900}.hr-info-grid dd{margin:0;font-weight:900}.hr-info-grid dd small{display:block;color:#64748b}.hr-check-row{display:grid;grid-template-columns:140px 80px minmax(120px,1fr) 120px;align-items:center;gap:12px;border:1px solid #e4ebf5;border-radius:8px;padding:13px;margin-top:10px}.hr-check-row span{height:6px;background:#e8edf5;border-radius:999px;overflow:hidden}.hr-check-row i{display:block;height:100%;background:#19a861}.hr-check-row em{font-style:normal;color:#64748b;font-weight:850}.hr-timeline{display:grid;gap:16px}.hr-timeline div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.hr-timeline span{grid-row:1 / span 3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f2e8ff;color:#5832a8;font-weight:950}.hr-timeline b,.hr-timeline p,.hr-timeline small{margin:0}.hr-progress{display:grid;justify-items:center;text-align:center}.hr-donut{--pct:0;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22c55e calc(var(--pct)*1%),#f4b400 0 82%,#e4eaf3 0);position:relative}.hr-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.hr-donut b,.hr-donut span{position:relative;z-index:1}.hr-donut b{font-size:30px}.hr-donut span{font-size:12px;color:#64748b;font-weight:900}.hr-new-layout{display:grid;grid-template-columns:270px minmax(0,1fr) 330px;gap:18px}.hr-steps{padding:18px;display:grid;align-content:start;gap:12px}.hr-steps div{display:grid;gap:4px;border:1px solid transparent;border-radius:8px;padding:13px 13px 13px 58px;position:relative}.hr-steps div:before{content:"";position:absolute;left:18px;top:16px;width:26px;height:26px;border-radius:50%;background:#cbd5e1}.hr-steps .done:before{content:"OK";display:grid;place-items:center;background:#22c55e;color:#fff;font-weight:950;font-size:10px}.hr-steps .active{border-color:#cfe0ff;background:#f7fbff}.hr-steps .active:before{content:"4";display:grid;place-items:center;background:#2458d3;color:#fff;font-weight:950}.hr-steps span{color:#64748b;font-weight:800;font-size:12px}.hr-wizard-card,.hr-summary-card{padding:20px}.hr-wizard-card h2,.hr-summary-card h2{margin:0 0 6px}.hr-wizard-card p{margin:0 0 18px;color:#64748b;font-weight:800}.hr-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.hr-form-grid .full{grid-column:1/-1}.hr-access-list{border:1px solid #dbe5f2;border-radius:8px;overflow:hidden}.hr-access-list>div{padding:16px}.hr-access-list>div span{display:block;color:#64748b;font-weight:800;margin-top:4px}.hr-access-list label{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid #e5ecf5;padding:12px 16px}.hr-access-list small{display:block;color:#64748b;font-weight:800;margin-top:4px}.hr-access-list input{width:18px;height:18px}.hr-summary-card{display:grid;align-content:start;gap:18px}.hr-summary-card dl{display:grid;gap:12px;border-bottom:1px solid #e5ecf5;padding-bottom:14px}.hr-summary-card dt{color:#64748b;font-weight:900}.hr-summary-card dd{margin:0;font-weight:950}.hr-summary-card ul{display:grid;gap:8px;margin:0;padding-left:0;list-style:none;color:#1f6b3f;font-weight:850}.hr-sticky-actions{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;padding:16px;align-items:center}
@media(max-width:1180px){.hr-kpis,.hr-dashboard-grid,.hr-detail-grid,.hr-new-layout{grid-template-columns:1fr}.hr-detail-hero{grid-template-columns:1fr 1fr}.hr-summary-card{order:3}}@media(max-width:720px){.hr-page-head,.hr-filter-card,.hr-actions{display:grid}.hr-kpis,.hr-detail-hero,.hr-form-grid{grid-template-columns:1fr}.hr-table{min-width:920px}.hr-main-table{overflow:auto}.hr-check-row{grid-template-columns:1fr}.hr-sticky-actions{grid-template-columns:1fr}}
.hr-wizard-modal{width:min(1180px,calc(100vw - 36px))!important}.hr-modal-wizard-layout{grid-template-columns:250px minmax(0,1fr)!important}.hr-wizard-step{display:none}.hr-wizard-step.active{display:grid;gap:14px}.hr-wizard-step>label{display:grid;gap:7px;font-weight:900;color:#25324a}.hr-wizard-step input,.hr-wizard-step textarea,.hr-wizard-step select,.hr-task-assignment-list select,.hr-setup-row input,.hr-setup-row select,.hr-task-search input{border:1px solid #cfdaea;border-radius:7px;padding:9px 11px;font-weight:800;background:#fff;color:#263348}.hr-steps button{border:1px solid transparent;background:#fff;text-align:left;color:#263348}.hr-steps button.active{border-color:#cfe0ff;background:#f7fbff}.hr-task-search{display:grid;gap:7px;font-weight:900}.hr-task-assignment-list,.hr-setup-list{display:grid;gap:10px}.hr-shared-due-controls{display:grid;grid-template-columns:minmax(230px,1fr) minmax(180px,.55fr);gap:12px;align-items:end;border:1px solid #dbe7f7;border-radius:8px;background:#f8fbff;padding:12px}.hr-shared-due-controls>label:not(.settings-toggle),.hr-task-due-field{display:grid;gap:6px;font-size:12px;font-weight:900;color:#53657f}.hr-shared-due-controls input[type=date],.hr-task-due-field input{border:1px solid #cfdaea;border-radius:7px;padding:9px 11px;font-weight:800;background:#fff;color:#263348}.hr-task-assignment-list>div{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(210px,1fr) minmax(190px,1fr) minmax(145px,.7fr) auto;gap:10px;align-items:center;border:1px solid #e5ecf5;border-radius:8px;padding:10px;background:#fbfdff}.hr-task-due-field input:disabled{background:#eef3f9;color:#738299;cursor:not-allowed}.hr-task-assignment-list>div.hr-shared-due-active .hr-task-due-field{opacity:.72}.hr-assignment-members{display:block;min-width:0;color:#64748b;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-setup-row{display:grid;grid-template-columns:1fr 1.6fr .8fr .8fr;gap:10px}.hr-tech-queue{grid-column:1/-1}.hr-tech-task-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hr-tech-task-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;border:1px solid #e5ecf5;border-radius:8px;background:#fbfdff;padding:12px;text-decoration:none;color:#0f172a}.hr-tech-task-list span{color:#64748b;font-size:12px;font-weight:850}.hr-tech-task-list .hr-pill{grid-row:1 / span 2;grid-column:2}.table-action-dropdown{position:relative}.table-action-dropdown summary{list-style:none;cursor:pointer}.table-action-dropdown summary::-webkit-details-marker{display:none}.table-action-dropdown[open] .table-action-menu-panel{display:grid}.table-action-dropdown .table-action-menu-panel{display:none;position:absolute;right:0;top:38px;z-index:40;min-width:190px;background:#fff;border:1px solid #dbe5f2;border-radius:8px;box-shadow:0 18px 44px rgba(13,25,43,.18);padding:6px}.table-action-dropdown .table-action-menu-panel a,.table-action-dropdown .table-action-menu-panel button{display:flex;width:100%;justify-content:flex-start;border:0;background:#fff;color:#172033;text-decoration:none;border-radius:6px;padding:9px 10px;font-weight:900}.table-action-dropdown .table-action-menu-panel a:hover,.table-action-dropdown .table-action-menu-panel button:hover{background:#f2f5ff}
@media(max-width:900px){.hr-modal-wizard-layout,.hr-shared-due-controls,.hr-task-assignment-list>div,.hr-setup-row,.hr-tech-task-list{grid-template-columns:1fr!important}}
.hr-dashboard-grid{grid-template-columns:1fr!important;overflow:visible!important}.hr-main-table,.hr-main-table .hr-table{overflow:visible!important}.hr-table td[data-col="actions"]{position:relative;overflow:visible!important}.hr-table-filters input,.hr-table-filters select{width:100%;min-width:110px;height:34px;border:1px solid #cfdaea;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:800;background:#fff}.hr-upcoming{display:none!important}.hr-detail-grid{grid-template-columns:minmax(0,1fr) 330px!important;align-items:start}.hr-progress{grid-column:2!important;grid-row:1!important;align-self:start}.hr-detail-grid>.hr-card:first-child{grid-column:1!important;grid-row:1!important}.hr-detail-grid>.hr-card:nth-child(2){grid-column:1 / -1!important}.hr-detail-grid>.hr-card:nth-child(3){grid-column:1!important}.hr-detail-grid>.hr-card:nth-child(4){grid-column:2!important}.hr-detail-hero{grid-template-columns:2fr repeat(4,minmax(130px,1fr))!important}.hr-requested-label{font-weight:700!important;color:#53657f!important}.hr-wizard-modal{width:min(1280px,calc(100vw - 32px))!important;height:min(820px,calc(100vh - 36px))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.hr-wizard-modal form{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1!important}.hr-modal-wizard-layout{grid-template-columns:290px minmax(0,1fr)!important;gap:0!important;min-height:0!important;flex:1!important;overflow:hidden!important}.hr-wizard-modal .hr-steps{background:linear-gradient(180deg,#0b3555,#123e69)!important;border:0!important;border-radius:0!important;color:#fff!important;padding:22px!important}.hr-wizard-modal .hr-steps button{background:transparent!important;color:#dbeafe!important;border-color:rgba(255,255,255,.12)!important;padding-left:58px!important;position:relative}.hr-wizard-modal .hr-steps button:before{content:"";position:absolute;left:18px;top:16px;width:28px;height:28px;border-radius:9px;background:#2f6ff2}.hr-wizard-modal .hr-steps button:nth-child(1):before{content:"1";display:grid;place-items:center;color:#fff;font-weight:950}.hr-wizard-modal .hr-steps button:nth-child(2):before{content:"2";display:grid;place-items:center;color:#fff;font-weight:950}.hr-wizard-modal .hr-steps button:nth-child(3):before{content:"3";display:grid;place-items:center;color:#fff;font-weight:950}.hr-wizard-modal .hr-steps button:nth-child(4):before{content:"4";display:grid;place-items:center;color:#fff;font-weight:950}.hr-wizard-modal .hr-steps button:nth-child(5):before{content:"5";display:grid;place-items:center;color:#fff;font-weight:950}.hr-wizard-modal .hr-steps button:nth-child(6):before{content:"6";display:grid;place-items:center;color:#fff;font-weight:950}.hr-wizard-modal .hr-steps button.active{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important}.hr-wizard-modal .hr-steps button b{color:inherit}.hr-wizard-modal .hr-steps button span{color:#b8c7dd}.hr-wizard-modal .hr-wizard-card{border:0!important;border-radius:0!important;box-shadow:none!important;padding:26px!important;overflow:auto!important;min-height:0!important}.hr-wizard-modal .hr-wizard-step{min-height:560px!important;align-content:start!important}.hr-wizard-modal .modal-actions{margin-top:0!important;border-top:1px solid #dbe5f2;padding-top:14px!important}.hr-setup-modal{width:min(1120px,calc(100vw - 36px))!important}.hr-setup-options-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;max-height:min(650px,calc(100vh - 220px));overflow:auto;padding-right:4px}.hr-setup-section{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:14px}.hr-setup-section.full{grid-column:1/-1}.hr-setup-section h3{margin:0;font-size:16px}.hr-option-list,.hr-supervisor-list{display:grid;gap:10px}.hr-option-list input,.hr-supervisor-row input{height:40px;border:1px solid #cfdaea;border-radius:7px;padding:9px 11px;font-weight:800;background:#fff;color:#263348}.hr-supervisor-row{display:grid;grid-template-columns:1fr .8fr 1fr;gap:10px}.hr-edit-modal{width:min(820px,calc(100vw - 36px))!important}.hr-email-modal{width:min(900px,calc(100vw - 36px))!important}.hr-rich-toolbar{display:flex;gap:6px;border:1px solid #dbe5f2;border-bottom:0;border-radius:8px 8px 0 0;background:#f8fbff;padding:8px}.hr-rich-toolbar button{min-width:36px;height:32px;border:1px solid #cfdaea;border-radius:6px;background:#fff;font-weight:900}.hr-email-modal textarea[data-hr-email-body]{width:100%;border:1px solid #dbe5f2;border-radius:0 0 8px 8px;padding:12px;font-weight:800;line-height:1.45;resize:vertical}.hr-form-grid .full{grid-column:1/-1}.table-action-dropdown .table-action-menu-panel{top:calc(100% + 6px)!important;z-index:100000!important}.table-action-dropdown .table-action-menu-panel .danger-menu-action{color:#b42318!important}.table-action-dropdown .table-action-menu-panel .danger-menu-action:hover{background:#fff1f2!important}@media(max-width:900px){.hr-detail-grid,.hr-detail-hero,.hr-setup-options-grid,.hr-supervisor-row{grid-template-columns:1fr!important}.hr-progress,.hr-detail-grid>.hr-card{grid-column:auto!important;grid-row:auto!important}.hr-wizard-modal{height:calc(100vh - 24px)!important}.hr-modal-wizard-layout{grid-template-columns:1fr!important}.hr-wizard-modal .hr-steps{display:none!important}}

.hr-action-menu summary{display:inline-flex!important;align-items:center!important;gap:6px!important}.hr-action-menu summary svg{width:14px!important;height:14px!important}.hr-action-menu[open] .table-action-menu-panel{display:grid!important}.hr-main-table{position:relative!important;z-index:3!important}.hr-main-table tbody tr:has(.hr-action-menu[open]){position:relative!important;z-index:50!important}.hr-wizard-modal .hr-steps button{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:2px 12px!important;align-items:center!important;padding:12px!important}.hr-wizard-modal .hr-steps button:before{display:none!important}.hr-step-icon{grid-row:1 / span 2!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:10px!important;background:rgba(255,255,255,.12)!important;color:#bfdbfe!important;border:1px solid rgba(255,255,255,.16)!important}.hr-step-icon svg{width:18px!important;height:18px!important}.hr-wizard-modal .hr-steps button.active .hr-step-icon{background:#2f6ff2!important;color:#fff!important;border-color:#78a6ff!important}.hr-wizard-modal .hr-steps button b{align-self:end!important;line-height:1.15!important}.hr-wizard-modal .hr-steps button small{align-self:start!important;color:#b8c7dd!important;font-size:11px!important;font-weight:850!important}.hr-group-list{display:grid;gap:10px}.hr-group-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr);gap:10px}.hr-group-row input,.hr-group-row select{border:1px solid #cfdaea;border-radius:7px;padding:9px 11px;font-weight:800;background:#fff;color:#263348}.hr-group-row select{min-height:96px}.hr-task-alert-modal{width:min(620px,calc(100vw - 36px))!important}.hr-task-alert-body{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid #dbe5f2;border-radius:10px;background:#f8fbff}.hr-task-alert-body .alert-item-icon{width:42px;height:42px}.hr-task-alert-body strong{display:block;color:#0f172a}.hr-task-alert-body small{display:block;margin-top:6px;color:#64748b;font-weight:850}@media(max-width:900px){.hr-group-row{grid-template-columns:1fr!important}}
.hr-table th[data-col="actions"],.hr-table td[data-col="actions"]{min-width:250px!important;width:250px!important}.hr-inline-actions{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:nowrap!important}.hr-inline-actions form{margin:0!important;display:inline-flex!important}.hr-inline-actions .btn{height:32px!important;min-height:32px!important;padding:0 10px!important;border-radius:7px!important;font-size:11px!important;font-weight:900!important;text-decoration:none!important;white-space:nowrap!important}.hr-inline-actions .danger-menu-action{border-color:#fecdd3!important;background:#fff1f2!important;color:#b42318!important}
.hr-detail-grid{grid-template-columns:minmax(0,1fr) 330px!important;align-items:start!important}.hr-employee-card{grid-column:1!important;grid-row:1!important}.hr-progress{grid-column:2!important;grid-row:1!important;align-self:start!important}.hr-tasks-card{grid-column:1 / -1!important;grid-row:2!important}.hr-checklist-card{grid-column:1!important;grid-row:3!important}.hr-activity-card{grid-column:2!important;grid-row:3!important}@media(max-width:900px){.hr-employee-card,.hr-progress,.hr-tasks-card,.hr-checklist-card,.hr-activity-card{grid-column:auto!important;grid-row:auto!important}}
.hr-guardrail-banner{display:flex;align-items:center;gap:12px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:8px;padding:13px 15px;font-weight:900}.hr-guardrail-banner.locked{border-color:#c7d2fe;background:#eef2ff;color:#3730a3}.hr-guardrail-banner svg{width:22px;height:22px;flex:0 0 auto}.hr-guardrail-banner b,.hr-guardrail-banner small{display:block}.hr-guardrail-banner small{font-weight:800;color:inherit;opacity:.82}.hr-task-overdue-row td{background:#fff7ed!important}.danger-text{color:#b42318!important;font-weight:950!important}
.hr-welcome-guardrail{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:10px;padding:14px;margin-bottom:14px}
.hr-welcome-guardrail>.ui-icon{width:36px;height:36px;border-radius:10px;background:#ffedd5;color:#c2410c;padding:8px}
.hr-welcome-guardrail strong{display:block;color:#7c2d12}
.hr-welcome-guardrail p{margin:4px 0 10px!important;color:#9a3412!important;font-weight:800!important}
.hr-welcome-guardrail ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.hr-welcome-guardrail li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #fed7aa;background:#fff;border-radius:8px;padding:8px 10px}
.hr-welcome-guardrail li b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2937}
.hr-welcome-guardrail li span{color:#7c2d12;font-size:11px;font-weight:900;white-space:nowrap}
.hr-welcome-resource-panel{display:grid;gap:12px;border:1px solid #dbe5f2;background:#f8fbff;border-radius:10px;padding:14px;margin:0 0 14px}
.hr-welcome-resource-panel>div:first-child strong,.hr-welcome-resource-panel>div:first-child small{display:block}
.hr-welcome-resource-panel>div:first-child small{color:#64748b;font-size:12px;font-weight:800;margin-top:2px}
.hr-welcome-resource-list{display:grid;gap:8px}
.hr-welcome-resource-list>b{color:#334155;font-size:12px;text-transform:uppercase}
.hr-welcome-resource-list label{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;border:1px solid #e5ecf5;background:#fff;border-radius:8px;padding:9px 10px;font-weight:800!important}
.hr-welcome-resource-list label>span{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center;min-width:0}
.hr-welcome-resource-list .ui-icon{width:16px;height:16px;color:#2563eb}
.hr-welcome-resource-list em,.hr-welcome-resource-list small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}
.hr-welcome-resource-list small{grid-column:2;color:#64748b;font-size:11px}
.hr-welcome-save-attachments{margin:10px 0 0!important}
.hr-welcome-link-modal{width:min(720px,calc(100vw - 36px))!important}
.hr-welcome-link-modal .settings-toggle{display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:12px!important;font-weight:850!important;color:#475569!important}
.hr-welcome-link-modal .settings-toggle input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;padding:0!important;border-radius:4px!important}
.hr-welcome-history-card{border-left:5px solid #2458d3!important}
.hr-welcome-history-list{display:grid;gap:10px}
.hr-welcome-history-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;align-items:center;border:1px solid #e5ecf5;background:#f8fbff;border-radius:8px;padding:10px}
.hr-welcome-history-list b,.hr-welcome-history-list small,.hr-welcome-history-list em{display:block;min-width:0}
.hr-welcome-history-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a}
.hr-welcome-history-list small{grid-column:2;color:#64748b;font-weight:800}
.hr-welcome-history-list em{grid-column:2;color:#475569;font-size:11px;font-style:normal;font-weight:850}
.hr-welcome-recipient-panel,.hr-welcome-send-options{border:1px solid #dbe5f2;background:#f8fbff;border-radius:10px;padding:14px;margin:0 0 14px}
.hr-welcome-recipient-panel .hr-card-head{margin-bottom:10px}
.hr-welcome-recipient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.hr-welcome-recipient-grid label:not(.settings-toggle){display:grid;gap:7px;color:#25324a;font-size:12px;font-weight:900}
.hr-welcome-recipient-grid input,.hr-welcome-recipient-grid select{height:40px;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#263348;padding:8px 10px;font-weight:800}
.hr-welcome-recipient-grid>.full{grid-column:1/-1}
.hr-welcome-recipient-grid .settings-toggle,.hr-welcome-send-options .settings-toggle{display:flex!important;align-items:center!important;gap:8px!important;color:#475569!important;font-size:12px!important;font-weight:850!important}
.hr-welcome-recipient-grid input[type="checkbox"],.hr-welcome-send-options input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;padding:0!important}
.hr-welcome-person-picker{position:relative;display:grid;gap:8px;border:1px solid #dbe5f2;background:#fff;border-radius:8px;padding:8px}
.hr-welcome-person-picker .hr-person-search{margin:0}
.hr-welcome-selected-email{display:block;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:900}
.hr-welcome-selected-email.invalid{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.hr-welcome-selected-people{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:0}
.hr-welcome-selected-people:empty{display:none}
.hr-welcome-person-chip{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;max-width:100%;border:1px solid #cfe0ff;background:#eef4ff;color:#172033;border-radius:999px;padding:5px 7px}
.hr-welcome-person-chip .avatar{width:26px!important;height:26px!important;min-width:26px!important;border-radius:50%!important}
.hr-welcome-person-chip b,.hr-welcome-person-chip small,.hr-welcome-person-chip em{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-welcome-person-chip b{font-size:12px;font-weight:850}
.hr-welcome-person-chip small{font-size:10px;color:#53657f;font-weight:750}
.hr-welcome-person-chip em{font-size:10px;color:#2358dc;font-style:normal;font-weight:850}
.hr-welcome-person-chip button{display:grid;place-items:center;width:22px;height:22px;border:0;background:transparent;color:#53657f;font-size:16px;font-weight:900;border-radius:50%;cursor:pointer}
.hr-welcome-person-chip button:hover{background:#dbeafe;color:#1d4ed8}
.hr-welcome-picker-results{left:8px!important;right:8px!important;top:calc(100% + 6px)!important;z-index:100002!important}
.hr-welcome-token-modal{width:min(700px,calc(100vw - 36px))!important}
.hr-welcome-token-search{display:flex;align-items:center;gap:8px;border:1px solid #dbe5f2;background:#f8fbff;border-radius:8px;padding:0 10px;margin-bottom:12px}
.hr-welcome-token-search .ui-icon{width:18px;height:18px;color:#64748b}
.hr-welcome-token-search input{height:42px;border:0;background:transparent;outline:0;width:100%;font-weight:850;color:#172033}
.hr-welcome-token-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(430px,52vh);overflow:auto;padding-right:4px}
.hr-welcome-token-list button{display:grid;gap:4px;text-align:left;border:1px solid #dbe5f2;background:#fff;border-radius:8px;padding:11px;color:#172033}
.hr-welcome-token-list button:hover{border-color:#b8cdf9;background:#f8fbff}
.hr-welcome-token-list b{color:#2358dc;font-size:12px}
.hr-welcome-token-list span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:11px;font-weight:800}
.hr-welcome-send-options{display:grid;gap:9px;margin-top:10px}
.hr-welcome-final-review{border-top:1px solid #e5ecf5;padding-top:9px;color:#0f172a!important;font-weight:900!important}
.hr-welcome-preview-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #dbe5f2;background:#f8fbff;border-radius:8px;padding:9px 10px;margin:0 0 12px}
.hr-welcome-preview-summary span{border:1px solid #cfe0ff;background:#eef4ff;color:#2358dc;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:950}
.hr-welcome-preview-summary em{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569;font-size:11px;font-style:normal;font-weight:850}
@media(max-width:780px){.hr-welcome-recipient-grid,.hr-welcome-token-list{grid-template-columns:1fr}.hr-welcome-person-chip b,.hr-welcome-person-chip small,.hr-welcome-person-chip em{max-width:230px}}
.hr-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hr-confidential-access-note{display:inline-flex;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950}.hr-confidential-chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #e5ecf5;margin-top:14px;padding-top:12px}.hr-confidential-chip-row>small{font-weight:950;color:#64748b}.hr-confidential-chip-row>span{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe5f2;background:#f8fbff;border-radius:999px;padding:5px 9px}.hr-confidential-search{display:flex;align-items:center;gap:8px;border:1px solid #cfdaea;border-radius:8px;padding:0 6px 0 10px;margin-bottom:12px;background:#fff}.hr-confidential-search input{border:0!important;outline:0;height:42px;width:100%;font-weight:850}.hr-confidential-search .icon-btn{width:30px;height:30px;min-width:30px}.hr-confidential-access-list{display:grid;gap:8px;max-height:min(430px,52vh);overflow:auto;padding-right:4px}.hr-confidential-access-list label{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;border:1px solid #e5ecf5;background:#fbfdff;border-radius:8px;padding:9px}.hr-confidential-access-list label:hover{background:#f4f8ff}.hr-confidential-access-list b,.hr-confidential-access-list small{display:block}.hr-confidential-access-list small{color:#64748b;font-weight:800}.hr-confidential-empty{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:8px;padding:14px;color:#64748b;font-weight:850;margin:0}
.hr-confidential-search-status{margin:-6px 0 8px;color:#64748b;font-size:11px;font-weight:850}
.hr-confidential-search-status span{color:#0f172a;font-weight:950}
#hrConfidentialAccessModal .hr-edit-modal{width:min(980px,calc(100vw - 36px))!important;height:min(650px,calc(100vh - 44px))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
#hrConfidentialAccessModal .hr-edit-modal form{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1!important}
#hrConfidentialAccessModal .hr-edit-modal .modal-actions{flex:0 0 auto!important}
.hr-form-grid select[name="gender"]{font-weight:500!important}
.hr-form-grid select[name="gender"] option{font-weight:500!important}
.hr-confidential-access-matrix{gap:0!important;border:1px solid #dbe5f2;border-radius:8px;overflow:auto!important;padding:0!important;background:#fff;height:min(430px,52vh)!important;max-height:min(430px,52vh)!important;min-height:300px!important;flex:1 1 auto!important}
.hr-confidential-access-row{display:grid;grid-template-columns:92px minmax(230px,1fr) repeat(6,minmax(72px,.45fr));gap:6px;align-items:center;border-bottom:1px solid #e5ecf5;padding:6px 10px;background:#fff}
.hr-confidential-access-row:last-child{border-bottom:0}
.hr-confidential-access-row.header{position:sticky;top:0;z-index:2;background:#f8fbff;color:#475569;font-size:11px;font-weight:950;text-transform:uppercase}
.hr-confidential-access-row.header span:nth-child(n+3){text-align:center}
.hr-confidential-access-row:hover{background:#fbfdff}
.hr-confidential-access-matrix .person-cell{min-width:0;display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;gap:10px!important}
.hr-confidential-access-matrix .person-cell .avatar{width:30px!important;height:30px!important;min-width:30px!important;flex:0 0 30px!important;border-radius:50%!important;aspect-ratio:1/1!important;overflow:hidden!important;display:grid!important;place-items:center!important;line-height:1!important}
.hr-confidential-access-matrix .person-cell .avatar img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important}
.hr-confidential-access-matrix .person-cell b,.hr-confidential-access-matrix .person-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-confidential-access-list .hr-confidential-access-toggle,.hr-confidential-access-list .hr-confidential-field-check{display:flex;grid-template-columns:none;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;border-radius:7px;padding:4px;font-size:11px;font-weight:900;color:#475569}
.hr-confidential-access-list .hr-confidential-access-toggle{justify-content:flex-start;color:#25324a}
.hr-confidential-access-list .hr-confidential-field-check{justify-self:center;width:32px;height:28px}
.hr-confidential-access-list .hr-confidential-field-check input{margin:0}
.hr-confidential-access-list .hr-confidential-field-check span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hr-confidential-access-list .hr-confidential-access-toggle:hover,.hr-confidential-access-list .hr-confidential-field-check:hover{background:#eef4ff}
.hr-confidential-chip-row>span small{font-size:10px;margin-left:2px}
@media(max-width:900px){.hr-confidential-access-row{grid-template-columns:80px minmax(180px,1fr) repeat(6,64px);min-width:824px}}
.hr-request-tabs{display:flex;gap:8px;align-items:center;border-bottom:1px solid #e5ecf5;margin:0 0 12px;padding-bottom:10px}
.hr-request-tabs button{border:1px solid #dbe5f2;background:#fff;color:#33415f;border-radius:7px;padding:8px 12px;font-weight:950}
.hr-request-tabs button.active{background:#eaf1ff;border-color:#b8cdf9;color:#2358dc}
.hr-state-tabs{margin-top:-6px;border-bottom:0;padding-bottom:12px}
.hr-state-tabs button.active[data-hr-state-tab="completed"]{background:#dcfce7;border-color:#86efac;color:#166534}
.hr-completed-onboarding-banner{display:flex;align-items:center;gap:12px;border:1px solid #86efac;background:#f0fdf4;color:#166534;border-radius:8px;padding:12px 14px;box-shadow:var(--shadow)}
.hr-completed-onboarding-banner>.ui-icon,.hr-completed-checkmark,.hr-completed-status{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:#22c55e;color:#fff;flex:0 0 auto}
.hr-completed-onboarding-banner b,.hr-completed-onboarding-banner small{display:block}.hr-completed-onboarding-banner small{font-weight:800;color:#166534}
.hr-completed-status{width:22px;height:22px;margin-right:6px;vertical-align:middle}.hr-completed-status .ui-icon,.hr-completed-checkmark .ui-icon{width:15px;height:15px}
.hr-row-completed-onboarding td{background:#fbfffc}.hr-row-completed-onboarding:hover td{background:#f0fdf4!important}
.hr-setup-sheet.completed{border-color:#86efac!important}
.hr-setup-sheet.completed .hr-setup-sheet-brand{border-bottom-color:#22c55e}
.hr-setup-sheet.completed .hr-setup-sheet-brand>span{display:inline-flex;align-items:center;gap:8px;color:#166534;font-weight:950}
.hr-supervisor-multi{position:relative;display:grid;gap:8px;min-width:0}
.hr-supervisor-multi-trigger{height:auto;min-height:46px;width:100%;border:1px solid #cfdaea;border-radius:8px;background:#fff;color:#25324a;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;text-align:left;box-shadow:none}
.hr-supervisor-multi-trigger span{font-weight:750;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-supervisor-multi-trigger em{font-style:normal;color:#64748b;font-size:11px;font-weight:750;white-space:nowrap}
.hr-supervisor-multi-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:70;border:1px solid #dbe5f2;border-radius:10px;background:#fff;box-shadow:0 18px 44px rgba(13,25,43,.18);padding:8px;display:grid;gap:8px;max-height:330px;overflow:auto}
.hr-supervisor-multi-search{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:8px!important;border:1px solid #dbe5f2!important;border-radius:8px!important;background:#f8fbff!important;padding:0 9px!important}
.hr-supervisor-multi-search input{border:0!important;background:transparent!important;height:36px!important;padding:0!important;font-weight:700!important;outline:0!important}
.hr-supervisor-multi-list{display:grid;gap:5px}
.hr-supervisor-multi-option{display:grid!important;grid-template-columns:18px 30px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;border:1px solid #eef2f7!important;border-radius:8px!important;background:#fff!important;padding:7px 9px!important;color:#0f172a!important;font-size:12px!important}
.hr-supervisor-multi-option:hover{background:#f8fbff!important;border-color:#cfe0ff!important}
.hr-supervisor-multi-option .avatar{width:30px!important;height:30px!important;min-width:30px!important;border-radius:50%!important;overflow:hidden!important}
.hr-supervisor-multi-option .avatar img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important}
.hr-supervisor-multi-option b{display:block;font-weight:500!important;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-supervisor-multi-option small{display:block;color:#64748b;font-size:10px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-supervisor-multi-empty{margin:0;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:800;padding:10px}
.hr-setup-modal{width:min(1180px,calc(100vw - 36px))!important;height:min(780px,calc(100vh - 36px))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.hr-setup-modal form{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1!important}
.hr-setup-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:0;min-height:0;flex:1;border:1px solid #dbe5f2;border-radius:8px;overflow:hidden;background:#fff}
.hr-setup-nav{display:grid;align-content:start;gap:8px;background:#0f3b5f;padding:18px}
.hr-setup-nav button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:transparent;color:#dbeafe;padding:12px;font-weight:950}
.hr-setup-nav button.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.32);color:#fff}
.hr-setup-nav .ui-icon{width:22px;height:22px}
.hr-setup-nav small{display:block;color:#b8c7dd;font-size:11px;font-weight:850}
.hr-setup-panel{display:none;min-height:0;overflow:auto;padding:20px;background:#fff}
.hr-setup-panel.active{display:block}
.hr-removable-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:center}
.hr-removable-row input,.hr-supervisor-row input,.hr-supervisor-row select,.hr-group-row input,.hr-group-row select{border:1px solid #cfdaea;border-radius:7px;padding:9px 11px;font-weight:800;background:#fff;color:#263348}
.hr-supervisor-row{display:grid!important;grid-template-columns:minmax(160px,.8fr) minmax(220px,1fr) minmax(180px,.8fr) 40px!important;gap:10px;align-items:center}
.hr-supervisor-row label,.hr-group-row label{display:grid;gap:5px;color:#53657f;font-size:11px;font-weight:950}
.hr-supervisor-row span[data-hr-supervisor-preview]{color:#53657f;font-size:12px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-group-row{display:grid!important;grid-template-columns:minmax(180px,.7fr) minmax(190px,.7fr) minmax(260px,1.4fr)!important;gap:10px;align-items:start}
.hr-group-row select{min-height:172px!important}
.hr-selected-person-card{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:2px 10px;align-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;color:#0f172a;padding:11px;font-weight:900}
.hr-selected-person-card>span{grid-row:1 / span 3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf1ff;color:#2358dc;font-weight:950}
.hr-selected-person-card small,.hr-selected-person-card em{color:#64748b;font-size:12px;font-style:normal;font-weight:850}
.hr-link-review{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px}
.hr-link-review>div{display:grid;gap:8px;align-content:start}
.hr-link-review strong{color:#0f172a}
.hr-link-review span{font-weight:950;color:#172033}
.hr-link-review small{color:#64748b;font-weight:850}
.hr-link-review label{display:flex!important;align-items:center;gap:8px;font-size:12px;font-weight:900;color:#25324a}
.hr-link-review input[type=checkbox]{width:16px;height:16px}
@media(max-width:900px){.hr-setup-workspace{grid-template-columns:1fr}.hr-setup-nav{display:none}.hr-supervisor-row,.hr-group-row{grid-template-columns:1fr!important}}
.hr-supervisor-row{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 34px!important}
.hr-supervisor-row input[type="hidden"]{display:none!important}
.hr-group-row{grid-template-columns:minmax(180px,.75fr) minmax(280px,1fr) minmax(280px,1.4fr)!important}
.hr-member-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.hr-member-add input{min-width:0}
.hr-member-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;min-height:42px;padding:8px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff}
.hr-member-chip{display:inline-grid;grid-template-columns:28px minmax(0,1fr) auto;gap:2px 8px;align-items:center;max-width:290px;border:1px solid #cfe0ff;background:#fff;border-radius:999px;padding:5px 7px 5px 6px;color:#0f172a}
.hr-member-chip>.avatar{grid-column:1;grid-row:1 / span 2;width:28px!important;height:28px!important;font-size:10px!important}
.hr-member-chip>span:not(.avatar){grid-column:2;display:grid;min-width:0;gap:1px}
.hr-member-chip b{font-size:12px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-member-chip small{color:#64748b;font-size:10px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-member-chip button{grid-column:3;grid-row:1 / span 2;width:22px;height:22px;border:0;border-radius:50%;background:#fff1f2;color:#b42318;font-weight:950}
.hr-supervisor-chip-wrap{min-width:0}
.hr-supervisor-chip{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 9px;align-items:center;min-height:42px;border:1px solid #cfe0ff;background:#fff;border-radius:999px;padding:5px 12px 5px 6px;color:#0f172a}
.hr-supervisor-chip>.avatar{grid-column:1;grid-row:1 / span 2;width:30px!important;height:30px!important;font-size:10px!important}
.hr-supervisor-chip>span:not(.avatar){grid-column:2;display:grid;min-width:0;gap:1px}
.hr-supervisor-chip b{font-size:12px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-supervisor-chip small{color:#64748b;font-size:10px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-person-picker{position:relative;min-width:0}
.hr-person-search{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #cfdaea;border-radius:7px;background:#fff;padding:0 10px}
.hr-person-search .ui-icon,.hr-person-search-icon{width:16px;height:16px;flex:0 0 auto;color:#64748b}
.hr-person-search-icon:before{content:"";display:block;width:14px;height:14px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box}
.hr-person-search-icon:after{content:"";display:block;width:7px;height:2px;background:currentColor;transform:translate(10px,-1px) rotate(45deg);border-radius:2px}
.hr-person-search input{width:100%;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-weight:850;color:#263348;outline:0}
.hr-person-picker-results{position:absolute;z-index:100020;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;max-height:310px;overflow:auto;border:1px solid #dbe5f2;border-radius:12px;background:#fff;padding:6px;box-shadow:0 18px 42px rgba(15,23,42,.18)}
.hr-person-picker-results[hidden]{display:none!important}
.hr-person-picker-option{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px;width:100%;min-height:50px;border:1px solid transparent;border-radius:9px;background:#fff;color:#172033;padding:7px 8px;text-align:left!important;cursor:pointer}
.hr-person-picker-option:hover{border-color:#bfdbfe;background:#eff6ff}
.hr-person-picker-option span:not(.avatar){min-width:0;display:grid;justify-items:start;text-align:left;gap:2px}
.hr-person-picker-option b,.hr-person-picker-option small,.hr-person-picker-option em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-person-picker-option b{font-size:13px;font-weight:950}
.hr-person-picker-option small{color:#64748b;font-size:11px;font-weight:850}
.hr-person-picker-option em{color:#2358dc;font-size:11px;font-style:normal;font-weight:850}
.hr-person-picker-empty{min-height:42px;display:flex;align-items:center;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:850;padding:0 10px}
.hr-access-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hr-access-step-head h2{margin:0}
.hr-access-step-head p{margin:4px 0 0}
.hr-access-select-all{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid #dbe5f2!important;border-radius:999px!important;background:#fff!important;color:#25324a!important;padding:8px 12px!important;font-size:12px!important;font-weight:850!important;white-space:nowrap!important}
.hr-access-select-all input{width:16px!important;height:16px!important;margin:0!important}
.hr-assign-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hr-assign-step-head h2{margin:0}
.hr-assign-step-head p{margin:4px 0 0}
.hr-assignment-override-control{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid #dbe5f2!important;border-radius:999px!important;background:#fff!important;color:#25324a!important;padding:8px 12px!important;font-size:12px!important;font-weight:850!important;white-space:nowrap!important}
.hr-assignment-override-control input{width:16px!important;height:16px!important;margin:0!important}
.hr-task-assignment-list>div.hr-assignment-locked select[data-hr-assignee-select]{background:#f1f5f9!important;color:#64748b!important;border-color:#d8e1ee!important;cursor:not-allowed!important}
.hr-notice-recipient-panel{display:grid;gap:12px;border:1px solid #dbe7f7;border-radius:8px;background:#f8fbff;padding:14px}
.hr-notice-recipient-panel[hidden]{display:none!important}
.hr-notice-recipient-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.hr-notice-recipient-head h3{margin:0;color:#0f172a;font-size:16px}
.hr-notice-recipient-head p{margin:3px 0 0!important;color:#64748b;font-size:12px;font-weight:850}
.hr-notice-recipient-head>span{border:1px solid #cfe0ff;background:#eef4ff;color:#2358dc;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950;white-space:nowrap}
.hr-notice-recipient-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.hr-notice-recipient-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);gap:12px;align-items:start}
.hr-notice-recipient-selected{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;min-height:50px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:8px}
.hr-notice-recipient-selected>p{margin:0!important;color:#64748b;font-size:12px;font-weight:850;align-self:center}
.hr-notice-recipient-chip{display:inline-grid;grid-template-columns:32px minmax(0,1fr) auto;gap:2px 9px;align-items:center;max-width:330px;border:1px solid #cfe0ff;background:#fff;border-radius:999px;padding:6px 7px 6px 6px;color:#0f172a}
.hr-notice-recipient-chip>.avatar{grid-column:1;grid-row:1 / span 3;width:32px!important;height:32px!important;font-size:10px!important;min-width:32px!important;border-radius:50%!important}
.hr-notice-recipient-chip>span:not(.avatar){grid-column:2;display:grid;min-width:0;gap:1px}
.hr-notice-recipient-chip b,.hr-notice-recipient-chip small,.hr-notice-recipient-chip em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-notice-recipient-chip b{font-size:12px;line-height:1.1;font-weight:950}
.hr-notice-recipient-chip small{color:#64748b;font-size:10px;font-weight:850}
.hr-notice-recipient-chip em{color:#2358dc;font-size:10px;font-style:normal;font-weight:850}
.hr-notice-recipient-chip button{grid-column:3;grid-row:1 / span 3;width:22px;height:22px;border:0;border-radius:50%;background:#fff1f2;color:#b42318;font-weight:950}
.hr-notice-recipient-picker .hr-person-picker-option .avatar{width:32px!important;height:32px!important;min-width:32px!important;font-size:10px!important;border-radius:50%!important}
@media(max-width:900px){.hr-notice-recipient-grid{grid-template-columns:1fr}.hr-notice-recipient-head{display:grid}.hr-notice-recipient-head>span{justify-self:start}}
.hr-wizard-modal [hidden],.hr-task-assignment-list [hidden]{display:none!important}
.hr-request-type-modal{width:min(920px,calc(100vw - 36px))!important}
.hr-request-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:4px}
.hr-request-type-grid button{min-height:190px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;display:grid;justify-items:center;align-content:center;gap:10px;padding:22px;color:#0f172a;text-align:center;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.hr-request-type-grid button:hover{border-color:#9bbcff;background:#f8fbff}
.hr-request-type-grid span{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#eaf1ff;color:#2358dc}
.hr-request-type-grid button:nth-child(2) span{background:#fff3df;color:#a54f00}
.hr-request-type-grid button:nth-child(3) span{background:#fff1f2;color:#b42318}
.hr-request-type-grid .ui-icon{width:28px;height:28px}
.hr-request-type-grid b{font-size:20px}
.hr-request-type-grid small{color:#64748b;font-weight:850}
@media(max-width:720px){.hr-request-type-grid{grid-template-columns:1fr}}
#hrRequestWizard textarea[name="address"]{
  height:64px!important;
  min-height:64px!important;
  max-height:120px!important;
}
#hrRequestWizard input[name="schedule"]::placeholder{
  font-weight:400!important;
  color:#64748b!important;
  opacity:1!important;
}
#hrRequestWizard .hr-offboard-picker{
  margin-top:7px!important;
}
#hrRequestWizard .hr-offboard-source-option .avatar{
  flex:0 0 auto!important;
}
#hrRequestWizard .hr-account-disable-field{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:12px!important;
}
#hrRequestWizard .hr-account-disable-field legend{
  padding:0 5px!important;
  color:#25324a!important;
  font-size:12px!important;
  font-weight:950!important;
}
#hrRequestWizard .hr-account-disable-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#hrRequestWizard .hr-account-disable-options label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:8px 10px!important;
  color:#263348!important;
  font-size:12px!important;
  font-weight:850!important;
}
#hrRequestWizard .hr-account-disable-options input{
  width:16px!important;
  height:16px!important;
  padding:0!important;
  flex:0 0 auto!important;
}
#hrRequestWizard .hr-disable-date-field{
  display:grid!important;
  gap:6px!important;
  color:#53657f!important;
  font-size:12px!important;
  font-weight:900!important;
}
#hrRequestWizard .hr-account-disable-field>small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:750!important;
}
#hrRequestWizard .hr-temporary-notice-field{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  border:1px solid #fed7aa!important;
  border-radius:8px!important;
  background:#fff7ed!important;
  padding:12px!important;
}
#hrRequestWizard .hr-temporary-notice-field legend{
  padding:0 5px!important;
  color:#7c2d12!important;
  font-size:12px!important;
  font-weight:950!important;
}
#hrRequestWizard .hr-temporary-notice-field .hr-form-grid{
  margin-bottom:0!important;
}
#hrRequestWizard .hr-temporary-notice-field textarea{
  min-height:96px!important;
}
#hrRequestWizard .hr-temporary-notice-field>small{
  color:#9a3412!important;
  font-size:12px!important;
  font-weight:800!important;
}
#hrRequestWizard input[type="checkbox"],
#hrRequestWizard input[type="radio"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  border-radius:3px!important;
  flex:0 0 auto!important;
  box-shadow:none!important;
  accent-color:#2f6ff2;
}
#hrRequestWizard input[type="radio"]{
  border-radius:50%!important;
}
#hrRequestWizard .hr-notice-access-list{
  border-color:#fed7aa!important;
}
#hrRequestWizard [hidden]{
  display:none!important;
}
@media(max-width:720px){
  #hrRequestWizard .hr-account-disable-options{
    grid-template-columns:1fr!important;
  }
}

.hr-setup-list{
  gap:6px!important;
}
.hr-setup-row{
  grid-template-columns:minmax(140px,1.05fr) minmax(190px,1.35fr) minmax(115px,.72fr) minmax(120px,.76fr) 82px 92px 34px!important;
  gap:6px!important;
  align-items:center!important;
}
.hr-setup-row-header{
  padding:0 2px 2px!important;
}
.hr-setup-row-header span{
  color:#53657f!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.hr-setup-row input,
.hr-setup-row select{
  min-width:0!important;
  height:34px!important;
  padding:6px 8px!important;
  font-size:11px!important;
  border-radius:6px!important;
}
.hr-setup-row .icon-btn{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  border-radius:7px!important;
}
#hrSetupModal .hr-supervisor-row .icon-btn{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  border-radius:7px!important;
  align-self:center!important;
  justify-self:center!important;
}
.hr-temporary-setup-list{
  display:grid!important;
  gap:6px!important;
}
.hr-temporary-setup-row{
  display:grid!important;
  grid-template-columns:minmax(150px,1.05fr) minmax(210px,1.35fr) minmax(130px,.8fr) 82px 92px 34px!important;
  gap:6px!important;
  align-items:center!important;
}
.hr-temporary-setup-header{
  padding:0 2px 2px!important;
}
.hr-temporary-setup-header span{
  color:#53657f!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.hr-temporary-setup-row input,
.hr-temporary-setup-row select{
  min-width:0!important;
  height:34px!important;
  padding:6px 8px!important;
  font-size:11px!important;
  border-radius:6px!important;
}
.hr-temporary-setup-row .icon-btn{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  border-radius:7px!important;
}
.hr-temporary-setup-row .settings-toggle.compact{
  min-height:34px!important;
  padding:5px 7px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
#hrSetupModal .hr-setup-row .settings-toggle.compact,
#hrSetupModal .hr-temporary-setup-row .settings-toggle.compact{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
#hrSetupModal .hr-setup-row .settings-toggle.compact input[type="checkbox"],
#hrSetupModal .hr-temporary-setup-row .settings-toggle.compact input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  border-radius:3px!important;
  flex:0 0 auto!important;
  box-shadow:none!important;
  accent-color:#2f6ff2;
}
#hrSetupModal .hr-option-list input,
#hrSetupModal .hr-person-search input,
#hrSetupModal .hr-group-row>input,
#hrSetupModal .hr-setup-row input,
#hrSetupModal .hr-setup-row select,
#hrSetupModal .hr-temporary-setup-row input,
#hrSetupModal .hr-temporary-setup-row select{
  font-weight:400!important;
}
#hrSetupModal .hr-setup-row-header span,
#hrSetupModal .hr-temporary-setup-header span{
  font-weight:500!important;
}
#hrSetupModal .hr-supervisor-chip b,
#hrSetupModal .hr-supervisor-chip small,
#hrSetupModal .hr-member-chip b,
#hrSetupModal .hr-member-chip small,
#hrSetupModal .hr-person-picker-option b,
#hrSetupModal .hr-person-picker-option small{
  font-weight:400!important;
}
#hrSetupModal .hr-member-add .btn,
#hrSetupModal .settings-toggle.compact{
  font-weight:500!important;
}
.hr-compact-toggle{
  display:inline-flex!important;
  width:max-content!important;
  min-height:32px!important;
  align-items:center!important;
  gap:8px!important;
  padding:6px 9px!important;
  border:1px solid #dbe5f2!important;
  border-radius:7px!important;
  background:#f8fbff!important;
  font-size:12px!important;
}
.hr-compact-toggle input{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
}
.hr-detail-hero{
  grid-template-columns:minmax(280px,1.45fr) repeat(5,minmax(118px,.68fr)) minmax(220px,.86fr)!important;
  align-items:stretch!important;
}
.hr-hero-progress{
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:8px!important;
  min-height:150px!important;
  padding:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  text-align:center!important;
}
.hr-hero-progress h2{
  margin:0!important;
  font-size:14px!important;
}
.hr-hero-progress .hr-donut{
  width:92px!important;
  height:92px!important;
}
.hr-hero-progress .hr-donut:after{
  inset:12px!important;
}
.hr-hero-progress .hr-donut b{
  font-size:20px!important;
}
.hr-hero-progress .hr-donut span{
  display:none!important;
}
.hr-hero-progress p{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.hr-start-date-card{
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.hr-start-date-card.soon{
  border-color:#f59e0b!important;
  background:#fff7ed!important;
  box-shadow:inset 0 0 0 1px rgba(245,158,11,.22)!important;
}
.hr-start-date-card.urgent,
.hr-start-date-card.past{
  border-color:#dc2626!important;
  background:#fff1f2!important;
  box-shadow:inset 0 0 0 1px rgba(220,38,38,.24)!important;
}
.hr-start-date-card.urgent small,
.hr-start-date-card.urgent span,
.hr-start-date-card.past small,
.hr-start-date-card.past span{
  color:#991b1b!important;
}
.hr-clickable-row{
  cursor:pointer!important;
}
.hr-clickable-row:hover td{
  background:#f8fbff!important;
}
.hr-table-progress{
  display:grid!important;
  grid-template-columns:minmax(80px,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
  min-width:150px!important;
}
.hr-table-progress span{
  height:8px!important;
  border-radius:999px!important;
  background:#e5edf7!important;
  overflow:hidden!important;
}
.hr-table-progress i{
  display:block!important;
  width:calc(var(--pct)*1%)!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#2f6ff2,#16a34a)!important;
}
.hr-table-progress b{
  font-size:12px!important;
  color:#0f172a!important;
}
.hr-table-progress small{
  grid-column:1/-1!important;
  margin-top:0!important;
}
@media(max-width:900px){
  .hr-setup-row{
    grid-template-columns:1fr!important;
  }
  .hr-temporary-setup-row{
    grid-template-columns:1fr!important;
  }
  .hr-setup-row-header{
    display:none!important;
  }
  .hr-temporary-setup-header{
    display:none!important;
  }
  .hr-detail-hero{
    grid-template-columns:1fr!important;
  }
}

/* Dense HR details page */
.hr-shell:has(.hr-detail-hero){
  gap:12px!important;
}
.hr-shell:has(.hr-detail-hero) .hr-page-head{
  align-items:center!important;
  margin-bottom:0!important;
}
.hr-shell:has(.hr-detail-hero) .hr-page-head h1{
  font-size:24px!important;
  margin-bottom:2px!important;
}
.hr-shell:has(.hr-detail-hero) .hr-page-head p{
  font-size:12px!important;
}
.hr-shell:has(.hr-detail-hero) .hr-actions .btn,
.hr-shell:has(.hr-detail-hero) .hr-actions button,
.hr-shell:has(.hr-detail-hero) .hr-actions .primary{
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:12px!important;
}
.hr-detail-hero{
  gap:8px!important;
  padding:12px!important;
  grid-template-columns:minmax(240px,1.45fr) repeat(6,minmax(104px,.62fr)) minmax(180px,.78fr)!important;
}
.hr-detail-hero>div:not(.hr-requested-items):not(.person-cell):not(.hr-hero-progress){
  min-height:86px!important;
  display:grid!important;
  align-content:center!important;
  gap:3px!important;
  padding:10px!important;
  border:1px solid #e5ecf5!important;
  border-radius:8px!important;
  background:#fbfdff!important;
}
.hr-detail-hero>.person-cell{
  min-height:86px!important;
  padding:10px!important;
  border:1px solid #e5ecf5!important;
  border-radius:8px!important;
  background:#fbfdff!important;
}
.hr-detail-hero>.person-cell .avatar{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
}
.hr-detail-hero h2{
  font-size:18px!important;
}
.hr-detail-hero b{
  font-size:13px!important;
  line-height:1.2!important;
}
.hr-detail-hero small,
.hr-detail-hero span{
  font-size:11px!important;
  line-height:1.25!important;
}
.hr-hero-progress{
  min-height:86px!important;
  padding:8px!important;
  gap:4px!important;
}
.hr-hero-progress h2{
  font-size:12px!important;
}
.hr-hero-progress .hr-donut{
  width:58px!important;
  height:58px!important;
}
.hr-hero-progress .hr-donut:after{
  inset:8px!important;
}
.hr-hero-progress .hr-donut b{
  font-size:15px!important;
}
.hr-hero-progress p{
  font-size:10px!important;
}
.hr-requested-items{
  padding-top:8px!important;
  gap:6px!important;
}
.hr-requested-items span{
  padding:5px 8px!important;
  font-size:11px!important;
}
.hr-detail-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.55fr)!important;
  gap:12px!important;
}
.hr-employee-card,
.hr-tasks-card,
.hr-checklist-card,
.hr-activity-card{
  padding:12px!important;
}
.hr-employee-card{
  grid-column:2!important;
  grid-row:1!important;
}
.hr-tasks-card{
  grid-column:1!important;
  grid-row:1!important;
}
.hr-checklist-card{
  grid-column:1!important;
  grid-row:2!important;
}
.hr-activity-card{
  grid-column:2!important;
  grid-row:2!important;
}
.hr-card-head{
  margin-bottom:8px!important;
}
.hr-card-head h2,
.hr-card h2{
  font-size:15px!important;
}
.hr-info-grid{
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:5px 9px!important;
  margin:0!important;
}
.hr-info-grid dt,
.hr-info-grid dd{
  font-size:11px!important;
  line-height:1.25!important;
}
.hr-employee-card h3{
  margin:8px 0 3px!important;
  font-size:12px!important;
}
.hr-employee-card p{
  margin:0!important;
  font-size:11px!important;
  line-height:1.3!important;
}
.hr-private-notice-box{
  display:grid!important;
  gap:6px!important;
  margin-top:10px!important;
  padding:10px!important;
  border:1px solid #fed7aa!important;
  border-radius:8px!important;
  background:#fff7ed!important;
}
.hr-private-notice-box b{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#7c2d12!important;
  font-size:12px!important;
}
.hr-private-notice-box p{
  color:#431407!important;
}
.hr-tasks-card .hr-table th,
.hr-tasks-card .hr-table td{
  padding:9px 10px!important;
  font-size:12px!important;
}
.hr-tasks-card .hr-table td:first-child{
  font-size:14px!important;
  font-weight:950!important;
  color:#0f172a!important;
}
.hr-tasks-card .hr-table td:first-child small{
  font-size:11px!important;
  font-weight:800!important;
}
.hr-task-completed-row td{
  background:#f0fdf4!important;
}
.hr-task-completed-row td:first-child{
  color:#14532d!important;
}
.hr-complete-check{
  display:inline-grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  margin-right:7px!important;
  border-radius:999px!important;
  background:#16a34a!important;
  color:#fff!important;
  vertical-align:middle!important;
}
.hr-complete-check .ui-icon{
  width:15px!important;
  height:15px!important;
}
.hr-task-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.hr-task-actions form{
  margin:0!important;
}
.hr-completed-by{
  gap:7px!important;
  min-width:128px!important;
}
.hr-completed-by b{
  font-size:12px!important;
  line-height:1.15!important;
}
.hr-completed-by small{
  display:block!important;
  font-size:10px!important;
  font-weight:800!important;
  color:#64748b!important;
}
.hr-check-row{
  grid-template-columns:minmax(80px,1fr) 58px minmax(80px,1fr)!important;
  gap:7px!important;
  margin-top:6px!important;
  padding:8px!important;
}
.hr-check-row em{
  display:none!important;
}
.hr-timeline{
  gap:9px!important;
}
.hr-timeline div{
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:6px!important;
}
.hr-timeline span{
  width:24px!important;
  height:24px!important;
  font-size:10px!important;
}
.hr-timeline p,
.hr-timeline small{
  font-size:11px!important;
  line-height:1.25!important;
}
@media(max-width:1100px){
  .hr-detail-hero,
  .hr-detail-grid{
    grid-template-columns:1fr!important;
  }
  .hr-employee-card,
  .hr-tasks-card,
  .hr-checklist-card,
  .hr-activity-card{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

.people-user-wizard-modal{
  width:min(1120px,calc(100vw - 36px))!important;
  height:min(780px,calc(100vh - 36px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.people-user-wizard-modal [hidden]{
  display:none!important;
}
.people-user-wizard-form{
  display:grid!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  min-height:0!important;
  flex:1!important;
}
.people-user-wizard-nav{
  grid-row:1 / span 2!important;
  display:grid!important;
  align-content:start!important;
  gap:10px!important;
  background:#0f3b5f!important;
  color:#fff!important;
  padding:18px!important;
  margin:0 0 0 -18px!important;
}
.people-user-wizard-nav button{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#dbeafe!important;
  text-align:left!important;
}
.people-user-wizard-nav button.active{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.32)!important;
  color:#fff!important;
}
.people-user-wizard-nav .ui-icon{
  width:20px!important;
  height:20px!important;
}
.people-user-wizard-nav b,
.people-user-wizard-nav small{
  display:block!important;
  color:inherit!important;
}
.people-user-wizard-nav small{
  color:#b8c7dd!important;
  font-size:11px!important;
  font-weight:800!important;
}
.people-user-wizard-body{
  min-height:0!important;
  overflow:hidden!important;
  padding:20px 22px!important;
}
.people-user-wizard-step{
  display:none!important;
  height:100%!important;
  overflow:auto!important;
}
.people-user-wizard-step.active{
  display:block!important;
}
.people-user-wizard-step h3{
  margin:0 0 14px!important;
  font-size:20px!important;
}
.people-wizard-permission-groups{
  display:grid!important;
  gap:10px!important;
  padding-right:4px!important;
}
.people-wizard-permission-group{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:10px 12px!important;
}
.people-wizard-permission-group summary{
  cursor:pointer!important;
  font-weight:950!important;
  color:#172033!important;
}
.people-user-review{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.people-user-review>div{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:12px!important;
}
.people-user-review small,
.people-user-review b{
  display:block!important;
}
.people-user-review small{
  color:#64748b!important;
  font-weight:900!important;
}
.people-user-review b{
  color:#0f172a!important;
  margin-top:3px!important;
}
.people-supervisor-field{
  position:relative!important;
  z-index:4!important;
}
.people-supervisor-picker{
  position:relative!important;
  display:grid!important;
  gap:8px!important;
  margin-top:6px!important;
}
.people-supervisor-selected{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:8px 10px!important;
}
.people-supervisor-chip{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
.people-supervisor-chip span{
  min-width:0!important;
}
.people-supervisor-chip b,
.people-supervisor-chip small{
  display:block!important;
}
.people-supervisor-chip b{
  font-weight:800!important;
  color:#172033!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.people-supervisor-chip small{
  color:#64748b!important;
  font-weight:700!important;
}
.people-supervisor-empty{
  color:#64748b!important;
  font-weight:800!important;
}
.people-supervisor-search-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 36px!important;
  gap:8px!important;
  align-items:center!important;
}
.people-supervisor-search{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  height:40px!important;
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:0 10px!important;
}
.people-supervisor-search .ui-icon{
  width:17px!important;
  height:17px!important;
  color:#64748b!important;
}
.people-supervisor-search input{
  border:0!important;
  outline:0!important;
  padding:0!important;
  height:auto!important;
  background:transparent!important;
  box-shadow:none!important;
}
.people-supervisor-results{
  position:absolute!important;
  z-index:30!important;
  left:0!important;
  right:44px!important;
  top:100%!important;
  max-height:260px!important;
  overflow:auto!important;
  display:grid!important;
  gap:4px!important;
  margin-top:4px!important;
  padding:8px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(13,25,43,.18)!important;
}
.people-supervisor-results[hidden],
.people-supervisor-option[hidden],
.people-supervisor-empty-result[hidden]{
  display:none!important;
}
.people-supervisor-option{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  text-align:left!important;
  padding:7px 8px!important;
  box-shadow:none!important;
}
.people-supervisor-option:hover,
.people-supervisor-option:focus{
  background:#eef6ff!important;
}
.people-supervisor-option span:not(.avatar){
  min-width:0!important;
}
.people-supervisor-option b,
.people-supervisor-option small{
  display:block!important;
}
.people-supervisor-option b{
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.people-supervisor-option small{
  color:#64748b!important;
  font-weight:700!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.people-supervisor-empty-result{
  padding:12px!important;
  color:#64748b!important;
  font-weight:800!important;
}
.people-user-wizard-actions{
  display:grid!important;
  grid-template-columns:auto 1fr auto auto auto!important;
  gap:10px!important;
  align-items:center!important;
  border-top:1px solid #dbe5f2!important;
  padding:14px 18px!important;
  background:#fff!important;
}
@media(max-width:860px){
  .people-user-wizard-modal{height:calc(100vh - 24px)!important}
  .people-user-wizard-form{grid-template-columns:1fr!important}
  .people-user-wizard-nav{display:none!important}
  .people-user-review{grid-template-columns:1fr!important}
}
.mfa-setup-modal{width:min(980px,calc(100vw - 34px))!important;padding:0!important;overflow:hidden!important}
.mfa-setup-head{margin:0!important;padding:20px 22px;border-bottom:1px solid #dbe5f2;background:#fff}
.mfa-setup-head h2{font-size:26px;margin:4px 0 6px}
.mfa-setup-grid{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:560px}
.mfa-setup-steps{background:linear-gradient(180deg,#082f49,#0f4f76);padding:22px;display:grid;align-content:start;gap:12px;color:#fff}
.mfa-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:12px;background:rgba(255,255,255,.07)}
.mfa-step.active{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.mfa-step b{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#2f6ff2;color:#fff}
.mfa-step strong,.mfa-step small{display:block}.mfa-step small{color:#c8d7ea;font-weight:800;margin-top:3px}
.mfa-setup-main{padding:24px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-content:start;background:#f8fbff}
.mfa-qr-panel{width:260px;height:260px;border-radius:18px;background:#fff;border:1px solid #dbe5f2;display:grid;place-items:center;box-shadow:0 18px 44px rgba(13,25,43,.12)}
.mfa-qr-panel img{width:220px;height:220px;image-rendering:pixelated}
.mfa-qr-fallback{color:#64748b;font-weight:900}
.mfa-setup-copy{min-width:0;display:grid;align-content:center;gap:8px}
.mfa-setup-copy h3{font-size:22px;margin:0}.mfa-setup-copy p{margin:0}
.mfa-secret-key{display:block;border:1px dashed #9bb4d6;border-radius:10px;background:#fff;padding:12px;font-size:15px;font-weight:950;letter-spacing:1px;white-space:normal;word-break:break-word;color:#102033}
.mfa-verify-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:end;border-top:1px solid #dbe5f2;padding-top:18px}
.mfa-verify-form label{display:grid;gap:7px;font-weight:900;color:#25324a}.mfa-verify-form input{height:44px;border:1px solid #cfdaea;border-radius:8px;padding:9px 12px;font-weight:900;font-size:18px;letter-spacing:3px}
.mfa-login-setup{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #dbe5f2;border-radius:12px;background:#f8fbff;padding:12px}
.mfa-login-setup img{width:140px;height:140px;background:#fff;border:1px solid #e5ecf5;border-radius:10px;padding:8px}.mfa-login-setup code{display:block;margin-top:6px;white-space:normal;word-break:break-word;font-weight:950}
@media(max-width:820px){.mfa-setup-grid,.mfa-setup-main,.mfa-verify-form,.mfa-login-setup{grid-template-columns:1fr}.mfa-setup-steps{display:none}.mfa-qr-panel{width:100%;height:auto;aspect-ratio:1/1}.mfa-qr-panel img{width:82%;height:82%}}
.app-flash{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0;border-radius:10px;padding:13px 14px!important;border:1px solid #cfe0ff!important;background:#f7fbff!important;color:#102033!important;box-shadow:0 14px 34px rgba(13,25,43,.1);transition:opacity .28s ease,transform .28s ease}
.app-flash strong{font-size:14px}.app-flash button{width:30px;height:30px;border-radius:8px;border:1px solid rgba(15,23,42,.1);background:#fff;color:#475569;box-shadow:none;font-size:18px;line-height:1}
.app-flash-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#2f6ff2;color:#fff}.app-flash-icon svg{width:18px;height:18px}
.app-flash-welcome{background:linear-gradient(135deg,#ecfdf5,#eef6ff)!important;border-color:#b7ead1!important}
.app-flash-welcome .app-flash-icon,.app-flash-ok .app-flash-icon,.app-flash-success .app-flash-icon{background:#0f9f6e}
.app-flash-bad,.app-flash-error{background:#fff5f5!important;border-color:#fecaca!important}.app-flash-bad .app-flash-icon,.app-flash-error .app-flash-icon{background:#dc2626}
.app-flash.is-dismissing{opacity:0;transform:translateY(-8px)}
.app-confirm-modal{width:min(560px,calc(100vw - 32px))}
.app-confirm-modal .location-move-callout{margin:12px 0;background:#fff8f1;border-color:#fed7aa}
.app-confirm-modal.is-info .location-move-callout{background:#f7fbff;border-color:#bfdbfe}
.app-confirm-modal.is-info [data-app-confirm-icon]{background:#2563eb}
.app-confirm-modal.is-info [data-app-confirm-accept]{background:#2563eb}
.app-confirm-modal.is-danger [data-app-confirm-icon]{background:#dc2626}

.asset-index-hero{
  align-items:stretch!important;
}
.asset-index-hero > div:first-child{
  min-width:240px;
}
.asset-index-hero-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(86px,1fr));
  gap:8px;
  align-items:stretch;
  flex:1 1 420px;
}
.asset-index-hero-summary span{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:10px 12px;
  min-width:0;
}
.asset-index-hero-summary b{
  display:block;
  color:#172033;
  font-size:22px;
  line-height:1;
  margin-bottom:4px;
}
.asset-index-hero-summary small{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.asset-index-hero-actions{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
}
.asset-index-hero-actions .btn,
.asset-index-hero-actions button{
  min-height:38px;
  white-space:nowrap;
}
@media(max-width:1180px){
  .asset-index-hero{
    display:grid!important;
  }
  .asset-index-hero-actions{
    justify-content:flex-start;
  }
}
@media(max-width:720px){
  .asset-index-hero-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .asset-index-hero-actions .btn,
  .asset-index-hero-actions button{
    width:100%;
  }
  .asset-index-hero-actions{
    flex-wrap:wrap;
  }
}
.profile-login-history-wrap{padding:14px}.profile-login-history-table td:last-child{max-width:520px;white-space:normal;color:#53657f;font-weight:700}
.asset-server-pagination .table-page-btn.disabled,.helpdesk-server-pagination .table-page-btn.disabled{opacity:.45;pointer-events:none}
.people-welcome-toggle{margin-bottom:12px}.people-welcome-email-grid{align-content:start}.people-email-toolbar{margin-top:7px}.people-email-toolbar button{font-size:12px}.people-welcome-editor{min-height:260px;border:1px solid #d4dfed;border-radius:0 0 10px 10px;background:#fff;padding:14px;line-height:1.55;outline:none;overflow:auto;font-weight:700;color:#263348}.people-welcome-editor:focus{border-color:#8fb6ff;box-shadow:0 0 0 3px rgba(47,111,242,.12)}
.migration-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.migration-health-tile{border:1px solid var(--line);border-radius:10px;background:#fbfcff;padding:14px;display:grid;gap:7px;align-content:start}.migration-health-tile small{color:var(--muted);font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.migration-health-tile b{font-size:20px;color:#111827}.migration-health-tile .badge{width:max-content}.migration-health-table-wrap{margin-top:12px}.migration-health-table td{vertical-align:top}.migration-health-table code{background:#f3f6fb;border:1px solid #dfe6f2;border-radius:6px;padding:3px 6px;color:#33415f}.migration-health-notes{white-space:normal!important;min-width:260px;color:#53657f;font-weight:800}.migration-health-footnote{margin:12px 0 0}@media(max-width:900px){.migration-health-grid{grid-template-columns:1fr}}
.push-notification-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  border:1px solid #bfdbfe!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  padding:14px!important;
  margin-bottom:14px!important;
}
.push-notification-icon{
  width:44px!important;
  height:44px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:#2563eb!important;
  color:#fff!important;
}
.push-notification-icon .ui-icon{width:22px!important;height:22px!important}
.push-notification-card h4{margin:0 0 3px!important;font-size:16px!important;color:#0f172a!important}
.push-notification-card p{margin:0!important}
.push-notification-card button{white-space:nowrap!important}
.push-notification-actions{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important}
.push-login-prompt{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  gap:12px!important;
  align-items:center!important;
  margin:14px 0!important;
  border:1px solid #bfdbfe!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  padding:13px 14px!important;
  box-shadow:0 14px 34px rgba(13,25,43,.1)!important;
}
.push-login-prompt[hidden]{display:none!important}
.push-login-prompt strong,.push-login-prompt small{display:block!important}
.push-login-prompt strong{font-size:14px!important;color:#102033!important}
.push-login-prompt small{color:#526078!important;font-weight:800!important;margin-top:2px!important}
.push-login-prompt .icon-btn{background:#fff!important;border:1px solid rgba(15,23,42,.1)!important}
@media(max-width:760px){
  .push-notification-card{grid-template-columns:auto minmax(0,1fr)!important}
  .push-notification-actions{grid-column:1/-1!important;display:grid!important}
  .push-notification-card button{width:100%!important}
  .push-login-prompt{grid-template-columns:auto minmax(0,1fr) auto!important}
  .push-login-prompt .primary{grid-column:1/-1!important;width:100%!important}
}

/* Asset detail: keep the three summary cards on the first row for smaller desktop widths. */
@media(min-width:1020px){
  .asset-design3-shell{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.54fr) minmax(0,.62fr)!important;
    gap:12px!important;
  }
  .asset-design3-shell .asset-d3-main-card,
  .asset-design3-shell .warranty-d3-card,
  .asset-design3-shell .assignment-d3-card{
    grid-column:auto!important;
    min-width:0!important;
  }
  .asset-d3-main-card{
    grid-template-columns:160px minmax(0,1fr)!important;
    gap:16px!important;
    padding:14px 16px!important;
  }
  .asset-d3-visual{
    width:160px!important;
    min-height:210px!important;
    height:210px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    justify-items:center!important;
    place-items:start center!important;
  }
  .asset-d3-visual img{
    max-width:148px!important;
    max-height:114px!important;
  }
  .asset-d3-visual .asset-barcode-label{
    align-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .asset-d3-title-row{
    padding-right:124px!important;
  }
  .asset-d3-title-row h1{
    font-size:21px!important;
  }
  .asset-status-actions{
    top:14px!important;
    right:14px!important;
    max-width:196px!important;
    grid-template-columns:minmax(82px,auto) 34px!important;
  }
  .asset-alert-hero-btn{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
  }
  .assignment-d3-card{
    padding:12px!important;
  }
  .assignment-clean-person{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px!important;
    padding:11px!important;
  }
  .assignment-d3-card .avatar.lg{
    width:42px!important;
    height:42px!important;
  }
  .assignment-clean-copy h2{
    font-size:18px!important;
  }
}
@media(max-width:1019px){
  .asset-design3-shell{
    grid-template-columns:1fr!important;
  }
}

/* Edit asset modal: stable dialog size and non-overlapping section buttons. */
.asset-edit-modal{
  width:min(1040px,calc(100vw - 40px))!important;
  height:min(820px,calc(100vh - 48px))!important;
  max-height:calc(100vh - 48px)!important;
}
.asset-edit-form{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.asset-edit-form .edit-tabs{
  position:relative!important;
  top:auto!important;
  z-index:4!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  overflow:visible!important;
  padding:10px 16px!important;
}
.asset-edit-form .edit-tabs button{
  flex:0 0 auto!important;
  min-height:36px!important;
  padding:8px 13px!important;
}
.asset-edit-form .edit-panel{
  min-height:0!important;
  padding:16px 16px 22px!important;
  overflow:auto!important;
}
.asset-edit-form .edit-panel.active{
  flex:1 1 auto!important;
}
.asset-edit-form [data-edit-panel="details"] .form-grid > label{
  align-self:start;
}
.asset-edit-form [data-edit-panel="details"] .form-grid input,
.asset-edit-form [data-edit-panel="details"] .form-grid select,
.asset-edit-form [data-edit-panel="details"] .input-action-row .btn{
  min-height:38px;
}
.asset-edit-form [data-edit-panel="details"] .input-action-row .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.asset-edit-actions{
  flex:0 0 auto!important;
}
@media(max-width:720px){
  .asset-edit-modal{
    width:calc(100vw - 24px)!important;
    height:calc(100vh - 24px)!important;
    max-height:calc(100vh - 24px)!important;
  }
  .asset-edit-form .edit-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .asset-edit-form .edit-tabs button{
    width:100%!important;
  }
}

.asset-history-table td:nth-child(2){
  white-space:normal!important;
  color:#25324a!important;
  font-weight:800!important;
}
.asset-history-table td:nth-child(1){
  width:190px!important;
}
.asset-history-table td:nth-child(3){
  width:180px!important;
}
.asset-history-event{
  display:grid!important;
  gap:8px!important;
}
.asset-history-event strong{
  color:#172033!important;
}
.asset-history-change-list{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.asset-history-change-list li{
  display:grid!important;
  grid-template-columns:minmax(120px,190px) minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:7px 9px!important;
}
.asset-history-change-list b{
  color:#33415f!important;
  font-size:11px!important;
  text-transform:uppercase!important;
}
.asset-history-change-list span{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.asset-history-change-list del,
.asset-history-change-list ins{
  border-radius:7px!important;
  padding:3px 7px!important;
  font-weight:900!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.asset-history-change-list del{
  color:#991b1b!important;
  background:#fee2e2!important;
  text-decoration:line-through!important;
}
.asset-history-change-list ins{
  color:#166534!important;
  background:#dcfce7!important;
  text-decoration:none!important;
}
.asset-history-change-list em{
  color:#64748b!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.asset-audit-grid{
  display:grid!important;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.asset-audit-summary-table th,
.asset-audit-trail-table th{
  background:#f8fbff!important;
  color:#526078!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.asset-audit-summary-table td,
.asset-audit-trail-table td{
  padding:10px 12px!important;
  vertical-align:top!important;
}
.asset-audit-summary-table td:first-child{
  width:145px!important;
  color:#667085!important;
  font-weight:900!important;
}
.asset-audit-summary-table td:last-child,
.asset-audit-trail-table td:nth-child(2),
.asset-audit-trail-table td:nth-child(5){
  color:#25324a!important;
  font-weight:800!important;
}
.asset-audit-trail-table td:nth-child(1){
  width:120px!important;
  white-space:nowrap!important;
}
.asset-audit-trail-table td:nth-child(2){
  width:130px!important;
}
.asset-audit-trail-table td:nth-child(3){
  width:130px!important;
}
.asset-audit-trail-table td:nth-child(4){
  width:140px!important;
}
.asset-audit-trail-table td small{
  display:block!important;
  margin-top:4px!important;
  color:#667085!important;
  font-weight:800!important;
}
@media(max-width:900px){
  .asset-audit-grid{
    grid-template-columns:1fr!important;
  }
}
.responsibility-log-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.responsibility-summary-table th,
.responsibility-log-table th{
  background:#f8fbff!important;
  color:#526078!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.responsibility-summary-table td,
.responsibility-log-table td{
  padding:10px 12px!important;
  vertical-align:top!important;
}
.responsibility-summary-table td:first-child{
  width:150px!important;
  color:#667085!important;
  font-weight:900!important;
}
.responsibility-summary-table td:last-child,
.responsibility-log-table td:nth-child(3),
.responsibility-log-table td:nth-child(4),
.responsibility-log-table td:nth-child(5){
  color:#25324a!important;
  font-weight:800!important;
}
.responsibility-log-table td small{
  display:block!important;
  margin-top:4px!important;
  color:#667085!important;
  font-weight:800!important;
}
.responsibility-log-table td:nth-child(1){
  min-width:220px!important;
}
.responsibility-log-table td:nth-child(2){
  width:150px!important;
}
@media(max-width:900px){
  .responsibility-log-grid{
    grid-template-columns:1fr!important;
  }
}
.linked-accessory-table td{
  vertical-align:middle!important;
}
.linked-accessory-table td small{
  display:block!important;
  margin-top:4px!important;
  color:#667085!important;
  font-weight:800!important;
}
.linked-accessory-table .asset-title small{
  color:#667085!important;
  font-size:11px!important;
}
.linked-parent-note{
  margin-top:10px!important;
  font-weight:850!important;
}
.accessory-link-modal{
  width:min(1080px,calc(100vw - 36px))!important;
  padding:0!important;
  height:min(720px,calc(100vh - 36px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.accessory-link-modal form{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  flex:1!important;
}
.accessory-link-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.accessory-link-title h2,
.accessory-link-title p{
  margin:0!important;
}
.accessory-link-icon{
  width:42px!important;
  height:42px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef5ff!important;
  color:#2563eb!important;
  border:1px solid #d8e7ff!important;
}
.accessory-link-icon svg{
  width:22px!important;
  height:22px!important;
}
.accessory-link-layout{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:14px!important;
  min-height:0!important;
  flex:1!important;
  overflow:hidden!important;
}
.accessory-link-parent{
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:14px!important;
  display:grid!important;
  gap:12px!important;
  align-content:start!important;
}
.accessory-link-parent>small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.accessory-parent-card{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:10px!important;
}
.accessory-parent-card b,
.accessory-parent-card span,
.accessory-parent-card small{
  display:block!important;
}
.accessory-parent-card b{
  color:#172033!important;
  font-size:16px!important;
}
.accessory-parent-card span,
.accessory-parent-card small{
  color:#667085!important;
  font-weight:850!important;
}
.accessory-link-parent label{
  display:grid!important;
  gap:7px!important;
  color:#25324a!important;
  font-weight:900!important;
}
.accessory-link-parent select,
.accessory-link-parent textarea{
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#25324a!important;
  font-weight:850!important;
  padding:9px 11px!important;
}
.accessory-link-parent textarea{
  resize:none!important;
}
.accessory-selected-preview{
  border:1px dashed #bfdbfe!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:11px!important;
}
.accessory-selected-preview small,
.accessory-selected-preview b,
.accessory-selected-preview span{
  display:block!important;
}
.accessory-selected-preview small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.accessory-selected-preview b{
  margin-top:4px!important;
  color:#172033!important;
  font-size:16px!important;
}
.accessory-selected-preview span{
  color:#667085!important;
  font-weight:850!important;
}
.accessory-picker-panel{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.accessory-picker-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px!important;
  border-bottom:1px solid #e5ecf5!important;
  background:#fbfdff!important;
}
.accessory-picker-toolbar .search-field{
  flex:1!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:0 10px!important;
  color:#64748b!important;
}
.accessory-picker-toolbar .search-field svg{
  width:18px!important;
  height:18px!important;
  flex:0 0 auto!important;
}
.accessory-picker-toolbar input{
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  height:40px!important;
  padding:0!important;
  flex:1!important;
  min-width:0!important;
  font-weight:850!important;
}
.accessory-picker-list{
  overflow:auto!important;
  padding:10px!important;
  display:grid!important;
  gap:8px!important;
}
.accessory-picker-option{
  width:100%!important;
  border:1px solid #e0e8f3!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#172033!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) minmax(180px,.62fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px!important;
  text-align:left!important;
  box-shadow:none!important;
}
.accessory-picker-option:hover,
.accessory-picker-option.selected{
  border-color:#a9c7ff!important;
  background:#f5f9ff!important;
}
.accessory-picker-option.selected{
  box-shadow:inset 0 0 0 2px #2f6ff2!important;
}
.accessory-option-main b,
.accessory-option-main span,
.accessory-option-main small,
.accessory-option-meta small,
.accessory-option-meta b{
  display:block!important;
}
.accessory-option-main b{
  font-size:15px!important;
}
.accessory-option-main span,
.accessory-option-main small,
.accessory-option-meta small{
  color:#667085!important;
  font-weight:850!important;
}
.accessory-option-main small,
.accessory-option-meta small{
  font-size:11px!important;
}
.accessory-option-meta{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:2px 8px!important;
  align-items:center!important;
  min-width:0!important;
}
.accessory-option-meta b{
  color:#25324a!important;
  font-size:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.accessory-picker-empty{
  min-height:220px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:8px!important;
  color:#64748b!important;
  text-align:center!important;
  padding:24px!important;
}
.accessory-picker-empty svg{
  width:36px!important;
  height:36px!important;
  color:#94a3b8!important;
}
.accessory-picker-empty b{
  color:#25324a!important;
}
@media(max-width:900px){
  .accessory-link-modal{
    height:calc(100vh - 24px)!important;
  }
  .accessory-link-layout{
    grid-template-columns:1fr!important;
    overflow:auto!important;
  }
  .accessory-link-parent,
  .accessory-picker-panel{
    min-height:auto!important;
  }
  .accessory-picker-option{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .accessory-option-meta{
    grid-column:1/-1!important;
  }
}
.asset-repair-ticket-table td:nth-child(1){
  width:130px!important;
}
.asset-repair-ticket-table td:nth-child(1) small,
.asset-repair-ticket-table td:nth-child(2) small{
  display:block!important;
  margin-top:4px!important;
  color:#64748b!important;
  font-weight:600!important;
}
.asset-repair-ticket-table td:nth-child(2){
  min-width:260px!important;
  white-space:normal!important;
}
.asset-repair-ticket-table .ticket-number-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:96px!important;
  text-decoration:none!important;
}
.asset-document-table td{
  vertical-align:middle!important;
}
.asset-document-table td:nth-child(1){
  min-width:300px!important;
  white-space:normal!important;
}
.asset-document-table td:nth-child(3),
.asset-document-table td:nth-child(4){
  white-space:nowrap!important;
  color:#25324a!important;
  font-weight:800!important;
}
.document-file-cell{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
}
.document-file-cell b,
.document-file-cell small{
  display:block!important;
}
.document-file-cell b{
  color:#172033!important;
  font-size:13px!important;
  overflow-wrap:anywhere!important;
}
.document-file-cell small{
  margin-top:3px!important;
  color:#667085!important;
  font-weight:800!important;
}
.document-file-icon{
  width:38px!important;
  height:38px!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  border:1px solid #dbe5f2!important;
  background:#f8fbff!important;
  color:#64748b!important;
}
.document-file-icon svg{
  width:19px!important;
  height:19px!important;
}
.document-file-icon.pdf{
  background:#fff1f2!important;
  border-color:#fecdd3!important;
  color:#be123c!important;
}
.document-file-icon.image{
  background:#ecfdf5!important;
  border-color:#bbf7d0!important;
  color:#047857!important;
}
.document-file-icon.word{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}
.document-file-icon.sheet{
  background:#f0fdf4!important;
  border-color:#bbf7d0!important;
  color:#15803d!important;
}
.document-actions{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
}
.document-actions form{
  margin:0!important;
}
.document-actions .btn{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  white-space:nowrap!important;
}
.asset-document-upload-modal{
  width:min(720px,calc(100vw - 36px))!important;
}
.document-upload-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.document-upload-title h2,
.document-upload-title p{
  margin:0!important;
}
.document-dropzone{
  border:1px dashed #b7c7dd!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:14px!important;
}
.document-dropzone input[type=file]{
  margin-top:8px!important;
  width:100%!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
}
.document-dropzone small{
  display:block!important;
  margin-top:8px!important;
  color:#667085!important;
  font-weight:800!important;
}
.asset-document-picker{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px!important;
  border:1px dashed #b7c7dd!important;
  border-radius:10px!important;
  background:#f8fbff!important;
}
.asset-document-picker.has-files{
  border-color:#8fb6ff!important;
  background:#f0f7ff!important;
}
.asset-image-picker.is-dragging{
  border-color:#8fb6ff!important;
  background:#f0f6ff!important;
}
.add-asset-content .asset-image-choice-row{
  display:grid!important;
  grid-template-columns:minmax(210px,300px) minmax(280px,390px)!important;
  gap:10px!important;
  align-items:end!important;
  justify-content:start!important;
}
.add-asset-content .asset-image-choice-row label{
  min-width:0!important;
}
.add-asset-content .asset-image-choice-row select{
  max-width:300px!important;
}
.add-asset-content .asset-image-choice-row .asset-image-picker{
  min-width:0!important;
  align-self:end!important;
  padding:9px 10px!important;
  gap:10px!important;
}
.add-asset-content .asset-image-choice-row .asset-document-picker-main strong{
  white-space:nowrap!important;
}
.add-asset-content .asset-image-choice-row .document-file-icon{
  width:32px!important;
  height:32px!important;
}
.add-asset-content .asset-image-choice-row .document-file-icon svg{
  width:16px!important;
  height:16px!important;
}
.add-asset-content .asset-image-choice-row .asset-document-picker-actions .btn{
  min-height:30px!important;
  padding:7px 10px!important;
}
.asset-document-picker-main{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.asset-document-picker-main>div{
  min-width:0!important;
}
.asset-document-picker-main strong,
.asset-document-picker-main small{
  display:block!important;
}
.asset-document-picker-main strong{
  color:#172033!important;
  font-size:13px!important;
}
.asset-document-picker-main small{
  color:#667085!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.asset-document-picker-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.asset-document-picker-actions [hidden]{
  display:none!important;
}
.asset-document-picker-actions .btn{
  min-height:34px!important;
}
.asset-document-attachment-body{
  display:grid!important;
  gap:12px!important;
}
.asset-document-dropzone.is-dragging{
  border-color:#8fb6ff!important;
  background:#f0f6ff!important;
}
.asset-document-empty{
  margin-top:12px!important;
  padding:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#667085!important;
  font-weight:800!important;
  text-align:center!important;
}
.asset-document-file-list{
  margin-top:12px!important;
}
.asset-d3-image-button{
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0 auto!important;
  cursor:pointer!important;
  min-width:0!important;
}
.asset-d3-image-button img{
  display:block!important;
}
.asset-d3-image-button:focus-visible{
  outline:3px solid rgba(37,99,235,.35)!important;
  outline-offset:6px!important;
  border-radius:10px!important;
}
.asset-media-modal{
  width:min(1080px,calc(100vw - 36px))!important;
  height:min(600px,calc(100vh - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.asset-media-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border-bottom:1px solid #dbe5f2!important;
  margin:0 -2px 14px!important;
  padding-bottom:10px!important;
  overflow-x:auto!important;
}
.asset-media-tabs button{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:36px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#25324a!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.asset-media-tabs button.active{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
.asset-media-tabs button b{
  display:inline-grid!important;
  place-items:center!important;
  min-width:20px!important;
  height:20px!important;
  border-radius:999px!important;
  background:#e8eef8!important;
  color:#334155!important;
  font-size:11px!important;
}
.asset-media-tabs button.active b{
  background:#dbeafe!important;
  color:#1d4ed8!important;
}
.asset-media-upload-btn{
  margin-left:auto!important;
}
.asset-media-panel{
  display:none!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
}
.asset-media-panel.active{
  display:block!important;
}
.asset-media-image-stage{
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  height:250px!important;
  min-height:220px!important;
  max-height:44vh!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#fbfdff,#f6f8fb)!important;
  overflow:hidden!important;
  padding:18px!important;
}
.asset-media-image-stage img{
  position:absolute!important;
  inset:18px!important;
  width:calc(100% - 36px)!important;
  height:calc(100% - 36px)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
}
.asset-media-image-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(118px,138px))!important;
  justify-content:start!important;
  gap:9px!important;
  margin-top:12px!important;
}
.asset-media-image-tile{
  display:grid!important;
  gap:5px!important;
  align-content:start!important;
  min-width:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  padding:7px!important;
  text-align:left!important;
}
button.asset-media-image-tile{
  cursor:pointer!important;
}
.asset-media-image-tile.active{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 3px rgba(147,197,253,.26)!important;
}
.asset-media-image-tile span,
.asset-media-image-thumb{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  border:1px solid #e5edf7!important;
  border-radius:7px!important;
  background:#f8fbff!important;
  overflow:hidden!important;
}
.asset-media-image-thumb{
  cursor:pointer!important;
}
.asset-media-image-tile img{
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.asset-media-image-tile b,
.asset-media-image-tile small{
  display:block!important;
  min-width:0!important;
}
.asset-media-image-tile b{
  font-size:11px!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}
.asset-media-image-tile small{
  color:#667085!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.asset-media-image-tile .document-actions{
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:1px!important;
}
.asset-media-image-tile .document-actions .btn{
  min-height:26px!important;
  height:26px!important;
  padding:0 7px!important;
  font-size:11px!important;
}
.asset-media-panel[data-asset-media-panel="files"] .asset-document-table-wrap{
  min-height:100%!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fbfdff!important;
}
.asset-media-panel[data-asset-media-panel="files"] .asset-document-table{
  height:100%!important;
  border:0!important;
  margin:0!important;
}
.asset-media-panel[data-asset-media-panel="files"] .asset-document-table tbody tr:only-child td[colspan]{
  height:300px!important;
  text-align:center!important;
  vertical-align:middle!important;
  background:#fbfdff!important;
}
@media(max-width:760px){
  .document-actions{
    flex-wrap:wrap!important;
  }
  .asset-media-modal{
    width:calc(100vw - 18px)!important;
    height:calc(100vh - 18px)!important;
  }
  .asset-media-tabs{
    align-items:stretch!important;
  }
  .asset-media-upload-btn{
    margin-left:0!important;
  }
  .asset-media-image-stage{
    height:260px!important;
    min-height:220px!important;
  }
  .asset-media-image-grid{
    grid-template-columns:repeat(auto-fill,minmax(108px,1fr))!important;
  }
  .asset-document-picker{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .add-asset-content .asset-image-choice-row{
    grid-template-columns:1fr!important;
  }
  .add-asset-content .asset-image-choice-row select{
    max-width:none!important;
  }
  .asset-document-picker-actions{
    width:100%!important;
    justify-content:stretch!important;
  }
  .asset-document-picker-actions .btn{
    flex:1 1 auto!important;
  }
}
.asset-legacy-repair-head{
  margin-top:18px!important;
}

.people-typeahead-results{
  display:none!important;
  max-height:214px!important;
  margin-top:6px!important;
  overflow:auto!important;
  border-color:#cfdcf0!important;
  border-radius:10px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.12)!important;
}
.circulation-shell .people-typeahead-results:not(:empty){
  display:grid!important;
}
.people-typeahead-results .person-result{
  min-height:62px!important;
  padding:9px 10px!important;
  align-items:center!important;
  gap:11px!important;
}
.people-typeahead-results .person-result b{
  font-size:13px!important;
}
.people-typeahead-results .person-result small{
  display:block!important;
  line-height:1.25!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.people-typeahead-results .person-result .avatar{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  font-size:14px!important;
}
.scan-entry-board #peopleResults.people-typeahead-results{
  max-height:322px!important;
  overflow:hidden!important;
}
.person-scan-step-body{
  position:relative!important;
}
.person-scan-step-body #peopleResults.people-typeahead-results{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% - 2px)!important;
  z-index:2000!important;
  margin-top:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.scan-input-wrap .person-picker-trigger{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#3346d3!important;
  padding:0!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.scan-input-wrap .person-picker-trigger:hover,
.scan-input-wrap .person-picker-trigger:focus-visible{
  border-color:#bfdbfe!important;
  background:#eef4ff!important;
  outline:0!important;
}
.scan-input-wrap .person-picker-trigger .ui-icon{
  width:18px!important;
  height:18px!important;
}
.scan-input-wrap .asset-picker-trigger{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#3346d3!important;
  padding:0!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.scan-input-wrap .asset-picker-trigger:hover,
.scan-input-wrap .asset-picker-trigger:focus-visible{
  border-color:#bfdbfe!important;
  background:#eef4ff!important;
  outline:0!important;
}
.scan-input-wrap .asset-picker-trigger .ui-icon{
  width:18px!important;
  height:18px!important;
}
.checkout-person-picker-modal{
  width:min(980px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 48px)!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  overflow:hidden!important;
}
.checkout-person-picker-modal.is-browsing{
  height:min(760px,calc(100vh - 48px))!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
}
.checkout-person-picker-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  margin-bottom:14px!important;
}
.checkout-person-picker-toolbar[hidden]{
  display:none!important;
}
.checkout-person-picker-search{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:42px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:0 12px!important;
  color:#3346d3!important;
}
.checkout-person-picker-search input{
  width:100%!important;
  border:0!important;
  background:transparent!important;
  outline:0!important;
  color:#172033!important;
  font-weight:700!important;
}
.checkout-person-picker-search input:disabled{
  color:#94a3b8!important;
}
.checkout-person-picker-view[hidden]{
  display:none!important;
}
.checkout-person-picker-view[data-person-picker-view="home"]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-content:start!important;
  min-height:0!important;
}
.checkout-person-picker-loading{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:12px!important;
  border:1px solid #bfdbfe!important;
  border-radius:12px!important;
  background:#eff6ff!important;
  color:#172033!important;
  padding:12px 14px!important;
}
.checkout-person-picker-loading[hidden]{
  display:none!important;
}
.checkout-person-picker-loading>span{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
  background:#dbeafe!important;
  color:#2358dc!important;
}
.checkout-person-picker-loading .ui-icon{
  animation:checkout-person-picker-spin .9s linear infinite!important;
}
.checkout-person-picker-loading b,
.checkout-person-picker-loading small{
  display:block!important;
}
.checkout-person-picker-loading b{
  font-size:13px!important;
  font-weight:800!important;
}
.checkout-person-picker-loading small{
  color:#456179!important;
  font-size:12px!important;
  font-weight:650!important;
}
@keyframes checkout-person-picker-spin{
  to{ transform:rotate(360deg); }
}
.checkout-person-picker-card{
  min-height:142px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:13px!important;
  align-content:center!important;
  text-align:left!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#172033!important;
  padding:18px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
  cursor:pointer!important;
}
.checkout-person-picker-card:hover,
.checkout-person-picker-card:focus-visible{
  border-color:#93c5fd!important;
  background:#f8fbff!important;
  outline:0!important;
}
.checkout-person-picker-card:disabled,
.checkout-person-picker-card[aria-disabled="true"]{
  opacity:.58!important;
  cursor:wait!important;
  box-shadow:none!important;
}
.checkout-person-picker-card:disabled:hover,
.checkout-person-picker-card[aria-disabled="true"]:hover{
  border-color:#dbe5f2!important;
  background:#fff!important;
}
.checkout-person-picker-card>span{
  grid-row:1 / span 2!important;
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  border-radius:12px!important;
  background:#eef4ff!important;
  color:#3346d3!important;
}
.checkout-person-picker-card strong{
  align-self:end!important;
  font-size:18px!important;
  font-weight:700!important;
}
.checkout-person-picker-card small{
  align-self:start!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
}
.checkout-person-picker-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-auto-rows:minmax(138px,max-content)!important;
  align-content:start!important;
  gap:10px!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  padding:2px 2px 4px!important;
}
.checkout-person-picker-person{
  min-width:0!important;
  min-height:138px!important;
  display:grid!important;
  justify-items:center!important;
  align-content:start!important;
  gap:7px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  padding:12px 9px!important;
  text-align:center!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  cursor:pointer!important;
}
.checkout-person-picker-person:hover,
.checkout-person-picker-person:focus-visible{
  border-color:#93c5fd!important;
  background:#f8fbff!important;
  outline:0!important;
}
.checkout-person-picker-person .avatar{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  font-size:18px!important;
}
.checkout-person-picker-person .person-picker-name{
  display:block!important;
  max-width:100%!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.checkout-person-picker-person small{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  max-width:100%!important;
  min-height:28px!important;
  overflow:hidden!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
.checkout-person-picker-empty{
  grid-column:1 / -1!important;
  display:grid!important;
  place-items:center!important;
  min-height:180px!important;
  border:1px dashed #cbd5e1!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  font-weight:700!important;
  text-align:center!important;
}
.checkout-person-picker-view[hidden]{
  display:none!important;
}
@media(max-width:1080px){
  .checkout-person-picker-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .checkout-person-picker-modal.is-browsing{
    height:min(720px,calc(100vh - 28px))!important;
  }
  .checkout-person-picker-toolbar,
  .checkout-person-picker-view[data-person-picker-view="home"]{
    grid-template-columns:1fr!important;
  }
  .checkout-person-picker-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
.checkout-asset-picker-modal{
  width:min(1040px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 48px)!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  overflow:hidden!important;
}
.checkout-asset-picker-modal.is-browsing{
  height:min(780px,calc(100vh - 48px))!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
}
.checkout-asset-picker-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin-bottom:14px!important;
}
.checkout-asset-picker-toolbar[hidden],
.checkout-asset-picker-filter[hidden]{
  display:none!important;
}
.checkout-asset-picker-search{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:42px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:0 12px!important;
  color:#3346d3!important;
}
.checkout-asset-picker-search input{
  width:100%!important;
  border:0!important;
  background:transparent!important;
  outline:0!important;
  color:#172033!important;
  font-weight:700!important;
}
.checkout-asset-picker-filter{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:0 12px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
.checkout-asset-picker-view[hidden]{
  display:none!important;
}
.checkout-asset-picker-view[data-asset-picker-view="home"]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.checkout-asset-picker-loading{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:12px!important;
  border:1px solid #bfdbfe!important;
  border-radius:12px!important;
  background:#eff6ff!important;
  color:#172033!important;
  padding:12px 14px!important;
}
.checkout-asset-picker-loading[hidden]{
  display:none!important;
}
.checkout-asset-picker-loading>span{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
  background:#dbeafe!important;
  color:#2358dc!important;
}
.checkout-asset-picker-loading .ui-icon{
  animation:checkout-asset-picker-spin .9s linear infinite!important;
}
.checkout-asset-picker-loading b,
.checkout-asset-picker-loading small{
  display:block!important;
}
.checkout-asset-picker-loading b{
  font-size:13px!important;
  font-weight:800!important;
}
.checkout-asset-picker-loading small{
  color:#456179!important;
  font-size:12px!important;
  font-weight:650!important;
}
@keyframes checkout-asset-picker-spin{
  to{ transform:rotate(360deg); }
}
.checkout-asset-picker-card,
.checkout-asset-category-card{
  position:relative!important;
  min-height:142px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:13px!important;
  align-content:center!important;
  text-align:left!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#172033!important;
  padding:18px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
  cursor:pointer!important;
}
.checkout-asset-picker-card:hover,
.checkout-asset-picker-card:focus-visible,
.checkout-asset-category-card:hover,
.checkout-asset-category-card:focus-visible{
  border-color:#93c5fd!important;
  background:#f8fbff!important;
  outline:0!important;
}
.checkout-asset-picker-card>span,
.checkout-asset-category-card>span{
  grid-row:1 / span 3!important;
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  border-radius:12px!important;
  background:#eef4ff!important;
  color:#3346d3!important;
}
.checkout-asset-picker-card strong,
.checkout-asset-category-card strong{
  align-self:end!important;
  font-size:18px!important;
  font-weight:700!important;
}
.checkout-asset-picker-card small,
.checkout-asset-category-card small{
  align-self:start!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
}
.checkout-asset-picker-card em{
  display:block!important;
  min-height:0!important;
  color:#b91c1c!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:700!important;
}
.checkout-asset-category-card{
  min-height:86px!important;
  padding:12px!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  column-gap:10px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.checkout-asset-category-card>span{
  width:40px!important;
  height:40px!important;
  border-radius:10px!important;
}
.checkout-asset-category-card strong{
  font-size:14px!important;
  font-weight:650!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.checkout-asset-category-card small{
  font-size:11px!important;
  font-weight:650!important;
}
.checkout-asset-picker-card:disabled,
.checkout-asset-picker-card.is-loading{
  opacity:.58!important;
  cursor:wait!important;
  box-shadow:none!important;
}
.checkout-asset-picker-card:disabled:hover,
.checkout-asset-picker-card.is-loading:hover{
  border-color:#dbe5f2!important;
  background:#fff!important;
}
.checkout-asset-picker-card.is-disabled,
.checkout-asset-category-card.is-disabled,
.checkout-asset-result-card.is-disabled{
  background:#f8fafc!important;
  border-color:#e2e8f0!important;
  color:#94a3b8!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  opacity:.72!important;
}
.checkout-asset-picker-card.is-disabled>span,
.checkout-asset-category-card.is-disabled>span{
  background:#f1f5f9!important;
  color:#94a3b8!important;
}
.checkout-asset-category-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  min-height:0!important;
  overflow:auto!important;
  padding:2px 2px 4px!important;
}
.checkout-asset-results-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:minmax(226px,max-content)!important;
  align-content:start!important;
  gap:12px!important;
  min-height:0!important;
  overflow:auto!important;
  padding:2px 2px 4px!important;
}
.checkout-asset-result-card{
  min-width:0!important;
  display:grid!important;
  grid-template-rows:96px minmax(0,auto) auto!important;
  gap:9px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#172033!important;
  padding:10px!important;
  text-align:left!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  cursor:pointer!important;
}
.checkout-asset-result-card:hover,
.checkout-asset-result-card:focus-visible{
  border-color:#93c5fd!important;
  background:#f8fbff!important;
  outline:0!important;
}
.checkout-asset-result-image{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:96px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  overflow:hidden!important;
}
.checkout-asset-result-image img{
  max-width:92%!important;
  max-height:84px!important;
  object-fit:contain!important;
}
.checkout-asset-result-image .ui-icon{
  width:36px!important;
  height:36px!important;
  color:#94a3b8!important;
}
.checkout-asset-result-copy{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
.checkout-asset-result-copy .asset-picker-tag{
  color:#172033!important;
  font-size:14px!important;
  font-weight:750!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.checkout-asset-result-copy small{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
.asset-picker-badge{
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  border-radius:999px!important;
  background:#eef2ff!important;
  color:#3346d3!important;
  padding:0 9px!important;
  font-size:11px!important;
  font-weight:800!important;
}
.asset-picker-badge.ok{background:#dcfce7!important;color:#166534!important}
.asset-picker-badge.warn{background:#fef3c7!important;color:#92400e!important}
.asset-picker-badge.bad{background:#fee2e2!important;color:#991b1b!important}
.checkout-asset-picker-empty{
  grid-column:1 / -1!important;
  display:grid!important;
  place-items:center!important;
  min-height:220px!important;
  border:1px dashed #cbd5e1!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  font-weight:700!important;
  text-align:center!important;
}
.checkout-asset-picker-view[hidden]{
  display:none!important;
}
@media(max-width:1100px){
  .checkout-asset-category-grid,
  .checkout-asset-results-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .checkout-asset-picker-modal.is-browsing{
    height:min(740px,calc(100vh - 28px))!important;
  }
  .checkout-asset-picker-toolbar,
  .checkout-asset-picker-view[data-asset-picker-view="home"]{
    grid-template-columns:1fr!important;
  }
  .checkout-asset-category-grid,
  .checkout-asset-results-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
body:not(.nav-collapsed) .checkout-person-panel.has-person .person-photo,
.checkout-person-panel.has-person .person-photo{
  width:92px!important;
  height:92px!important;
  margin:12px auto 10px!important;
  font-size:30px!important;
}
body:not(.student-shell) .main:has(.asset-directory-card){
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.student-shell) .main:has(.asset-directory-card) > .app-footer{
  margin-top:auto!important;
}
.circulation-shell .circ-hero{grid-template-columns:minmax(220px,1fr) minmax(640px,max-content) auto!important}.circulation-shell .circ-controls{align-items:center;gap:10px!important}.homeroom-flow-cluster{order:-2;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap}.homeroom-mode-toggle{min-height:48px;display:inline-flex;align-items:center;gap:10px;border:1px solid #cfe0ff;border-radius:14px;background:#fff;color:#172033;padding:7px 10px;box-shadow:0 10px 24px rgba(15,23,42,.08)}.homeroom-flow-cluster .batch-mode-switch{flex:0 0 auto}.homeroom-flow-cluster .batch-mode-pill{min-height:38px!important;padding:6px 10px!important}
.homeroom-mode-toggle.active{border-color:#9fd6b5;background:#f3fff7}
.homeroom-toggle-copy{display:grid;text-align:left;line-height:1.15}.homeroom-toggle-copy b{font-size:13px;font-weight:950}.homeroom-toggle-copy small{color:#64748b;font-weight:900}
.homeroom-toggle-track{width:44px;height:24px;border-radius:999px;background:#dbe5f2;padding:3px;transition:background .16s ease}.homeroom-toggle-knob{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.22);transition:transform .16s ease}.homeroom-mode-toggle.active .homeroom-toggle-track{background:#22c55e}.homeroom-mode-toggle.active .homeroom-toggle-knob{transform:translateX(20px)}
.homeroom-roster-panel{position:relative;display:grid;gap:12px}.homeroom-roster-panel[hidden]{display:none!important}body.checkout-homeroom-mode .scan-layout{display:none!important}
.homeroom-roster-head{display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(420px,.9fr);gap:14px;align-items:stretch}.homeroom-roster-controls,.homeroom-kpis,.homeroom-roster-card{border:1px solid #dbe5f2;border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.homeroom-roster-controls{display:grid;grid-template-columns:170px minmax(240px,1fr);gap:14px;align-items:center;padding:14px}.homeroom-status-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border:1px solid #dbe5f2;border-radius:10px;background:#f8fbff;padding:8px 10px;color:#172033;font-weight:950}.homeroom-status-toggle b{border-radius:999px;background:#22c55e;color:#fff;padding:4px 9px;font-size:11px}
.homeroom-roster-controls label{display:grid;gap:6px;color:#334155;font-size:11px;font-weight:950}.homeroom-roster-controls select{height:42px;border:1px solid #dbe5f2;border-radius:9px;background:#fff;color:#172033;font-weight:850;padding:0 12px}
.homeroom-kpis{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.homeroom-kpis div{display:grid;place-items:center;align-content:center;min-height:74px;border-right:1px solid #eef2f7}.homeroom-kpis div:last-child{border-right:0}.homeroom-kpis b{color:#2563eb;font-size:23px;font-weight:950;line-height:1}.homeroom-kpis span{color:#334155;font-size:11px;font-weight:950}.homeroom-kpis .warn b{color:#dc2626}.homeroom-kpis .ok b{color:#16a34a}.homeroom-kpis .bad b{color:#ef4444}
.homeroom-roster-card{overflow:hidden}.homeroom-roster-card h3{margin:0;padding:14px 16px;border-bottom:1px solid #eef2f7;font-size:16px}.homeroom-table-wrap{overflow:auto}.homeroom-roster-table{width:100%;border-collapse:separate;border-spacing:0}.homeroom-roster-table th,.homeroom-roster-table td{padding:10px 12px;border-bottom:1px solid #e6edf6;text-align:left;vertical-align:middle;white-space:nowrap}.homeroom-roster-table th{background:#f8fafc;color:#475569;font-size:11px;font-weight:950}
.homeroom-student-cell{display:flex;align-items:center;gap:10px}.homeroom-student-cell b,.homeroom-roster-table td b{display:block;color:#172033;font-size:12px}.homeroom-student-cell small,.homeroom-roster-table td small{display:block;color:#64748b;font-size:11px;font-weight:800}.homeroom-device-cell{display:flex;align-items:center;gap:10px}.homeroom-device-thumb{width:42px!important;height:32px!important;border-radius:8px!important;flex:0 0 42px}.homeroom-device-thumb img{max-width:36px!important;max-height:26px!important;object-fit:contain!important}.homeroom-status{display:inline-flex;align-items:center;gap:7px;color:#64748b;font-size:12px;font-weight:900}.homeroom-status i{width:9px;height:9px;border-radius:50%;background:#94a3b8}.homeroom-status.out i,.homeroom-status.ready i{background:#16a34a}.homeroom-status.overdue i{background:#ef4444}.homeroom-empty-device{color:#94a3b8;font-weight:900}.homeroom-row-actions{display:flex;align-items:center;gap:7px}.homeroom-checkin-btn{min-height:28px;padding:5px 9px;border-color:#fecaca!important;background:#fff1f2!important;color:#b91c1c!important}.homeroom-checkin-btn:hover{background:#ffe4e6!important;border-color:#fca5a5!important;box-shadow:0 8px 18px rgba(185,28,28,.12)!important}.homeroom-checkin-btn:disabled,.homeroom-checkin-btn.disabled{border-color:#d8dee8!important;background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}
.homeroom-checkout-modal{width:min(660px,calc(100vw - 32px))!important}.homeroom-checkout-body{display:grid;gap:14px}.homeroom-checkout-student{display:flex;align-items:center;gap:13px;border:1px solid #dbe5f2;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#fff);padding:14px}.homeroom-checkout-student .avatar{width:54px!important;height:54px!important}.homeroom-checkout-student b{display:block;color:#172033;font-size:17px;font-weight:950}.homeroom-checkout-student small{display:block;color:#64748b;font-size:12px;font-weight:850}.homeroom-checkout-label{display:grid;gap:7px;color:#334155;font-size:12px;font-weight:950}.homeroom-checkout-scan{display:flex;align-items:center;gap:10px;min-height:58px;border:2px solid #bfdbfe;border-radius:14px;background:#f8fbff;padding:0 14px;box-shadow:0 10px 24px rgba(37,99,235,.08)}.homeroom-checkout-scan .ui-icon{width:24px;height:24px;color:#2563eb}.homeroom-checkout-scan input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;font-size:20px!important;font-weight:950;color:#172033;outline:0}.homeroom-device-results{display:grid;gap:8px;min-height:52px}.homeroom-device-result{display:flex;align-items:center;gap:11px;width:100%;min-height:58px;border:1px solid #dbe5f2;border-radius:12px;background:#fff;text-align:left;padding:9px 11px;color:#172033;box-shadow:0 8px 18px rgba(15,23,42,.06)}.homeroom-device-result:hover{border-color:#93c5fd;background:#f8fbff}.homeroom-device-result b{display:block;font-size:13px;font-weight:950}.homeroom-device-result small{display:block;color:#64748b;font-size:11px;font-weight:800}.homeroom-device-empty{display:flex;align-items:center;min-height:52px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;font-weight:850;padding:0 13px}.homeroom-device-empty.warn{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.homeroom-submit-checkin{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
@media(max-width:980px){.homeroom-roster-head,.homeroom-roster-controls{grid-template-columns:1fr}.homeroom-kpis{grid-template-columns:repeat(2,1fr)}}

/* Homeroom roster: avoid nested vertical scrollbars in normal page mode. */
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-roster-card{
  overflow:visible!important;
}
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-table-wrap{
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  scrollbar-gutter:auto;
}
body.checkout-kiosk-mode.checkout-homeroom-mode .circulation-shell{
  overflow:hidden!important;
}
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-roster-panel{
  height:calc(100vh - 86px)!important;
  min-height:0!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-roster-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-table-wrap{
  flex:1 1 auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.login-branding-preview-modal{
  width:min(980px,calc(100vw - 36px))!important;
}
.login-branding-preview-frame{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:16px;
  padding:4px 0 2px;
}
.login-branding-preview-panel{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#0f172a;
}
.login-branding-preview-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.login-branding-preview-panel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,42,.08),rgba(15,23,42,.42));
}
.login-branding-preview-glass{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin:24px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:14px;
  background:rgba(255,255,255,.3);
  color:#fff;
  font-weight:950;
  backdrop-filter:blur(12px);
}
.login-branding-preview-glass img{
  width:42px;
  height:42px;
  object-fit:contain;
}
.login-branding-preview-title{
  position:absolute;
  z-index:1;
  left:26px;
  right:26px;
  bottom:28px;
  color:#fff;
}
.login-branding-preview-title h1{
  margin:0;
  font-size:clamp(30px,4vw,52px);
  line-height:1;
}
.login-branding-preview-card{
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:26px;
  display:grid;
  align-content:center;
  gap:13px;
}
.login-preview-input{
  height:44px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
}
.login-image-choice-panel{
  display:grid;
  gap:10px;
}
.settings-mini-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.settings-mini-head b{
  color:#172033;
  font-weight:950;
}
.settings-mini-head small{
  color:#64748b;
  font-weight:800;
}
.login-image-choice-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:10px;
}
.login-image-choice{
  position:relative;
  display:grid!important;
  gap:7px!important;
  padding:8px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  cursor:pointer;
}
.login-image-choice input{
  position:absolute;
  top:9px;
  left:9px;
  z-index:2;
}
.login-image-choice img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #e5ecf5;
}
.login-image-choice span{
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.login-image-choice.selected{
  border-color:#2563eb!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.13)!important;
}
.login-image-choice.inactive,
.login-theme-choice.inactive{
  opacity:.58;
}
.login-image-choice.inactive{
  box-shadow:none!important;
  border-color:#dbe5f2!important;
}
.login-theme-choice-grid{
  grid-template-columns:repeat(6,minmax(120px,1fr));
}
.login-theme-choice.selected{
  border-color:#2563eb!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.13)!important;
}
@media(max-width:980px){
  .login-image-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .login-theme-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .login-branding-preview-frame{
    grid-template-columns:1fr;
  }
  .login-branding-preview-panel{
    min-height:320px;
  }
}
.people-typeahead-results .person-result mark{
  background:#fff1a8!important;
  color:inherit!important;
  border-radius:4px!important;
  padding:0 2px!important;
}
.people-typeahead-results .typeahead-empty{
  padding:14px!important;
  color:#64748b!important;
  font-weight:850!important;
  text-align:center!important;
}
body.checkout-kiosk-mode .people-typeahead-results{
  max-height:214px!important;
}

/* Checkout circulation kiosk mode */
.kiosk-toggle-btn{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#3346d3!important;
  display:inline-grid!important;
  place-items:center!important;
  padding:0!important;
  box-shadow:0 8px 22px rgba(13,25,43,.08)!important;
}
.kiosk-toggle-btn:hover{
  background:#f5f9ff!important;
  border-color:#b8ccff!important;
}
.kiosk-toggle-btn.active{
  background:#102033!important;
  border-color:#102033!important;
  color:#fff!important;
}
.kiosk-toggle-btn .ui-icon{
  width:20px!important;
  height:20px!important;
}
.kiosk-toggle-btn [data-kiosk-exit]{
  display:none!important;
}
.kiosk-toggle-btn.active [data-kiosk-enter]{
  display:none!important;
}
.kiosk-toggle-btn.active [data-kiosk-exit]{
  display:grid!important;
}
body.checkout-kiosk-mode{
  background:#eef3f8!important;
}
body.checkout-kiosk-mode .sidebar,
body.checkout-kiosk-mode .topbar,
body.checkout-kiosk-mode .app-footer,
body.checkout-kiosk-mode .system-notice-banner{
  display:none!important;
}
body.checkout-kiosk-mode .layout{
  display:block!important;
  min-height:100vh!important;
}
body.checkout-kiosk-mode .main{
  margin-left:0!important;
  width:100%!important;
  min-height:100vh!important;
  padding:0!important;
  overflow-x:hidden!important;
}
body.checkout-kiosk-mode .circulation-shell{
  min-height:100vh!important;
  gap:12px!important;
  padding:74px 12px 12px!important;
}
body.checkout-kiosk-mode .circ-hero{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:1000!important;
  margin:0!important;
  min-height:62px!important;
  padding:8px 14px!important;
  border-radius:0!important;
  border-top:0!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
body.checkout-kiosk-mode .circ-hero>div:first-child{
  grid-column:1!important;
  grid-row:1!important;
}
body.checkout-kiosk-mode .circ-hero h1{
  font-size:20px!important;
  margin:0!important;
  line-height:1.05!important;
}
body.checkout-kiosk-mode .circ-hero p{
  display:none!important;
}
body.checkout-kiosk-mode .circ-hero .eyebrow{
  margin-bottom:1px!important;
  line-height:1!important;
}
body.checkout-kiosk-mode .circ-controls{
  grid-column:2!important;
  grid-row:1!important;
  width:auto!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
}
body.checkout-kiosk-mode .circ-setting-note{
  display:none!important;
}
body.checkout-kiosk-mode .scan-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 380px!important;
  grid-template-rows:auto minmax(260px,1fr)!important;
  padding-right:0!important;
  align-items:stretch!important;
  gap:14px!important;
  min-height:calc(100vh - 86px)!important;
}
body.checkout-kiosk-mode .live-panel,
body.checkout-kiosk-mode .tips-row,
body.checkout-kiosk-mode .preview-panel,
body.checkout-kiosk-mode .quick-action-panel{
  display:none!important;
}
body.checkout-kiosk-mode .checkout-person-panel{
  position:static!important;
  width:auto!important;
  max-height:none!important;
  grid-column:2!important;
  grid-row:1!important;
  overflow:visible!important;
}
body.checkout-kiosk-mode .checkout-person-card,
body.checkout-kiosk-mode .person-info-list{
  max-height:none!important;
}
body.checkout-kiosk-mode .scan-entry-board{
  display:grid!important;
  grid-column:1!important;
  grid-row:1!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  align-items:start!important;
  min-height:0!important;
  padding:16px!important;
  gap:16px!important;
  overflow:visible!important;
}
body.checkout-kiosk-mode .scan-steps-column{
  min-height:0!important;
  align-content:start!important;
}
body.checkout-kiosk-mode .scan-steps-column .primary-step:nth-of-type(2){
  margin-top:42px!important;
}
body.checkout-kiosk-mode .scan-feedback-panel{
  align-self:start!important;
  justify-self:stretch!important;
  min-height:260px!important;
  max-height:none!important;
  padding:24px!important;
  gap:14px!important;
  position:relative!important;
  z-index:1!important;
}
body.checkout-kiosk-mode .scan-feedback-panel .scan-feedback-icon{
  width:64px!important;
  height:64px!important;
  font-size:32px!important;
  border-width:3px!important;
}
body.checkout-kiosk-mode .scan-feedback-panel h2{
  font-size:24px!important;
}
body.checkout-kiosk-mode .scan-feedback-panel p{
  max-width:300px!important;
  margin:0!important;
  font-size:14px!important;
}
body.checkout-kiosk-mode .scan-card,
body.checkout-kiosk-mode .preview-panel{
  min-height:0!important;
}
body.checkout-kiosk-mode .checkout-history-panel{
  grid-column:1 / -1!important;
  grid-row:2!important;
  margin-top:0!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
body.checkout-kiosk-mode .checkout-history-card{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
body.checkout-kiosk-mode .checkout-table-wrap{
  min-height:0!important;
  overflow:auto!important;
}
@media(max-width:1100px){
  body.checkout-kiosk-mode .circ-hero{
    grid-template-columns:1fr!important;
  }
  body.checkout-kiosk-mode .circ-controls,
  body.checkout-kiosk-mode .circ-hero>div:first-child{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  body.checkout-kiosk-mode .scan-layout{
    grid-template-columns:1fr!important;
  }
  body.checkout-kiosk-mode .scan-entry-board{
    grid-template-columns:1fr!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  body.checkout-kiosk-mode .checkout-person-panel,
  body.checkout-kiosk-mode .checkout-history-panel{
    grid-column:auto!important;
    grid-row:auto!important;
  }
body.checkout-kiosk-mode .scan-layout{
    min-height:0!important;
    grid-template-rows:auto!important;
  }
}

/* People Directory: keep the server-rendered table stable on refresh and give names room. */
.people-table[data-no-table-enhance="1"]{
  table-layout:fixed!important;
}
.people-table[data-no-table-enhance="1"]:not(.resizable-table) th[data-col="person"],
.people-table[data-no-table-enhance="1"]:not(.resizable-table) td[data-col="person"]{
  width:clamp(280px,30vw,390px)!important;
  min-width:280px!important;
  max-width:390px!important;
}
.people-table[data-resize-only="1"].resizable-table th[data-col],
.people-table[data-resize-only="1"].resizable-table td[data-col]{
  max-width:none!important;
}
.people-table[data-no-table-enhance="1"] td[data-col="person"] .person-cell{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.people-table[data-no-table-enhance="1"] td[data-col="person"] .person-cell > div:last-child{
  min-width:0!important;
  max-width:100%!important;
}
.people-table[data-no-table-enhance="1"] td[data-col="person"] .person-cell b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.people-table[data-no-table-enhance="1"] td[data-col="person"] .subtext{
  display:none!important;
}
.people-table[data-resize-only="1"].resizable-table th.resizable-th{
  position:relative!important;
  overflow:visible!important;
  padding-right:18px!important;
}
.people-table[data-resize-only="1"].resizable-table th.resizable-th .table-th-resize-wrap{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.people-table[data-resize-only="1"].resizable-table th.resizable-th .table-th-resize-wrap>button{
  min-width:0!important;
  flex:1 1 auto!important;
  justify-content:flex-start!important;
}
.people-table[data-resize-only="1"].resizable-table th.resizable-th .table-col-resizer{
  display:inline-flex!important;
  flex:0 0 16px!important;
  width:16px!important;
  height:24px!important;
  margin-left:auto!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.people-table[data-resize-only="1"].resizable-table th.resizable-th .table-col-resizer:before{
  opacity:.48!important;
}
.people-table[data-resize-only="1"].resizable-table th.resizable-th:hover .table-col-resizer:before,
.people-table[data-resize-only="1"].resizable-table .table-col-resizer:hover:before{
  opacity:.8!important;
}

/* Clean People Directory table. Avoid legacy .people-table overrides so shared resizing works. */
.people-directory-table{
  width:max(100%,1180px)!important;
  min-width:100%!important;
  table-layout:fixed!important;
}
.people-directory-table th,
.people-directory-table td{
  vertical-align:middle!important;
}
.people-directory-table th[data-col="select"],
.people-directory-table td[data-col="select"]{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  text-align:center!important;
}
.people-directory-table th[data-col="select"] input[type="checkbox"],
.people-directory-table td[data-col="select"] input[type="checkbox"]{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
}
.people-directory-table th[data-col="actions"],
.people-directory-table td[data-col="actions"]{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  overflow:visible!important;
}
.people-directory-table .person-cell{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.people-directory-table .person-cell > div:last-child{
  min-width:0!important;
  max-width:100%!important;
}
.people-directory-table td[data-col="person"] .person-cell b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.people-directory-table td[data-col="person"] .subtext{
  display:none!important;
}
.people-directory-table .avatar.md{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  font-size:12px!important;
}
.people-directory-table th button[data-people-sort]{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.people-directory-table th button[data-people-sort]::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #b8c4d5;
}
.people-directory-table th button[data-people-sort].active::after{
  border-top-color:#2563eb;
}
.people-directory-table th.resizable-th{
  overflow:visible!important;
}
.people-directory-table .table-col-resizer{
  display:inline-flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Global photo-avatar crop: keep imported headshots consistently framed. */
body .photo-avatar img,
body .avatar.photo-avatar img,
body .avatar.photo-avatar[class] img,
body .clean-user-menu .avatar.photo-avatar img,
body .topbar-user .avatar.photo-avatar img,
body .user-menu-head .avatar.photo-avatar img{
  object-fit:cover!important;
  object-position:center center!important;
  transform:translateY(-8%) scale(1.08)!important;
  transform-origin:center center!important;
}
.people-directory-table .avatar.photo-avatar img{
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}

.asset-checkout-block-notice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;margin:10px 0 12px;padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;color:#991b1b;font-weight:850;max-width:960px}
.asset-checkout-block-notice.is-collapsed{padding:6px 10px;gap:0 8px}
.asset-checkout-block-notice b{font-size:13px;color:#7f1d1d;font-weight:900}
.asset-checkout-block-notice span{font-size:12px;color:#991b1b;min-width:0;overflow-wrap:anywhere;font-weight:500}
.asset-checkout-block-details{grid-column:1 / -1;display:grid;gap:8px;max-height:180px;opacity:1;overflow:hidden;transform:translateY(0);transition:max-height .24s ease,opacity .18s ease,transform .24s ease,margin-top .24s ease}
.asset-checkout-block-notice.is-collapsed .asset-checkout-block-details{max-height:0;opacity:0;transform:translateY(-5px);margin-top:-6px;pointer-events:none}
.asset-checkout-block-ticket-links{display:flex;flex-wrap:wrap;gap:8px}
.asset-checkout-block-notice a,.asset-checkout-block-notice button{display:inline-flex;align-items:center;gap:5px;border:1px solid #fecaca;border-radius:999px;background:#fff;color:#b91c1c;text-decoration:none;padding:5px 8px;font-size:11px;font-weight:900;line-height:1.1}
.asset-checkout-block-notice a:hover,.asset-checkout-block-notice button:hover{background:#fee2e2;text-decoration:none}
.asset-checkout-block-toggle{justify-self:end;width:26px;height:26px;justify-content:center!important;padding:0!important;font-size:17px!important;font-weight:950!important;line-height:1!important}
.asset-checkout-block-notice.is-collapsed .asset-checkout-block-toggle{width:22px;height:22px;font-size:15px!important}
.asset-checkout-block-toggle-close{display:inline}
.asset-checkout-block-toggle-open{display:none}
.asset-checkout-block-notice.is-collapsed .asset-checkout-block-toggle-close{display:none}
.asset-checkout-block-notice.is-collapsed .asset-checkout-block-toggle-open{display:inline}
.asset-checkout-block-notice .asset-checkout-block-inline-link{display:inline!important;border:0!important;border-radius:0!important;background:transparent!important;color:#7f1d1d!important;text-decoration:underline!important;padding:0!important;font-size:12px!important;font-weight:950!important;line-height:inherit!important}
.asset-checkout-block-notice .asset-checkout-block-inline-link:hover{background:transparent!important;color:#991b1b!important;text-decoration:none!important}


/* Label Wizard */
.label-wizard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px}
.label-wizard-hero h1{margin:4px 0}.label-wizard-hero p{margin:0;color:var(--muted);font-weight:800}
.label-wizard-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 360px;gap:14px;align-items:start}
.label-template-list,.label-template-editor,.label-preview-panel{padding:14px}.label-template-list{display:grid;gap:8px}
.label-template-item{display:grid;gap:3px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:10px;text-decoration:none;color:var(--text)}
.label-template-item.active,.label-template-item:hover{border-color:#bfc9ff;background:#f7f9ff;text-decoration:none}.label-template-item small{color:var(--muted);font-weight:800}
.label-block-builder{display:grid;gap:9px;margin-top:14px}.label-block-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.label-block-row{display:grid;grid-template-columns:100px 1.2fr 1fr .65fr .65fr 70px 78px auto;gap:8px;align-items:center;border:1px solid #e3eaf6;border-radius:8px;background:#fbfcff;padding:8px}
.label-block-row input,.label-block-row select{height:36px;padding:7px 8px}.label-bold-toggle{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:900}.label-bold-toggle input{width:14px;height:14px}
.label-preview-stage{display:grid;place-items:center;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;padding:14px;min-height:240px}.label-preview-panel form{margin-top:12px}
.label-print-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dbe5f2;border-radius:8px;box-shadow:0 10px 28px rgba(15,23,42,.08);padding:14px;margin-bottom:14px}.label-print-toolbar h1{margin:3px 0}.label-print-toolbar p{margin:0;color:#64748b;font-weight:800}
.label-print-document{display:grid;place-items:center;background:#fff;border:1px solid #dbe5f2;border-radius:8px;box-shadow:0 12px 32px rgba(15,23,42,.08);padding:18px;overflow:auto}
.label-render-sheet{display:grid;grid-template-columns:repeat(var(--label-columns),var(--label-width));column-gap:var(--label-column-gap,0);row-gap:var(--label-row-gap,0);margin:auto;background:#fff;color:#0f172a}.label-render-sheet.sheet-stock{box-sizing:border-box;width:var(--label-page-width,auto);min-height:var(--label-page-height,auto);padding:var(--label-margin-top,0) var(--label-margin-right,0) var(--label-margin-bottom,0) var(--label-margin-left,0);align-content:start;justify-content:start}.label-render-sheet.single-stock{grid-template-columns:var(--label-width)}
.label-render-card{box-sizing:border-box;width:var(--label-width);height:var(--label-height);border:1px dashed #cbd5e1;background:#fff;padding:.08in .12in;display:grid;align-content:start;gap:2px;overflow:hidden;page-break-inside:avoid}
.label-render-sheet[data-stock="dymo_2187918"] .label-render-card,
.label-render-sheet[data-stock="dymo_30336"] .label-render-card{
  padding:.09in .075in .035in .075in;
  gap:1px;
}
.label-render-card .label-line{line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-render-card .label-line.strong{font-weight:950}.label-render-barcode{display:grid;align-items:center;min-height:.25in}.label-render-barcode .code128-label{width:100%;height:.32in}.label-render-barcode .code128-label text{display:none}.label-render-qr{display:grid;justify-items:center;align-items:center;min-height:.65in}.label-render-qr img{width:.72in;height:.72in;object-fit:contain}
.label-render-sheet[data-stock="dymo_2187918"] .label-render-barcode .code128-label,
.label-render-sheet[data-stock="dymo_30336"] .label-render-barcode .code128-label{
  height:.28in;
}
.asset-label-modal .label-preview-stage{min-height:360px;align-items:start}.asset-label-modal .form-grid{grid-template-columns:1fr 1fr}
@media(max-width:1100px){.label-wizard-layout{grid-template-columns:1fr}.label-block-row{grid-template-columns:1fr 1fr}.label-wizard-hero,.label-print-toolbar{align-items:flex-start;flex-direction:column}.label-preview-panel{order:2}}

.student-label-template-picker select{height:38px;min-width:190px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:7px 10px;font-weight:850;color:#0f172a}
.label-student-template-output .label-render-sheet{box-shadow:0 10px 28px rgba(15,23,42,.08);border:1px solid #dbe5f2;margin:0 auto 18px}
.label-render-card.empty-label-card{border-color:transparent;background:#fff}
@media print{body.student-label-print-body{background:#fff!important}.student-label-toolbar{display:none!important}.student-label-sheet-wrap{display:block!important;margin:0!important;padding:0!important}.label-student-template-output .label-render-sheet{box-shadow:none!important;border:0!important;margin:0!important;page-break-after:always;break-after:page}.label-student-template-output .label-render-sheet:last-child{page-break-after:auto;break-after:auto}.label-student-template-output .label-render-card{border-color:transparent!important}}

.homeroom-label-btn{min-height:28px;padding:5px 9px;border-color:#d8dee8!important;background:#f8fafc!important;color:#475569!important;font-weight:900!important}
.homeroom-label-btn:hover{background:#eef2f7!important;border-color:#cbd5e1!important;box-shadow:0 8px 18px rgba(15,23,42,.08)!important}
.homeroom-label-btn:disabled,.homeroom-label-btn.disabled{border-color:#d8dee8!important;background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}
.homeroom-label-btn:disabled .ui-icon,.homeroom-label-btn.disabled .ui-icon{color:#94a3b8!important}
.homeroom-row-actions{flex-wrap:wrap}
.homeroom-renew-btn{min-height:28px;padding:5px 9px;border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;font-weight:900!important}
.homeroom-renew-btn:hover{background:#dbeafe!important;border-color:#93c5fd!important;box-shadow:0 8px 18px rgba(29,78,216,.1)!important}
.homeroom-renew-btn:disabled,.homeroom-renew-btn.disabled{border-color:#d8dee8!important;background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}
.homeroom-renew-btn:disabled .ui-icon,.homeroom-renew-btn.disabled .ui-icon{color:#94a3b8!important}

.label-block-row{grid-template-columns:92px 1.15fr .9fr .58fr .58fr 66px 86px 112px 70px auto}
.label-block-row select[title=Alignment],.label-block-row select[title=Font]{min-width:0}
.homeroom-label-preview-modal{width:min(980px,96vw);padding:0;display:flex;flex-direction:column;overflow:hidden}
.homeroom-label-preview-modal .modal-head{padding:16px 16px 0;margin-bottom:12px}
.homeroom-label-preview-modal .modal-actions{padding:12px 16px 16px;margin-top:0;border-top:1px solid var(--line)}
.homeroom-label-preview-frame-wrap{height:min(70vh,760px);background:#f7f9fc;border-top:1px solid var(--line);overflow:hidden}
 .homeroom-label-preview-frame-wrap iframe{width:100%;height:100%;border:0;background:#fff}
@media(max-width:1100px){.label-block-row{grid-template-columns:1fr 1fr}.homeroom-label-preview-frame-wrap{height:68vh}}
.label-preview-barcode{border:1px solid #cbd5e1;background:repeating-linear-gradient(90deg,#0f172a 0 2px,transparent 2px 5px);min-height:.26in;position:relative;overflow:hidden}
.label-preview-barcode span{position:absolute;left:6px;right:6px;bottom:1px;background:rgba(255,255,255,.86);font-size:8px;font-weight:900;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.label-fit-note{display:grid;gap:3px;margin-top:10px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fafc;padding:9px 10px;color:#475569;font-size:11px;font-weight:800}
.label-fit-note b{color:#0f172a;font-size:12px}.label-fit-note span{line-height:1.35}.label-fit-note.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.label-fit-note.warn b{color:#9a3412}
.label-preview-error{position:absolute;left:10px;right:10px;bottom:10px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;color:#991b1b;padding:7px 9px;font-size:11px;font-weight:900}
.label-preview-frame-stage{display:block;padding:0;min-height:280px;background:#fff;overflow:hidden}
.label-preview-frame-stage iframe{display:block;width:100%;height:280px;border:0;background:#fff}
@media(max-width:1100px){.label-preview-frame-stage iframe{height:340px}}
.label-template-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;align-items:stretch}
.label-template-row .label-template-item{min-width:0}.label-template-row.active .label-template-item,.label-template-row:hover .label-template-item{border-color:#bfc9ff;background:#f7f9ff;text-decoration:none}
.label-template-row form{display:flex;margin:0}.label-template-trash{width:36px;min-width:36px;min-height:0;border:1px solid #fee2e2;border-radius:8px;background:#fff7f7;color:#b91c1c;padding:0;box-shadow:none}.label-template-trash:hover{background:#fee2e2;border-color:#fecaca;box-shadow:none}.label-template-trash .ui-icon{width:15px;height:15px}
.label-print-preview-modal{width:min(980px,96vw);padding:0;display:flex;flex-direction:column;overflow:hidden}.label-print-preview-modal .modal-head{padding:16px 16px 0;margin-bottom:12px}.label-print-preview-modal .modal-actions{padding:12px 16px 16px;margin-top:0;border-top:1px solid var(--line)}
.label-print-preview-frame-wrap{height:min(72vh,760px);background:#fff;border-top:1px solid var(--line);overflow:hidden}.label-print-preview-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
@media(max-width:760px){.label-print-preview-frame-wrap{height:68vh}.label-template-row{grid-template-columns:minmax(0,1fr) 34px}.label-template-trash{width:34px;min-width:34px}}

@media print{body.label-print-body .label-render-sheet.sheet-stock{width:var(--label-page-width,auto)!important;min-height:var(--label-page-height,auto)!important;padding:var(--label-margin-top,0) var(--label-margin-right,0) var(--label-margin-bottom,0) var(--label-margin-left,0)!important;column-gap:var(--label-column-gap,0)!important;row-gap:var(--label-row-gap,0)!important;box-shadow:none!important;border:0!important}body.label-print-body .label-render-card{border-color:transparent!important}}
.homeroom-label-controls{padding:0 16px 12px;border-bottom:1px solid var(--line);background:#fff}.homeroom-label-controls label{display:grid;gap:5px;font-size:11px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.homeroom-label-controls select{height:38px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:7px 10px;color:#0f172a;font-size:13px;font-weight:850;text-transform:none;letter-spacing:0}
.homeroom-teacher-picker{position:relative;min-width:260px;text-transform:none;letter-spacing:0}.homeroom-teacher-picker-button{width:100%;min-height:48px;display:flex;align-items:center;gap:10px;border:1px solid #dbe5f2;border-radius:10px;background:#fff;color:#172033;padding:6px 10px;text-align:left;box-shadow:0 8px 18px rgba(15,23,42,.06);cursor:pointer}.homeroom-teacher-picker-button:hover,.homeroom-teacher-picker.open .homeroom-teacher-picker-button{border-color:#93c5fd;background:#f8fbff}.homeroom-teacher-picker-copy{min-width:0;display:grid;gap:2px}.homeroom-teacher-picker-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172033;font-size:13px;font-weight:950}.homeroom-teacher-picker-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:11px;font-weight:850}.homeroom-teacher-picker-menu{display:none;position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow:auto;border:1px solid #dbe5f2;border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.18);padding:6px}.homeroom-teacher-picker.open .homeroom-teacher-picker-menu{display:grid;gap:4px}.homeroom-teacher-picker-option{width:100%;min-height:50px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:9px;background:#fff;color:#172033;padding:7px 8px;text-align:left;cursor:pointer}.homeroom-teacher-picker-option:hover,.homeroom-teacher-picker-option.selected{border-color:#bfdbfe;background:#eff6ff}.homeroom-teacher-picker-option span:not(.avatar){min-width:0;display:grid;gap:2px}.homeroom-teacher-picker-option b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950}.homeroom-teacher-picker-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:11px;font-weight:850}.homeroom-teacher-picker-empty{min-height:44px;display:flex;align-items:center;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:850;padding:0 10px}
.homeroom-roster-controls label{text-align:left;justify-items:stretch}.homeroom-status-toggle{justify-content:flex-start!important;white-space:nowrap}.homeroom-toggle-copy{display:flex!important;align-items:center;gap:6px;white-space:nowrap}.homeroom-toggle-copy b,.homeroom-toggle-copy small{line-height:1;white-space:nowrap}.homeroom-teacher-picker-button{justify-content:flex-start}.homeroom-teacher-picker-copy{justify-items:start;text-align:left}.homeroom-teacher-picker-option{justify-content:flex-start}.homeroom-teacher-picker-option span:not(.avatar){justify-items:start;text-align:left}
.homeroom-roster-controls{grid-template-columns:minmax(260px,1fr)!important}
.homeroom-checkout-btn:disabled,.homeroom-checkout-btn.disabled{border-color:#d8dee8!important;background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}
.label-render-card{display:flex!important;flex-direction:column!important;align-content:normal!important;align-items:stretch!important}.label-render-card .valign-middle{margin-top:auto!important;margin-bottom:auto!important}.label-render-card .valign-bottom{margin-top:auto!important}
.label-render-card .label-line{line-height:1.18!important;padding:.006in 0 .012in!important}
body.student-label-frame-body{background:#fff!important}.student-label-frame-body .student-label-sheet-wrap{padding:12px 10px 24px!important}.student-label-frame-body .label-render-sheet{margin:0 auto!important}
.label-template-row.protected{grid-template-columns:minmax(0,1fr) 36px}.label-template-lock{display:grid;place-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#f8fafc;color:#64748b}.label-template-lock .ui-icon{width:15px;height:15px}
.label-assignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #c7d2fe;border-radius:8px;background:#f7f9ff;padding:10px;margin-top:4px}.label-assignment-card>div{display:flex;align-items:flex-start;gap:8px;min-width:0}.label-assignment-card b,.label-assignment-card small{display:block}.label-assignment-card small{color:#64748b;font-weight:800;line-height:1.3}.label-assignment-card .ui-icon{color:#3346d3;flex:0 0 auto;margin-top:1px}.label-assignment-actions{display:grid!important;grid-template-columns:1fr;gap:6px;align-self:start}.label-assignment-actions .btn{justify-content:center;min-width:72px}
.label-batch-wizard{padding:0;overflow:hidden}.label-batch-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:680px}.label-batch-steps{display:grid;align-content:start;gap:10px;background:linear-gradient(180deg,#0d1f34,#14385c);padding:18px}.label-batch-steps button{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 10px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:transparent;color:#dbeafe;text-align:left;padding:12px}.label-batch-steps button.active{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}.label-batch-steps button span{grid-row:1 / span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.12);color:#bfdbfe}.label-batch-steps button.active span{background:#2f6ff2;color:#fff}.label-batch-steps button b{line-height:1.15}.label-batch-steps button small{color:#b8c7dd;font-size:11px;font-weight:850}.label-batch-form{display:grid;grid-template-rows:minmax(0,1fr);min-width:0}.label-batch-step{display:none;padding:22px;align-content:start;gap:16px;overflow:auto}.label-batch-step.active{display:grid}.label-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.label-source-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #dbe5f2;border-radius:10px;background:#fff;padding:12px;color:#172033;cursor:pointer}.label-source-card input{display:none}.label-source-card>.ui-icon{width:30px;height:30px;color:#3346d3}.label-source-card b,.label-source-card small{display:block}.label-source-card small{color:#64748b;font-weight:800;line-height:1.35}.label-source-card.active{border-color:#93c5fd;background:#f7fbff;box-shadow:0 10px 24px rgba(37,99,235,.1)}.label-source-panel{display:none}.label-source-panel.active{display:block}.label-wizard-note{display:flex;align-items:flex-start;gap:10px;border:1px solid #c7d2fe;border-radius:10px;background:#f7f9ff;padding:12px;color:#172033}.label-wizard-note b,.label-wizard-note small{display:block}.label-wizard-note small{color:#64748b;font-weight:800}.label-wizard-review{display:flex;gap:8px;flex-wrap:wrap}.label-wizard-preview-wrap{height:min(62vh,720px);border:1px solid #dbe5f2;border-radius:10px;overflow:hidden;background:#fff}.label-wizard-preview-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}@media(max-width:980px){.label-batch-shell{grid-template-columns:1fr}.label-batch-steps{display:none}.label-source-grid{grid-template-columns:1fr}.label-batch-step{padding:16px}.label-wizard-preview-wrap{height:68vh}}
.label-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.label-center-queue,.label-center-grid .label-center-panel:nth-child(3){grid-column:1/-1}.label-center-list{display:grid;gap:10px}.label-center-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #dbe5f2;border-radius:10px;background:#fbfdff;padding:11px}.label-center-row>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#eef4ff;color:#2458d3}.label-center-row b,.label-center-row small{display:block}.label-center-row small{color:#64748b;font-weight:850}.label-center-row form{margin:0}.label-center-wizard-modal{width:min(1220px,calc(100vw - 28px));height:min(860px,calc(100vh - 28px));padding:0;display:flex;flex-direction:column;overflow:hidden}.label-center-wizard-modal>.modal-head{padding:16px 18px 0;margin-bottom:12px}.label-center-wizard-modal .label-batch-shell{flex:1;min-height:0;border-top:1px solid #dbe5f2}.label-center-wizard-modal .label-batch-form,.label-center-wizard-modal .label-batch-step{min-height:0}.label-center-wizard-modal .label-wizard-preview-wrap{height:min(46vh,480px)}@media(max-width:980px){.label-center-grid{grid-template-columns:1fr}.label-center-row{grid-template-columns:36px minmax(0,1fr)}.label-center-row form{grid-column:2}.label-center-wizard-modal{height:calc(100vh - 20px)}}
.label-wizard-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #dbe5f2;background:#fff;padding:12px 16px}.label-wizard-footer button{min-width:112px}.label-wizard-footer button[hidden]{display:none!important}
.people-row-action-menu .table-action-menu-panel a,
.people-row-action-menu .table-action-menu-panel button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
  justify-content:flex-start!important;
}
.people-row-action-menu .table-action-menu-panel a:hover,
.people-row-action-menu .table-action-menu-panel button:hover{
  background:#f2f5ff!important;
  color:#3346d3!important;
}
.people-row-action-menu .table-action-menu-panel .ui-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}
.people-row-action-menu .table-action-menu-panel .danger-menu-action{
  color:#b42318!important;
}
.people-row-action-menu .table-action-menu-panel .danger-menu-action:hover{
  background:#fff1f2!important;
  color:#b42318!important;
}
.student-directory-actions .add-asset-dashboard-btn.toolbar-icon-btn,
.student-directory-actions .dashboard-tool-btn.toolbar-icon-btn{
  height:38px!important;
  min-height:38px!important;
  padding:0 14px!important;
  font-size:12px!important;
}
.student-directory-actions .add-asset-dashboard-btn.toolbar-icon-btn span,
.student-directory-actions .dashboard-tool-btn.toolbar-icon-btn span{
  font-size:12px!important;
  line-height:1!important;
}
.hr-request-action-menu .table-action-menu-panel a,
.hr-request-action-menu .table-action-menu-panel button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
  justify-content:flex-start!important;
}
.hr-request-action-menu .table-action-menu-panel a:hover,
.hr-request-action-menu .table-action-menu-panel button:hover{
  background:#f2f5ff!important;
  color:#3346d3!important;
}
.hr-request-action-menu .table-action-menu-panel .ui-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}
.hr-request-action-menu .table-action-menu-form{
  margin:0!important;
}
.hr-request-action-menu .table-action-menu-panel .danger-menu-action{
  color:#b42318!important;
}
.hr-request-action-menu .table-action-menu-panel .danger-menu-action:hover{
  background:#fff1f2!important;
  color:#b42318!important;
}
.asset-inventory-action-menu .table-action-menu-panel a,
.asset-inventory-action-menu .table-action-menu-panel button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
  justify-content:flex-start!important;
  appearance:none!important;
}
.asset-inventory-action-menu .table-action-menu-panel a:hover,
.asset-inventory-action-menu .table-action-menu-panel button:hover{
  background:#f2f5ff!important;
  color:#3346d3!important;
}
.asset-inventory-action-menu .table-action-menu-panel .ui-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}
.label-block-row{
  grid-template-columns:30px 92px 1.15fr .9fr .58fr .58fr 66px 86px 112px 70px auto!important;
}
.label-row-drag-handle{
  width:26px!important;
  height:34px!important;
  min-width:26px!important;
  padding:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#94a3b8!important;
  font-size:16px!important;
  font-weight:950!important;
  line-height:1!important;
  cursor:grab!important;
  display:grid!important;
  place-items:center!important;
  letter-spacing:-3px!important;
  box-shadow:none!important;
}
.label-row-drag-handle:hover{
  border-color:#b9c8ff!important;
  color:#3346d3!important;
  background:#f7f9ff!important;
}
.label-row-drag-handle:active{
  cursor:grabbing!important;
}
.label-block-row.dragging{
  opacity:.55;
  border-color:#8fb6ff!important;
  background:#f4f7ff!important;
}
@media(max-width:1100px){
  .label-block-row{grid-template-columns:30px 1fr!important;}
  .label-row-drag-handle{grid-row:1 / span 2;align-self:start;}
}
.label-row-drag-handle{
  user-select:none!important;
  -webkit-user-drag:element!important;
  touch-action:none!important;
}
.label-block-row:not(.dragging) .label-row-drag-handle:focus-visible{
  outline:3px solid rgba(51,70,211,.22)!important;
  outline-offset:2px!important;
}
.label-block-row{
  grid-template-columns:30px 86px 1.05fr .82fr .52fr .52fr 60px 74px 78px 94px 82px 86px 92px auto!important;
}
.label-block-row select[title="Cell alignment"],
.label-block-row select[title="Text alignment"]{
  min-width:0!important;
}
.label-render-card .valign-middle{
  margin-top:auto;
  margin-bottom:auto;
}
.label-render-card .valign-bottom{
  margin-top:auto;
}
.label-render-logo{
  line-height:1;
  min-height:.18in;
}
.label-render-logo img{
  width:.22in;
  height:.22in;
  object-fit:contain;
  vertical-align:middle;
}
.label-render-logo.valign-middle,
.label-render-logo.valign-bottom{
  display:block;
}
.label-render-qr.valign-middle,
.label-render-qr.valign-bottom{
  display:grid;
}
@media(max-width:1100px){
  .label-block-row{grid-template-columns:30px 1fr!important;}
}
.label-block-row{
  grid-template-columns:30px 88px minmax(150px,1.1fr) minmax(120px,.85fr) minmax(76px,.55fr) minmax(76px,.55fr) 62px 82px auto!important;
  position:relative;
}
.label-format-popover{
  position:relative;
  display:inline-flex;
  justify-content:center;
}
.label-format-popover summary{
  list-style:none;
  cursor:pointer;
  height:36px!important;
  min-height:36px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
  font-weight:900!important;
}
.label-format-popover summary::-webkit-details-marker{
  display:none;
}
.label-format-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:80;
  width:260px;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 44px rgba(13,25,43,.18);
}
.label-format-panel label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:11px;
  font-weight:900;
}
.label-format-panel select{
  width:100%;
  height:34px!important;
}
.label-format-toggles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.label-format-toggles label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:32px;
  border:1px solid #dbe5f2;
  border-radius:7px;
  background:#f8fafc;
  font-size:11px;
  font-weight:900;
}
.label-format-toggles input{
  width:14px!important;
  height:14px!important;
}
@media(max-width:1100px){
  .label-block-row{grid-template-columns:30px 1fr!important;}
  .label-format-popover{justify-content:flex-start;}
  .label-format-panel{left:0;right:auto;width:min(260px,calc(100vw - 64px));}
}
.label-render-card .label-line[style*="text-decoration"]{
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

.label-template-default-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:999px;background:#e8f2ff;color:#175cd3;font-size:11px;font-weight:700;vertical-align:middle}.label-default-toggle{display:flex!important;align-items:center;gap:8px;font-weight:700;color:#334155}.label-default-toggle input{width:auto}
.selected-asset-label-controls{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;padding:0 16px 12px}.selected-asset-label-controls label{margin:0}.label-render-card-empty{background:#fff;border-color:transparent!important}
@media(max-width:760px){.selected-asset-label-controls{grid-template-columns:1fr}}
.label-print-body .label-render-sheet + .label-render-sheet{margin-top:18px}
@media print{body.label-print-body .label-render-sheet.sheet-stock{break-after:page;page-break-after:always}body.label-print-body .label-render-sheet.sheet-stock:last-child{break-after:auto;page-break-after:auto}}
body.checkout-kiosk-mode.checkout-homeroom-mode .scan-layout{
  display:none!important;
}
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-roster-panel{
  display:grid!important;
}
body.checkout-homeroom-mode .homeroom-flow-cluster .batch-mode-switch,
body.checkout-homeroom-mode .mode-switch{
  display:none!important;
}
body.checkout-homeroom-mode .circ-controls{
  justify-content:flex-end!important;
}
.checkout-kiosk-brand-icon{
  display:none;
}
body.checkout-kiosk-mode .checkout-kiosk-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
body.checkout-kiosk-mode .checkout-kiosk-brand-icon{
  display:block!important;
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
  flex:0 0 38px!important;
}
body.checkout-kiosk-mode .checkout-kiosk-title>div{
  min-width:0!important;
}
body.checkout-kiosk-mode .circ-hero .checkout-kiosk-brand-icon{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:5px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
}
body.checkout-kiosk-mode .circ-hero{
  padding-left:70px!important;
  background-image:url('../img/salem-icon.png')!important;
  background-repeat:no-repeat!important;
  background-position:16px center!important;
  background-size:42px 42px!important;
}
body.checkout-kiosk-mode .circ-hero .checkout-kiosk-brand-icon{
  display:none!important;
}
body.checkout-kiosk-mode .scan-layout{
  padding-top:14px!important;
}
body.checkout-kiosk-mode .scan-feedback-panel{
  min-height:100%!important;
  height:100%!important;
  align-self:stretch!important;
}
body.checkout-kiosk-mode .scan-feedback-panel{
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
  align-self:start!important;
  overflow:auto!important;
}
body.checkout-kiosk-mode .scan-feedback-panel{
  height:260px!important;
  min-height:260px!important;
  max-height:260px!important;
}
.homeroom-roster-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.homeroom-roster-title span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.homeroom-roster-title small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-align:right!important;
}
.ldap-test-modal{
  width:min(560px,calc(100vw - 34px))!important;
}
.ldap-test-progress{
  display:grid;
  gap:14px;
}
.ldap-test-bar{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:#e5ecf5;
}
.ldap-test-bar span{
  display:block;
  width:70%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2f6ff2,#5eead4);
  animation:ldap-test-progress 1.2s ease-in-out infinite alternate;
}
.ldap-test-bar.ok span{
  width:100%;
  background:#16a34a;
  animation:none;
}
.ldap-test-bar.bad span{
  width:100%;
  background:#dc2626;
  animation:none;
}
.ldap-test-steps{
  display:grid;
  gap:8px;
}
.ldap-test-steps div{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:8px 10px;
  color:#334155;
  font-weight:850;
}
.ldap-test-steps b{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#dbeafe;
  color:#2458d3;
  font-size:13px;
}
.ldap-test-steps .ok b{
  background:#dcfce7;
  color:#15803d;
}
.ldap-test-steps .bad b{
  background:#fee2e2;
  color:#b91c1c;
}
.ldap-test-progress p{
  margin:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:11px 12px;
  color:#334155;
  font-weight:850;
}
.ldap-test-progress p.ok{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534;
}
.ldap-test-progress p.bad{
  border-color:#fecaca;
  background:#fff5f5;
  color:#991b1b;
}
.ldap-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.ldap-preview-grid[hidden]{
  display:none!important;
}
.ldap-preview-grid div{
  display:grid;
  gap:3px;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:9px 10px;
}
.ldap-preview-grid small{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.ldap-preview-grid b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#172033;
  font-size:13px;
  font-weight:900;
}
@keyframes ldap-test-progress{
  from{transform:translateX(-45%);}
  to{transform:translateX(45%);}
}
.ldap-ca-panel{
  display:grid;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:14px;
}
.ldap-ca-panel h3{
  margin:0;
  color:#172033;
}
.ldap-ca-panel textarea{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:12px;
  line-height:1.4;
}
.ldap-cert-card{
  display:grid;
  grid-template-columns:82px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  border:1px solid #cfe0ff;
  border-radius:8px;
  background:#fff;
  padding:12px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.ldap-cert-visual{
  display:grid;
  place-items:center;
  align-content:center;
  gap:4px;
  width:82px;
  height:62px;
  border-radius:8px;
  background:linear-gradient(135deg,#eef6ff,#ecfdf5);
  border:1px solid #dbeafe;
  color:#2458d3;
}
.ldap-cert-visual span{
  display:grid;
  place-items:center;
}
.ldap-cert-visual svg{
  width:22px;
  height:22px;
}
.ldap-cert-visual b{
  font-size:11px;
  letter-spacing:0;
  color:#0f172a;
}
.ldap-cert-copy{
  display:grid;
  gap:4px;
  min-width:0;
}
.ldap-cert-copy strong,
.ldap-cert-copy small,
.ldap-cert-copy em{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ldap-cert-copy strong{
  color:#172033;
  font-weight:950;
}
.ldap-cert-copy small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.ldap-cert-copy em{
  color:#7c8aa0;
  font-size:11px;
  font-style:normal;
  font-weight:800;
}
.ldap-cert-trash{
  display:grid!important;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid #fecaca;
  border-radius:8px;
  background:#fff5f5;
  color:#b91c1c!important;
  cursor:pointer;
}
.ldap-cert-trash input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ldap-cert-trash svg{
  width:17px;
  height:17px;
}
.ldap-cert-trash:has(input:checked){
  background:#dc2626;
  border-color:#dc2626;
  color:#fff!important;
}
.ldap-role-map-list{
  display:grid;
  gap:10px;
  margin-top:8px;
}
.ldap-attribute-map-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:8px 0 10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
}
.ldap-attribute-map-row{
  display:grid;
  gap:8px;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:10px;
}
.ldap-attribute-map-row > label{
  margin:0!important;
}
.ldap-attribute-toggle{
  display:flex!important;
  align-items:center;
  gap:9px;
  min-height:28px!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:900!important;
}
.ldap-attribute-toggle input{
  width:16px!important;
  height:16px!important;
}
.ldap-attribute-toggle input:disabled{
  opacity:.65;
}
.ldap-role-map-row{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(170px,240px);
  gap:12px;
  align-items:end;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
}
@media(max-width:760px){
  .ldap-preview-grid,
  .ldap-attribute-map-grid{
    grid-template-columns:1fr;
  }
  .ldap-role-map-row{
    grid-template-columns:1fr;
  }
}
.ldap-result-panel{
  display:grid;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:14px;
  margin-bottom:14px;
}
.ldap-result-panel>div{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.ldap-result-panel>div>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#dbeafe;
  color:#2458d3;
  flex:0 0 38px;
}
.ldap-result-panel>div>span svg{
  width:19px;
  height:19px;
}
.ldap-result-panel strong{
  display:block;
  color:#172033;
  font-weight:950;
}
.ldap-result-panel p{
  margin:4px 0 0;
  color:#475569;
  font-weight:850;
}
.ldap-result-panel ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.ldap-result-panel li{
  display:flex;
  align-items:center;
  gap:8px;
  color:#334155;
  font-weight:850;
}
.ldap-result-panel li b{
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border-radius:50%;
  background:#e2e8f0;
  color:#475569;
  font-size:12px;
}
.ldap-result-panel.ok{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
.ldap-result-panel.ok>div>span,
.ldap-result-panel li.ok b{
  background:#dcfce7;
  color:#15803d;
}
.ldap-result-panel.bad{
  border-color:#fecaca;
  background:#fff5f5;
}
.ldap-result-panel.bad>div>span,
.ldap-result-panel li.bad b{
  background:#fee2e2;
  color:#b91c1c;
}

/* People directory action menu: button-driven, works after AJAX table search. */
.people-row-action-menu.is-open .people-action-menu-panel{
  display:grid!important;
  position:absolute!important;
  right:0!important;
  top:calc(100% + 6px)!important;
  z-index:100000!important;
  min-width:210px!important;
  max-width:calc(100vw - 24px)!important;
}
.people-directory-table tbody tr:has(.people-row-action-menu.is-open){
  position:relative!important;
  z-index:1000!important;
}
.people-table-wrap:has(.people-row-action-menu.is-open),
.people-table-wrap:has(.people-row-action-menu.is-open) .people-directory-table,
.people-table-wrap:has(.people-row-action-menu.is-open) td[data-col="actions"]{
  overflow:visible!important;
}

/* Fallback: People Actions must open even if AJAX event wiring is interrupted. */
.people-row-action-menu:focus-within .people-action-menu-panel,
.people-row-action-menu:hover .people-action-menu-panel,
.people-row-action-menu.is-open .people-action-menu-panel{
  display:grid!important;
  position:absolute!important;
  right:0!important;
  top:calc(100% + 6px)!important;
  z-index:100000!important;
  min-width:210px!important;
  max-width:calc(100vw - 24px)!important;
}
.people-row-action-menu{
  position:relative!important;
  overflow:visible!important;
}
.people-directory-table td[data-col="actions"],
.people-directory-table th[data-col="actions"],
.people-table-wrap,
.people-table-wrap .people-directory-table{
  overflow:visible!important;
}

/* People Directory native details action menu override. */
.people-row-action-menu[open] .people-action-menu-panel{
  display:grid!important;
  position:absolute!important;
  right:0!important;
  top:calc(100% + 6px)!important;
  z-index:100000!important;
  min-width:210px!important;
  max-width:calc(100vw - 24px)!important;
}
.people-row-action-menu summary{
  cursor:pointer!important;
  user-select:none!important;
}
.people-row-action-menu{
  position:relative!important;
  overflow:visible!important;
}
.people-directory-table tbody tr:has(.people-row-action-menu[open]){
  position:relative!important;
  z-index:1000!important;
}
.people-table-wrap:has(.people-row-action-menu[open]),
.people-table-wrap:has(.people-row-action-menu[open]) .people-directory-table,
.people-table-wrap:has(.people-row-action-menu[open]) td[data-col="actions"]{
  overflow:visible!important;
}

/* Keep the student portal footer at the bottom of short viewports. */
body.student-shell .main,
body.student-shell.nav-collapsed .main{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
}
body.student-shell .main > .app-footer{
  width:min(1480px,calc(100% - 48px))!important;
  margin:32px auto 0!important;
  margin-top:auto!important;
}
@media(max-width:760px){
  body.student-shell .main > .app-footer{
    width:calc(100% - 24px)!important;
    margin-top:auto!important;
  }
}

/* Label Wizard template choices are controlled by source/person type. */
.label-center-wizard-modal [hidden],
.label-center-wizard-modal [data-template-picker][hidden]{
  display:none!important;
}
.label-people-picker-label select[multiple]{
  min-height:220px;
  padding:6px;
}
.label-people-picker-label option{
  padding:6px 8px;
}
.label-people-picker-label option[hidden]{
  display:none!important;
}
.label-template-picker-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:4px;
}
.label-template-picker-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
  box-shadow:none!important;
}
.label-template-builder-backdrop{
  z-index:220000!important;
  align-items:center!important;
  justify-content:center!important;
}
.label-template-builder-backdrop.open{
  display:flex!important;
}
.label-template-builder-modal{
  width:min(1180px,calc(100vw - 28px))!important;
  height:min(900px,calc(100vh - 28px))!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
}
.label-template-builder-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-bottom:1px solid #dbe5f2;
}
.label-template-builder-head h2{
  margin:0;
}
.label-template-builder-head p{
  margin:3px 0 0;
}
.label-template-builder-modal iframe{
  width:100%;
  height:100%;
  border:0;
  flex:1;
  background:#fff;
}
.label-template-embedded-body{
  background:#fff!important;
  margin:0!important;
}
.label-template-embedded-shell{
  padding:16px!important;
}
.label-template-embedded-shell .label-wizard-hero{
  margin-bottom:12px;
}
.label-template-embedded-shell .label-wizard-layout{
  grid-template-columns:minmax(0,1fr) 340px!important;
}
.label-template-embedded-shell .label-template-list{
  display:none!important;
}
@media(max-width:920px){
  .label-template-embedded-shell .label-wizard-layout{
    grid-template-columns:1fr!important;
  }
  .label-template-builder-modal{
    width:100%;
    height:calc(100vh - 20px)!important;
  }
}

/* Embedded Label Template Builder modal layout. */
.label-template-embedded-shell .label-wizard-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  align-items:start!important;
}
.label-template-embedded-shell .label-template-editor,
.label-template-embedded-shell .label-preview-panel{
  width:100%!important;
  max-width:none!important;
  position:static!important;
  margin:0!important;
}
.label-template-embedded-shell .label-preview-panel{
  order:2!important;
}
.label-template-embedded-shell .label-block-builder{
  margin-top:18px!important;
  padding-top:4px!important;
  clear:both!important;
}
.label-template-embedded-shell .label-block-head{
  position:relative!important;
  z-index:2!important;
  background:#fff!important;
  margin-bottom:8px!important;
}
.label-template-embedded-shell .label-preview-frame-stage,
.label-template-embedded-shell .label-preview-stage{
  min-height:320px!important;
}

/* Label Template Builder: full preview workspace. */
.label-wizard-layout{
  grid-template-columns:280px minmax(0,1fr)!important;
  grid-template-areas:
    "templates preview"
    "templates editor"!important;
  align-items:start!important;
}
.label-template-list{
  grid-area:templates!important;
  position:sticky!important;
  top:76px!important;
  max-height:calc(100vh - 96px)!important;
  overflow:auto!important;
}
.label-template-editor{
  grid-area:editor!important;
}
.label-preview-panel{
  grid-area:preview!important;
}
.label-preview-panel .section-head{
  margin-bottom:12px!important;
}
.label-preview-panel .label-preview-stage,
.label-preview-panel .label-preview-frame-stage{
  min-height:560px!important;
  align-items:start!important;
  place-items:start center!important;
}
.label-preview-panel .label-preview-frame-stage iframe{
  min-height:540px!important;
}
.label-template-editor .label-block-builder{
  margin-top:20px!important;
}
.label-template-editor .label-block-head{
  padding-top:14px!important;
  margin-bottom:10px!important;
}
.label-template-embedded-shell .label-wizard-layout{
  grid-template-columns:1fr!important;
  grid-template-areas:
    "preview"
    "editor"!important;
}
.label-template-embedded-shell .label-preview-panel{
  order:0!important;
}
.label-template-embedded-shell .label-template-editor{
  order:1!important;
}
.label-template-embedded-shell .label-preview-panel .label-preview-stage,
.label-template-embedded-shell .label-preview-panel .label-preview-frame-stage{
  min-height:520px!important;
}
.label-template-embedded-shell .label-preview-panel .label-preview-frame-stage iframe{
  min-height:500px!important;
}
@media(max-width:1100px){
  .label-wizard-layout{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "preview"
      "editor"
      "templates"!important;
  }
  .label-template-list{
    position:static!important;
    max-height:none!important;
  }
}

.spare-pool-hero{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px 20px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.spare-pool-hero h1{margin:2px 0 6px;font-size:28px}
.spare-pool-hero p{margin:0;color:var(--muted);max-width:780px;font-weight:800}
.spare-pool-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.spare-pool-metrics>div{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:2px 10px;align-items:center}
.spare-pool-metrics span{grid-row:1 / span 2;width:38px;height:38px;border-radius:8px;background:#eef6ff;color:#2563eb;display:grid;place-items:center}
.spare-pool-metrics small{color:var(--muted);font-weight:900}
.spare-pool-metrics b{font-size:24px;color:var(--text)}
.spare-pool-layout{display:grid;grid-template-columns:minmax(380px,440px) minmax(0,1fr);gap:14px;align-items:start}
.spare-bin-list,.spare-bin-detail,.spare-bin-panel,.spare-activity-card,.spare-welcome-card{min-width:0}
.spare-bin-list{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:10px;display:grid;gap:8px;align-content:start;max-height:calc(100vh - 210px);overflow:auto}
.spare-bin-list-head{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 8px}
.spare-pool-scope-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 4px}
.spare-pool-scope-tabs a{min-height:30px;border:1px solid #dbe5f2;border-radius:7px;background:#f8fafc;color:#475569;display:grid;place-items:center;text-decoration:none;font-size:11px;font-weight:900}
.spare-pool-scope-tabs a.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.spare-bin-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:3px 10px;border:1px solid #dbe5f2;border-radius:8px;background:#fbfdff;padding:11px;text-decoration:none;color:#172033}
.spare-bin-card:hover,.spare-bin-card.active{border-color:#93c5fd;background:#f7fbff;text-decoration:none}
.spare-bin-card .spare-bin-icon{grid-row:1 / span 3;width:34px;height:34px;border-radius:8px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center}
.spare-bin-card strong{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.2}
.spare-bin-card small{grid-column:2 / span 2;color:var(--muted);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-bin-card em{grid-column:3;grid-row:1;font-style:normal;align-self:start}
.spare-loan-management-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:0}
.spare-loan-management-badge.active{background:#e8f8ef;color:#168950;border:1px solid #b8edcf}
.spare-loan-management-badge.inactive{background:#f1f3f8;color:#66728c;border:1px solid #d7dee8}
.spare-pool-scope-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:0;border:1px solid #dbe5f2;background:#f8fafc;color:#475569}
.spare-pool-scope-badge.personal{background:#f4f3ff;border-color:#ddd6fe;color:#5b21b6}
.spare-pool-scope-badge.shared{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.spare-bin-card .spare-pool-scope-badge{grid-column:2 / span 2;grid-row:4;margin-top:2px}
.spare-bin-title .spare-pool-scope-badge{margin-top:8px;margin-right:6px}
.spare-pool-lock-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:950;line-height:1;text-transform:uppercase;border:1px solid #fbbf24;background:#fffbeb;color:#92400e}
.spare-pool-lock-badge .ui-icon{width:12px;height:12px}
.spare-bin-card .spare-pool-lock-badge{grid-column:2 / span 2;grid-row:5;margin-top:2px}
.spare-bin-title .spare-pool-lock-badge{margin-top:8px;margin-right:6px}
.spare-personal-pool-toggle{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px 12px}
.spare-pool-lock-toggle{border:1px solid #fde68a;border-radius:8px;background:#fffbeb;padding:10px 12px;color:#92400e}
.spare-bin-card .spare-loan-management-badge{grid-column:2 / span 2;grid-row:3;margin-top:2px}
.spare-bin-title .spare-loan-management-badge{margin-top:8px}
.spare-bin-counts{grid-column:2 / span 2;color:#53657f;font-size:12px;font-weight:850}
.spare-bin-card .spare-pool-lock-badge+.spare-loan-management-badge{grid-row:6}
.spare-bin-header{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.spare-bin-title{display:flex;align-items:center;gap:12px;min-width:0}
.spare-bin-title>span:not(.spare-bin-real){width:48px;height:48px;border-radius:8px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center;flex:0 0 auto}
.spare-bin-title h2{margin:0;font-size:22px}
.spare-bin-title p{margin:3px 0 0;color:var(--muted);font-weight:800}
.spare-bin-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:12px}
.spare-bin-summary>div{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:12px}
.spare-bin-summary small{display:block;color:var(--muted);font-weight:900}
.spare-bin-summary b{display:block;font-size:24px;margin-top:3px}
.spare-locked-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#92400e;padding:11px 12px}
.spare-locked-notice>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fef3c7;flex:0 0 auto}
.spare-locked-notice b,.spare-locked-notice small{display:block}
.spare-locked-notice small{font-weight:800;line-height:1.35;color:#a16207}
.spare-bin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;align-items:start}
.spare-bin-panel{padding:14px}
.spare-table-wrap{max-height:520px;overflow:auto}
.spare-review-table td small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:2px}
.spare-bin-asset-list,.spare-activity-list{display:grid;gap:8px}
.spare-bin-asset-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#fbfdff;padding:8px}
.spare-bin-asset-row a{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;min-width:0}
.spare-bin-asset-row a span:last-child{min-width:0}
.spare-bin-asset-row b,.spare-bin-asset-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-bin-asset-row small{color:var(--muted);font-weight:800}
.spare-activity-card{padding:14px;margin-top:12px}
.spare-activity-collapsible summary{cursor:pointer;list-style:none;margin:0}
.spare-activity-collapsible summary::-webkit-details-marker{display:none}
.spare-activity-collapsible:not([open]){padding:10px 14px}
.spare-activity-collapsible:not([open]) .spare-activity-list{display:none}
.spare-activity-collapsible summary:after{content:"Show";font-weight:900;color:#2563eb}
.spare-activity-collapsible[open] summary{margin-bottom:10px}
.spare-activity-collapsible[open] summary:after{content:"Hide"}
.spare-activity-list div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 10px;border:1px solid #dbe5f2;border-radius:8px;background:#fbfdff;padding:10px}
.spare-activity-list span{grid-row:1 / span 2;width:30px;height:30px;border-radius:8px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}
.spare-activity-list b{font-size:13px}
.spare-activity-list small{color:var(--muted);font-weight:800}
.spare-empty-card,.spare-welcome-card{border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;padding:18px;display:grid;justify-items:center;text-align:center;gap:8px;color:#53657f}
.spare-empty-card span,.spare-welcome-card>span:not(.spare-bin-real){width:46px;height:46px;border-radius:8px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}
.spare-bin-modal{width:min(860px,calc(100vw - 32px))}
.spare-bin-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spare-bin-modal .full{grid-column:1/-1}
.spare-scan-input input{font-size:22px;font-weight:950;min-height:54px}
.spare-bin-print-label{width:3.7in;min-height:2.55in;border:2px solid #0f172a;border-radius:10px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 1.18in;gap:10px;align-items:center;font-family:Arial,sans-serif;color:#0f172a}
.spare-bin-print-label div{display:grid;gap:4px}
.spare-bin-print-label div img{width:.38in;height:.38in}
.spare-bin-print-label b{font-size:16px}
.spare-bin-print-label small{font-size:10px;font-weight:700}
.spare-bin-print-label .spare-bin-qr{width:1.05in;height:1.05in;justify-self:end}
.spare-bin-print-label strong{grid-column:1/-1;font-size:18px}
@media(max-width:1100px){
  .spare-pool-layout,.spare-bin-grid{grid-template-columns:1fr}
  .spare-bin-list{max-height:none}
  .spare-bin-summary,.spare-pool-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .spare-pool-hero,.spare-bin-header{display:grid}
  .spare-bin-summary,.spare-pool-metrics,.spare-bin-modal .form-grid{grid-template-columns:1fr}
}
.spare-bin-visual{--bin:#2563eb;--bin-dark:#1d4ed8;--bin-light:#60a5fa;--box:#c58a48;--box-dark:#946031;--box-light:#e8bd82;position:relative;display:block;width:58px;height:44px;filter:drop-shadow(0 8px 10px rgba(15,23,42,.12))}
.spare-bin-visual:before{content:"";position:absolute;left:7px;right:7px;top:5px;height:12px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--bin-light),var(--bin));border:1px solid rgba(15,23,42,.16)}
.spare-bin-visual:after{content:"";position:absolute;left:10px;right:10px;top:14px;height:1px;background:rgba(15,23,42,.22)}
.spare-bin-visual i{position:absolute;left:5px;right:5px;top:15px;height:25px;border-radius:3px 3px 6px 6px;background:linear-gradient(180deg,var(--bin),var(--bin-dark));border:1px solid rgba(15,23,42,.20);box-shadow:inset 0 5px 0 rgba(255,255,255,.18)}
.spare-bin-visual b{position:absolute;left:18px;top:21px;width:22px;height:12px;border-radius:3px;background:linear-gradient(180deg,#ffffff,#eef2ff);border:1px solid rgba(15,23,42,.16);box-shadow:0 -13px 0 -8px rgba(255,255,255,.55)}
.spare-bin-visual.small{width:46px;height:34px}
.spare-bin-visual.small:before{left:6px;right:6px;top:4px;height:10px}
.spare-bin-visual.small:after{left:8px;right:8px;top:12px}
.spare-bin-visual.small i{left:4px;right:4px;top:13px;height:19px}
.spare-bin-visual.small b{left:14px;top:17px;width:18px;height:10px;box-shadow:0 -11px 0 -7px rgba(255,255,255,.55)}
.spare-bin-visual.large{width:104px;height:78px;filter:drop-shadow(0 14px 18px rgba(15,23,42,.16))}
.spare-bin-visual.large:before{left:12px;right:12px;top:9px;height:22px;border-radius:6px 6px 2px 2px}
.spare-bin-visual.large:after{left:17px;right:17px;top:27px}
.spare-bin-visual.large i{left:9px;right:9px;top:29px;height:43px;border-radius:5px 5px 10px 10px}
.spare-bin-visual.large b{left:33px;top:41px;width:38px;height:22px;border-radius:5px;box-shadow:0 -27px 0 -16px rgba(255,255,255,.55)}
.spare-bin-color-blue{--bin:#2563eb;--bin-dark:#1d4ed8;--bin-light:#60a5fa}
.spare-bin-color-gray{--bin:#64748b;--bin-dark:#475569;--bin-light:#94a3b8}
.spare-bin-color-green{--bin:#16a34a;--bin-dark:#15803d;--bin-light:#4ade80}
.spare-bin-color-yellow{--bin:#f59e0b;--bin-dark:#d97706;--bin-light:#facc15}
.spare-bin-color-red{--bin:#dc2626;--bin-dark:#b91c1c;--bin-light:#f87171}
.spare-bin-color-purple{--bin:#7c3aed;--bin-dark:#6d28d9;--bin-light:#a78bfa}
.spare-icon-picker,.spare-color-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px;align-items:stretch}
.spare-icon-picker>span,.spare-color-picker>span{grid-column:1/-1;color:#334155;font-size:12px;font-weight:950}
.spare-icon-option,.spare-color-option{position:relative;min-height:68px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:10px;display:flex;align-items:center;gap:9px;color:#334155;font-size:12px;font-weight:900;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.spare-icon-option input,.spare-color-option input{position:absolute;opacity:0;pointer-events:none}
.spare-icon-option:hover,.spare-color-option:hover{border-color:#bfdbfe;background:#f8fbff}
.spare-icon-option.active,.spare-color-option.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 18px rgba(37,99,235,.12)}
.spare-icon-option.active::after,.spare-color-option.active::after{content:"";position:absolute;right:8px;top:8px;width:16px;height:16px;border-radius:999px;background:#2563eb;box-shadow:inset 0 0 0 4px #fff}
.spare-icon-option .spare-bin-visual{flex:0 0 auto}
.spare-icon-option>b,.spare-color-option>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-bin-icon-cart:before{left:11px;right:13px;top:7px;height:5px;border-radius:999px;background:var(--bin-dark);transform:skewX(-18deg)}
.spare-bin-icon-cart:after{left:9px;right:auto;top:33px;width:8px;height:8px;border-radius:999px;background:#fff;border:3px solid var(--bin-dark);box-shadow:26px 0 0 -3px #fff,26px 0 0 0 var(--bin-dark)}
.spare-bin-icon-cart i{left:9px;right:8px;top:13px;height:22px;border-radius:4px;background:linear-gradient(180deg,var(--bin-light),var(--bin));border:1px solid rgba(15,23,42,.22);box-shadow:inset 0 7px 0 rgba(255,255,255,.20),inset 0 -7px 0 rgba(15,23,42,.10)}
.spare-bin-icon-cart b{left:17px;right:16px;top:20px;width:auto;height:2px;border:0;border-radius:999px;background:rgba(255,255,255,.85);box-shadow:0 7px 0 rgba(255,255,255,.75)}
.spare-bin-icon-cart.small:before{left:9px;right:11px;top:5px;height:4px}
.spare-bin-icon-cart.small:after{left:8px;top:26px;width:6px;height:6px;border-width:2px;box-shadow:21px 0 0 -2px #fff,21px 0 0 0 var(--bin-dark)}
.spare-bin-icon-cart.small i{left:7px;right:6px;top:10px;height:18px}
.spare-bin-icon-cart.small b{left:13px;right:13px;top:16px;height:2px;box-shadow:0 6px 0 rgba(255,255,255,.75)}
.spare-bin-icon-cart.large:before{left:20px;right:24px;top:12px;height:8px}
.spare-bin-icon-cart.large:after{left:18px;top:59px;width:14px;height:14px;border-width:4px;box-shadow:50px 0 0 -4px #fff,50px 0 0 0 var(--bin-dark)}
.spare-bin-icon-cart.large i{left:17px;right:14px;top:22px;height:41px;border-radius:7px}
.spare-bin-icon-cart.large b{left:30px;right:30px;top:34px;box-shadow:0 13px 0 rgba(255,255,255,.75)}
.spare-bin-icon-shelf:before{left:8px;right:8px;top:6px;height:34px;border-radius:5px;background:linear-gradient(180deg,var(--bin-light),var(--bin));border:1px solid rgba(15,23,42,.18)}
.spare-bin-icon-shelf:after{left:13px;right:13px;top:16px;height:3px;border-radius:999px;background:rgba(255,255,255,.85);box-shadow:0 10px 0 rgba(255,255,255,.78)}
.spare-bin-icon-shelf i{left:12px;right:auto;top:10px;width:5px;height:27px;border-radius:999px;background:var(--bin-dark);box-shadow:29px 0 0 var(--bin-dark)}
.spare-bin-icon-shelf b{display:none}
.spare-bin-icon-repair:before{left:19px;right:19px;top:6px;height:11px;border-radius:7px 7px 0 0;background:transparent;border:4px solid var(--bin-dark);border-bottom:0}
.spare-bin-icon-repair:after{left:7px;right:7px;top:16px;height:24px;border-radius:4px 4px 7px 7px;background:linear-gradient(180deg,var(--bin-light),var(--bin-dark));border:1px solid rgba(15,23,42,.22)}
.spare-bin-icon-repair i{left:8px;right:8px;top:24px;height:3px;border:0;border-radius:999px;background:rgba(255,255,255,.70);box-shadow:none}
.spare-bin-icon-repair b{left:25px;top:20px;width:8px;height:8px;border-radius:2px;background:#fff;border:1px solid rgba(15,23,42,.16);box-shadow:none}
.spare-bin-icon-kit:before{left:12px;right:12px;top:9px;height:28px;border-radius:7px;background:linear-gradient(180deg,var(--bin-light),var(--bin));border:1px solid rgba(15,23,42,.20)}
.spare-bin-icon-kit:after{left:24px;right:24px;top:6px;height:8px;border-radius:5px 5px 0 0;background:transparent;border:3px solid var(--bin-dark);border-bottom:0}
.spare-bin-icon-kit i{left:14px;right:14px;top:22px;height:3px;border:0;border-radius:999px;background:rgba(255,255,255,.75);box-shadow:none}
.spare-bin-icon-kit b{left:26px;top:17px;width:7px;height:15px;border:0;border-radius:1px;background:#fff;box-shadow:0 4px 0 -2px #fff, -4px 4px 0 -2px #fff, 4px 4px 0 -2px #fff}
.spare-bin-icon-shelf.small,.spare-bin-icon-repair.small,.spare-bin-icon-kit.small{transform:scale(.79);transform-origin:left top}
.spare-bin-icon-shelf.large,.spare-bin-icon-repair.large,.spare-bin-icon-kit.large{transform:scale(1.79);transform-origin:left top}
.spare-bin-real{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:58px;height:44px;padding:4px;border:1px solid color-mix(in srgb,var(--bin) 42%,#dbe5f2);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--bin-light) 26%,#fff),color-mix(in srgb,var(--bin) 14%,#fff));box-shadow:0 8px 18px rgba(15,23,42,.10);filter:none;overflow:hidden;line-height:0}
.spare-bin-real:before,.spare-bin-real:after,.spare-bin-real i,.spare-bin-real b{display:none!important;content:none!important}
.spare-bin-real img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;filter:drop-shadow(0 4px 5px rgba(15,23,42,.18));transform:none;margin:auto}
.spare-bin-real.small{width:46px;height:34px;padding:3px;border-radius:9px;transform:none!important}
.spare-bin-real.large{width:104px;height:78px;padding:7px;border-radius:16px;transform:none!important}
.spare-bin-real.large img{transform:none}
.spare-icon-option .spare-bin-real{flex:0 0 auto}
.spare-bin-card{grid-template-columns:68px minmax(0,1fr) auto!important;align-items:center;min-height:104px}
.spare-bin-card .spare-bin-visual{grid-row:1 / span 3;align-self:center}
.spare-bin-card .spare-bin-real.small{width:60px;height:46px;padding:4px;border-radius:12px}
.spare-bin-title{align-items:center}
.spare-bin-title .spare-bin-real{flex:0 0 104px;display:grid;place-items:center}
.spare-bin-title .spare-bin-real img{width:100%;height:100%;object-fit:contain;object-position:center center;margin:auto;transform:translateY(-8%)}
.spare-bin-header{background:linear-gradient(135deg,#fff,#f8fbff)!important}
.spare-bin-title-copy{min-width:0}
.spare-bin-chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.spare-owner-chip,.spare-created-chip{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:0;border:1px solid #dbe5f2;background:#fff;color:#475569}
.spare-owner-chip .ui-icon{width:12px;height:12px}
.spare-created-chip{background:#f8fafc;color:#64748b}
.spare-bin-title .spare-pool-scope-badge,.spare-bin-title .spare-pool-lock-badge,.spare-bin-title .spare-loan-management-badge{margin-top:0;margin-right:0}
.spare-bin-actions{display:grid!important;grid-template-columns:repeat(2,max-content);gap:7px;justify-content:end;align-content:center;align-items:center}
.spare-bin-actions form{margin:0}
.spare-bin-actions .btn,.spare-bin-actions .primary{width:100%;min-height:32px;justify-content:center}
@media(max-width:980px){.spare-bin-actions{grid-template-columns:repeat(2,minmax(150px,1fr));justify-content:stretch}.spare-bin-header{align-items:stretch}}
@media(max-width:620px){.spare-bin-actions{grid-template-columns:1fr}}
.spare-bin-lifecycle{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 12px}
.spare-bin-lifecycle span{border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#64748b;font-size:11px;font-weight:900;text-align:center;padding:8px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spare-bin-lifecycle span.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 8px 18px rgba(37,99,235,.10)}
.loaner-pool-status-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:0 0 12px}
.loaner-pool-status-strip>div{border:1px solid #dbe5f2;border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:12px}
.loaner-pool-status-strip small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:0}
.loaner-pool-status-strip b{display:block;color:#172033;font-size:22px;margin-top:3px}
.loaner-pool-status-strip .ok{border-color:#bbf7d0;background:#f7fef9}
.loaner-pool-status-strip .ok b{color:#15803d}
.loaner-pool-status-strip .blue{border-color:#bfdbfe;background:#f8fbff}
.loaner-pool-status-strip .blue b{color:#1d4ed8}
.loaner-pool-status-strip .warn{border-color:#fed7aa;background:#fffaf5}
.loaner-pool-status-strip .warn b{color:#c2410c}
.loaner-pool-status-strip .muted{background:#f8fafc}
@media(max-width:980px){.loaner-pool-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.loaner-pool-status-strip{grid-template-columns:1fr}}
.repair-pool-status-strip{display:grid;grid-template-columns:repeat(6,minmax(112px,1fr));gap:10px;margin:0 0 12px}
.repair-pool-status-strip>div{border:1px solid #dbe5f2;border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:12px}
.repair-pool-status-strip small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:0}
.repair-pool-status-strip b{display:block;color:#172033;font-size:22px;margin-top:3px}
.repair-pool-status-strip .ok{border-color:#bbf7d0;background:#f7fef9}
.repair-pool-status-strip .ok b{color:#15803d}
.repair-pool-status-strip .blue{border-color:#bfdbfe;background:#f8fbff}
.repair-pool-status-strip .blue b{color:#1d4ed8}
.repair-pool-status-strip .warn{border-color:#fed7aa;background:#fffaf5}
.repair-pool-status-strip .warn b{color:#c2410c}
.repair-pool-status-strip .bad{border-color:#fecaca;background:#fff8f8}
.repair-pool-status-strip .bad b{color:#b91c1c}
.repair-pool-status-strip .muted{background:#f8fafc}
@media(max-width:1180px){.repair-pool-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.repair-pool-status-strip{grid-template-columns:1fr}}
.spare-welcome-card{min-height:260px;align-content:center;place-items:center;padding:28px!important}
.spare-welcome-card>.spare-bin-real.large{width:148px!important;height:110px!important;padding:10px!important;margin:0 auto 6px;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#eef6ff,#ffffff)!important}
.spare-welcome-card>.spare-bin-real.large img{width:98%!important;height:98%!important;object-fit:contain!important;object-position:center center!important;margin:auto!important;transform:translateY(-6%)!important}
.spare-welcome-card h2{margin:4px 0 0;color:#172033;font-size:22px;line-height:1.15}
.spare-welcome-card p{max-width:460px;margin:0 auto;color:#64748b;font-weight:800;line-height:1.45}
.spare-pool-metrics{grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px}
.spare-pool-metrics>div{position:relative;overflow:hidden;border-color:#dbe5f2;background:linear-gradient(180deg,#fff,#fbfdff);padding:14px 14px 14px 13px;grid-template-columns:40px minmax(0,1fr);gap:2px 11px;min-height:76px}
.spare-pool-metrics>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb}
.spare-pool-metrics>div:nth-child(2):before{background:#7c3aed}
.spare-pool-metrics>div:nth-child(3):before{background:#15803d}
.spare-pool-metrics>div:nth-child(4):before{background:#c2410c}
.spare-pool-metrics>div:nth-child(1) span{background:#eff6ff;color:#2563eb}
.spare-pool-metrics>div:nth-child(2) span{background:#f5f3ff;color:#7c3aed}
.spare-pool-metrics>div:nth-child(3) span{background:#f0fdf4;color:#15803d}
.spare-pool-metrics>div:nth-child(4) span{background:#fff7ed;color:#c2410c}
.spare-pool-metrics span{width:38px;height:38px;border-radius:9px}
.spare-pool-metrics small{font-size:11px;text-transform:uppercase;letter-spacing:0;color:#64748b;line-height:1}
.spare-pool-metrics b{font-size:25px;line-height:1.05;margin-top:4px}
@media(max-width:760px){.spare-welcome-card{min-height:220px}.spare-pool-metrics>div{min-height:68px}}
.spare-next-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:12px 14px;margin:0 0 12px;box-shadow:var(--shadow)}
.spare-next-step>span{width:42px;height:42px;border-radius:8px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}
.spare-next-step h3{margin:0;font-size:15px}
.spare-next-step p{margin:3px 0 0;color:var(--muted);font-weight:800}
.spare-next-step.ready{border-color:#bfdbfe;background:#f8fbff}
.spare-next-step.review{border-color:#fed7aa;background:#fffaf5}
.spare-next-step.done{border-color:#bbf7d0;background:#f7fef9}
.spare-next-step.review>span{background:#fff7ed;color:#d97706}
.spare-next-step.done>span{background:#ecfdf5;color:#16a34a}
.spare-next-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.spare-color-picker{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:stretch}
.spare-color-picker>span{grid-column:1/-1;font-weight:900;color:#334155}
.spare-color-option{display:grid!important;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:9px;cursor:pointer}
.spare-color-option input{position:absolute;opacity:0;pointer-events:none}
.spare-color-option i{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--bin-light),var(--bin-dark));box-shadow:inset 0 0 0 1px rgba(15,23,42,.12)}
.spare-color-option b{font-size:12px;color:#172033;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-color-option:has(input:checked){border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 18px rgba(37,99,235,.12)}
.spare-production-options{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr) auto;gap:10px;align-items:end;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px}
.spare-production-toggle{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:0}
.spare-production-toggle input{margin-top:4px}
.spare-production-toggle b{display:block;font-size:13px;color:#172033}
.spare-production-toggle small{display:block;color:var(--muted);font-weight:800;line-height:1.35}
.spare-production-feedback{border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:10px 12px;display:grid;gap:2px}
.spare-production-feedback b{font-size:13px;color:#172033}
.spare-production-feedback span{color:var(--muted);font-weight:800}
.spare-production-feedback.ok{border-color:#bbf7d0;background:#f7fef9}
.spare-production-feedback.warn{border-color:#fed7aa;background:#fffaf5}
.spare-production-feedback.bad{border-color:#fecaca;background:#fff7f7}
.spare-production-feedback.busy{border-color:#bfdbfe;background:#f8fbff}
.spare-production-recent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.spare-production-recent:empty{display:none}
.spare-production-recent div{border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:8px 10px}
.spare-production-recent b{display:block;color:#172033;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-production-recent small{display:block;color:var(--muted);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-production-label-modal{width:min(520px,calc(100vw - 32px));height:min(620px,calc(100vh - 40px));display:flex;flex-direction:column}
.spare-production-label-modal iframe{border:1px solid #dbe5f2;border-radius:8px;background:#fff;min-height:0;flex:1;width:100%}
.spare-box-label-modal{width:min(720px,calc(100vw - 32px));height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column}
.spare-box-label-modal iframe{border:1px solid #dbe5f2;border-radius:8px;background:#fff;min-height:0;flex:1;width:100%}
.asset-label-print-preview-modal{width:min(720px,calc(100vw - 32px));height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column}
.asset-label-print-preview-modal iframe{border:1px solid #dbe5f2;border-radius:8px;background:#fff;min-height:0;flex:1;width:100%}
.catalog-cleanup-panel{border-top:1px solid var(--line);padding-top:16px}
.catalog-cleanup-panel .catalog-item{grid-template-columns:minmax(260px,1fr) minmax(220px,320px) auto auto}
.catalog-cleanup-panel .catalog-item>div{display:grid!important;gap:3px;min-width:0}
.catalog-cleanup-panel .catalog-item strong{color:#172033;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-cleanup-panel .catalog-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.system-health-page{
  display:grid;
  gap:14px;
}
.system-health-page .settings-hero{
  align-items:flex-start;
  border-radius:8px;
}
.system-health-page .settings-hero>div:first-child{
  min-width:0;
}
.system-health-page .settings-hero p{
  max-width:780px;
  line-height:1.45;
}
.system-health-page .row-actions{
  flex:0 0 auto;
  justify-content:flex-end;
}
.system-health-page .stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
}
.system-health-page .stat{
  min-width:0;
  border-radius:8px;
  padding:16px;
}
.system-health-page .stat b{
  display:block;
  margin:6px 0 2px;
  color:#172033;
  font-size:30px;
  line-height:1;
}
.system-health-page .stat span{
  color:var(--muted);
  font-weight:800;
}
.system-health-page .card{
  overflow:hidden;
}
.system-health-page .section-head{
  align-items:flex-start;
}
.system-health-page .section-head h2{
  margin:0 0 4px;
}
.system-health-page .section-head p{
  margin:0;
}
.system-health-page .table-wrap{
  max-width:100%;
}
.system-health-page .table th,
.system-health-page .table td{
  white-space:normal;
  vertical-align:top;
}
.system-health-page .table th:nth-child(1),
.system-health-page .table td:nth-child(1){
  width:96px;
}
.system-health-page .table th:nth-child(2),
.system-health-page .table td:nth-child(2){
  width:150px;
}
.system-health-page .table th:nth-child(5),
.system-health-page .table td:nth-child(5){
  width:110px;
  white-space:nowrap;
}
.people-index-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:18px 20px;
  border:1px solid #d8e2f0;
  border-radius:8px;
  background:linear-gradient(135deg,#fff,#f3f8ff);
  box-shadow:var(--shadow);
}
.people-index-hero>div:first-child{
  min-width:0;
}
.people-index-hero .section-kicker{
  display:block;
  color:#2563eb;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.people-index-hero h1{
  margin:4px 0;
  font-size:28px;
  line-height:1.12;
}
.people-index-hero p{
  margin:0;
  max-width:680px;
  color:var(--muted);
  font-weight:800;
  line-height:1.4;
}
.people-index-hero-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(92px,1fr));
  gap:8px;
  flex:0 0 auto;
}
.people-index-hero-summary span{
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:10px 12px;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.people-index-hero-summary b,
.people-index-hero-summary small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.people-index-hero-summary b{
  color:#172033;
  font-size:22px;
  line-height:1;
}
.people-index-hero-summary small{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
}
.people-table-wrap{
  overflow:auto!important;
  max-width:100%!important;
}
.people-table-wrap:has(.people-row-action-menu.is-open),
.people-table-wrap:has(.people-row-action-menu[open]){
  overflow:auto!important;
}
.people-table-wrap .people-directory-table{
  min-width:1180px!important;
}
.people-table-wrap:has(.people-row-action-menu.is-open) .people-directory-table,
.people-table-wrap:has(.people-row-action-menu[open]) .people-directory-table{
  overflow:visible!important;
}
.people-directory-table th[data-col="actions"],
.people-directory-table td[data-col="actions"]{
  position:sticky!important;
  right:0!important;
  z-index:5!important;
  background:#fff!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.04)!important;
}
.people-directory-table thead th[data-col="actions"]{
  z-index:9!important;
  background:#f7f9fd!important;
}
.people-directory-table .people-inline-filters th[data-col="actions"]{
  z-index:8!important;
  background:#fff!important;
}
.people-directory-table td[data-col="actions"] .row-actions{
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.people-row-action-menu summary{
  min-width:104px!important;
  justify-content:center!important;
}
.people-action-menu-panel.is-floating-table-action-panel{
  min-width:220px!important;
}
.asset-directory-table-wrap{
  overflow:auto!important;
  max-width:100%!important;
}
.asset-directory-table{
  width:max(100%,1180px)!important;
  min-width:100%!important;
  table-layout:fixed!important;
}
.asset-directory-table:not(.table-dynamic-columns) th[data-col="spare_bin"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="spare_bin"],
.asset-directory-table:not(.table-dynamic-columns) th[data-col="source"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="source"],
.asset-directory-table:not(.table-dynamic-columns) th[data-col^="google."],
.asset-directory-table:not(.table-dynamic-columns) td[data-col^="google."],
.asset-directory-table:not(.table-dynamic-columns) th[data-col^="enrollment."],
.asset-directory-table:not(.table-dynamic-columns) td[data-col^="enrollment."],
.asset-directory-table:not(.table-dynamic-columns) th[data-col^="os."],
.asset-directory-table:not(.table-dynamic-columns) td[data-col^="os."],
.asset-directory-table:not(.table-dynamic-columns) th[data-col^="catalog.cf."],
.asset-directory-table:not(.table-dynamic-columns) td[data-col^="catalog.cf."],
.asset-directory-table:not(.table-dynamic-columns) th[data-col="cost"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="cost"],
.asset-directory-table:not(.table-dynamic-columns) th[data-col="warranty"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="warranty"],
.asset-directory-table:not(.table-dynamic-columns) th[data-col="warranty_provider"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="warranty_provider"]{
  display:none!important;
}
.asset-directory-table:not(.table-dynamic-columns) th:not([data-col="select"]):not([data-col="actions"]),
.asset-directory-table:not(.table-dynamic-columns) td:not([data-col="select"]):not([data-col="actions"]){
  width:128px!important;
  min-width:128px!important;
}
.asset-directory-table:not(.table-dynamic-columns) th[data-col="asset"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="asset"]{
  width:240px!important;
  min-width:240px!important;
}
.asset-directory-table:not(.table-dynamic-columns) th[data-col="serial"],
.asset-directory-table:not(.table-dynamic-columns) td[data-col="serial"]{
  width:150px!important;
  min-width:150px!important;
}
.asset-directory-table th,
.asset-directory-table td{
  vertical-align:middle!important;
}
.asset-directory-table th[data-col="select"],
.asset-directory-table td[data-col="select"]{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  text-align:center!important;
}
.asset-directory-table th[data-col="actions"],
.asset-directory-table td[data-col="actions"]{
  position:sticky!important;
  right:0!important;
  z-index:5!important;
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  background:#fff!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.04)!important;
}
.asset-directory-table thead th[data-col="actions"]{
  z-index:9!important;
  background:#f7f9fd!important;
}
.asset-directory-table .table-filters th[data-col="actions"]{
  z-index:8!important;
  background:#fff!important;
}
.asset-directory-table td[data-col="actions"] .row-actions{
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.asset-directory-table .asset-main,
.asset-directory-table .person-cell,
.asset-directory-table .asset-title,
.asset-directory-table .person-cell > div:last-child{
  min-width:0!important;
}
.asset-directory-table .asset-title b,
.asset-directory-table .person-cell b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.asset-directory-table .subtext{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.asset-row-action-menu summary{
  min-width:104px!important;
  justify-content:center!important;
}
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel{
  min-width:220px!important;
}

/* Assets directory table: keep only action/menu polish here. Column sizing is handled
   by the same shared dynamic table rules used by People. */
.asset-directory-card .asset-directory-table-wrap{
  overflow:auto!important;
  max-width:100%!important;
}
.asset-directory-card .asset-directory-table th,
.asset-directory-card .asset-directory-table td{
  padding:10px 12px!important;
  vertical-align:middle!important;
}
.asset-directory-card .asset-directory-table th[data-col="select"],
.asset-directory-card .asset-directory-table td[data-col="select"]{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  text-align:center!important;
}
.asset-directory-card .asset-directory-table th[data-col="actions"],
.asset-directory-card .asset-directory-table td[data-col="actions"]{
  position:sticky!important;
  right:0!important;
  z-index:5!important;
  overflow:visible!important;
  background:#fff!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.04)!important;
}
.asset-directory-card .asset-directory-table thead th[data-col="actions"]{
  z-index:9!important;
  background:#f7f9fd!important;
}
.asset-directory-card .asset-directory-table .table-filters th[data-col="actions"]{
  z-index:8!important;
  background:#fff!important;
}
.asset-directory-card .asset-directory-table tbody tr:hover td[data-col="actions"]{
  background:#fbfdff!important;
}
.asset-directory-card .asset-directory-table .asset-main,
.asset-directory-card .asset-directory-table .person-cell,
.asset-directory-card .asset-directory-table .asset-title,
.asset-directory-card .asset-directory-table .person-cell > div:last-child{
  min-width:0!important;
}
.asset-directory-card .asset-directory-table .asset-title b,
.asset-directory-card .asset-directory-table .person-cell b,
.asset-directory-card .asset-directory-table .subtext{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.asset-directory-card .asset-directory-table td[data-col="actions"] .row-actions{
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.asset-directory-card .asset-row-action-summary{
  min-width:104px!important;
  width:auto!important;
  justify-content:center!important;
}
.asset-directory-table.resizable-table th.resizable-th{
  position:relative!important;
  overflow:visible!important;
  padding-right:18px!important;
}
.asset-directory-table.resizable-table th.resizable-th .table-th-resize-wrap{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.asset-directory-table.resizable-table th.resizable-th .table-col-resizer{
  display:inline-flex!important;
  flex:0 0 16px!important;
  width:16px!important;
  height:24px!important;
  margin-left:auto!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.asset-directory-table.resizable-table th.resizable-th .table-col-resizer:before{
  opacity:.48!important;
}
.asset-directory-table.resizable-table th.resizable-th:hover .table-col-resizer:before,
.asset-directory-table.resizable-table .table-col-resizer:hover:before{
  opacity:.8!important;
}
@media(max-width:900px){
  .spare-bin-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spare-next-step{grid-template-columns:42px minmax(0,1fr)}
  .spare-next-step .btn,.spare-next-step form{grid-column:1/-1;justify-self:start}
  .spare-next-actions{grid-column:1/-1;justify-content:flex-start}
  .spare-production-options{grid-template-columns:1fr}
  .spare-production-recent{grid-template-columns:1fr}
  .spare-color-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-cleanup-panel .catalog-item{grid-template-columns:1fr}
  .system-health-page .settings-hero{
    display:grid;
  }
  .system-health-page .row-actions{
    justify-content:flex-start;
  }
  .system-health-page .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .people-index-hero{
    display:grid;
  }
  .people-index-hero-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
}
@media(max-width:620px){
  .system-health-page .stats-grid{
    grid-template-columns:1fr;
  }
  .people-index-hero-summary{
    grid-template-columns:1fr 1fr;
  }
  .people-index-hero h1{
    font-size:24px;
  }
}


/* Sidebar readability pass: reduce all-caps visual weight while preserving hierarchy. */
body:not(.nav-collapsed) .sidebar .nav-standalone,
body:not(.nav-collapsed) .sidebar .nav-group > summary,
body:not(.nav-collapsed) .sidebar .nav-subgroup > summary{
  font-weight:700!important;
  letter-spacing:0!important;
}
body:not(.nav-collapsed) .sidebar .nav-group > a,
body:not(.nav-collapsed) .sidebar .nav-subgroup > a{
  font-weight:600!important;
  letter-spacing:0!important;
}
body:not(.nav-collapsed) .sidebar nav a.active,
body:not(.nav-collapsed) .sidebar .nav-group[open] > summary,
body:not(.nav-collapsed) .sidebar .nav-subgroup[open] > summary{
  font-weight:760!important;
}
body:not(.nav-collapsed) .sidebar nav a b{
  font-weight:600!important;
}


.asset-label-preview-card{display:grid!important;gap:14px!important}
.asset-label-preview-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}
.asset-label-preview-head h2{margin:0 0 6px!important}
.asset-label-preview-head p{margin:0!important;color:var(--muted)!important;font-weight:700!important}
.asset-label-preview-head .primary{white-space:nowrap!important;flex:0 0 auto!important}
@media(max-width:700px){.asset-label-preview-head{display:grid!important}.asset-label-preview-head .primary{justify-self:start!important}}


.catalog-image-input{display:none!important}
.catalog-image-upload-body{display:grid!important;gap:14px!important}
.catalog-image-upload-preview{height:190px!important;border:1px solid #dbe5f2!important;border-radius:10px!important;background:#f8fbff!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.catalog-image-upload-preview img{width:100%!important;height:100%!important;object-fit:contain!important;padding:14px!important;background:#fff!important}
.catalog-image-upload-preview span{color:#667085!important;font-weight:850!important}
.catalog-image-upload-dropzone{display:grid!important;gap:10px!important;justify-items:start!important}
.catalog-image-upload-dropzone strong{color:#172033!important;font-size:14px!important}
.asset-image-upload-modal{
  width:min(680px,calc(100vw - 36px))!important;
}
.asset-image-upload-preview{
  height:230px!important;
}
.asset-image-upload-dropzone{
  display:grid!important;
  gap:10px!important;
}
.asset-image-upload-dropzone.is-dragging{
  border-color:#8fb6ff!important;
  background:#f0f6ff!important;
}
.asset-image-upload-selected{
  padding:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#667085!important;
  font-weight:850!important;
}
.asset-image-upload-selected strong,
.asset-image-upload-selected small{
  display:block!important;
}
.asset-image-upload-selected strong{
  color:#172033!important;
}
.asset-image-upload-selected small{
  margin-top:4px!important;
  color:#667085!important;
}


.profile-photo-upload-body{
  display:grid!important;
  gap:14px!important;
}
.profile-photo-upload-preview{
  min-height:190px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  display:grid!important;
  place-items:center!important;
  padding:16px!important;
  overflow:hidden!important;
}
.profile-photo-upload-preview .avatar.xl{
  width:92px!important;
  height:92px!important;
  font-size:28px!important;
}
.profile-photo-upload-preview img[data-profile-photo-preview]{
  width:170px!important;
  height:170px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  border:3px solid #fff!important;
  box-shadow:0 12px 30px rgba(15,23,42,.16)!important;
}
.profile-photo-upload-preview span{
  color:#667085!important;
  font-weight:850!important;
}
.profile-photo-upload-dropzone{
  display:grid!important;
  gap:9px!important;
}
.student-edit-photo-row .btn.compact{
  margin-top:8px!important;
  width:max-content!important;
}
.settings-users-table .settings-user-action-menu .table-action-menu-panel a,
.settings-users-table .settings-user-action-menu .table-action-menu-panel button,
.people-row-action-menu .table-action-menu-panel a,
.people-row-action-menu .table-action-menu-panel button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
  justify-content:flex-start!important;
}
.settings-users-table .settings-user-action-menu .table-action-menu-panel a:hover,
.settings-users-table .settings-user-action-menu .table-action-menu-panel button:hover,
.people-row-action-menu .table-action-menu-panel a:hover,
.people-row-action-menu .table-action-menu-panel button:hover{
  background:#f2f5ff!important;
  color:#3346d3!important;
}
.settings-users-table .settings-user-action-menu .table-action-menu-panel .ui-icon,
.people-row-action-menu .table-action-menu-panel .ui-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}
.settings-users-table .settings-user-action-menu .table-action-menu-panel form{
  margin:0!important;
}
.settings-users-table .settings-user-action-menu .table-action-menu-panel .danger-menu-action,
.people-row-action-menu .table-action-menu-panel .danger-menu-action{
  color:#b42318!important;
}
.settings-users-table .settings-user-action-menu .table-action-menu-panel .danger-menu-action:hover,
.people-row-action-menu .table-action-menu-panel .danger-menu-action:hover{
  background:#fff1f2!important;
  color:#b42318!important;
}


/* Final action-menu typography override for regular and floating table menus. */
.settings-users-table .settings-user-action-menu .table-action-menu-panel a,
.settings-users-table .settings-user-action-menu .table-action-menu-panel button,
.settings-user-action-menu .table-action-menu-panel a,
.settings-user-action-menu .table-action-menu-panel button,
.people-row-action-menu .table-action-menu-panel a,
.people-row-action-menu .table-action-menu-panel button,
.people-action-menu-panel a,
.people-action-menu-panel button,
.people-action-menu-panel.is-floating-table-action-panel a,
.people-action-menu-panel.is-floating-table-action-panel button{
  font-weight:500!important;
}


/* Unified table action typography for Assets, People, and Staff Login menus. */
.asset-inventory-action-menu .asset-row-action-summary,
.people-row-action-menu .asset-row-action-summary,
.settings-user-action-menu .asset-row-action-summary,
.asset-inventory-action-menu .table-action-menu-panel a,
.asset-inventory-action-menu .table-action-menu-panel button,
.asset-inventory-action-menu .table-action-menu-panel .table-action-menu-button,
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel a,
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel button,
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel .table-action-menu-button,
.people-row-action-menu .table-action-menu-panel a,
.people-row-action-menu .table-action-menu-panel button,
.people-action-menu-panel a,
.people-action-menu-panel button,
.people-action-menu-panel.is-floating-table-action-panel a,
.people-action-menu-panel.is-floating-table-action-panel button,
.settings-user-action-menu .table-action-menu-panel a,
.settings-user-action-menu .table-action-menu-panel button,
.settings-users-table .settings-user-action-menu .table-action-menu-panel a,
.settings-users-table .settings-user-action-menu .table-action-menu-panel button,
.table-action-menu-panel.is-floating-table-action-panel a,
.table-action-menu-panel.is-floating-table-action-panel button,
.table-action-menu-panel.is-floating-table-action-panel .table-action-menu-button,
.table-action-menu-panel .table-action-menu-button{
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.asset-inventory-action-menu .table-action-menu-panel a,
.asset-inventory-action-menu .table-action-menu-panel button,
.asset-inventory-action-menu .table-action-menu-panel .table-action-menu-button,
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel a,
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel button,
.asset-inventory-action-menu .table-action-menu-panel.is-floating-table-action-panel .table-action-menu-button,
.people-row-action-menu .table-action-menu-panel a,
.people-row-action-menu .table-action-menu-panel button,
.people-action-menu-panel a,
.people-action-menu-panel button,
.people-action-menu-panel.is-floating-table-action-panel a,
.people-action-menu-panel.is-floating-table-action-panel button,
.settings-user-action-menu .table-action-menu-panel a,
.settings-user-action-menu .table-action-menu-panel button,
.settings-users-table .settings-user-action-menu .table-action-menu-panel a,
.settings-users-table .settings-user-action-menu .table-action-menu-panel button,
.table-action-menu-panel.is-floating-table-action-panel a,
.table-action-menu-panel.is-floating-table-action-panel button,
.table-action-menu-panel.is-floating-table-action-panel .table-action-menu-button,
.table-action-menu-panel .table-action-menu-button{
  line-height:1.25!important;
}


/* Final header search typography override. */
.topbar.clean-admin-header .global-search.header-search input,
.clean-admin-header .global-search.header-search input,
.header-search input{
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
.topbar.clean-admin-header .global-search.header-search input::placeholder,
.clean-admin-header .global-search.header-search input::placeholder,
.header-search input::placeholder{
  color:#94a3b8!important;
  font-weight:400!important;
  opacity:1!important;
}


/* Help Center navigation guide. */
.help-center-shell{
  display:grid;
  gap:16px;
  padding-bottom:28px;
}
.help-center-modal{
  width:min(1540px,calc(100vw - 18px))!important;
  height:min(980px,calc(100vh - 18px))!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.help-center-modal-head{
  margin:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
.help-center-modal iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#f4f7fb;
}
.help-center-embedded-body{
  background:#f4f7fb;
  padding:16px;
  overflow:auto;
}
.help-center-embedded-body .help-center-shell{
  max-width:none;
  padding-bottom:0;
}
.help-center-embedded-body .help-center-hero,
.help-center-embedded-body .help-center-layout{
  box-shadow:none;
}
.help-center-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,460px);
  align-items:end;
  gap:18px;
  background:#fff;
  border:1px solid #dbe5f2;
  border-radius:8px;
  box-shadow:var(--shadow);
  padding:22px;
}
.help-center-hero h1{
  margin:4px 0 6px;
  font-size:30px;
  letter-spacing:0;
  color:#0f172a;
}
.help-center-hero p{
  margin:0;
  color:#53657f;
  max-width:780px;
  font-weight:700;
}
.help-center-search{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  height:42px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fbfdff!important;
  padding:0 12px!important;
  color:#64748b!important;
  font-weight:700!important;
}
.help-center-search .ui-icon{
  width:18px!important;
  height:18px!important;
  color:#2563eb!important;
}
.help-center-search input{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0!important;
  font-size:13px!important;
  font-weight:500!important;
}
.help-center-search input::placeholder{
  color:#94a3b8!important;
  font-weight:400!important;
}
.help-center-tools{
  display:grid;
  gap:10px;
}
.help-center-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.help-center-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr) 230px;
  gap:16px;
  align-items:start;
}
.help-center-index,
.help-center-categories{
  position:sticky;
  top:78px;
  display:grid;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow);
  padding:14px;
}
.help-center-index strong{
  color:#0f172a;
  font-size:13px;
}
.help-center-categories strong{
  color:#0f172a;
  font-size:13px;
}
.help-center-index nav{
  display:grid;
  gap:6px;
}
.help-role-group{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  overflow:hidden;
}
.help-role-group[hidden]{
  display:none!important;
}
.help-role-group summary{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:9px 10px;
  cursor:pointer;
  color:#0f172a;
  font-size:12px;
  font-weight:950;
  list-style:none;
}
.help-role-group summary::-webkit-details-marker{
  display:none;
}
.help-role-group summary .ui-icon{
  width:16px!important;
  height:16px!important;
  color:#2563eb!important;
}
.help-role-group summary b{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:22px;
  border-radius:999px;
  background:#e8eef8;
  color:#334155;
  font-size:11px;
  font-weight:950;
}
.help-role-group>div{
  display:grid;
  gap:5px;
  padding:0 8px 8px;
}
.help-center-index button,
.help-center-tabs button{
  border:1px solid transparent!important;
  box-shadow:none!important;
  background:#fff!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:500!important;
}
.help-center-index button{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:38px!important;
  padding:8px 9px!important;
  border-radius:7px!important;
  width:100%!important;
  background:#fff!important;
}
.help-center-index button .ui-icon{
  width:16px!important;
  height:16px!important;
  color:#2563eb!important;
}
.help-center-index button:hover,
.help-center-index button.active,
.help-center-tabs button:hover,
.help-center-tabs button.active{
  background:#f2f6ff!important;
  border-color:#cfe0ff!important;
  color:#1d4ed8!important;
}
.help-center-main{
  display:grid;
  gap:12px;
  min-width:0;
}
.help-center-tabs{
  display:grid;
  gap:8px;
}
.help-center-tabs button{
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:7px!important;
  white-space:normal!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  text-align:left!important;
}
.help-center-tabs button b{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:22px;
  border-radius:999px;
  background:#e8eef8;
  color:#334155;
  font-size:11px;
  font-weight:950;
}
.help-center-tabs button.active b{
  background:#dbeafe;
  color:#1d4ed8;
}
.help-topic{
  display:none;
  grid-template-columns:minmax(420px,1fr) minmax(300px,430px);
  gap:18px;
  align-items:start;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.help-topic.active{
  display:grid;
}
.help-topic.single-column{
  grid-template-columns:1fr;
}
.help-topic[hidden]{
  display:none!important;
}
.help-topic-copy{
  padding:22px;
  display:grid;
  align-content:start;
  gap:12px;
}
.help-topic-copy>span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  color:#2563eb;
  background:#eef5ff;
  border:1px solid #cfe0ff;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:700;
}
.help-topic-copy>span .ui-icon{
  width:14px;
  height:14px;
}
.help-topic-copy h2{
  margin:0;
  font-size:24px;
  letter-spacing:0;
  color:#0f172a;
}
.help-topic-copy p{
  margin:0;
  color:#53657f;
  line-height:1.45;
  font-weight:700;
}
.help-topic-copy ol{
  margin:4px 0 0;
  padding-left:20px;
  display:grid;
  gap:14px;
  color:#22314c;
  line-height:1.4;
}
.help-workflow-steps>li{
  padding-bottom:12px;
}
.help-workflow-steps>li>span{
  display:block;
  font-weight:800;
}
.help-step-shot{
  margin:10px 0 0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(15,32,51,.08);
}
.help-step-shot img{
  display:block;
  width:100%;
  max-height:280px;
  object-fit:cover;
  object-position:top left;
}
.help-step-shot figcaption{
  border-top:1px solid #dbe5f2;
  padding:7px 9px;
  color:#53657f;
  font-size:11px;
  font-weight:900;
}
.help-topic-copy li::marker{
  color:#2563eb;
  font-weight:800;
}
.help-steps-title,
.help-manual-block h3{
  margin:4px 0 0;
  color:#0f172a;
  font-size:14px;
  letter-spacing:0;
}
.help-manual-block{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  gap:8px;
}
.help-manual-block.warn{
  border-color:#fde68a;
  background:#fffbeb;
}
.help-manual-block ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:6px;
  color:#334155;
  line-height:1.38;
  font-weight:760;
}
.help-related-list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:2px;
}
.help-related-list strong{
  color:#0f172a;
  font-size:12px;
  font-weight:950;
}
.help-related-list span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  color:#334155;
  padding:3px 8px;
  font-size:11px;
  font-weight:900;
}
.help-topic-visual{
  margin:0;
  min-height:0;
  background:#f8fbff;
  border-left:1px solid #dbe5f2;
  display:grid;
  align-content:start;
  gap:12px;
  overflow:hidden;
  padding:16px;
  position:sticky;
  top:0;
}
.help-topic-visual>strong{
  color:#0f172a;
  font-size:13px;
  font-weight:950;
}
.help-topic-visual figure{
  margin:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 22px rgba(15,32,51,.08);
}
.help-topic-visual img{
  width:100%;
  height:auto;
  min-height:220px;
  max-height:360px;
  object-fit:cover;
  object-position:top left;
  display:block;
}
.help-topic-visual figcaption{
  border-top:1px solid #dbe5f2;
  color:#53657f;
  font-size:11px;
  font-weight:900;
  padding:8px 10px;
}
@media(max-width:1050px){
  .help-center-hero,
  .help-center-layout,
  .help-topic{
    grid-template-columns:1fr;
  }
  .help-center-index{
    position:static;
  }
  .help-center-categories{
    position:static;
    order:-1;
  }
  .help-center-index nav{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  }
  .help-center-tabs{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  }
  .help-topic-visual{
    border-left:0;
    border-top:1px solid #dbe5f2;
    position:static;
  }
}
@media(max-width:680px){
  .help-center-hero,
  .help-topic-copy{
    padding:16px;
  }
  .help-center-hero h1{
    font-size:24px;
  }
  .help-topic-copy h2{
    font-size:20px;
  }
  .help-topic-visual,
  .help-topic-visual img{
    min-height:240px;
  }
}
@media print{
  body.help-center-embedded-body{
    background:#fff!important;
    padding:0!important;
  }
  .help-center-hero,
  .help-center-index,
  .help-center-categories,
  .help-topic-visual{
    display:none!important;
  }
  .help-center-layout,
  .help-topic.active{
    display:block!important;
  }
  .help-topic{
    border:0!important;
    box-shadow:none!important;
    page-break-inside:auto;
  }
  .help-topic-copy{
    padding:0!important;
  }
}
.cc-aup-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.cc-aup-metrics span{
  display:grid;
  gap:2px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fbff;
}
.cc-aup-metrics b{
  color:#0f172a;
  font-size:24px;
  line-height:1;
}
.cc-aup-metrics small{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0;
}
.cc-aup-metrics .warn{background:#fffbeb;border-color:#fde68a;}
.cc-aup-metrics .action{background:#eef4ff;border-color:#bfdbfe;}
.cc-aup-metrics .risk{background:#fff1f2;border-color:#fecdd3;}
.cc-aup-metrics .ok{background:#ecfdf5;border-color:#bbf7d0;}
.cc-widget-metric-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  font-size:12px!important;
}
.cc-widget-metric-table th,
.cc-widget-metric-table td{
  padding:7px 10px!important;
  border-bottom:1px solid #edf2f7!important;
  line-height:1.2!important;
}
.cc-widget-metric-table tr:last-child th,
.cc-widget-metric-table tr:last-child td{
  border-bottom:0!important;
}
.cc-widget-metric-table th{
  color:#475569!important;
  font-weight:900!important;
  text-align:left!important;
}
.cc-widget-metric-table td{
  color:#0f172a!important;
  font-weight:950!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
  width:64px!important;
}
.cc-widget-metric-table tr{
  box-shadow:inset 3px 0 0 #94a3b8!important;
}
.cc-widget-metric-table tr.warn{box-shadow:inset 3px 0 0 #f59e0b!important;}
.cc-widget-metric-table tr.action{box-shadow:inset 3px 0 0 #2f6df6!important;}
.cc-widget-metric-table tr.risk{box-shadow:inset 3px 0 0 #ef4444!important;}
.cc-widget-metric-table tr.ok{box-shadow:inset 3px 0 0 #16a34a!important;}
.cc-widget-metric-table tr:nth-child(even){
  background:#fbfdff!important;
}
.cc-hr-task-icon.ok{background:#ecfdf5;color:#15803d;}
.cc-pm-widget{
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfdff 62%,#f7fbff 100%)!important;
  border-color:#dfe8f5!important;
}
.cc-pm-widget h2{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.cc-pm-widget h2:before{
  content:"";
  width:30px!important;
  height:30px!important;
  border-radius:10px!important;
  flex:0 0 30px!important;
  background:
    linear-gradient(135deg,rgba(47,109,246,.18),rgba(20,184,166,.16)),
    #eef6ff!important;
  box-shadow:inset 0 0 0 1px rgba(47,109,246,.16)!important;
}
.cc-pm-widget .cc-pm-list{
  gap:8px!important;
  margin-top:10px!important;
}
.cc-pm-widget .cc-pm-list a{
  border:1px solid #e3ebf6!important;
  border-radius:11px!important;
  padding:8px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 6px 14px rgba(15,23,42,.035)!important;
}
.cc-pm-widget .cc-pm-list a:hover{
  border-color:#cbdcf2!important;
  background:#ffffff!important;
}
.cc-pm-widget .cc-hr-task-icon{
  border-radius:10px!important;
}
.cc-pm-list em{
  background:#fff7ed;
  color:#c2410c;
}
.cc-aup-list em{background:#f3e8ff;color:#6d28d9;}

/* Saved Command Center widget appearance must win over base card styling. */
.cc-grid .cc-card.cc-widget-accented,
.command-center-zoom-body .cc-card.cc-widget-accented,
.command-center-zoom-body .cc-widget-chart-alt.cc-widget-accented{
  border-color:var(--cc-widget-accent,#2563eb)!important;
  box-shadow:0 10px 28px rgba(30,45,80,.1)!important;
}
.cc-widget-card-chart{
  flex:1 1 auto;
  min-height:132px;
  border:1px solid #e5edf7;
  border-radius:8px;
  background:#f8fbff;
}
.cc-widget-card-bars{
  display:flex;
  align-items:end;
  gap:8px;
  padding:14px 10px 24px;
}
.cc-widget-card-bars span{
  flex:1 1 0;
  min-width:0;
  height:118px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:7px;
}
.cc-widget-card-bars i{
  align-self:end;
  display:block;
  min-height:8px;
  border-radius:7px 7px 3px 3px;
}
.cc-widget-card-bars b{
  color:#64748b;
  font-size:10px;
  font-weight:900;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cc-widget-card-pie{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
}
.cc-widget-card-pie>span{
  width:108px;
  height:108px;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
}
.cc-widget-card-pie.donut>span:after{
  content:"";
  position:absolute;
  inset:26px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e5edf7;
}
.cc-widget-card-pie>span b{
  position:relative;
  z-index:1;
  color:#0f172a;
  font-size:20px;
}
.cc-widget-card-pie div{
  display:grid;
  gap:7px;
}
.cc-widget-card-pie em{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:7px;
  align-items:center;
  color:#475569;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cc-widget-card-pie em i{
  width:10px;
  height:10px;
  border-radius:3px;
}

/* Checkout scan fields: quick clear control beside the Enter hint. */
.scan-input-wrap .scan-clear-btn{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  padding:0!important;
  border:1px solid #d7deea!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#64748b!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
}
.scan-input-wrap .scan-clear-btn:hover,
.scan-input-wrap .scan-clear-btn:focus-visible{
  border-color:#fecaca!important;
  background:#fff7f7!important;
  color:#b91c1c!important;
}
.scan-input-wrap .scan-clear-btn .ui-icon{
  width:14px!important;
  height:14px!important;
  color:currentColor!important;
}

/* Laptop navigation readability pass: keep labels, badges, and header actions visible at normal zoom. */
@media(min-width:901px){
  body:not(.nav-collapsed) .sidebar{
    width:272px!important;
    min-width:272px!important;
    max-width:272px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body:not(.nav-collapsed) .main{
    margin-left:272px!important;
    width:calc(100% - 272px)!important;
    max-width:calc(100% - 272px)!important;
  }
}
body:not(.nav-collapsed) .sidebar nav a,
body:not(.nav-collapsed) .sidebar .nav-group > summary,
body:not(.nav-collapsed) .sidebar .nav-subgroup > summary{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:10px!important;
}
body:not(.nav-collapsed) .sidebar nav a span,
body:not(.nav-collapsed) .sidebar .nav-group > summary span,
body:not(.nav-collapsed) .sidebar .nav-subgroup > summary span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.nav-collapsed) .sidebar nav a b{
  position:static!important;
  justify-self:end!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
body:not(.nav-collapsed) .sidebar .nav-group > a,
body:not(.nav-collapsed) .sidebar .nav-subgroup > a{
  width:calc(100% - 12px)!important;
  margin-left:12px!important;
}
body:not(.nav-collapsed) .sidebar .nav-subgroup{
  width:calc(100% - 12px)!important;
  margin-left:12px!important;
}
.clean-admin-header .topbar-shell{
  grid-template-columns:minmax(160px,.85fr) minmax(280px,1.4fr) auto!important;
  gap:12px!important;
}
.clean-admin-header .global-search.header-search{
  max-width:600px!important;
}
.header-actions{
  min-width:max-content!important;
}
.clean-user-menu .topbar-user{
  min-width:152px!important;
}
.clean-admin-header .header-actions{
  min-width:0!important;
}
.clean-user-menu .topbar-user{
  width:auto!important;
  min-width:220px!important;
  max-width:min(360px,32vw)!important;
}
.clean-user-menu .topbar-user-copy{
  min-width:0!important;
  max-width:none!important;
  flex:1 1 auto!important;
}
.clean-user-menu .topbar-user-copy strong,
.clean-user-menu .topbar-user-copy span{
  max-width:none!important;
}
.clean-user-menu .topbar-user-copy strong,
.clean-user-menu .topbar-user-copy span{
  max-width:102px!important;
}
@media(max-width:1280px){
  .clean-admin-header .topbar-shell{
    grid-template-columns:auto minmax(240px,1fr) auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .header-breadcrumb strong,
  .header-breadcrumb span{
    display:none!important;
  }
  .header-search kbd{
    display:none!important;
  }
  .clean-user-menu .topbar-user{
    min-width:auto!important;
    width:48px!important;
    padding:0 3px!important;
    justify-content:center!important;
  }
  .clean-user-menu .topbar-user-copy,
  .header-user-caret{
    display:none!important;
  }
}

/* Final expanded-sidebar width adjustment for long laptop nav labels. */
@media(min-width:901px){
  body:not(.nav-collapsed) .sidebar{
    width:288px!important;
    min-width:288px!important;
    max-width:288px!important;
  }
  body:not(.nav-collapsed) .main{
    margin-left:288px!important;
    width:calc(100% - 288px)!important;
    max-width:calc(100% - 288px)!important;
  }
}

/* Checkout: trim the User Found panel slightly so the history table action column has room. */
@media(min-width:1251px){
  .circulation-shell .scan-layout{
    padding-right:356px!important;
  }
  .checkout-person-panel{
    width:340px!important;
  }
}

/* Checkout fullscreen: remove normal app sidebar offset so kiosk cards align left. */
body.checkout-kiosk-mode .sidebar,
body.checkout-kiosk-mode .topbar.clean-admin-header{
  display:none!important;
}
body.checkout-kiosk-mode .main{
  margin-left:0!important;
  width:100%!important;
  max-width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.checkout-kiosk-mode .circulation-shell{
  width:100%!important;
  max-width:100%!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

/* Checkout fullscreen: fit the kiosk view without a page-level scrollbar. */
html:has(body.checkout-kiosk-mode),
body.checkout-kiosk-mode{
  overflow:hidden!important;
  height:100vh!important;
}
body.checkout-kiosk-mode .main{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  padding-bottom:0!important;
}
body.checkout-kiosk-mode .circulation-shell{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  padding-top:70px!important;
  padding-bottom:8px!important;
  gap:8px!important;
}
body.checkout-kiosk-mode .scan-layout{
  min-height:0!important;
  height:calc(100vh - 78px)!important;
  padding-top:8px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
body.checkout-kiosk-mode .scan-entry-board,
body.checkout-kiosk-mode .checkout-history-panel,
body.checkout-kiosk-mode .checkout-history-card{
  min-height:0!important;
}
body.checkout-kiosk-mode .checkout-table-wrap{
  min-height:0!important;
  overflow:auto!important;
}

/* Checkout fullscreen: hide non-checkout page chrome that was forcing vertical overflow. */
body.checkout-kiosk-mode .push-login-prompt{
  display:none!important;
}
body.checkout-kiosk-mode .main{
  padding:0!important;
}

/* Checkout: show device search matches after a person is selected. */
.circulation-shell #deviceResults.quick-results:not(:empty){
  display:block!important;
}

/* Main header: keep global search visually centered in the header shell. */
@media(min-width:901px){
  .clean-admin-header .topbar-shell{
    position:relative!important;
  }
  .clean-admin-header .global-search.header-search{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(600px,calc(100% - 560px))!important;
    min-width:360px!important;
    z-index:2!important;
  }
  .clean-admin-header .topbar-left,
  .clean-admin-header .header-actions{
    position:relative!important;
    z-index:3!important;
  }
}
@media(max-width:1120px) and (min-width:901px){
  .clean-admin-header .global-search.header-search{
    width:min(460px,calc(100% - 500px))!important;
    min-width:300px!important;
  }
}

/* Main header: neutralize grid placement for the centered search anchor. */
@media(min-width:901px){
  .clean-admin-header .global-search.header-search{
    grid-column:1 / -1!important;
    justify-self:auto!important;
    justify-content:flex-start!important;
    right:auto!important;
    inset-inline-start:50%!important;
    inset-inline-end:auto!important;
  }
}

/* Checkout override modal: show the asset image beside the barcode/name. */
.checkout-override-device{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.checkout-override-device-logo{
  width:58px!important;
  height:48px!important;
  flex:0 0 58px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.checkout-override-device-logo img{
  max-width:52px!important;
  max-height:42px!important;
  object-fit:contain!important;
  display:block!important;
}
.checkout-override-device-logo .ui-icon{
  width:24px!important;
  height:24px!important;
  color:#64748b!important;
}
.checkout-override-device-copy{
  min-width:0!important;
  display:block!important;
}
.checkout-override-device-copy b,
.checkout-override-device-copy span,
.checkout-override-device-copy small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Command center widget menu: compact hide toggle in the header. */
.cc-widget-menu-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
  gap:8px!important;
}
.cc-widget-menu-title > span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cc-widget-menu .cc-widget-hide-toggle{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:0!important;
  border-radius:50%!important;
  justify-self:end!important;
  display:grid!important;
  place-items:center!important;
  background:#fff7f7!important;
  border:1px solid #fee4e2!important;
  color:#b42318!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
}
.cc-widget-menu .cc-widget-hide-toggle:hover{
  background:#fff1f0!important;
  border-color:#fecdca!important;
  color:#912018!important;
}

/* Command center widget detail modal. */
.command-center-zoom-modal{
  width:min(980px,calc(100vw - 32px))!important;
}
.command-center-zoom-modal .modal-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
}
.cc-zoom-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.cc-zoom-actions .btn{
  min-height:34px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
.command-center-zoom-body{
  display:grid!important;
  gap:14px!important;
}
.cc-widget-detail-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:10px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
}
.cc-widget-detail-controls label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
}
.cc-widget-detail-controls input[type=date]{
  height:34px!important;
  border:1px solid #cfdbea!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  padding:0 9px!important;
  font-size:12px!important;
}
.cc-widget-appearance-panel{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:8px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
}
.cc-widget-appearance-panel label{
  margin:0!important;
}
.cc-widget-appearance-panel input[type=color]{
  width:34px!important;
  height:28px!important;
  border:1px solid #cfdbea!important;
  border-radius:6px!important;
  background:#fff!important;
  padding:2px!important;
}
.cc-widget-appearance-panel .primary.compact{
  min-height:28px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
.cc-widget-no-chart{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.cc-widget-view-toggle{
  display:inline-flex!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
}
.cc-widget-view-toggle button{
  min-height:28px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:0 10px!important;
}
.cc-widget-view-toggle button.active,
.cc-widget-view-toggle button[aria-pressed="true"]{
  background:#2563eb!important;
  color:#fff!important;
}
.cc-widget-detail-content > .cc-card{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.cc-widget-data-view{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  overflow:auto!important;
  background:#fff!important;
  max-height:58vh!important;
}
.cc-widget-data-summary{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 14px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
.cc-widget-data-summary strong{
  color:#172033!important;
  font-size:14px!important;
  font-weight:950!important;
}
.cc-widget-data-summary span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}
.cc-widget-data-view table{
  width:100%!important;
  border-collapse:collapse!important;
  font-size:13px!important;
}
.cc-widget-data-view th,
.cc-widget-data-view td{
  padding:10px 12px!important;
  border-bottom:1px solid #edf2f7!important;
  text-align:left!important;
  vertical-align:top!important;
}
.cc-widget-data-view th{
  position:sticky!important;
  top:47px!important;
  z-index:1!important;
  background:#f8fafc!important;
  color:#475569!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}
.cc-widget-data-view td:first-child{
  color:#172033!important;
  font-weight:900!important;
  width:36%!important;
}
.cc-widget-data-view td:nth-child(2){
  color:#64748b!important;
  font-weight:800!important;
  width:42%!important;
}
.cc-widget-data-view td:nth-child(3){
  color:#0f4f76!important;
  font-weight:950!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.cc-widget-data-view tbody tr:nth-child(even){
  background:#fbfdff!important;
}
.cc-widget-data-view tbody tr:hover{
  background:#f3f8ff!important;
}
.cc-widget-data-empty{
  padding:18px!important;
  color:#64748b!important;
  font-weight:850!important;
}
@media(max-width:720px){
  .command-center-zoom-modal .modal-head{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .cc-zoom-actions{
    grid-column:1 / -1!important;
    justify-content:flex-start!important;
  }
  .cc-widget-detail-controls{
    align-items:stretch!important;
  }
}

/* Command center detail modal: stable workspace and alternate chart views. */
.command-center-zoom-modal{
  height:min(760px,calc(100vh - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.command-center-zoom-body{
  min-height:0!important;
  overflow:hidden!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.cc-widget-detail-controls{
  min-height:56px!important;
  flex:0 0 auto!important;
}
.cc-widget-detail-content{
  min-height:0!important;
  height:100%!important;
  overflow:auto!important;
  display:grid!important;
  align-items:stretch!important;
}
.cc-widget-detail-content > .cc-card,
.cc-widget-detail-content > .cc-widget-chart-alt,
.cc-widget-detail-content > .cc-widget-data-view{
  min-height:430px!important;
}
.cc-widget-chart-toggle{
  display:inline-flex!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid #bfdbfe!important;
  border-radius:8px!important;
  background:#f8fbff!important;
}
.cc-widget-chart-toggle button{
  min-height:28px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:0 9px!important;
}
.cc-widget-chart-toggle button.active,
.cc-widget-chart-toggle button[aria-pressed="true"]{
  background:#0f766e!important;
  color:#fff!important;
}
.cc-widget-date-status{
  min-width:72px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.cc-widget-chart-alt{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:18px!important;
  display:grid!important;
  grid-template-columns:minmax(240px,.8fr) minmax(220px,1fr)!important;
  gap:22px!important;
  align-items:center!important;
}
.cc-widget-alt-pie{
  width:260px!important;
  height:260px!important;
  border-radius:50%!important;
  justify-self:center!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  color:#0f172a!important;
}
.cc-widget-chart-donut .cc-widget-alt-pie:after{
  content:"";
  position:absolute;
  inset:54px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e5edf7;
}
.cc-widget-alt-pie strong,
.cc-widget-alt-pie span{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  text-align:center!important;
}
.cc-widget-alt-pie strong{font-size:30px!important;font-weight:950!important;}
.cc-widget-alt-pie span{font-size:12px!important;font-weight:900!important;color:#64748b!important;}
.cc-widget-alt-legend{
  display:grid!important;
  gap:9px!important;
  align-content:center!important;
}
.cc-widget-alt-legend span{
  display:grid!important;
  grid-template-columns:12px minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:850!important;
}
.cc-widget-alt-legend i{
  width:12px!important;
  height:12px!important;
  border-radius:3px!important;
}
.cc-widget-alt-legend b{
  color:#0f172a!important;
  font-weight:950!important;
}
.cc-widget-chart-bar{
  grid-template-columns:minmax(0,1fr) 260px!important;
}
.cc-widget-alt-bars{
  min-height:280px!important;
  display:flex!important;
  align-items:end!important;
  gap:12px!important;
  padding:18px 12px 28px!important;
  border-left:1px solid #e5edf7!important;
  border-bottom:1px solid #e5edf7!important;
}
.cc-widget-alt-bar{
  flex:1 1 0!important;
  min-width:36px!important;
  height:260px!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
}
.cc-widget-alt-bar i{
  width:100%!important;
  align-self:end!important;
  border-radius:8px 8px 3px 3px!important;
  background:var(--bar-color,#2563eb)!important;
  display:block!important;
}
.cc-widget-alt-bar span{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:720px){
  .command-center-zoom-modal{height:calc(100vh - 20px)!important;}
  .cc-widget-chart-alt{grid-template-columns:1fr!important;}
  .cc-widget-alt-pie{width:220px!important;height:220px!important;}
}

/* Command center: normalize widget card heights across the grid. */
.cc-grid [data-command-widget]{
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
  display:flex!important;
  flex-direction:column!important;
}
.cc-grid [data-command-widget] > h2{
  flex:0 0 auto!important;
  min-height:38px!important;
  margin-bottom:12px!important;
  padding-right:36px!important;
}
.cc-grid [data-command-widget] > .cc-card-link{
  flex:0 0 auto!important;
}
.cc-grid [data-command-widget] > :not(h2):not(.cc-card-link):not(.cc-widget-controls){
  min-height:0!important;
}
.cc-grid [data-command-widget] .cc-donut-layout,
.cc-grid [data-command-widget] .cc-axis-chart,
.cc-grid [data-command-widget] .cc-aup-metrics,
.cc-grid [data-command-widget] .cc-widget-metric-table,
.cc-grid [data-command-widget] .cc-kb-summary,
.cc-grid [data-command-widget] .cc-hr-stat,
.cc-grid [data-command-widget] .cc-location-bars,
.cc-grid [data-command-widget] .cc-spare-rings{
  flex:1 1 auto!important;
}
.cc-grid [data-command-widget] .cc-hr-list,
.cc-grid [data-command-widget] .cc-rank-list,
.cc-grid [data-command-widget] .cc-activity-list,
.cc-grid [data-command-widget] .cc-aup-list{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding-right:2px!important;
}
.cc-grid [data-command-widget] .cc-hr-list,
.cc-grid [data-command-widget] .cc-aup-list{
  max-height:138px!important;
}
.cc-grid [data-command-widget] .cc-rank-list,
.cc-grid [data-command-widget] .cc-activity-list{
  max-height:154px!important;
}
.cc-grid [data-command-widget] .cc-location-bars{
  overflow:auto!important;
  padding-right:2px!important;
}
.cc-grid [data-command-widget] .cc-spare-rings{
  align-content:center!important;
}
.cc-grid [data-command-widget] .cc-axis-chart{
  min-height:0!important;
  height:190px!important;
}
.cc-grid [data-command-widget] .cc-bar-chart{
  min-height:0!important;
  height:168px!important;
}
.cc-grid [data-command-widget] .cc-bar-day{
  height:158px!important;
}
.cc-grid [data-command-widget].cc-widget-hidden{
  display:none!important;
}
@media(max-width:900px){
  .cc-grid [data-command-widget]{
    height:auto!important;
    max-height:none!important;
    min-height:280px!important;
  }
}

/* Asset hero title: keep the Chromebook family on one line and the model number below it. */
.asset-d3-title-row h1 .asset-title-main{
  display:block!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.asset-d3-title-row h1 .asset-title-sub{
  display:block!important;
}
@media(max-width:1500px){
  .asset-d3-title-row{
    padding-right:0!important;
  }
  .asset-d3-title-row h1{
    max-width:100%!important;
  }
  .asset-status-actions{
    position:static!important;
    max-width:none!important;
    margin:10px 0 0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
}

/* When the sidebar is expanded on laptop widths, give the asset title real room. */
@media(max-width:1500px){
  body:not(.nav-collapsed) .asset-design3-shell{
    grid-template-columns:1fr!important;
  }
  body:not(.nav-collapsed) .asset-design3-shell .asset-d3-main-card,
  body:not(.nav-collapsed) .asset-design3-shell .warranty-d3-card,
  body:not(.nav-collapsed) .asset-design3-shell .assignment-d3-card{
    grid-column:1!important;
  }
}
@media(max-width:1180px){
  .asset-design3-shell{
    grid-template-columns:1fr!important;
  }
}

/* Managed asset import guard rails */
.managed-sync-freshness{
  margin:12px 0 0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border:1px solid #dbe5f2;
  background:#f8fafc;
  border-radius:10px;
  padding:10px 12px;
}
.managed-sync-freshness > span{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#4f46e5;
}
.managed-sync-freshness.is-stale{
  border-color:#fed7aa;
  background:#fff7ed;
}
.managed-sync-freshness.is-stale > span{
  background:#ffedd5;
  color:#c2410c;
}
.managed-sync-freshness b,
.managed-sync-freshness small{
  display:block;
  min-width:0;
}
.managed-sync-freshness b{
  font-size:13px;
  color:#0f172a;
}
.managed-sync-freshness small{
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.managed-device-main{
  position:relative;
}
.managed-import-state{
  margin-left:auto;
  align-self:flex-start;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.managed-import-state.is-new{
  background:#ecfdf5;
  color:#047857;
}
.managed-import-state.is-managed{
  background:#eff6ff;
  color:#1d4ed8;
}
.managed-import-state.is-update{
  background:#fff7ed;
  color:#c2410c;
}
.google-import-warning.neutral{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}
.google-import-choice.is-disabled,
.jamf-import-choice.is-disabled{
  opacity:.58;
  cursor:not-allowed;
}
.google-import-choice.is-disabled *,
.jamf-import-choice.is-disabled *{
  cursor:not-allowed;
}

/* Device claims / summer self checkout */
.portal-device-claim-callout{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid #bfdbfe;
  background:linear-gradient(180deg,#eff6ff,#f8fbff);
  border-radius:12px;
  padding:14px;
  margin:12px 0 14px;
}
.portal-device-claim-icon,
.device-claim-step-icon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#dbeafe;
  color:#1d4ed8;
}
.portal-device-claim-callout b,
.portal-device-claim-callout small,
.portal-device-claim-callout em{
  display:block;
  min-width:0;
}
.portal-device-claim-callout small{
  color:#475569;
  line-height:1.35;
}
.portal-device-claim-callout em{
  margin-top:4px;
  color:#1d4ed8;
  font-style:normal;
  font-weight:800;
  font-size:12px;
}
.device-claim-modal .device-claim-form{
  display:grid;
  gap:14px;
}
.device-claim-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.device-claim-step{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:12px;
  padding:14px;
}
.device-claim-step h3{
  margin:0 0 4px;
  font-size:15px;
}
.device-claim-step p{
  margin:0;
  line-height:1.4;
}
.device-claim-policy{
  border:1px solid #fed7aa;
  background:#fff7ed;
  border-radius:12px;
  padding:14px;
  display:grid;
  gap:8px;
}
.device-claim-policy b{
  display:flex;
  align-items:center;
  gap:8px;
  color:#9a3412;
}
.device-claim-policy p{
  margin:0;
  color:#475569;
  line-height:1.45;
}
.device-claim-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.device-claim-picker{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:12px;
  padding:14px;
  display:grid;
  gap:12px;
}
.device-claim-picker-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.device-claim-picker-head b,
.device-claim-picker-head small{
  display:block;
}
.device-claim-picker-head small{
  color:#64748b;
  font-size:12px;
}
.device-claim-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
}
.device-claim-device-card{
  width:100%;
  border:1px solid #dbe5f2;
  background:#f8fafc;
  border-radius:12px;
  padding:10px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 24px;
  gap:10px;
  align-items:center;
  text-align:left;
  color:#0f172a;
  cursor:pointer;
}
.device-claim-device-card:hover,
.device-claim-device-card.selected{
  border-color:#2563eb;
  background:#eff6ff;
}
.device-claim-device-card .asset-thumb{
  width:46px;
  height:46px;
}
.device-claim-device-card b,
.device-claim-device-card small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.device-claim-device-card small{
  color:#64748b;
  font-size:12px;
}
.device-claim-device-card i{
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#2563eb;
  opacity:0;
}
.device-claim-device-card.selected i{
  opacity:1;
}
.device-claim-manual-fields[hidden]{
  display:none!important;
}
.portal-pdf-viewer-modal{
  width:min(980px,94vw);
  height:min(820px,90vh);
}
.portal-pdf-viewer-modal iframe{
  width:100%;
  height:calc(90vh - 110px);
  min-height:520px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
}
.device-claims-hero-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.repair-center-card{
  margin-bottom:18px;
}
.repair-center-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #cfe0f5;
  border-radius:8px;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  padding:22px;
  margin-bottom:16px;
}
.repair-center-hero h1{
  margin:2px 0 6px;
  color:#0f172a;
  font-size:34px;
  line-height:1.08;
}
.repair-center-hero p{
  margin:0;
  color:#64748b;
  font-weight:850;
}
.repair-center-card .section-head{
  align-items:flex-start;
}
.repair-insights-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr 1.15fr;
  gap:14px;
  margin-bottom:18px;
  align-items:stretch;
}
.repair-insight-card{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
  margin:0;
  min-height:250px;
}
.repair-insight-wide{
  grid-column:1 / -1;
}
.repair-summary-card{
  align-content:start;
}
.repair-health-metrics{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.repair-health-metrics span{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfcff;
  padding:12px;
}
.repair-health-metrics b{
  display:block;
  color:#172033;
  font-size:22px;
}
.repair-health-metrics small{
  color:#64748b;
  font-weight:850;
}
.repair-health-metrics .warn{
  background:#fff7ed;
  border-color:#fed7aa;
}
.repair-health-metrics .ok{
  background:#f0fdf4;
  border-color:#bbf7d0;
}
.repair-category-bars,
.repair-stock-bars{
  display:grid;
  gap:10px;
}
.repair-scroll-list{
  max-height:260px;
  overflow:auto;
  padding-right:4px;
}
.repair-workbench-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.repair-work-card{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:12px;
  min-height:320px;
}
.repair-work-card-count{
  display:flex;
  align-items:flex-end;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfcff;
  padding:12px;
}
.repair-work-card-count strong{
  color:#172033;
  font-size:32px;
  line-height:1;
}
.repair-work-card-count span{
  color:#64748b;
  font-weight:900;
  padding-bottom:2px;
}
.repair-work-card-count.warn{
  background:#fff7ed;
  border-color:#fed7aa;
}
.repair-work-card-count.ok{
  background:#f0fdf4;
  border-color:#bbf7d0;
}
.repair-chart-row{
  display:grid;
  grid-template-columns:minmax(110px,1fr) minmax(120px,1.3fr) 42px;
  gap:12px;
  align-items:center;
  border:1px solid #e5edf7;
  border-radius:8px;
  padding:10px;
  background:#fff;
  color:#172033;
  font-weight:900;
}
.repair-chart-row span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-chart-row div,
.repair-stock-track{
  position:relative;
  height:12px;
  border-radius:999px;
  background:#e8eef7;
  overflow:hidden;
}
.repair-chart-row i,
.repair-stock-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#2f6df6;
}
.repair-chart-row b{
  text-align:right;
}
.repair-stock-row{
  display:grid;
  grid-template-columns:minmax(140px,1.2fr) minmax(130px,1.4fr) 48px;
  gap:12px;
  align-items:center;
  border:1px solid #e5edf7;
  border-radius:8px;
  padding:10px;
  background:#fff;
}
.repair-stock-row span{
  min-width:0;
}
.repair-stock-name,
.repair-table-name-cell,
.repair-mini-main{
  min-width:0;
}
.repair-stock-name,
.repair-table-name-cell{
  display:flex;
  align-items:center;
  gap:10px;
}
.repair-stock-name>span:last-child,
.repair-table-name-cell>span:last-child,
.repair-mini-main{
  min-width:0;
  display:block;
}
.repair-row-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
}
.repair-row-icon .asset-icon-image,
.repair-icon-preview .asset-icon-image{
  width:100%!important;
  height:100%!important;
}
.repair-row-icon .asset-icon-image .ui-icon{
  width:20px!important;
  height:20px!important;
}
.repair-stock-row b,
.repair-stock-row small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-stock-row small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.repair-stock-row strong{
  text-align:right;
  color:#172033;
}
.repair-stock-row.low{
  border-color:#fed7aa;
  background:#fff7ed;
}
.repair-stock-row.low .repair-stock-track i{
  background:#f97316;
}
.repair-stock-track em{
  position:absolute;
  top:-3px;
  bottom:-3px;
  width:2px;
  background:#dc2626;
}
.repair-asset-typeahead{
  position:relative;
  display:grid;
  gap:10px;
}
.repair-typeahead-field{
  position:relative;
}
.repair-typeahead-field .search-field{
  margin-top:6px;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:0 10px!important;
  color:#64748b!important;
}
.repair-typeahead-field .search-field .ui-icon{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
}
.repair-typeahead-field .search-field input{
  min-width:0!important;
  width:100%!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:9px 0!important;
  outline:0!important;
}
.repair-typeahead-results{
  position:absolute;
  z-index:80;
  left:0;
  right:0;
  top:76px;
  max-height:360px;
  overflow:auto;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  padding:6px;
}
.repair-typeahead-results[hidden]{
  display:none!important;
}
.repair-typeahead-selected{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:4px 10px;
  align-items:center;
}
.repair-typeahead-selected .repair-typeahead-selected-thumb{
  grid-column:1;
  grid-row:1 / span 3;
  width:58px;
  height:44px;
}
.repair-typeahead-selected small,
.repair-typeahead-selected b,
.repair-typeahead-selected .repair-typeahead-selected-detail{
  grid-column:2;
}
.repair-typeahead-selected .btn{
  grid-column:3;
  grid-row:1 / span 3;
}
.repair-weekday-fieldset{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfcff;
  padding:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.repair-weekday-fieldset legend{
  padding:0 6px;
  color:#172033;
  font-weight:900;
}
.repair-weekday-fieldset label{
  width:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  padding:6px 9px;
  font-weight:900;
}
.repair-weekday-fieldset small{
  width:100%;
  color:#64748b;
  font-weight:850;
}
.repair-pm-asset-option{
  grid-template-columns:58px minmax(0,1fr) minmax(150px,.72fr);
}
.repair-center-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.repair-center-grid article{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfcff;
  padding:14px;
  display:grid;
  gap:8px;
}
.repair-center-grid article>strong{
  font-size:30px;
  color:#172033;
  line-height:1;
}
.repair-center-wide{
  grid-column:1 / -1;
}
.repair-mini-list{
  display:grid;
  gap:8px;
}
.repair-mini-list button{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  text-align:left;
  padding:10px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:3px;
  align-items:center;
  color:#0f172a;
  cursor:pointer;
}
.repair-mini-list button:hover{
  border-color:#2563eb;
  background:#eff6ff;
}
.repair-mini-list button b{
  color:#172033;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-mini-list button .repair-mini-main>span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.compact-table th,
.compact-table td{
  padding:8px 10px;
}
.hr-task-alert-modal .modal-head{
  align-items:flex-start;
}
.hr-task-alert-modal .section-kicker{
  display:block;
  margin-bottom:4px;
}
.hr-task-alert-body{
  border-color:#cfe0f5!important;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.hr-task-alert-body .alert-item-icon{
  border-radius:12px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border:1px solid #bfdbfe;
}
.hr-task-alert-body small{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin-top:10px!important;
  padding:6px 9px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
}
.hr-task-alert-body small .ui-icon{
  width:14px;
  height:14px;
}
.hr-task-alert-actions{
  border-top:1px solid #e5edf7;
  padding-top:14px;
}
.hr-task-alert-actions .btn{
  min-height:38px;
}
@media(max-width:760px){
  .portal-device-claim-callout{
    grid-template-columns:44px minmax(0,1fr);
  }
  .portal-device-claim-callout .primary{
    grid-column:1 / -1;
    width:100%;
  }
  .device-claim-steps{
    grid-template-columns:1fr;
  }
  .device-claims-hero-card{
    align-items:stretch;
    flex-direction:column;
  }
}
@media(max-width:900px){
  .repair-center-hero{
    align-items:stretch;
    flex-direction:column;
  }
  .repair-insights-grid{
    grid-template-columns:1fr;
  }
  .repair-insight-wide{
    grid-column:auto;
  }
  .repair-health-metrics{
    grid-template-columns:1fr;
  }
  .repair-workbench-grid{
    grid-template-columns:1fr;
  }
  .repair-work-card,
  .repair-insight-card{
    min-height:0;
  }
  .repair-chart-row,
  .repair-stock-row,
  .repair-pm-asset-option{
    grid-template-columns:1fr;
  }
  .repair-chart-row b,
  .repair-stock-row strong{
    text-align:left;
  }
  .repair-center-grid{
    grid-template-columns:1fr;
  }
  .repair-center-wide{
    grid-column:auto;
  }
}

/* Final checkout fullscreen alignment: keep person scan high, lower only device scan. */
body.checkout-kiosk-mode .scan-steps-column{
  min-height:0!important;
  align-content:start!important;
}
body.checkout-kiosk-mode .scan-steps-column .primary-step:first-of-type{
  margin-top:0!important;
}
body.checkout-kiosk-mode .scan-steps-column .primary-step:nth-of-type(2){
  margin-top:32px!important;
}

/* HR details layout and employee edit modal finish pass. */
.hr-detail-grid{
  grid-template-columns:minmax(0,1fr) 360px!important;
  align-items:start!important;
}
.hr-employee-card{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.hr-progress{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  min-width:0!important;
}
.hr-tasks-card{
  grid-column:1 / -1!important;
  grid-row:2!important;
  min-width:0!important;
}
.hr-checklist-card{
  grid-column:1!important;
  grid-row:3!important;
  min-width:0!important;
}
.hr-activity-card{
  grid-column:2!important;
  grid-row:3!important;
  align-self:start!important;
  min-width:0!important;
  position:relative!important;
  z-index:1!important;
}
.hr-activity-card .hr-timeline{
  max-height:420px;
  overflow:auto;
  padding-right:4px;
}
.hr-employee-edit-modal{
  width:min(860px,calc(100vw - 36px))!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
.hr-employee-edit-modal .modal-head{
  margin:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}
.hr-employee-edit-modal .modal-head h2,
.hr-employee-edit-modal .modal-head p{
  margin:0!important;
}
.hr-employee-edit-modal .modal-head p{
  margin-top:4px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.hr-employee-edit-form{
  padding:16px 20px 0!important;
  gap:12px!important;
  background:#f6f9fd!important;
  max-height:calc(90vh - 78px)!important;
  overflow:auto!important;
}
.hr-employee-edit-form>label{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:11px;
  min-width:0;
  box-shadow:0 6px 18px rgba(15,32,51,.04);
}
.hr-employee-edit-form input,
.hr-employee-edit-form select,
.hr-employee-edit-form textarea{
  border-color:#d7e2f0!important;
}
.hr-employee-edit-form>.modal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:2px -20px 0!important;
  padding:12px 20px 14px!important;
  border-top:1px solid #dbe5f2;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
@media(max-width:900px){
  .hr-detail-grid,
  .hr-employee-card,
  .hr-progress,
  .hr-tasks-card,
  .hr-checklist-card,
  .hr-activity-card{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .hr-detail-grid{
    grid-template-columns:1fr!important;
  }
  .hr-employee-edit-form{
    max-height:none!important;
    padding:12px!important;
  }
  .hr-employee-edit-form>.modal-actions{
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

#hrEmployeeEditModal .hr-employee-edit-modal{
  width:min(900px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 44px)!important;
  overflow:hidden!important;
  background:#fff!important;
}
#hrEmployeeEditModal .hr-employee-edit-modal>.modal-head{
  background:#fff!important;
}
#hrEmployeeEditModal .hr-employee-edit-form{
  padding:16px 20px 0!important;
  gap:10px 12px!important;
  background:#fff!important;
  max-height:none!important;
  overflow:visible!important;
}
#hrEmployeeEditModal .hr-employee-edit-form>label{
  padding:9px 10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#hrEmployeeEditModal .hr-employee-edit-form textarea{
  min-height:64px!important;
  max-height:86px!important;
}
#hrEmployeeEditModal .hr-employee-edit-form>.modal-actions{
  position:static!important;
  margin:12px -20px 0!important;
  padding:12px 20px 14px!important;
  background:#fff!important;
  backdrop-filter:none!important;
}

/* HR request table: fill the card and use floating action menus. */
.hr-dashboard-grid,
.hr-main-table{
  width:100%!important;
  max-width:100%!important;
}
.hr-main-table{
  min-width:0!important;
}
.hr-main-table .hr-table{
  width:100%!important;
  min-width:100%!important;
  table-layout:fixed!important;
}
.hr-main-table .hr-table th,
.hr-main-table .hr-table td{
  overflow-wrap:anywhere;
}
.hr-main-table .hr-table th[data-col="employee"],
.hr-main-table .hr-table td[data-col="employee"]{
  width:22%!important;
}
.hr-main-table .hr-table th[data-col="position"],
.hr-main-table .hr-table td[data-col="position"]{
  width:14%!important;
}
.hr-main-table .hr-table th[data-col="start"],
.hr-main-table .hr-table td[data-col="start"]{
  width:12%!important;
}
.hr-main-table .hr-table th[data-col="status"],
.hr-main-table .hr-table td[data-col="status"]{
  width:12%!important;
}
.hr-main-table .hr-table th[data-col="assigned"],
.hr-main-table .hr-table td[data-col="assigned"]{
  width:16%!important;
}
.hr-main-table .hr-table th[data-col="progress"],
.hr-main-table .hr-table td[data-col="progress"]{
  width:14%!important;
}
.hr-main-table .hr-table th[data-col="actions"],
.hr-main-table .hr-table td[data-col="actions"]{
  width:120px!important;
  min-width:120px!important;
}
.hr-request-action-menu summary{
  min-width:104px!important;
  justify-content:center!important;
}
.hr-request-action-menu .table-action-menu-panel.is-floating-table-action-panel,
.table-action-menu-panel.is-floating-table-action-panel{
  z-index:100000!important;
}

/* Online presence must remain visible on clipped topbar/profile photo avatars. */
.clean-user-menu .avatar.presence-online,
.topbar-user .avatar.presence-online,
.user-menu-head .avatar.presence-online{
  border:4px solid #22c55e!important;
  box-shadow:0 0 0 2px #dcfce7!important;
}

.clean-user-menu .avatar.small.presence-online,
.topbar-user .avatar.small.presence-online,
.user-menu-head .avatar.small.presence-online{
  border-width:3px!important;
}

/* Production modal polish for Repair Center, asset quick actions, user admin, and reservations. */
.repair-workflow-modal,
.asset-quick-modal,
.settings-user-modal,
.reservation-edit-modal,
.reservation-request-modal{
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
.repair-workflow-modal:not(.compact),
.settings-user-modal,
.reservation-edit-modal,
.reservation-request-modal{
  width:min(920px,calc(100vw - 36px))!important;
}
.pm-workflow-modal{
  width:min(1080px,calc(100vw - 36px))!important;
}
.pm-workflow-modal .repair-workflow-form{
  background:#fff!important;
}
.pm-workflow-modal .repair-workflow-form>label,
.pm-workflow-modal .repair-workflow-form>.repair-asset-typeahead,
.pm-workflow-modal .repair-workflow-form>.repair-icon-picker,
.pm-workflow-modal .repair-workflow-form>.repair-weekday-fieldset{
  background:#fbfdff!important;
  border-color:#dfe7f2!important;
  box-shadow:none!important;
}
.pm-workflow-modal .repair-workflow-form>.modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  margin:4px -20px 0!important;
  padding:13px 20px 15px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
  backdrop-filter:none!important;
  justify-content:flex-end!important;
}
.asset-quick-modal{
  width:min(760px,calc(100vw - 36px))!important;
}
.repair-workflow-modal .modal-head,
.asset-quick-modal .modal-head,
.settings-user-modal .modal-head,
.reservation-edit-modal .modal-head,
.reservation-request-modal .modal-head{
  margin:0!important;
  padding:17px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  align-items:flex-start!important;
}
.repair-workflow-modal .modal-head h2,
.asset-quick-modal .modal-head h2,
.settings-user-modal .modal-head h2,
.reservation-edit-modal .modal-head h2,
.reservation-request-modal .modal-head h2{
  margin:0!important;
  font-size:21px!important;
  color:#172033!important;
  letter-spacing:0!important;
}
.repair-workflow-modal .modal-head p,
.asset-quick-modal .modal-head p,
.settings-user-modal .modal-head p,
.reservation-edit-modal .modal-head p,
.reservation-request-modal .modal-head p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.repair-workflow-form,
.asset-quick-form,
.settings-user-form,
.reservation-polished-form{
  padding:16px 20px 0!important;
  gap:12px!important;
  background:#fff!important;
  max-height:calc(90vh - 78px)!important;
  overflow:auto!important;
}
.repair-workflow-form>label,
.repair-workflow-form>.repair-asset-typeahead,
.repair-workflow-form>.repair-icon-picker,
.repair-workflow-form>.repair-weekday-fieldset,
.repair-workflow-form>.form-help-note,
.asset-quick-form>label,
.asset-quick-form>.repair-asset-summary,
.settings-user-form>label,
.settings-user-form>details,
.settings-user-form>.settings-toggle,
.settings-user-form>.form-help-note,
.settings-user-form>.password-meter,
.reservation-polished-form>label,
.reservation-polished-form>.reservation-modal-asset,
.reservation-polished-form>.reservation-on-behalf-field,
.reservation-polished-form>.reservation-history,
.reservation-polished-form>.settings-toggle{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  padding:11px;
  min-width:0;
  box-shadow:none;
}
.repair-workflow-form input,
.repair-workflow-form select,
.repair-workflow-form textarea,
.asset-quick-form input,
.asset-quick-form select,
.asset-quick-form textarea,
.settings-user-form input,
.settings-user-form select,
.settings-user-form textarea,
.reservation-polished-form input,
.reservation-polished-form select,
.reservation-polished-form textarea{
  border-color:#d7e2f0;
}
.repair-workflow-form textarea,
.asset-quick-form textarea,
.settings-user-form textarea,
.reservation-polished-form textarea{
  resize:vertical;
}
.repair-workflow-form>.modal-actions,
.asset-quick-form>.modal-actions,
.settings-user-form>.modal-actions,
.reservation-polished-form>.modal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:2px -20px 0!important;
  padding:12px 20px 14px!important;
  border-top:1px solid #dbe5f2;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.repair-workflow-form>.modal-actions .primary,
.asset-quick-form>.modal-actions .primary,
.settings-user-form>.modal-actions .primary,
.reservation-polished-form>.modal-actions .primary{
  min-width:145px;
}
.repair-icon-picker{
  display:grid;
  gap:8px;
}
.repair-icon-picker-label{
  color:#172033;
  font-size:13px;
  font-weight:900;
}
.repair-icon-picker-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
}
.repair-icon-preview{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
}
.repair-icon-preview .asset-icon-image .ui-icon{
  width:30px!important;
  height:30px!important;
}
.repair-icon-picker-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.repair-icon-picker-copy b,
.repair-icon-picker-copy small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-icon-picker-copy b{
  color:#172033;
  font-weight:950;
}
.repair-icon-picker-copy small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.repair-icon-library-modal .asset-icon-library-body{
  padding:16px 18px 18px;
}
@media(max-width:640px){
  .repair-icon-picker-card{
    grid-template-columns:48px minmax(0,1fr);
  }
  .repair-icon-picker-card .btn{
    grid-column:1 / -1;
    justify-content:center;
  }
}
.settings-user-form .user-permission-picker summary{
  padding:0!important;
}
.settings-user-form .settings-check-grid{
  margin-top:10px;
}
.settings-user-avatar-editor{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:12px!important;
}
.settings-user-avatar-editor .avatar{
  width:64px!important;
  height:64px!important;
  font-size:20px!important;
}
.settings-user-avatar-editor>div{
  display:grid;
  gap:8px;
  min-width:0;
}
.settings-user-avatar-editor label{
  display:grid;
  gap:6px;
  margin:0!important;
}
.settings-user-avatar-editor input[type=file]{
  width:100%;
}
.settings-user-avatar-editor small{
  color:#64748b;
  font-weight:800;
}
.settings-avatar-remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-self:start!important;
  gap:8px!important;
  width:auto!important;
  border:1px solid #e5ecf5!important;
  border-radius:999px!important;
  background:#f8fbff!important;
  color:#53657f!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.settings-avatar-remove input{
  width:14px!important;
  height:14px!important;
  margin:0!important;
  padding:0!important;
}
.settings-avatar-remove span{
  line-height:1!important;
}
.settings-edit-permission-collapsed{
  max-height:74px;
  overflow:hidden;
}
.settings-edit-permission-collapsed[open]{
  max-height:none;
  overflow:visible;
}
.reservation-polished-form>.reservation-on-behalf-field{
  position:relative;
}
.reservation-polished-form .reservation-requester-results{
  z-index:12;
}
@media(max-width:900px){
  .repair-workflow-form,
  .asset-quick-form,
  .settings-user-form,
  .reservation-polished-form{
    max-height:none!important;
    padding:12px!important;
  }
  .repair-workflow-form>.modal-actions,
  .asset-quick-form>.modal-actions,
  .settings-user-form>.modal-actions,
  .reservation-polished-form>.modal-actions{
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* HR onboarding details: keep Employee Information compact beside task work. */
.hr-shell:has(.hr-detail-hero) .hr-detail-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;
  gap:12px!important;
  align-items:start!important;
}
.hr-shell:has(.hr-detail-hero) .hr-tasks-card{
  grid-column:1!important;
  grid-row:1!important;
}
.hr-shell:has(.hr-detail-hero) .hr-employee-card{
  grid-column:2!important;
  grid-row:1!important;
}
.hr-shell:has(.hr-detail-hero) .hr-checklist-card{
  grid-column:1!important;
  grid-row:2!important;
}
.hr-shell:has(.hr-detail-hero) .hr-activity-card{
  grid-column:2!important;
  grid-row:2!important;
}
@media(max-width:1100px){
  .hr-shell:has(.hr-detail-hero) .hr-detail-grid{
    grid-template-columns:1fr!important;
  }
  .hr-shell:has(.hr-detail-hero) .hr-tasks-card,
  .hr-shell:has(.hr-detail-hero) .hr-employee-card,
  .hr-shell:has(.hr-detail-hero) .hr-checklist-card,
  .hr-shell:has(.hr-detail-hero) .hr-activity-card{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* HR onboarding wizard: contact values should read as normal input text. */
.hr-wizard-modal [data-hr-employee-name],
.hr-wizard-modal [data-hr-email],
.hr-wizard-modal [data-hr-phone],
.hr-wizard-modal input[name="preferred_name"],
.hr-wizard-modal input[name="personal_email"],
.hr-wizard-modal input[name="personal_phone"]{
  font-weight:400!important;
}
.hr-form-grid input[name="employee"],
.hr-form-grid input[name="preferred_name"],
.hr-form-grid input[name="email"],
.hr-form-grid input[name="phone"],
.hr-form-grid input[name="personal_email"],
.hr-form-grid input[name="personal_phone"],
.hr-form-grid [data-hr-employee-name],
.hr-form-grid [data-hr-email],
.hr-form-grid [data-hr-phone]{
  font-weight:400!important;
}
.hr-wizard-modal [data-hr-employee-name]::placeholder,
.hr-wizard-modal [data-hr-email]::placeholder,
.hr-wizard-modal [data-hr-phone]::placeholder,
.hr-wizard-modal input[name="preferred_name"]::placeholder,
.hr-wizard-modal input[name="personal_email"]::placeholder,
.hr-wizard-modal input[name="personal_phone"]::placeholder{
  font-weight:400!important;
}
.hr-form-grid input[name="employee"]::placeholder,
.hr-form-grid input[name="preferred_name"]::placeholder,
.hr-form-grid input[name="email"]::placeholder,
.hr-form-grid input[name="phone"]::placeholder,
.hr-form-grid input[name="personal_email"]::placeholder,
.hr-form-grid input[name="personal_phone"]::placeholder,
.hr-form-grid [data-hr-employee-name]::placeholder,
.hr-form-grid [data-hr-email]::placeholder,
.hr-form-grid [data-hr-phone]::placeholder{
  font-weight:400!important;
}
.hr-wizard-modal select[name="employment_duration"],
.hr-wizard-modal select[name="position_status"],
.hr-wizard-modal select[name="job_title"]{
  font-weight:400!important;
}
.hr-wizard-modal .hr-steps button.locked,
.hr-wizard-modal .hr-steps button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}
.hr-wizard-modal .hr-steps button.locked .hr-step-icon,
.hr-wizard-modal .hr-steps button:disabled .hr-step-icon{
  background:rgba(255,255,255,.06)!important;
  color:#8fa3bd!important;
  border-color:rgba(255,255,255,.08)!important;
}

/* HR setup sheet print preview. */
.hr-setup-sheet-modal{
  width:min(1060px,calc(100vw - 36px))!important;
  padding:0!important;
  overflow:hidden!important;
  max-height:min(92vh,920px)!important;
  display:flex!important;
  flex-direction:column!important;
}
.hr-setup-sheet-modal .modal-head{
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
}
.hr-setup-sheet{
  width:min(8.5in,100%);
  height:11in;
  min-height:11in;
  max-height:none;
  overflow:visible;
  padding:.35in;
  margin:22px auto;
  background:#fff;
  color:#0f172a;
  border:1px solid #dbe5f2;
  box-shadow:0 18px 45px rgba(15,23,42,.18);
  display:flex;
  flex-direction:column;
}
.hr-setup-sheet-modal{
  background:#f1f5f9!important;
}
.hr-setup-sheet-modal .hr-setup-sheet{
  flex:0 0 auto;
}
.hr-setup-sheet-modal .print-area{
  overflow:visible;
}
.hr-setup-sheet-modal .modal-actions{
  position:sticky;
  bottom:0;
  z-index:6;
  margin:0!important;
  padding:12px 18px!important;
  border-top:1px solid #dbe5f2!important;
  flex:0 0 auto;
}
.hr-setup-sheet-modal .modal-head{
  flex:0 0 auto;
}
.hr-setup-sheet-modal .hr-setup-sheet{
  transform-origin:top center;
}
.hr-setup-sheet-modal{
  overflow-y:auto!important;
}
.hr-setup-sheet-modal .modal-head,
.hr-setup-sheet-modal .modal-actions{
  background:#fff!important;
}
.hr-setup-sheet-brand{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border-bottom:2px solid #3346d3;
  padding-bottom:8px;
  margin-bottom:10px;
}
.hr-setup-sheet-brand strong{
  font-size:18px;
  color:#102033;
}
.hr-setup-sheet-logo{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.hr-setup-sheet-logo img{
  width:30px;
  height:30px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  flex:0 0 auto;
}
.hr-setup-sheet-brand span{
  color:#64748b;
  font-weight:850;
}
.hr-setup-sheet-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:14px;
  align-items:start;
  margin-bottom:10px;
}
.hr-setup-sheet-head h1{
  margin:0 0 3px;
  font-size:22px;
}
.hr-setup-sheet-head dl{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:5px 8px;
  border:1px solid #dbe5f2;
  border-radius:6px;
  background:#f8fbff;
  padding:8px;
  margin:0;
}
.hr-setup-sheet-head dt,
.hr-setup-sheet-grid small{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.hr-setup-sheet-head dd{
  margin:0;
  font-weight:850;
}
.hr-setup-sheet-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:8px;
}
.hr-setup-sheet-grid>div{
  border:0;
  border-bottom:1px solid #e5ecf5;
  border-radius:0;
  background:transparent;
  padding:0 0 5px;
}
.hr-setup-sheet-grid b,
.hr-setup-sheet-grid small{
  display:block;
  overflow-wrap:anywhere;
}
.hr-setup-sheet-section{
  border-top:1px solid #e5ecf5;
  padding-top:8px;
  margin-top:8px;
}
.hr-setup-sheet-section h3{
  margin:0 0 6px;
  font-size:13px;
}
.hr-setup-sheet-record{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px 18px;
}
.hr-setup-sheet-record>div{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:6px;
  border:0;
  border-bottom:1px solid #eef2f7;
  border-radius:0;
  background:transparent;
  padding:0 0 4px;
  min-width:0;
}
.hr-setup-sheet-record small,
.hr-setup-sheet-record b{
  display:block;
  overflow-wrap:anywhere;
}
.hr-setup-sheet-record small{
  color:#64748b;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.hr-setup-sheet-record b{
  font-size:10.5px;
}
.hr-setup-sheet-section table{
  width:100%;
  border-collapse:collapse;
}
.hr-setup-sheet-section th,
.hr-setup-sheet-section td{
  border:1px solid #dbe5f2;
  padding:4px 5px;
  text-align:left;
  font-size:9px;
  vertical-align:top;
}
.hr-setup-sheet-section th{
  background:#f8fbff;
  color:#334155;
  font-weight:950;
}
.hr-setup-sheet-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.hr-setup-sheet-chips span{
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fbff;
  padding:6px 9px;
  font-size:12px;
  font-weight:850;
}
.hr-setup-sheet-section p{
  margin:0;
  font-size:10px;
}
.hr-setup-sheet-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:auto;
  padding-top:20px;
}
.hr-setup-sheet-signatures div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:8px;
  align-items:end;
}
.hr-setup-sheet-signatures span{
  grid-column:1/-1;
  border-bottom:1px solid #0f172a;
  height:18px;
}
.hr-setup-sheet-signatures b,
.hr-setup-sheet-signatures small{
  font-size:10px;
  color:#334155;
}
@media(max-width:760px){
  .hr-setup-sheet-head,
  .hr-setup-sheet-grid,
  .hr-setup-sheet-record{
    grid-template-columns:1fr!important;
  }
}
@media print{
  .hr-setup-sheet{
    height:10.3in!important;
    min-height:10.3in!important;
    display:flex!important;
    flex-direction:column!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
  }
  .hr-setup-sheet-modal .modal-actions,
  .hr-setup-sheet-modal .icon-btn{
    display:none!important;
  }
  .hr-setup-sheet-section th,
  .hr-setup-sheet-section td{
    font-size:10px!important;
    padding:6px!important;
  }
}

/* Asset quick preview final overrides */
.asset-quick-preview-modal .asset-quick-preview-person .avatar,
.asset-quick-preview-modal .asset-quick-preview-teacher-to .avatar{
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  flex:0 0 74px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
.asset-quick-preview-modal .asset-quick-preview-teacher-to .avatar{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  flex-basis:48px!important;
}
.asset-quick-preview-modal .asset-quick-preview-person .avatar img,
.asset-quick-preview-modal .asset-quick-preview-teacher-to .avatar img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:50%!important;
  display:block!important;
}
.asset-quick-preview-copy-value{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
}
.asset-quick-preview-copy-value span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.asset-quick-copy-btn{
  min-height:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border-radius:6px!important;
  font-size:10px!important;
  color:#3346d3!important;
  background:#eef2ff!important;
  border-color:#d8dfff!important;
  box-shadow:none!important;
}
.asset-quick-copy-btn.copied{
  color:#168957!important;
  background:#e8f8ef!important;
  border-color:#bfead3!important;
}
.asset-quick-preview-modal .asset-preview-avatar{
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  flex:0 0 74px!important;
  border-radius:9999px!important;
  overflow:hidden!important;
  display:inline-grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#ffe2e8,#d7d7ff)!important;
  color:#1b2440!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.asset-quick-preview-modal .asset-preview-avatar-teacher{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  flex-basis:50px!important;
  font-size:14px!important;
}
.asset-quick-preview-modal .asset-preview-avatar img{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  border-radius:9999px!important;
  display:block!important;
  aspect-ratio:1/1!important;
}
.asset-quick-preview-modal .asset-quick-preview-facts dd,
.asset-quick-preview-modal .asset-quick-preview-copy-value span{
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:500!important;
}
.asset-quick-preview-modal .asset-quick-preview-facts dt{
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.asset-quick-preview-modal .asset-quick-preview-teacher-link{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Asset table: keep the Asset column stable by default, but allow manual resizing. */
@media(min-width:641px){
  .asset-directory-table.table-dynamic-columns{
    table-layout:fixed!important;
    width:max(100%,var(--table-dynamic-min-width,1180px))!important;
    min-width:var(--table-dynamic-min-width,1180px)!important;
  }
  .asset-directory-table.table-dynamic-columns th[data-col="asset"],
  .asset-directory-table.table-dynamic-columns td[data-col="asset"]{
    width:220px!important;
    min-width:180px!important;
    max-width:none!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .asset-directory-table.table-dynamic-columns td[data-col="asset"] .asset-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .asset-directory-table.table-dynamic-columns td[data-col="asset"] .asset-thumb{
    width:54px!important;
    height:54px!important;
    flex:0 0 54px!important;
  }
  .asset-directory-table.table-dynamic-columns td[data-col="asset"] .asset-thumb img{
    width:auto!important;
    height:auto!important;
    max-width:48px!important;
    max-height:48px!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    display:block!important;
  }
  .asset-directory-table.table-dynamic-columns td[data-col="asset"] .asset-title{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
  }
  .asset-directory-table.table-dynamic-columns td[data-col="asset"] .asset-title b,
  .asset-directory-table.table-dynamic-columns td[data-col="asset"] .asset-title span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .asset-directory-table.table-dynamic-columns th[data-col="assigned"],
  .asset-directory-table.table-dynamic-columns td[data-col="assigned"]{
    width:200px!important;
    min-width:180px!important;
    max-width:none!important;
  }
  .asset-directory-table.table-dynamic-columns th[data-col="teacher"],
  .asset-directory-table.table-dynamic-columns td[data-col="teacher"]{
    width:200px!important;
    min-width:180px!important;
    max-width:none!important;
  }
  .asset-directory-table.table-dynamic-columns td[data-col="assigned"] .person-cell,
  .asset-directory-table.table-dynamic-columns td[data-col="teacher"] .person-cell{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* People Directory: keep the Person column readable without letting it dominate the table. */
@media(min-width:641px){
  .people-directory-table.table-dynamic-columns{
    table-layout:auto!important;
    width:100%!important;
    min-width:var(--table-dynamic-min-width,1180px)!important;
  }
  .people-directory-table.table-dynamic-columns th[data-col="person"],
  .people-directory-table.table-dynamic-columns td[data-col="person"]{
    width:260px!important;
    min-width:240px!important;
    max-width:280px!important;
    white-space:nowrap!important;
  }
  .people-directory-table.table-dynamic-columns td[data-col="person"] .person-cell{
    width:100%!important;
    max-width:260px!important;
  }
  .people-directory-table.table-dynamic-columns td[data-col="person"] .person-cell > div:last-child{
    min-width:0!important;
    max-width:204px!important;
  }
  .people-directory-table.table-dynamic-columns td[data-col="person"] .person-cell b,
  .people-directory-table.table-dynamic-columns td[data-col="person"] .subtext{
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}

@media(min-width:641px){
  .people-directory-table th[data-col="person"],
  .people-directory-table td[data-col="person"]{
    width:260px;
    min-width:240px;
    max-width:280px;
  }
  .people-directory-table td[data-col="person"] .person-cell{
    min-width:0;
    max-width:260px;
  }
  .people-directory-table td[data-col="person"] .person-cell > div:last-child{
    min-width:0;
    max-width:204px;
  }
  .people-directory-table td[data-col="person"] .person-cell b,
  .people-directory-table td[data-col="person"] .subtext{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

.spare-intake-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
}
.spare-intake-fields[hidden]{display:none!important}
.spare-intake-fields .full{grid-column:1/-1;}
.spare-color-option{position:relative}
.spare-color-option:has(input:checked)::after{
  content:"";
  position:absolute;
  right:8px;
  top:8px;
  width:16px;
  height:16px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:inset 0 0 0 4px #fff;
}
@media(max-width:760px){.spare-intake-fields{grid-template-columns:1fr}}
.spare-color-option.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 18px rgba(37,99,235,.12)}
.spare-color-option.active::after{
  content:"";
  position:absolute;
  right:8px;
  top:8px;
  width:16px;
  height:16px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:inset 0 0 0 4px #fff;
}


.current-loaner-cell .badge{margin-right:4px;vertical-align:middle;}
.current-loaner-cell .subtext{display:flex;align-items:center;gap:4px;min-width:0;}
.asset-thumb-loaner,.asset-thumb-status{position:relative;overflow:visible;}
.asset-thumb-loaner-badge{position:absolute;right:-7px;bottom:-7px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:9px;font-weight:950;line-height:1;padding:4px 6px;box-shadow:0 6px 14px rgba(37,99,235,.16);text-transform:uppercase;letter-spacing:0;pointer-events:none;}
.asset-thumb-status-badge{position:absolute;right:-8px;bottom:-8px;border:1px solid rgba(255,255,255,.86);border-radius:999px;color:#fff;font-size:9px;font-weight:950;line-height:1;padding:4px 7px;box-shadow:0 7px 16px rgba(15,23,42,.18);text-transform:uppercase;letter-spacing:0;pointer-events:none;white-space:nowrap;}
.asset-thumb-status-loaner .asset-thumb-status-badge{background:#2563eb;}
.asset-thumb-status-reserved .asset-thumb-status-badge{background:#7c3aed;}
.asset-thumb-status-missing .asset-thumb-status-badge{background:#dc2626;}
.asset-thumb-status-repair .asset-thumb-status-badge{background:#d97706;}
.asset-thumb-status-retired .asset-thumb-status-badge{background:#64748b;}
.asset-directory-table .asset-thumb-status-badge{
  left:50%!important;
  right:auto!important;
  bottom:1px!important;
  width:auto!important;
  max-width:74px!important;
  justify-content:center!important;
  padding:7px 11px!important;
  font-size:8px!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  z-index:3!important;
}
.asset-directory-table .asset-preview-trigger:hover,
.asset-directory-table .asset-preview-trigger:focus-visible{
  transform:none!important;
  border-color:#9fb0ff!important;
  box-shadow:inset 0 0 0 1px #fff,0 0 0 2px rgba(51,70,211,.12)!important;
}
.asset-table tbody tr:hover .asset-thumb-loaner-badge{background:#dbeafe;}
.asset-table tbody tr:hover .asset-thumb-status-badge{filter:brightness(.96);}

/* Normalize asset artwork across tables, cards, previews, and loan views. Uploaded
   product photos often include extra white padding, so the image is gently zoomed
   inside a fixed container without changing the stored file. */
:root{--asset-artwork-zoom:1.16;}
.asset-thumb,
.loan-asset-thumb,
.loan-detail-asset-thumb,
.helpdesk-asset-thumb{
  overflow:visible;
}
.asset-thumb img,
.loan-asset-thumb img,
.loan-detail-asset-thumb img,
.helpdesk-asset-thumb img{
  width:calc(100% - 8px)!important;
  height:calc(100% - 8px)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(var(--asset-artwork-zoom));
  transform-origin:center;
  display:block;
}
.asset-thumb.tiny img{
  width:calc(100% - 6px)!important;
  height:calc(100% - 6px)!important;
}
.asset-directory-table .asset-main{
  align-items:center!important;
}
.asset-directory-table .asset-thumb.asset-thumb-lg{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  flex:0 0 54px!important;
  overflow:visible!important;
}
.asset-directory-table .asset-thumb.asset-thumb-lg img{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  display:block!important;
}
.asset-d3-visual img,
.big-asset img,
.print-summary-head img{
  width:82%!important;
  height:82%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(var(--asset-artwork-zoom));
  transform-origin:center;
  display:block;
}
.asset-d3-visual .asset-barcode-label img,
.source-badge img,
.overview-d3-google-mark img,
.google-admin-action-logo img,
.google-admin-action-mark img,
.jamf-admin-action-logo img,
.jamf-admin-action-mark img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  transform:none!important;
}
.asset-quick-preview-image img,
.student-asset-list img{
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.asset-quick-preview-image img{
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:170px!important;
}
.student-asset-list img{
  width:58px!important;
  height:44px!important;
  max-width:58px!important;
  max-height:44px!important;
}

.whats-new-header-btn{
  position:relative!important;
}
.whats-new-header-btn b{
  position:absolute;
  right:3px;
  top:1px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:9px;
  line-height:1;
  font-weight:950;
  border:2px solid #fff;
}
.whats-new-modal{
  width:min(1040px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.whats-new-modal [hidden]{
  display:none!important;
}
.whats-new-head{
  margin:0!important;
  padding:20px 22px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:linear-gradient(135deg,#fff,#f8fbff)!important;
}
.whats-new-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.whats-new-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  height:min(680px,calc(100vh - 180px));
  flex:1 1 auto;
  min-height:0;
  background:#fff;
}
.whats-new-backdrop.is-editing .whats-new-shell{
  display:none;
}
.whats-new-releases{
  border-right:1px solid #dbe5f2;
  background:#f8fbff;
  padding:14px;
  overflow:auto;
  min-height:0;
  display:grid;
  gap:8px;
  align-content:start;
}
.whats-new-release-btn{
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#334155;
  text-align:left;
  padding:10px 11px;
  display:grid;
  gap:3px;
  box-shadow:none;
}
.whats-new-release-btn b{font-size:13px;font-weight:950;}
.whats-new-release-btn span{color:#64748b;font-size:11px;font-weight:850;}
.whats-new-release-btn.active{
  background:#fff;
  border-color:#cfe0ff;
  color:#1d4ed8;
  box-shadow:0 8px 20px rgba(37,99,235,.08);
}
.whats-new-content{
  padding:20px 22px;
  overflow:auto;
  min-height:0;
  overscroll-behavior:contain;
}
.whats-new-release-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.whats-new-release-title h3{
  margin:0;
  font-size:24px;
}
.whats-new-release-title p{
  margin:4px 0 0;
}
.whats-new-list{
  display:grid;
  gap:12px;
}
.whats-new-entry{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:14px;
  display:grid;
  gap:8px;
  overflow:hidden;
}
.whats-new-shot{
  margin:4px 0 0;
  border:1px solid #dbe5f2;
  border-radius:7px;
  background:#f8fbff;
  min-height:0;
  max-height:280px;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:10px;
}
.whats-new-shot img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:260px;
  object-fit:contain;
  display:block;
  border-radius:6px;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.whats-new-entry-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.whats-new-entry h4{
  margin:0;
  font-size:16px;
}
.whats-new-entry p{
  margin:0;
  color:#475569;
  font-weight:750;
  line-height:1.45;
  white-space:pre-wrap;
}
.whats-new-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  white-space:nowrap;
}
.whats-new-pill.feature{background:#eff6ff;color:#1d4ed8;}
.whats-new-pill.improvement{background:#ecfdf5;color:#047857;}
.whats-new-pill.fix{background:#fff7ed;color:#c2410c;}
.whats-new-pill.security{background:#fef2f2;color:#b91c1c;}
.whats-new-entry-actions{
  display:flex;
  justify-content:flex-end;
}
.whats-new-editor{
  border-top:1px solid #dbe5f2;
  background:#f8fbff;
  padding:16px 22px 18px;
  max-height:calc(100vh - 170px);
  overflow:auto;
}
.whats-new-backdrop.is-editing .whats-new-editor{
  border-top:0;
}
@media(max-width:760px){
  .whats-new-modal{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;}
  .whats-new-shell{grid-template-columns:1fr;height:auto;min-height:0;}
  .whats-new-releases{border-right:0;border-bottom:1px solid #dbe5f2;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);max-height:96px;}
  .whats-new-content{padding:14px;min-height:0;}
  .whats-new-shot{max-height:210px;padding:8px;}
  .whats-new-shot img{max-height:194px;}
  .whats-new-head{grid-template-columns:1fr!important;}
  .whats-new-head-actions{justify-content:flex-start;flex-wrap:wrap;}
}

.calendar-loan-event{border-left-color:#0f766e;background:#f0fdfa;}
.calendar-loan-event.warn{border-left-color:#eab308;background:#fffbea;}
.calendar-loan-event.bad{border-left-color:#dc2626;background:#fff7f7;}
.calendar-loan-event.ok{border-left-color:#0f766e;background:#f0fdfa;}
.calendar-loan-event:hover{border-color:#99f6e4;box-shadow:0 10px 22px rgba(15,118,110,.12);}
.calendar-loan-upcoming{border-left:4px solid #0f766e;background:#f0fdfa;}
.calendar-loan-upcoming.warn{border-left-color:#eab308;background:#fffbea;}
.calendar-loan-upcoming.bad{border-left-color:#dc2626;background:#fff7f7;}



/* Asset table toolbar selects: keep pool filters and Bulk Edit aligned with compact toolbar buttons. */
.asset-directory-actions .asset-pool-toolbar-filter{
  display:inline-flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  width:176px!important;
  min-width:176px!important;
  max-width:176px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.asset-directory-actions .asset-pool-toolbar-filter select,
.asset-directory-actions .bulk-edit-control{
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  width:176px!important;
  min-width:176px!important;
  max-width:176px!important;
  box-sizing:border-box!important;
  border:1px solid #dbe3ef!important;
  border-radius:8px!important;
  background-color:#fff!important;
  color:#1f2937!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:0 28px 0 10px!important;
  box-shadow:none!important;
}
.asset-directory-actions .bulk-edit-control{margin-left:8px!important;}
.asset-directory-actions .asset-pool-view-filter,
.asset-directory-actions .asset-pool-view-filter select{
  width:230px!important;
  min-width:230px!important;
  max-width:230px!important;
}
@media(max-width:760px){
  .asset-directory-actions .asset-pool-toolbar-filter,
  .asset-directory-actions .asset-pool-toolbar-filter select,
  .asset-directory-actions .bulk-edit-control{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

.spare-scan-guardrail{
  display:grid;
  grid-template-columns:34px minmax(0,auto) minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #fde68a;
  border-left:5px solid #f59e0b;
  border-radius:8px;
  background:#fffbeb;
  color:#78350f;
}
.spare-scan-guardrail span{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#fef3c7;color:#b45309;}
.spare-scan-guardrail b{font-size:12px;font-weight:950;white-space:nowrap;}
.spare-scan-guardrail small{color:#92400e;font-size:12px;font-weight:800;}
@media(max-width:820px){.spare-scan-guardrail{grid-template-columns:34px minmax(0,1fr);}.spare-scan-guardrail small{grid-column:2;}}

.asset-repair-intake-modal{
  width:min(720px, calc(100vw - 28px));
}
.asset-repair-intake-summary{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
  margin-bottom:14px;
}
.asset-repair-intake-summary strong{
  display:block;
  color:#111827;
  font-size:18px;
  font-weight:950;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.asset-repair-intake-summary p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
.asset-repair-intake-thumb{
  width:72px;
  height:72px;
}
.asset-repair-intake-thumb img{
  max-width:64px;
  max-height:58px;
}
.asset-repair-intake-summary .asset-repair-intake-thumb{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.asset-repair-intake-summary .asset-repair-intake-thumb em{
  right:4px!important;
  bottom:4px!important;
}
.asset-repair-intake-duplicate{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid #fecaca;
  border-radius:10px;
  background:#fff1f2;
  margin-bottom:14px;
}
.asset-repair-intake-loaner-followup{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#eff6ff;
  margin-bottom:14px;
}
.asset-repair-intake-duplicate[hidden]{
  display:none!important;
}
.asset-repair-intake-loaner-followup[hidden]{
  display:none!important;
}
.asset-repair-intake-duplicate p{
  margin:4px 0 8px;
  color:#7f1d1d;
}
.repair-intake-duplicate-summary-row{
  display:grid;
  gap:8px;
  justify-items:start;
  margin:0 0 10px;
}
.repair-intake-duplicate-summary-row .btn{
  margin-top:0;
  white-space:nowrap;
}
.repair-intake-duplicate-list{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.repair-intake-duplicate-list[hidden]{
  display:none!important;
}
.repair-intake-duplicate-list li{
  display:grid;
  gap:2px;
  padding:7px 9px;
  border:1px solid #fecaca;
  border-radius:8px;
  background:#fff;
}
.repair-intake-duplicate-list b{
  color:#7f1d1d;
  font-size:12px;
  font-weight:950;
}
.repair-intake-duplicate-list small{
  color:#991b1b;
  font-size:11px;
  font-weight:800;
}
.asset-repair-intake-loaner-followup p{
  margin:4px 0 0;
  color:#1e3a8a;
  font-size:13px;
  font-weight:800;
}
.asset-repair-intake-prompt-modal{
  width:min(560px, calc(100vw - 28px));
}
.asset-repair-intake-checkout-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#f8fbff;
  margin:0 0 12px;
}
.asset-repair-intake-checkout-card strong,
.asset-repair-intake-checkout-card p{
  display:block;
  margin:0;
}
.asset-repair-intake-checkout-card strong{
  color:#1e3a8a;
  font-size:13px;
  font-weight:950;
}
.asset-repair-intake-checkout-card p{
  color:#475569;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.asset-repair-intake-borrower-card{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fafc;
  margin-bottom:14px;
}
.asset-repair-intake-borrower-card strong{
  display:block;
  color:#0f172a;
  font-size:16px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.asset-repair-intake-borrower-card p{
  margin:3px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
.asset-repair-intake-duplicate label,
.asset-repair-intake-options label{
  display:inline-flex!important;
  gap:8px;
  align-items:center;
  min-height:28px;
  margin:0;
  color:#334155;
  font-weight:850;
  white-space:nowrap;
  width:auto!important;
  min-width:max-content;
}
.asset-repair-intake-duplicate label input,
.asset-repair-intake-options label input{
  flex:0 0 auto;
  width:auto!important;
  min-width:16px;
  margin:0;
}
.asset-repair-intake-duplicate .repair-intake-duplicate-confirm{
  white-space:normal!important;
  min-width:0;
  max-width:100%;
  line-height:1.25;
  color:#7f1d1d;
}
.asset-repair-intake-grid{
  margin-bottom:12px;
}
.repair-evidence-picker{
  display:grid;
  grid-template-columns:auto auto;
  gap:6px;
  align-content:start;
  align-items:center;
  min-width:0;
}
.repair-evidence-picker--input-aligned{
  margin-top:0;
  position:relative;
  top:22px;
}
.repair-evidence-picker--input-aligned small{
  display:none!important;
}
.repair-evidence-picker--edit{
  align-self:end;
}
.repair-evidence-picker--edit small{
  display:none!important;
}
.repair-evidence-picker [hidden]{
  display:none!important;
}
.repair-evidence-picker .btn{
  min-height:42px!important;
  height:42px!important;
  white-space:nowrap!important;
}
.repair-evidence-picker .btn b{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#e8eef8;
  color:#334155;
  font-size:11px;
}
.repair-evidence-picker small{
  grid-column:1/-1;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-vendor-attachment-picker{
  display:grid;
  grid-template-columns:auto auto;
  gap:6px;
  align-content:start;
  align-items:center;
  min-width:0;
}
.repair-vendor-attachment-picker--input-aligned{
  margin-top:0;
  position:relative;
  top:0;
}
.repair-vendor-attachment-picker--input-aligned small{
  display:none!important;
}
.repair-vendor-attachment-picker--edit{
  grid-column:1/-1;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  padding:10px 12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
}
.repair-vendor-attachment-picker--edit small{
  grid-column:auto;
  min-width:0;
}
.repair-vendor-attachment-picker--edit-inline{
  align-self:end;
  grid-template-columns:auto auto;
}
.repair-vendor-attachment-picker--edit-inline small{
  display:none!important;
}
.repair-vendor-attachment-picker [hidden]{
  display:none!important;
}
.repair-vendor-attachment-picker .btn{
  min-height:42px!important;
  height:42px!important;
  white-space:nowrap!important;
}
.repair-vendor-attachment-picker .btn b{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#ecfdf5;
  color:#166534;
  font-size:11px;
}
.repair-vendor-attachment-clear{
  display:inline-grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  align-self:center!important;
  border:1px solid #cbd5e1!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#475569!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:0!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.repair-vendor-attachment-clear:hover{
  border-color:#fca5a5!important;
  background:#fef2f2!important;
  color:#b91c1c!important;
}
.repair-vendor-attachment-clear[hidden]{
  display:none!important;
}
.repair-vendor-attachment-picker small{
  grid-column:1/-1;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-vendor-attachment-upload-modal{
  width:min(680px,calc(100vw - 28px))!important;
}
.repair-vendor-attachment-upload-list{
  display:grid;
  gap:9px;
  max-height:min(52vh,480px);
  overflow:auto;
  padding-right:2px;
}
.repair-vendor-attachment-upload-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:11px;
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  padding:10px;
}
.repair-vendor-attachment-upload-row>span{
  display:grid;
  place-items:center;
  width:52px;
  height:46px;
  border-radius:8px;
  background:#e8f5ee;
  color:#166534;
  font-size:11px;
  font-weight:950;
}
.repair-vendor-attachment-upload-row strong,
.repair-vendor-attachment-upload-row small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-vendor-attachment-upload-row strong{
  color:#172033;
  font-size:13px;
}
.repair-vendor-attachment-upload-row small{
  color:#64748b;
  font-weight:800;
}
.repair-vendor-attachment-upload-empty{
  display:grid;
  place-items:center;
  min-height:118px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
  color:#64748b;
  font-weight:850;
}
.repair-intake-edit-form .asset-repair-intake-thumb{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.repair-intake-edit-form .asset-repair-intake-thumb em{
  right:4px!important;
  bottom:4px!important;
}
.repair-intake-assign-modal .asset-repair-intake-thumb{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.repair-intake-assign-modal .asset-repair-intake-thumb em{
  right:4px!important;
  bottom:4px!important;
}
.repair-evidence-upload-modal{
  width:min(720px,calc(100vw - 28px))!important;
}
.repair-evidence-upload-list{
  display:grid;
  gap:10px;
  max-height:min(56vh,520px);
  overflow:auto;
  padding-right:2px;
}
.repair-evidence-upload-row{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:12px;
  align-items:start;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  padding:10px;
}
.repair-evidence-upload-row>span{
  position:relative;
  display:grid;
  place-items:center;
  width:96px;
  height:88px;
  border:1px solid #e5edf7;
  border-radius:7px;
  background:#fff;
  overflow:hidden;
}
.repair-evidence-upload-row>span em{
  position:absolute;
  left:5px;
  bottom:5px;
  padding:3px 6px;
  border-radius:999px;
  background:#172033;
  color:#fff;
  font-size:9px;
  font-style:normal;
  font-weight:950;
  letter-spacing:0;
}
.repair-evidence-upload-row>span em[hidden]{
  display:none!important;
}
.repair-evidence-upload-row img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.repair-evidence-upload-copy{
  display:grid;
  gap:8px;
  min-width:0;
}
.repair-evidence-upload-copy label{
  margin:0!important;
}
.repair-evidence-upload-tools{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.repair-evidence-upload-tools .btn{
  min-height:32px!important;
  height:32px!important;
}
.repair-evidence-upload-tools [hidden]{
  display:none!important;
}
.repair-evidence-upload-empty{
  display:grid;
  place-items:center;
  min-height:120px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
  color:#64748b;
  font-weight:850;
}
.repair-evidence-webcam-modal{
  width:min(840px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.repair-evidence-webcam-stage{
  min-height:300px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#0f172a;
}
.repair-evidence-webcam-stage video{
  display:block;
  width:100%;
  max-height:min(62vh,560px);
  object-fit:contain;
  background:#0f172a;
}
.repair-evidence-webcam-stage canvas[hidden]{
  display:none!important;
}
.repair-issue-multi-field{
  display:grid;
  gap:6px;
  align-content:start;
  min-width:0;
  max-width:100%;
  color:#53657f;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0;
}
.repair-issue-multi{
  position:relative;
  min-width:0;
  max-width:100%;
  color:#172033;
  font-size:13px;
  font-weight:400;
  text-transform:none;
}
.repair-issue-multi-trigger{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:42px;
  padding:0 34px 0 12px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid #c8d7ec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  font-size:13px;
  font-weight:400;
  text-align:left;
  box-shadow:none;
}
.repair-issue-multi-trigger:after{
  content:"";
  position:absolute;
  right:13px;
  top:17px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid #64748b;
}
.repair-issue-multi-trigger span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:400;
}
.repair-issue-multi.open .repair-issue-multi-trigger{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.repair-issue-multi-menu{
  display:none;
  position:absolute;
  z-index:90;
  left:0;
  right:0;
  top:calc(100% + 5px);
  max-width:100%;
  max-height:244px;
  overflow:auto;
  padding:7px;
  border:1px solid #c8d7ec;
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 36px rgba(15,23,42,.16);
}
.repair-issue-multi.open .repair-issue-multi-menu{
  display:grid;
  gap:4px;
}
.repair-issue-multi-menu label{
  display:flex!important;
  align-items:center;
  gap:8px;
  width:100%!important;
  min-width:0;
  min-height:32px;
  margin:0!important;
  padding:6px 7px;
  border-radius:7px;
  color:#172033!important;
  font-size:12px!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:0!important;
  cursor:pointer;
}
.repair-issue-multi-menu label:hover{
  background:#f2f6ff;
}
.repair-issue-multi-menu input{
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
}
.repair-issue-multi-menu label span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:400!important;
}
.asset-repair-intake-options{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  padding:10px 0 2px;
}
.repair-intake-create-modal{
  width:min(980px,calc(100vw - 28px));
  max-height:calc(100vh - 32px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
}
.repair-intake-create-modal>.modal-head{
  flex:0 0 auto;
  margin:0;
  padding:16px 18px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.repair-intake-create-form{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  gap:12px;
  overflow:auto;
  padding:16px 18px 0;
}
.repair-intake-create-form>.modal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:0 -18px;
  padding:13px 18px;
  border-top:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 -10px 24px rgba(15,23,42,.06);
}
.repair-intake-create-search-panel{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
}
.repair-intake-create-search-panel label{
  display:grid;
  gap:6px;
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.repair-intake-create-search-panel input{
  width:100%;
  min-height:38px;
  border:1px solid #cfdbea;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 10px;
  font-size:13px;
  font-weight:800;
}
.repair-intake-lookup-results{
  max-height:256px;
  overflow:auto;
  display:grid;
  gap:7px;
  padding-right:2px;
}
.repair-intake-lookup-results[hidden]{
  display:none!important;
}
.repair-intake-lookup-result{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:68px;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  color:#172033;
  text-align:left;
  box-shadow:none;
}
.repair-intake-lookup-result:hover,
.repair-intake-lookup-result.selected{
  border-color:#93b4ff;
  background:#f3f7ff;
}
.repair-intake-lookup-thumb{
  width:52px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid #e6edf7;
  border-radius:8px;
  background:#f8fafc;
}
.repair-intake-lookup-thumb img{
  width:44px;
  height:36px;
  object-fit:contain;
}
.repair-intake-lookup-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.repair-intake-lookup-copy b,
.repair-intake-lookup-copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repair-intake-lookup-copy b{
  color:#0f172a;
  font-size:13px;
  font-weight:950;
}
.repair-intake-lookup-copy small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.repair-intake-lookup-result em{
  align-self:start;
  min-width:max-content;
  padding:4px 7px;
  border-radius:999px;
  background:#fff1f2;
  color:#b91c1c;
  font-size:11px;
  font-style:normal;
  font-weight:950;
}
.repair-intake-lookup-empty{
  display:grid;
  gap:2px;
  min-height:74px;
  align-content:center;
  padding:12px;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
  color:#64748b;
}
.repair-intake-lookup-empty b{
  color:#0f172a;
  font-size:13px;
  font-weight:950;
}
.repair-intake-lookup-empty span{
  font-size:12px;
  font-weight:800;
}
.repair-intake-create-selected{
  grid-template-columns:60px minmax(0,1fr) 34px;
  gap:10px;
  align-items:center;
  margin-bottom:0;
  padding:12px;
  border-color:#dbe5f2;
  background:#fff;
  position:relative;
}
.repair-intake-create-selected[hidden],
.repair-intake-create-guardrail[hidden]{
  display:none!important;
}
.repair-intake-create-selected .asset-repair-intake-thumb{
  width:54px;
  height:46px;
  display:grid;
  place-items:center;
}
.repair-intake-create-selected .asset-repair-intake-thumb img{
  max-width:48px;
  max-height:36px;
}
.repair-intake-create-selected .asset-repair-intake-thumb em{
  right:1px;
  bottom:1px;
  width:18px;
  height:18px;
}
.repair-intake-create-selected .asset-repair-intake-thumb em .ui-icon{
  width:10px;
  height:10px;
}
.repair-intake-create-selected strong{
  font-size:15px;
}
.repair-intake-create-selected p{
  font-size:12px;
}
.repair-intake-create-clear{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fafc;
  color:#475569;
  font-size:20px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.repair-intake-create-clear:hover,
.repair-intake-create-clear:focus-visible{
  border-color:#fecaca;
  background:#fff1f2;
  color:#b91c1c;
  outline:none;
}
.repair-intake-create-guardrail{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid #fecaca;
  border-radius:10px;
  background:#fff1f2;
}
.repair-intake-create-guardrail strong{
  color:#7f1d1d;
  font-size:13px;
  font-weight:950;
}
.repair-intake-create-guardrail p{
  margin:4px 0 0;
  color:#7f1d1d;
  font-size:12px;
  font-weight:800;
}
.repair-intake-create-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
  margin-bottom:0;
}
@media(max-width:720px){
  .asset-repair-intake-summary{
    grid-template-columns:62px minmax(0,1fr);
  }
  .repair-intake-create-selected{
    grid-template-columns:60px minmax(0,1fr) 34px;
  }
  .asset-repair-intake-thumb{
    width:58px;
    height:58px;
  }
  .repair-intake-create-grid,
  .repair-intake-lookup-result{
    grid-template-columns:1fr;
  }
  .repair-intake-lookup-thumb{
    width:100%;
  }
  .repair-intake-lookup-result em{
    justify-self:start;
  }
}

/* Final profile header sizing: preserve full staff names when space exists. */
.clean-admin-header .header-actions{
  min-width:0!important;
}
.clean-user-menu .topbar-user{
  width:auto!important;
  min-width:260px!important;
  max-width:min(460px,38vw)!important;
  padding-right:10px!important;
}
.clean-user-menu .topbar-user-copy{
  display:grid!important;
  min-width:0!important;
  max-width:none!important;
  flex:1 1 auto!important;
}
.clean-user-menu .topbar-user-copy strong,
.clean-user-menu .topbar-user-copy span{
  max-width:none!important;
}
@media(max-width:1100px){
  .clean-user-menu .topbar-user{
    min-width:220px!important;
    max-width:320px!important;
  }
  .clean-user-menu .topbar-user-copy,
  .header-user-caret{
    display:grid!important;
  }
}
@media(max-width:760px){
  .clean-user-menu .topbar-user{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    padding:0 3px!important;
  }
  .clean-user-menu .topbar-user-copy,
  .header-user-caret{
    display:none!important;
  }
}

/* Profile header readability: names should wrap instead of being cut off. */
.clean-user-menu .topbar-user{height:auto!important;min-height:46px!important;min-width:238px!important;max-width:380px!important;padding-right:8px!important;}
.clean-user-menu .topbar-user-copy{display:grid!important;min-width:0!important;max-width:none!important;line-height:1.12!important;}
.clean-user-menu .topbar-user-copy strong,.clean-user-menu .topbar-user-copy span{max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;}
.clean-user-menu .topbar-user-copy strong{word-break:normal!important;overflow-wrap:break-word!important;}
@media(max-width:760px){.clean-user-menu .topbar-user{width:48px!important;min-width:48px!important;max-width:48px!important;height:46px!important;}.clean-user-menu .topbar-user-copy,.header-user-caret{display:none!important;}}

/* Header profile alignment: use the available right edge without changing search centering. */
@media(min-width:901px){
  .clean-admin-header .header-actions{
    justify-self:end!important;
  }
  .clean-admin-header .clean-user-menu{
    margin-right:-4px!important;
  }
}

/* Loans module styles. Loaded from app.css for stable page rendering. */

/* Loans module */
.loans-page{
  width:100%;
  max-width:none;
  display:grid;
  gap:16px;
}
.loans-page-head,
.loan-workspace,
.loan-detail-shell,
.loan-list-card{
  background:#fff;
  border:1px solid #d9e1ec;
  border-radius:8px;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.05);
}
.loans-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
}
.loans-page-head h1,
.loan-detail-head h2,
.loan-main-panel h2{
  margin:0;
  color:#111827;
  font-weight:950;
  line-height:1.15;
}
.loans-page-head h1{font-size:26px;margin-top:2px;}
.loans-page-head p,
.loan-panel-head p,
.loan-detail-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:750;
}
.loan-head-actions,
.loan-detail-head>div:last-child{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.loan-head-actions .btn,
.loan-head-actions .primary,
.loan-detail-head .btn{min-height:34px;white-space:nowrap;}
.loan-head-actions a.primary{
  border:1px solid #3346d3;
  border-radius:8px;
  background:#3346d3;
  color:#fff;
  font-weight:800;
  padding:7px 10px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.loan-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.loan-kpi-grid article{
  min-height:98px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:16px;
  background:#fff;
  border:1px solid #d9e1ec;
  border-radius:8px;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.05);
}
.loan-kpi-grid article span{
  width:40px;
  height:40px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#3346d3;
}
.loan-kpi-grid article:nth-child(2) span{background:#ecfdf3;color:#067647;}
.loan-kpi-grid article:nth-child(3) span{background:#fff7e8;color:#b54708;}
.loan-kpi-grid article:nth-child(4) span{background:#f4f3ff;color:#5b21b6;}
.loan-kpi-grid b{display:block;color:#111827;font-size:26px;line-height:1;font-weight:950;}
.loan-kpi-grid small{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:800;line-height:1.25;}
.loan-kpi-grid small strong,.loan-kpi-grid small em{display:inline;font-style:normal;white-space:nowrap;}
.loan-kpi-grid small strong::after{content:"  ";}

.loan-due-queue{margin-bottom:14px;}
.loan-due-queue .section-head{margin-bottom:10px;align-items:center;}
.loan-due-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.loan-due-card-body{display:grid;gap:0;}
.loan-due-queue.is-collapsed .loan-due-card-body{display:none;}
.loan-due-queue.is-collapsed .section-head{margin-bottom:0;}
.loan-due-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;}
.loan-due-summary span{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e5edf7;border-radius:8px;background:#fbfdff;padding:9px 11px;}
.loan-due-summary span.bad{border-color:#fecaca;background:#fff7f7;}
.loan-due-summary span.warn{border-color:#fde68a;background:#fffdf2;}
.loan-due-summary span.blue{border-color:#bfdbfe;background:#f8fbff;}
.loan-due-summary b{font-size:18px;font-weight:800;color:#172033;}
.loan-due-summary small{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.02em;}
.loan-due-group-list{display:grid;gap:8px;}
.loan-due-group{border:1px solid #e5edf7;border-radius:8px;background:#fbfdff;overflow:hidden;}
.loan-due-group header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #edf2f7;background:#fff;}
.loan-due-group header b{min-width:26px;height:24px;border-radius:999px;background:#eef2ff;color:#334155;display:grid;place-items:center;font-size:12px;font-weight:700;}
.loan-due-group>div{display:grid;}
.loan-due-group a{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:10px;align-items:center;padding:8px 10px;text-decoration:none;color:#172033;border-top:1px solid #f1f5f9;}
.loan-due-group a:first-child{border-top:0;}
.loan-due-group a:hover{background:#f8fbff;text-decoration:none;}
.loan-due-group strong,.loan-due-group small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loan-due-group strong{font-size:13px;font-weight:500;}
.loan-due-group small{color:#64748b;font-size:11px;font-weight:500;text-align:right;}
.loan-due-empty{border:1px solid #e5edf7;border-radius:8px;background:#fbfdff;padding:12px;text-align:center;}
.loan-lookup-unavailable{cursor:not-allowed;opacity:.74;background:#f8fafc;}
.loan-lookup-unavailable em{color:#b42318;font-weight:850;}

.loan-list-card{overflow:hidden;padding:0;}
.loan-status-tabs{
  display:flex;
  gap:4px;
  padding:10px 12px 0;
  margin:0;
  overflow-x:auto;
  border-bottom:1px solid #dbe5f2;
  background:#fff;
}
.loan-status-tabs .loan-status-tab{
  flex:0 0 auto;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid currentColor;
  border-bottom:0;
  border-radius:8px 8px 0 0;
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-decoration:none;
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(15,23,42,.16);
}
.loan-status-tabs .loan-status-tab:hover{text-decoration:none;filter:brightness(.96);}
.loan-status-tabs .loan-status-tab.active{box-shadow:inset 0 -4px 0 rgba(255,255,255,.42);}
.loan-status-tabs .loan-tab-icon{width:16px;height:16px;display:inline-grid;place-items:center;flex:0 0 16px;color:inherit;}
.loan-status-tabs .loan-tab-icon .ui-icon{width:16px;height:16px;stroke-width:2.4;}
.loan-status-tabs .loan-status-tab span{line-height:1;}
.loan-status-tabs .loan-status-tab b{
  min-width:22px;
  height:20px;
  padding:0 7px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.24);
  color:inherit;
  font-size:11px;
  font-weight:950;
}

.loan-filterbar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(145px,.45fr) minmax(145px,.45fr) 145px 145px auto auto auto;
  align-items:center;
  gap:8px;
  padding:12px;
  margin:0;
  background:#fbfcff;
  border-bottom:1px solid #e5edf7;
}
.loan-filterbar input,
.loan-filterbar select,
.loan-form-card input,
.loan-form-card select,
.loan-form-card textarea,
.loan-action-card input,
.loan-action-card select,
.loan-action-card textarea,
.loan-return-repair-grid input,
.loan-return-repair-grid select,
.loan-return-repair-grid textarea,
.loan-reminder-modal-body input[type="number"]{
  width:100%;
  min-height:36px;
  border:1px solid #dfe4ef;
  border-radius:8px;
  background:#fff;
  color:#172033;
  font-size:12px;
  padding:9px 10px;
}
.loan-filterbar .btn{white-space:nowrap;}
.loan-table-wrap{overflow:auto;max-width:100%;}
.loan-table.asset-table{min-width:1040px;}

.loaner-pool-card{max-width:760px;margin-right:auto;}
.loaner-pool-groups{display:grid;gap:10px;}
.loaner-pool-group{border:1px solid color-mix(in srgb,var(--bin,#2563eb) 42%,#e5edf7);border-left:6px solid var(--bin,#2563eb);border-radius:8px;background:#fff;overflow:hidden;}
.loaner-pool-group.is-inactive{background:#f8fafc;border-color:#d7dee8;border-left-color:color-mix(in srgb,var(--bin,#64748b) 58%,#94a3b8);opacity:.62;}
.loaner-pool-group.is-inactive .loaner-pool-group-head{background:#f1f5f9;}
.loaner-pool-group.is-inactive .loaner-pool-list-box{background:#f8fafc;}
.loaner-pool-group-head{display:block;margin:0;padding:9px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--bin,#2563eb) 22%,#edf1f7);background:linear-gradient(180deg,color-mix(in srgb,var(--bin-light,#60a5fa) 16%,#fff),#fff);cursor:pointer;}
.loaner-pool-group-head input{width:16px;min-height:16px;margin:4px auto 0;}
.loaner-pool-group-head span{display:grid;gap:1px;justify-items:center;min-width:0;text-align:center;}
.loaner-pool-group-head b{color:color-mix(in srgb,var(--bin-dark,#1d4ed8) 62%,#111827);font-size:13px;font-weight:950;line-height:1.2;}
.loaner-pool-group-head small{color:#64748b;font-size:11px;font-weight:850;}
.loaner-pool-group-head .loaner-pool-created-by{color:#334155;font-weight:900;}
.loaner-pool-list-box{display:grid;gap:0;background:#fff;padding:4px 10px 8px;}
.loaner-pool-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border:0;border-radius:0;background:transparent;}
.loaner-pool-list-item+.loaner-pool-list-item{border-top:1px solid #edf1f7;}
.loaner-pool-list-item:hover{background:transparent;}
.loaner-pool-device-main{min-width:0;}
.loaner-pool-device-main b,.loaner-pool-device-main small,.loaner-pool-device-main em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loaner-pool-device-main b{color:#111827;font-size:13px;font-weight:950;}
.loaner-pool-device-main small{margin-top:2px;color:#334155;font-size:11px;font-weight:850;}
.loaner-pool-device-main em{margin-top:2px;color:#64748b;font-size:11px;font-style:normal;font-weight:750;}
.loaner-pool-device-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.loaner-pool-device-badges .badge{display:inline-flex;align-items:center;justify-content:center;min-width:68px;}
.loaner-pool-empty{padding:16px;text-align:center;font-weight:850;}
@media(max-width:760px){
  .loaner-pool-list-item{grid-template-columns:1fr;gap:10px;}
  .loaner-pool-device-badges{justify-content:flex-start;}
}
.loan-table th,.loan-table td{padding:11px 12px;border-bottom:1px solid #edf1f7;vertical-align:middle;white-space:nowrap;}
.loan-table th{background:#f8fafc;color:#475569;font-size:11px;font-weight:950;text-transform:uppercase;}
.loan-table tbody tr:hover td{background:#fbfdff;}
.loan-table td a{color:#3346d3;text-decoration:none;}
.loan-table td a:hover{text-decoration:underline;}
.loan-table td b,.loan-table td small{display:block;overflow:hidden;text-overflow:ellipsis;}
.loan-table td small{margin-top:3px;color:#64748b;font-size:11px;font-weight:500;}
.loan-table.asset-table th[data-col="select"],.loan-table.asset-table td[data-col="select"]{width:44px;min-width:44px;max-width:44px;text-align:center;}
.loan-table.asset-table th[data-col="loan"],.loan-table.asset-table td[data-col="loan"]{width:138px;min-width:138px;max-width:138px;}
.loan-table.asset-table th[data-col="borrower"],.loan-table.asset-table td[data-col="borrower"]{width:220px;min-width:220px;max-width:220px;}
.loan-table.asset-table th[data-col="asset"],.loan-table.asset-table td[data-col="asset"]{width:230px;min-width:230px;max-width:230px;}
.loan-table.asset-table th[data-col="loan_date"],.loan-table.asset-table td[data-col="loan_date"],.loan-table.asset-table th[data-col="due_date"],.loan-table.asset-table td[data-col="due_date"]{width:132px;min-width:132px;max-width:132px;}
.loan-table.asset-table th[data-col="status"],.loan-table.asset-table td[data-col="status"]{width:128px;min-width:128px;max-width:128px;}
.loan-table.asset-table th[data-col="loaned_by"],.loan-table.asset-table td[data-col="loaned_by"]{width:125px;min-width:125px;max-width:125px;}
.loan-table.asset-table th[data-col="actions"],.loan-table.asset-table td[data-col="actions"]{width:118px;min-width:118px;max-width:118px;text-align:right;}
.loan-table.asset-table .person-cell,.loan-table.asset-table .asset-main{display:flex;align-items:center;gap:10px;min-width:0;}
.loan-table.asset-table .asset-main{gap:12px;}
.loan-table.asset-table .asset-title,.loan-table.asset-table .person-cell>div{min-width:0;}
.loan-table.asset-table .asset-title b,.loan-table.asset-table .asset-title span,.loan-table.asset-table .asset-title small,.loan-table.asset-table .person-cell b,.loan-table.asset-table .subtext{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.loan-table.asset-table td[data-col="asset"] .asset-thumb.asset-thumb-lg{width:54px;height:44px;}
.loan-table.asset-table td[data-col="asset"] .asset-thumb.asset-thumb-lg img{max-width:48px;max-height:38px;}
.loan-table[data-loan-configurable-table].table-dynamic-columns{min-width:var(--table-dynamic-min-width,1180px);table-layout:fixed;}
.loan-table[data-loan-configurable-table] th{font-weight:950;color:#334155;}
.loan-table[data-loan-configurable-table] th[data-col],.loan-table[data-loan-configurable-table] td[data-col]{max-width:none;}
.loan-table[data-loan-configurable-table] .table-col-resizer{right:-6px;}
.loan-table-wrap:has(.loan-row-action-menu[open]),.loan-table-wrap:has(.loan-row-action-menu[open]) .loan-table,.loan-table td[data-col="actions"]{overflow:visible;}
.loan-table tbody tr:has(.loan-row-action-menu[open]){position:relative;z-index:20;}
.loan-row-action-menu .asset-row-action-summary{display:inline-flex;align-items:center;gap:6px;}
.loan-row-action-menu .table-action-menu-panel{min-width:190px;}

/* Professional status tabs shared by Loans, Repair Intake, and Helpdesk. */
.loan-status-tabs,
.repair-intake-scope-tabs,
.repair-intake-tabs,
.helpdesk-view-tabs{
  gap:6px!important;
  padding:10px 12px 0!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
.repair-intake-scope-tabs,
.repair-intake-tabs,
.helpdesk-view-tabs{
  margin:10px 0 0!important;
  overflow-x:auto;
  flex-wrap:nowrap!important;
}
.loan-status-tabs .loan-status-tab,
.repair-intake-scope-tabs a,
.repair-intake-tabs a,
.helpdesk-view-tabs button{
  --status-tab-color:#2563eb;
  min-height:38px!important;
  border:1px solid #dbe5f2!important;
  border-bottom-color:#dbe5f2!important;
  border-radius:8px 8px 0 0!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:none!important;
  text-shadow:none!important;
  position:relative;
}
.loan-status-tabs .loan-status-tab::before,
.repair-intake-scope-tabs a::before,
.repair-intake-tabs a::before,
.helpdesk-view-tabs button::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--status-tab-color);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--status-tab-color) 14%,transparent);
  flex:0 0 auto;
}
.loan-status-tabs .loan-status-tab:hover,
.repair-intake-scope-tabs a:hover,
.repair-intake-tabs a:hover,
.helpdesk-view-tabs button:hover{
  border-color:color-mix(in srgb,var(--status-tab-color) 42%,#dbe5f2)!important;
  background:color-mix(in srgb,var(--status-tab-color) 7%,#fff)!important;
  filter:none!important;
  text-decoration:none!important;
}
.loan-status-tabs .loan-status-tab.active,
.repair-intake-scope-tabs a.active,
.repair-intake-tabs a.active,
.helpdesk-view-tabs button.active{
  border-color:var(--status-tab-color)!important;
  background:var(--status-tab-color)!important;
  color:#fff!important;
  box-shadow:0 -1px 0 var(--status-tab-color),0 10px 22px color-mix(in srgb,var(--status-tab-color) 18%,transparent)!important;
}
.loan-status-tabs .loan-status-tab.active::before,
.repair-intake-scope-tabs a.active::before,
.repair-intake-tabs a.active::before,
.helpdesk-view-tabs button.active::before{
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.loan-status-tabs .loan-status-tab b,
.repair-intake-scope-tabs b,
.repair-intake-tabs b,
.helpdesk-view-tabs b{
  min-width:24px!important;
  height:20px!important;
  padding:0 7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--status-tab-color) 10%,#eef2f7)!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
}
@media(max-width:760px){
  .repair-evidence-picker--input-aligned{
    margin-top:0;
    top:0;
  }
}
.loan-status-tabs .loan-status-tab.active b,
.repair-intake-scope-tabs a.active b,
.repair-intake-tabs a.active b,
.helpdesk-view-tabs button.active b{
  background:rgba(255,255,255,.22)!important;
  color:#fff!important;
}

.loans-page .pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:12px;margin:0;background:#fff;}
.loans-page .pagination span{margin-right:auto;color:#64748b;font-size:12px;font-weight:800;}
.loans-page .pagination a{min-width:30px;height:30px;border:1px solid #dbe5f2;border-radius:7px;display:grid;place-items:center;color:#334155;font-weight:850;text-decoration:none;}
.loans-page .pagination a.active{background:#eef5ff;border-color:#3346d3;color:#3346d3;}

.loan-workspace,.loan-detail-shell{padding:18px;}
.loan-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.loan-form-grid,.loan-smart-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin-top:14px;}
.loan-form-card,.loan-action-card,.loan-detail-cards article{min-width:0;padding:16px;background:#fbfcff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:none;}
.loan-form-card.full{grid-column:1 / -1;}
.loan-form-card h3,.loan-action-card h3,.loan-detail-cards h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #e5edf7;color:#111827;font-size:14px;font-weight:950;}
.loan-form-card label,.loan-action-card label,.loan-return-repair-grid label,.loan-reminder-modal-body label:not(.settings-toggle){display:grid;gap:6px;color:#334155;font-size:12px;font-weight:850;}
.loan-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.loan-detail-tool-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 12px;}
.loan-detail-tool-row .btn{min-height:36px;}
.loan-accessory-hidden{display:none;}
.loan-checkbox-row{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0;margin:12px 0;border:0;}
.loan-checkbox-row legend{flex:0 0 100%;color:#334155;font-size:12px;font-weight:950;}
.loan-checkbox-row label,.loan-action-card .settings-toggle{display:inline-flex;align-items:center;gap:7px;width:auto;color:#475569;font-size:12px;font-weight:850;}
.loan-checkbox-row input,.loan-action-card .settings-toggle input{width:auto;min-height:0;}

.loan-pool-choice-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:10px;border:1px solid #e5edf7;border-radius:8px;background:#f8fbff;}
.loan-pool-choice-row legend{width:100%;color:#334155;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:0;margin-bottom:2px;}
.loan-pool-choice-row label{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0;padding:7px 9px;border:1px solid #dbe5f2;border-radius:999px;background:#fff;color:#334155;font-size:12px;font-weight:850;}
.loan-pool-choice-row input{width:auto;min-height:0;}
.loan-pool-choice-row label:has(input:checked){border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;}
.loan-result-list{display:grid;gap:10px;max-height:420px;overflow:auto;border:1px solid #e5edf7;border-radius:8px;background:#fff;padding:10px;}
.loan-result-list[hidden]{display:none;}
.loan-lookup-row{width:100%;display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:flex-start;justify-content:start;text-align:left;border:1px solid #e5edf7;border-radius:8px;background:#fbfdff;color:#172033;padding:12px;box-shadow:none;min-height:78px;}
.loan-lookup-row:hover{border-color:#93c5fd;background:#f7fbff;box-shadow:0 8px 18px rgba(37,99,235,.08);}
.loan-lookup-row b,.loan-lookup-row small,.loan-lookup-row em{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;}
.loan-lookup-row b{font-size:14px;color:#111827;font-weight:950;}
.loan-lookup-row small,.loan-lookup-row em{font-size:12px;}
.loan-lookup-row small{margin-top:2px;color:#64748b;font-weight:850;}
.loan-lookup-row em{margin-top:3px;color:#53657f;font-style:normal;font-weight:750;}
.loan-lookup-avatar .avatar,.loan-selected-card .avatar{width:50px;height:50px;font-size:14px;flex:0 0 auto;}
.loan-asset-thumb{width:52px;height:48px;border:1px solid #dfe7f2;border-radius:8px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;}
.loan-asset-thumb img{max-width:44px;max-height:38px;object-fit:contain;}
.loan-selected-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;min-height:72px;padding:12px;border:1px solid #bfdbfe;border-radius:8px;background:#f8fbff;}
.loan-selected-card.is-empty{border-style:dashed;border-color:#cbd5e1;background:#f8fafc;color:#64748b;}
.loan-availability-summary{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px 12px;margin-top:10px;}
.loan-availability-summary b,.loan-availability-summary small,.loan-availability-link{display:block;}
.loan-availability-summary b,.loan-availability-link{color:#172033;font-size:13px;}
.loan-availability-link{appearance:none;border:0;background:transparent;padding:0;text-align:left;font-weight:950;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.loan-availability-link:hover{color:#1d4ed8;}
.loan-availability-summary small{color:#64748b;font-size:12px;font-weight:750;margin-top:2px;line-height:1.35;}
.loan-availability-summary.is-low{border-color:#fbbf24;background:#fffbeb;}
.loan-availability-summary.is-empty{border-color:#fecaca;background:#fff1f2;}
.loan-selected-card>span:first-child:not(.loan-lookup-avatar):not(.loan-asset-thumb){width:42px;height:42px;border-radius:8px;background:#eef4ff;color:#3346d3;display:grid;place-items:center;}
.loan-selected-card{position:relative;}
.loan-empty-icon:before{content:"?";font-weight:950;}
.loan-empty-icon.asset:before{content:"-";}
.loan-clear-selection{position:absolute;top:8px;right:8px;width:28px;height:28px;border:1px solid #dbe5f2;border-radius:999px;background:#fff;color:#475569;display:grid;place-items:center;font-size:18px;font-weight:900;line-height:1;cursor:pointer;}
.loan-clear-selection:hover{border-color:#fca5a5;background:#fff1f2;color:#b42318;}
.loan-selected-card b,.loan-selected-card small,.loan-selected-card em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loan-selected-card b{color:#111827;font-weight:950;}
.loan-selected-card small{margin-top:2px;color:#64748b;font-size:12px;font-weight:850;}
.loan-selected-card em{margin-top:3px;color:#53657f;font-style:normal;font-size:12px;font-weight:750;}
.loan-current-assets-link{display:inline-block;margin-top:5px;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:#2456c8!important;box-shadow:none!important;font:inherit!important;font-size:12px!important;font-weight:950!important;text-align:left;text-decoration:underline!important;text-underline-offset:3px!important;cursor:pointer!important;}
.loan-current-assets-link:hover{color:#174ea6!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.loan-current-assets-empty{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:850;}
.loan-lookup-empty{padding:12px;text-align:center;color:#64748b;font-size:12px;font-weight:850;}

.loan-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e5edf7;}
.loan-detail-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.loan-detail-cards p{margin:7px 0;color:#475569;font-size:12px;font-weight:750;}
.loan-detail-cards small{color:#64748b;font-weight:750;line-height:1.45;}
.loan-profile-card{min-width:0;}
.loan-profile-row{display:flex;align-items:center;gap:14px;min-width:0;}
.loan-profile-row>div{min-width:0;}
.loan-profile-row .avatar.lg{width:72px;height:72px;font-size:22px;flex:0 0 72px;}
.loan-detail-asset-thumb{width:82px;height:66px;flex:0 0 82px;border:1px solid #dfe7f2;border-radius:8px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;}
.loan-detail-asset-thumb img{max-width:74px;max-height:56px;object-fit:contain;}
.loan-profile-card b,.loan-profile-card p,.loan-profile-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.loan-profile-card b{font-size:15px;}
.loan-profile-card p{margin:4px 0;color:#475569;font-weight:850;}
.loan-profile-card small{white-space:normal;line-height:1.45;}
.loan-action-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px;}
.loan-action-card{display:grid;align-content:start;gap:10px;}
.loan-action-card button{justify-self:start;}
.btn.warn,button.warn{background:#fff7e8;border-color:#fed7aa;color:#b54708;}
.btn.warn:hover,button.warn:hover{background:#fffbf2;border-color:#fdba74;}
.loan-row-action-modal,.loan-reminder-modal{width:min(520px,calc(100vw - 36px));}
.loan-reminder-modal{width:min(460px,calc(100vw - 28px));}
.loan-row-modal-form{border:0;background:#fff;padding:16px;box-shadow:none;}
.loan-row-modal-form .modal-actions{margin-top:12px;}
.loan-return-repair-panel{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px;margin-top:4px;}
.loan-return-repair-panel.open{position:fixed;inset:0;z-index:76;display:flex!important;align-items:center;justify-content:center;background:rgba(15,23,42,.54);backdrop-filter:blur(2px);border:0;border-radius:0;margin:0;padding:22px;overflow:auto;overflow-x:hidden;}
.loan-return-repair-launch{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px 12px;margin-top:4px;}
.loan-return-repair-launch b,.loan-return-repair-launch small{display:block;}
.loan-return-repair-launch b{color:#172033;font-size:13px;}
.loan-return-repair-launch small{color:#64748b;font-size:12px;font-weight:750;margin-top:2px;}
.loan-return-repair-shell{box-sizing:border-box;width:min(760px,calc(100vw - 44px));max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dbe5f2;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.28);}
.loan-return-repair-shell *{box-sizing:border-box;min-width:0;}
.loan-return-repair-shell>.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:0;border-bottom:1px solid #dbe5f2;border-radius:0;margin:0;padding:16px 18px;background:linear-gradient(135deg,#eff6ff 0%,#f8fbff 100%);}
.loan-return-repair-shell>.section-head h3{margin:0;}
.loan-return-repair-shell>.section-head p{margin:3px 0 0;}
.loan-return-repair-context{margin:0 0 14px;}
.loan-return-repair-context .loan-asset-thumb{width:70px;height:54px;}
.loan-return-repair-context .loan-asset-thumb img{max-width:64px;max-height:48px;}
.loan-return-repair-shell>.loan-return-repair-grid{margin:0 0 12px;padding:0;overflow:auto;overflow-x:hidden;min-height:0;}
.loan-return-repair-shell>.loan-return-repair-actions{border-top:1px solid #dbe5f2;margin:0;padding:18px 24px 22px;background:#fff;flex-shrink:0;}
.loan-new-repair-launch{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px 12px;margin-top:10px;}
.loan-new-repair-launch b,.loan-new-repair-launch small{display:block;}
.loan-new-repair-launch b{color:#172033;font-size:13px;}
.loan-new-repair-launch small{color:#64748b;font-size:12px;font-weight:750;margin-top:2px;}
.loan-new-repair-panel{position:fixed;inset:0;z-index:75;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.54);backdrop-filter:blur(2px);padding:22px;overflow:auto;overflow-x:hidden;}
.loan-new-repair-panel.open{display:flex;}
.loan-new-repair-shell{box-sizing:border-box;width:min(760px,calc(100vw - 44px));max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dbe5f2;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.28);}
.loan-new-repair-shell *{box-sizing:border-box;min-width:0;}
.loan-new-repair-shell>.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:0;border-bottom:1px solid #dbe5f2;border-radius:0;margin:0;padding:16px 18px;background:linear-gradient(135deg,#eff6ff 0%,#f8fbff 100%);}
.loan-new-repair-shell>.section-head h3{margin:0;}
.loan-new-repair-shell>.section-head p{margin:3px 0 0;}
.loan-new-repair-shell>.section-head .settings-toggle{display:none;}
.loan-new-repair-device-summary{margin:0 0 14px;}
.loan-new-repair-device-summary .loan-asset-thumb{width:70px;height:54px;}
.loan-new-repair-device-summary .loan-asset-thumb img{max-width:64px;max-height:48px;}
.loan-new-repair-shell>.loan-student-device-list{margin:0 18px 10px;padding:0;max-height:156px;overflow:auto;overflow-x:hidden;}
.loan-new-repair-shell>.loan-return-repair-grid{margin:0 0 12px;padding:0;overflow:auto;overflow-x:hidden;min-height:0;}
.loan-new-repair-shell>.loan-new-repair-actions{border-top:1px solid #dbe5f2;margin:0;padding:18px 24px 22px;background:#fff;flex-shrink:0;}
.loan-student-device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;}
.loan-student-device-choice{display:block;min-height:48px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;text-align:left;box-shadow:none;padding:9px 12px;}
.loan-student-device-choice.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.12);}
.loan-student-device-choice b,.loan-student-device-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loan-student-device-choice small{color:#64748b;font-size:11px;font-weight:750;}
.loan-return-repair-panel .section-head{margin:0 0 10px;padding:0;border:0;}
.loan-return-repair-panel h3{margin:0;font-size:14px;}
.loan-return-repair-panel p{margin:3px 0 0;}
.loan-return-repair-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.loan-return-repair-grid .full{grid-column:1/-1;}
.loan-return-repair-grid .settings-toggle.is-disabled{
  opacity:.55;
}
.loan-reminder-modal-body,.loan-accessory-modal-body{display:grid;gap:12px;}
.loan-reminder-modal-body small{color:#64748b;font-weight:700;}
.loan-accessory-modal .settings-toggle{margin:0;}

.loan-new-modal{width:min(1040px,calc(100vw - 36px));height:min(820px,calc(100vh - 36px));max-height:calc(100vh - 36px);overflow:hidden;padding:0;display:flex;flex-direction:column;}
.loan-new-modal .modal-head{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #dbe5f2;margin:0;padding:18px 20px;}
.loan-new-modal .loan-modal-form{padding:18px 18px 0;margin-top:0;min-height:0;flex:1;overflow:auto;align-content:start;}
.loan-new-modal .loan-form-card{box-shadow:none;}
.loan-new-modal .loan-result-list{max-height:260px;overflow:auto;}
.loan-new-modal .loan-new-modal-actions{grid-column:1/-1;position:sticky;bottom:0;z-index:6;background:#fff;border-top:1px solid #e5edf7;margin:14px -18px 0!important;padding:14px 18px!important;}
.loan-available-assets-modal{width:min(760px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;padding:0;}
.loan-available-assets-modal .modal-head{margin:0;padding:16px 18px;border-bottom:1px solid #dbe5f2;}
.loan-available-assets-modal .modal-actions{margin:0!important;padding:14px 18px!important;border-top:1px solid #dbe5f2!important;background:#fff!important;}
.loan-available-assets-list{display:grid;gap:10px;padding:14px 18px;overflow:auto;min-height:0;}
.loan-available-asset-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e5edf7;border-radius:8px;background:#fbfdff;padding:10px 12px;}
.loan-available-asset-row b,.loan-available-asset-row small,.loan-available-asset-row em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loan-available-asset-row b{font-size:14px;color:#111827;font-weight:950;}
.loan-available-asset-row small{margin-top:2px;color:#64748b;font-size:12px;font-weight:850;}
.loan-available-asset-row em{margin-top:3px;color:#53657f;font-style:normal;font-size:12px;font-weight:750;}
.loan-available-asset-row .primary.compact{min-height:34px;padding:7px 12px;border-radius:7px;font-size:12px;}
.loan-borrower-current-assets-modal{width:min(760px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;padding:0;}
.loan-borrower-current-assets-modal .modal-head{margin:0;padding:16px 18px;border-bottom:1px solid #dbe5f2;}
.loan-borrower-current-assets-modal .modal-actions{margin:0!important;padding:14px 18px!important;border-top:1px solid #dbe5f2!important;background:#fff!important;}
.loan-borrower-current-assets-head{display:flex;align-items:center;gap:12px;min-width:0;}
.loan-borrower-current-assets-head>div{min-width:0;}
.loan-borrower-current-assets-head h2,.loan-borrower-current-assets-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loan-borrower-current-assets-list{display:grid;gap:10px;padding:14px 18px;overflow:auto;min-height:0;}
.loan-borrower-current-asset-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;border:1px solid #e5edf7;border-radius:8px;background:#fbfdff;padding:10px 12px;}
.loan-borrower-current-asset-row b,.loan-borrower-current-asset-row small,.loan-borrower-current-asset-row em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loan-borrower-current-asset-row b{font-size:14px;color:#111827;font-weight:950;}
.loan-borrower-current-asset-row small{margin-top:2px;color:#64748b;font-size:12px;font-weight:850;}
.loan-borrower-current-asset-row em{margin-top:3px;color:#53657f;font-style:normal;font-size:12px;font-weight:750;}

.loan-agreement-page{padding:24px;background:#f8fafc;min-height:100vh;}
.loan-print-actions{display:flex;justify-content:flex-end;gap:8px;margin:0 auto 12px;max-width:960px;}
.loan-agreement-sheet{max-width:960px;margin:0 auto;background:#fff;border:1px solid #dbe5f2;border-radius:8px;padding:28px;color:#111827;box-shadow:0 8px 30px rgba(16,24,40,.08);}
.loan-agreement-sheet header{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;margin-bottom:22px;}
.loan-agreement-sheet header img{width:58px;height:58px;}
.loan-agreement-sheet h1{text-transform:uppercase;letter-spacing:0;font-size:22px;margin:0;}
.loan-agreement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.loan-agreement-grid article,.loan-agreement-info{border:1px solid #dbe5f2;border-radius:7px;padding:14px;}
.loan-agreement-grid h3,.loan-agreement-info h3{margin:0 0 10px;}
.loan-agreement-sheet p{line-height:1.45;}
.loan-responsibility{margin:22px 0;}
.loan-signatures{display:grid;grid-template-columns:2fr 1fr 2fr 1fr;gap:22px;margin-top:42px;}
.loan-signatures span{border-top:1px solid #111827;padding-top:8px;font-weight:800;font-size:12px;}
.loan-print-body{background:#f8fafc;}
.loan-agreement-modal{width:min(1040px,calc(100vw - 36px));height:min(860px,calc(100vh - 36px));max-height:calc(100vh - 36px);padding:0;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;}
.loan-agreement-modal-head{background:#fff;border-bottom:1px solid #dbe5f2;margin:0;padding:18px 20px;}
.loan-agreement-modal-body{min-height:0;flex:1;overflow:auto;padding:18px;background:linear-gradient(180deg,#eef4fb 0,#f8fafc 190px);}
.loan-agreement-modal-body .loan-agreement-sheet{box-shadow:0 18px 44px rgba(15,23,42,.14);}
.loan-agreement-modal-actions{background:#fff;border-top:1px solid #dbe5f2;margin:0;padding:14px 18px;position:sticky;bottom:0;}

@media(max-width:1180px){
  .loan-kpi-grid,.loan-detail-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .loan-filterbar,.loan-detail-grid,.loan-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  .loan-smart-form,.loan-new-modal .loan-modal-form{grid-template-columns:1fr;}
  .loan-new-modal{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px);}
}
@media(max-width:760px){
  .loans-page-head,.loan-detail-head{display:grid;align-items:start;}
  .loan-head-actions,.loan-detail-head>div:last-child{justify-content:flex-start;}
  .loan-head-actions .btn,.loan-head-actions .primary,.loan-detail-head .btn{flex:1 1 140px;}
  .loan-kpi-grid,.loan-form-grid,.loan-filterbar,.loan-detail-grid,.loan-detail-cards,.loan-action-grid,.loan-agreement-grid,.loan-signatures{grid-template-columns:1fr;}
  .loan-due-summary{grid-template-columns:1fr;}
  .loan-due-group a{grid-template-columns:1fr;align-items:start;}
  .loan-due-group small{text-align:left;}
  .loan-new-repair-panel{padding:10px;justify-content:flex-start;}
  .loan-new-repair-shell{width:calc(100vw - 20px);max-height:calc(100vh - 20px);}
  .loan-new-repair-device-summary{grid-template-columns:58px minmax(0,1fr);}
  .loan-new-repair-device-summary .loan-asset-thumb{width:54px;height:44px;}
  .loan-new-repair-launch{display:grid;}
  .loan-new-repair-launch .btn{width:100%;}
  .loan-new-repair-shell>.loan-student-device-list{grid-template-columns:1fr;max-height:148px;}
  .loan-new-repair-shell>.loan-return-repair-grid{grid-template-columns:1fr;}
  .loan-new-repair-shell>.loan-new-repair-actions{display:grid;grid-template-columns:1fr;}
  .loan-return-repair-panel.open{padding:10px;justify-content:flex-start;}
  .loan-return-repair-launch{display:grid;}
  .loan-return-repair-launch .btn{width:100%;}
  .loan-return-repair-shell{width:calc(100vw - 20px);max-height:calc(100vh - 20px);}
  .loan-return-repair-context{grid-template-columns:58px minmax(0,1fr);}
  .loan-return-repair-context .loan-asset-thumb{width:54px;height:44px;}
  .loan-return-repair-shell>.loan-return-repair-grid{grid-template-columns:1fr;}
  .loan-return-repair-shell>.loan-return-repair-actions{display:grid;grid-template-columns:1fr;}
  .loan-workspace,.loan-detail-shell,.loans-page-head{padding:14px;}
  .loan-status-tabs{padding:10px 10px 0;}
  .loan-status-tabs .loan-status-tab{padding:8px 10px;}
  .loan-profile-row{align-items:flex-start;}
  .loan-profile-row .avatar.lg{width:58px;height:58px;flex-basis:58px;}
  .loan-detail-asset-thumb{width:68px;height:58px;flex-basis:68px;}
  .loans-page .pagination{flex-wrap:wrap;justify-content:flex-start;}
  .loans-page .pagination span{flex:0 0 100%;}
  .loan-return-repair-grid{grid-template-columns:1fr;}
  .loan-return-repair-grid .full{grid-column:auto;}
  .loan-agreement-page{padding:10px;}
  .loan-agreement-sheet{padding:18px;}
  .loan-agreement-modal{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px);}
  .loan-agreement-modal-body{padding:10px;}
}
@media print{
  .loan-print-actions{display:none;}
  .loan-agreement-page{padding:0;background:#fff;}
  .loan-agreement-sheet{border:0;box-shadow:none;max-width:none;}
  .loan-print-body{background:#fff;}
  .loan-agreement-modal-head,.loan-agreement-modal-actions{display:none!important;}
  .modal-backdrop.open .loan-agreement-modal{box-shadow:none!important;border:0!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;background:#fff!important;}
  .modal-backdrop.open .loan-agreement-modal-body{padding:0!important;overflow:visible!important;background:#fff!important;}
}


/* Restored from module CSS rollback: command_center.css */
/* Command Center final dashboard cascade. */
.command-center-page{gap:18px!important;}
.command-center-title-row{padding-bottom:2px!important;border-bottom:1px solid #e6edf7!important;}
.command-center-title-row h1{font-size:23px!important;font-weight:900!important;color:#172033!important;}
.command-center-title-row p{color:#66758d!important;font-size:13px!important;font-weight:750!important;}
.cc-kpi-grid,.cc-grid{gap:12px!important;}
.cc-kpi-card,.cc-card{border:1px solid #d8e2f0!important;border-radius:8px!important;background:#fff!important;box-shadow:0 6px 18px rgba(15,23,42,.045)!important;}
.cc-card{padding:16px!important;}
.cc-card:hover,.cc-kpi-card:hover{border-color:#c2d0e4!important;box-shadow:0 10px 24px rgba(15,23,42,.07)!important;}
.cc-card h2{min-height:auto!important;margin:0 0 12px!important;padding:0 36px 10px 0!important;border-bottom:1px solid #edf2f7!important;color:#1e293b!important;font-size:14px!important;font-weight:950!important;line-height:1.25!important;}
.cc-card h2 span{color:#64748b!important;font-size:11px!important;}
.cc-checkin-card,.cc-pm-widget,.cc-repair-widget,.cc-hr-widget,.cc-hr-risk{background:#fff!important;border-color:#d8e2f0!important;}
.cc-pm-widget h2:before{display:none!important;}
.cc-donut-layout{gap:14px!important;min-height:0!important;}
.cc-grid .cc-card.cc-span-3 .cc-donut-layout{gap:10px!important;}
.cc-grid .cc-card.cc-span-3 .cc-donut{width:104px!important;height:104px!important;}
.cc-grid .cc-card.cc-span-3 .cc-donut:after{inset:21px!important;}
.cc-donut strong{font-size:21px!important;}
.cc-donut span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:0!important;}
.cc-legend{gap:7px!important;}
.cc-legend span{min-height:24px!important;grid-template-columns:10px minmax(0,1fr) auto!important;gap:7px!important;color:#475569!important;font-size:11px!important;font-weight:850!important;}
.cc-legend i,.cc-mini-legend i{width:9px!important;height:9px!important;border-radius:999px!important;}
.cc-legend b{color:#1e293b!important;font-size:11px!important;font-weight:950!important;white-space:nowrap!important;}
.cc-legend em{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-style:normal!important;}
.cc-axis-chart{min-height:0!important;grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important;}
.cc-y-axis{color:#7b8799!important;font-size:10px!important;}
.cc-bar-chart,.cc-stacked-bars,.cc-purple-bars{padding:10px 8px 0!important;background:linear-gradient(to top,transparent 0 24%,#eef3f8 24% calc(24% + 1px),transparent calc(24% + 1px) 49%,#eef3f8 49% calc(49% + 1px),transparent calc(49% + 1px) 74%,#eef3f8 74% calc(74% + 1px),transparent calc(74% + 1px))!important;}
.cc-grid [data-command-widget] .cc-axis-chart{height:172px!important;}
.cc-grid [data-command-widget] .cc-bar-chart{height:150px!important;}
.cc-grid [data-command-widget] .cc-bar-day{height:140px!important;}
.cc-bar-stack,.cc-single-bar{width:20px!important;border-radius:4px 4px 0 0!important;box-shadow:none!important;}
.cc-bar-stack.is-empty{height:0!important;min-height:0!important;overflow:hidden!important;}
.cc-bar-day small{color:#64748b!important;font-size:10px!important;font-weight:850!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.cc-mini-legend{justify-content:flex-start!important;gap:12px!important;margin-top:8px!important;color:#64748b!important;font-size:11px!important;}
.cc-widget-metric-table{border-color:#dbe5f2!important;box-shadow:none!important;}
.cc-widget-metric-table th,.cc-widget-metric-table td{padding:8px 10px!important;}
.cc-hr-list,.cc-rank-list,.cc-activity-list,.cc-aup-list{gap:6px!important;}
.cc-hr-list a,.cc-rank-list a,.cc-activity-list a,.cc-aup-list a{border:1px solid #edf2f7!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important;}
.cc-hr-list a:hover,.cc-rank-list a:hover,.cc-activity-list a:hover,.cc-aup-list a:hover{background:#f8fbff!important;border-color:#dbeafe!important;}
.cc-card-link{align-self:flex-start!important;display:inline-flex!important;align-items:center!important;min-height:24px!important;margin-top:6px!important;padding:0!important;border:0!important;background:transparent!important;color:#64748b!important;font-size:10px!important;font-weight:850!important;text-decoration:none!important;letter-spacing:0!important;opacity:.78!important;box-shadow:none!important;}
.cc-card-link:hover{color:#2563eb!important;opacity:1!important;text-decoration:underline!important;box-shadow:none!important;}
.cc-card-link:after{content:""!important;}
.cc-widget-gear{box-shadow:none!important;border-color:#d9e3f0!important;}

.cc-circulation-chart{height:172px!important;display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important;}
.cc-circulation-chart .cc-y-axis{display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:flex-end!important;padding:8px 0 24px!important;}
.cc-circulation-day-chart{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;height:150px!important;padding:8px 4px 0!important;background:linear-gradient(to top,transparent 0 24%,#eef3f8 24% calc(24% + 1px),transparent calc(24% + 1px) 49%,#eef3f8 49% calc(49% + 1px),transparent calc(49% + 1px) 74%,#eef3f8 74% calc(74% + 1px),transparent calc(74% + 1px))!important;}
.cc-circulation-day{min-width:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) 24px!important;align-items:stretch!important;justify-items:stretch!important;}
.cc-circulation-plot{position:relative!important;min-height:0!important;}
.cc-circulation-stack{position:absolute!important;left:50%!important;bottom:0!important;width:20px!important;min-height:8px!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:column-reverse!important;overflow:hidden!important;border-radius:4px 4px 0 0!important;background:#edf3fb!important;}
.cc-circulation-stack.is-empty{height:0!important;min-height:0!important;}
.cc-circulation-stack span{display:block!important;min-height:0!important;}
.cc-circulation-stack .checkout{background:#2f6df6!important;}
.cc-circulation-stack .loan{background:#8b5cf6!important;}
.cc-circulation-stack .checkin{background:#45c36b!important;}
.cc-circulation-day small{align-self:center!important;justify-self:center!important;width:100%!important;color:#64748b!important;font-size:10px!important;font-weight:850!important;line-height:1.05!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;}

.cc-ticket-chart .cc-bar-chart{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;justify-items:stretch!important;align-items:stretch!important;gap:10px!important;width:100%!important;box-sizing:border-box!important;}
.cc-ticket-chart .cc-bar-day{display:grid!important;grid-template-rows:minmax(0,1fr) 24px!important;justify-items:center!important;align-items:stretch!important;gap:0!important;min-width:0!important;width:100%!important;}
.cc-ticket-chart .cc-bar-stack{align-self:end!important;justify-self:center!important;margin:0!important;}
.cc-ticket-chart .cc-bar-day small{align-self:center!important;justify-self:center!important;width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;text-align:center!important;}

.cc-ticket-chart,.cc-reservation-chart,.cc-circulation-chart{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important;height:172px!important;min-height:172px!important;align-items:stretch!important;}
.cc-ticket-chart .cc-y-axis,.cc-reservation-chart .cc-y-axis,.cc-circulation-chart .cc-y-axis{grid-column:1!important;height:118px!important;align-self:start!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:flex-end!important;padding:8px 0 0!important;color:#64748b!important;font-size:10px!important;font-weight:850!important;line-height:1!important;}
.cc-ticket-chart .cc-bar-chart,.cc-reservation-chart .cc-bar-chart,.cc-circulation-day-chart{position:relative!important;grid-column:2!important;height:150px!important;min-height:150px!important;padding:8px 4px 0!important;border:0!important;overflow:visible!important;background:linear-gradient(to top,transparent 0 24%,#eef3f8 24% calc(24% + 1px),transparent calc(24% + 1px) 49%,#eef3f8 49% calc(49% + 1px),transparent calc(49% + 1px) 74%,#eef3f8 74% calc(74% + 1px),transparent calc(74% + 1px))!important;}
.cc-ticket-chart .cc-bar-chart:after,.cc-reservation-chart .cc-bar-chart:after,.cc-circulation-day-chart:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:24px!important;height:1px!important;background:#cbd5e1!important;z-index:0!important;}
.cc-ticket-chart .cc-bar-day,.cc-reservation-chart .cc-bar-day,.cc-circulation-day{position:relative!important;z-index:1!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) 24px!important;align-items:stretch!important;}
.cc-ticket-chart .cc-bar-stack,.cc-reservation-chart .cc-single-bar,.cc-circulation-stack{z-index:2!important;}
.cc-single-bar.is-empty{height:0!important;min-height:0!important;box-shadow:none!important;}

.command-center-zoom-body .cc-card.is-zoom-clone .cc-ticket-chart,
.command-center-zoom-body .cc-card.is-zoom-clone .cc-reservation-chart{
  height:300px!important;
  min-height:300px!important;
  align-items:start!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-ticket-chart .cc-y-axis,
.command-center-zoom-body .cc-card.is-zoom-clone .cc-reservation-chart .cc-y-axis{
  height:254px!important;
  align-self:start!important;
  padding:8px 0 0!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-ticket-chart .cc-bar-chart,
.command-center-zoom-body .cc-card.is-zoom-clone .cc-reservation-chart .cc-bar-chart{
  height:278px!important;
  min-height:278px!important;
}


/* Restored from module CSS rollback: reservations.css */
/* Equipment Reservation System */
.reservation-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.reservation-hero h1{
  margin:4px 0 6px;
  font-size:26px;
  line-height:1.1;
}
.reservation-hero p{
  margin:0;
  color:#52627a;
  font-weight:800;
}
.reservation-hero-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.reservation-booking-shell{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-bottom:14px;
}
.reservation-sidebar{
  align-self:start;
  display:grid;
  gap:14px;
}
.reservation-search-form input,
.reservation-search-form select,
.reservation-search-form button{
  width:100%;
  min-width:0;
}
.reservation-search-form{
  display:grid;
  gap:10px;
}
.reservation-date-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.reservation-date-grid input[type="date"]{
  min-width:0;
  padding-left:10px;
  padding-right:8px;
  font-size:13px;
}
.reservation-category-list{
  display:grid;
  gap:6px;
  border-top:1px solid #dbe5f2;
  padding-top:12px;
}
.reservation-category-list strong{
  color:#52627a;
  font-size:12px;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
}
.reservation-category-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#23314a;
  font-weight:900;
  text-decoration:none;
}
.reservation-category-list a.active,
.reservation-category-list a:hover{
  border-color:#9fc0ff;
  background:#f7f9ff;
  color:#245be7;
  text-decoration:none;
}
.reservation-category-list b{
  color:#245be7;
}
.reservation-catalog{
  min-width:0;
  align-self:start;
}
.reservation-catalog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #dbe5f2;
  padding-bottom:12px;
  margin-bottom:10px;
}
.reservation-catalog-head h2{
  margin:0 0 4px;
}
.reservation-basket{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:210px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:9px 12px;
  color:#23314a;
}
.reservation-basket span{
  color:#2563eb;
}
.reservation-basket b,
.reservation-basket small{
  display:block;
}
.reservation-basket small{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.reservation-tile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
  gap:14px;
}
.reservation-equipment-tile{
  position:relative;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  gap:14px 16px;
  align-items:start;
  min-height:242px;
  border:1px solid #d9e4f2;
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  padding:14px;
  box-shadow:0 10px 26px rgba(15,32,51,.07);
  overflow:hidden;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.reservation-equipment-tile::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#2563eb,#16a34a);
}
.reservation-equipment-tile:hover{
  transform:translateY(-1px);
  border-color:#b8c9e8;
  box-shadow:0 16px 34px rgba(15,32,51,.11);
}
.reservation-item-image{
  width:118px;
  height:118px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fbff;
  display:grid;
  place-items:center;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  padding:0;
  cursor:pointer;
}
.reservation-item-image:hover{
  border-color:#93c5fd;
  background:#f7fbff;
}
.reservation-item-image img{
  max-width:98px;
  max-height:92px;
  object-fit:contain;
}
.reservation-tile-body{
  min-width:0;
  display:grid;
  gap:9px;
}
.reservation-tile-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.reservation-tile-title-row h3{
  margin:0;
  color:#102033;
  font-size:17px;
  line-height:1.2;
  font-weight:950;
}
.reservation-item-unavailable{
  opacity:.78;
}
.reservation-item-unavailable .reservation-item-image{
  background:#f8fafc;
}
.reservation-item-unavailable .btn.primary{
  pointer-events:none;
  background:#e5eaf3!important;
  border-color:#d6deeb!important;
  color:#64748b!important;
  box-shadow:none!important;
}
.reservation-tile-body p{
  margin:0;
  color:#40516a;
  font-weight:800;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.reservation-tile-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  color:#52637d;
  font-size:12px;
  font-weight:850;
}
.reservation-tile-meta span{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-height:28px;
  border:1px solid #e1e8f3;
  border-radius:999px;
  background:#f8fbff;
  padding:5px 8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.reservation-policy-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.reservation-policy-chips span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  border:1px solid #d7eadf;
  border-radius:999px;
  background:#f3fbf6;
  color:#1f6f43;
  padding:5px 8px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  max-width:100%;
}
.reservation-policy-chips .ui-icon{
  width:14px;
  height:14px;
}
.reservation-tile-note{
  border:1px solid #e3eaf5;
  border-left:4px solid #94a3b8;
  border-radius:8px;
  background:#f8fafc;
  padding:8px 10px;
  color:#52637d;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}
.reservation-tile-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  align-self:end;
  border-top:1px solid #e5edf7;
  padding-top:12px;
  margin-top:2px;
}
.reservation-tile-actions .btn{
  min-width:132px;
  min-height:38px;
  justify-content:center;
  border-radius:10px;
}
.reservation-edit-setup-btn:disabled{
  opacity:.52;
  cursor:not-allowed;
  filter:grayscale(.18);
}
.reservation-empty{
  display:grid;
  place-items:center;
  gap:8px;
  border:1px dashed #cbd8ee;
  border-radius:12px;
  padding:28px;
  color:#23314a;
  text-align:center;
}
.reservation-empty span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:14px;
  background:#eef4ff;
  color:#2563eb;
}
.reservation-empty p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.reservation-admin-card{
  margin-top:14px;
}
.reservation-status-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  padding:0 0 12px;
  margin:2px 0 4px;
  scrollbar-width:thin;
}
.reservation-status-tabs a{
  --status-tab-color:#2563eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid color-mix(in srgb, var(--status-tab-color) 24%, #dbe5f2);
  border-radius:8px;
  background:#fff;
  color:#24344d;
  font-size:13px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.reservation-status-tabs a::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--status-tab-color);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--status-tab-color) 14%, transparent);
}
.reservation-status-tabs a svg{
  width:15px;
  height:15px;
  color:var(--status-tab-color);
}
.reservation-status-tabs a b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:color-mix(in srgb, var(--status-tab-color) 10%, #f8fafc);
  color:var(--status-tab-color);
  font-size:12px;
}
.reservation-status-tabs a.active{
  background:var(--status-tab-color);
  border-color:var(--status-tab-color);
  color:#fff;
  box-shadow:0 8px 18px color-mix(in srgb, var(--status-tab-color) 24%, transparent);
}
.reservation-status-tabs a.active::before{
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.reservation-status-tabs a.active svg,
.reservation-status-tabs a.active b{
  color:#fff;
}
.reservation-status-tabs a.active b{
  background:rgba(255,255,255,.2);
}
.reservation-calendar-card{
  overflow:hidden;
}
.reservation-calendar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.reservation-calendar-head h2{
  margin:2px 0 4px;
}
.reservation-calendar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.reservation-timeline-wrap{
  overflow:auto;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
}
.reservation-timeline{
  --reservation-booking-width:220px;
  min-width:980px;
}
.reservation-timeline-header{
  display:grid;
  grid-template-columns:var(--reservation-booking-width) minmax(0,1fr);
  position:sticky;
  top:0;
  z-index:2;
  background:#f8fbff;
  border-bottom:1px solid #dbe5f2;
}
.reservation-timeline-corner{
  display:flex;
  align-items:center;
  min-height:54px;
  padding:10px 12px;
  border-right:1px solid #dbe5f2;
  color:#52627a;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0;
}
.reservation-timeline-days{
  display:grid;
  grid-template-columns:repeat(var(--reservation-days),minmax(66px,1fr));
}
.reservation-timeline-days div{
  display:grid;
  align-content:center;
  min-height:54px;
  padding:8px 6px;
  border-right:1px solid #dbe5f2;
  text-align:center;
}
.reservation-timeline-days div:last-child{
  border-right:0;
}
.reservation-timeline-days b{
  color:#182238;
  font-size:12px;
}
.reservation-timeline-days span{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.reservation-timeline-days .today{
  background:#eef4ff;
}
.reservation-timeline-body{
  display:grid;
}
.reservation-timeline-row{
  display:grid;
  grid-template-columns:var(--reservation-booking-width) minmax(0,1fr);
  min-height:58px;
  border-bottom:1px solid #e5edf7;
}
.reservation-timeline-row:last-child{
  border-bottom:0;
}
.reservation-timeline-person{
  display:flex;
  min-width:0;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border-right:1px solid #dbe5f2;
  background:#fff;
}
.reservation-timeline-person .table-avatar{
  width:34px;
  height:34px;
  font-size:11px;
}
.reservation-timeline-person>span{
  min-width:0;
}
.reservation-timeline-person b,
.reservation-timeline-person small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.reservation-timeline-person small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.reservation-timeline-person .reservation-timeline-subline{
  color:#23314a;
  font-weight:500;
}
.reservation-timeline-person .reservation-timeline-device{
  color:#23314a;
  font-weight:950;
}
.reservation-timeline-asset{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #dbe5f2;
  border-radius:9px;
  background:#f8fbff;
}
.reservation-timeline-asset img{
  max-width:34px;
  max-height:30px;
  object-fit:contain;
}
.reservation-timeline-grid{
  display:grid;
  grid-template-columns:repeat(var(--reservation-days),minmax(66px,1fr));
  grid-template-rows:minmax(58px,auto);
  position:relative;
}
.reservation-day-cell{
  grid-row:1;
  border-right:1px solid #edf2f8;
  background:#fff;
}
.reservation-day-cell.today{
  background:#f4f7ff;
}
.reservation-timeline-bar{
  --reservation-bar:#315ee8;
  --reservation-bar-2:#5378ff;
  --reservation-bar-border:#a8c1ff;
  --reservation-bar-shadow:rgba(49,94,232,.22);
  grid-row:1;
  align-self:center;
  z-index:1;
  display:flex;
  align-items:center;
  min-width:0;
  height:38px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
  box-shadow:none;
  position:relative;
  overflow:visible;
  text-align:left;
  cursor:pointer;
}
button.reservation-timeline-bar{
  border-width:0;
  min-height:38px;
  justify-content:flex-start;
}
button.reservation-timeline-bar:hover{
  transform:translateY(-1px);
}
.reservation-timeline-bar.warn{
  --reservation-bar:#f59e0b;
  --reservation-bar-2:#fbbf24;
  --reservation-bar-border:#ffd698;
  --reservation-bar-shadow:rgba(245,158,11,.18);
}
.reservation-timeline-bar.ok{
  --reservation-bar:#059669;
  --reservation-bar-2:#22c55e;
  --reservation-bar-border:#9fe2bd;
  --reservation-bar-shadow:rgba(5,150,105,.18);
}
.reservation-timeline-bar.bad{
  --reservation-bar:#dc2626;
  --reservation-bar-2:#ef4444;
  --reservation-bar-border:#fecaca;
  --reservation-bar-shadow:rgba(220,38,38,.18);
}
.reservation-timeline-bar.blocked{
  --reservation-bar:#475569;
  --reservation-bar-2:#64748b;
  --reservation-bar-border:#cbd5e1;
  --reservation-bar-shadow:rgba(71,85,105,.18);
}
.reservation-timeline-bar.event-it{
  --reservation-bar:#174ea6;
  --reservation-bar-2:#38bdf8;
  --reservation-bar-border:#bae6fd;
  --reservation-bar-shadow:rgba(23,78,166,.22);
  text-decoration:none;
}
.reservation-timeline-bar.event-it .reservation-duration-label strong:after{
  content:" setup";
  opacity:.85;
  font-size:10px;
  font-weight:900;
}
.reservation-event-it-modal{
  width:min(680px,calc(100vw - 32px));
}
.reservation-event-it-section{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.reservation-event-it-section h3{
  margin:0;
  font-size:15px;
}
.reservation-event-it-needs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.reservation-event-it-needs span{
  border:1px solid #bae6fd;
  border-radius:999px;
  background:#eff6ff;
  color:#174ea6;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
}
.reservation-event-it-section p{
  margin:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  color:#475569;
  padding:10px;
  font-size:13px;
  line-height:1.45;
}
.badge.blocked{
  background:#e2e8f0;
  color:#334155;
}
.reservation-duration-track{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--reservation-bar),var(--reservation-bar-2));
  transform:translateY(-50%);
}
.reservation-duration-track::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:3px;
  height:22px;
  border-radius:999px;
  background:var(--reservation-bar);
  transform:translateY(-50%);
}
.reservation-duration-label{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  max-width:calc(100% - 10px);
  min-width:0;
  margin-left:5px;
  padding:6px 10px;
  border:1px solid var(--reservation-bar-border);
  border-radius:999px;
  background:linear-gradient(135deg,var(--reservation-bar),var(--reservation-bar-2));
  box-shadow:0 10px 24px var(--reservation-bar-shadow);
}
.reservation-duration-label strong,
.reservation-duration-label small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.reservation-duration-label strong{
  font-size:12px;
  line-height:1.1;
}
.reservation-duration-label small{
  opacity:.9;
  font-size:11px;
  font-weight:900;
}
.reservation-calendar-empty{
  display:grid;
  place-items:center;
  gap:8px;
  padding:28px;
  color:#23314a;
  text-align:center;
}
.reservation-calendar-empty span{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#eef4ff;
  color:#2563eb;
}
.reservation-calendar-empty p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.reservation-request-table .reservation-status-form{
  display:grid;
  grid-template-columns:130px minmax(160px,1fr) auto;
  gap:8px;
  align-items:center;
  margin:0;
}
.reservation-setup-card{
  display:grid;
  gap:14px;
}
.reservation-setup-search{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:min(420px,100%);
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#fff;
  padding:0 10px;
}
.reservation-setup-search .ui-icon{
  color:#64748b;
}
.reservation-setup-search input{
  width:100%;
  border:0;
  outline:0;
  padding:10px 0;
  background:transparent;
  font-weight:800;
}
.reservation-setup-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:10px;
}
.reservation-setup-asset{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#fff;
  padding:12px;
}
.reservation-setup-asset.is-requestable{
  border-color:#bfead3;
  background:#fbfffd;
}
.reservation-setup-thumb{
  width:70px;
  height:56px;
  display:grid;
  place-items:center;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fbff;
}
.reservation-setup-thumb img{
  max-width:62px;
  max-height:48px;
  object-fit:contain;
}
.reservation-setup-body{
  min-width:0;
}
.reservation-setup-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.reservation-setup-title h3{
  margin:0;
  color:#172033;
  font-size:14px;
  line-height:1.25;
}
.reservation-setup-body p,
.reservation-setup-body small{
  display:block;
  margin:3px 0 0;
  color:#64748b;
  font-weight:800;
  line-height:1.35;
  white-space:normal;
}
.reservation-setup-modal{
  width:min(1040px,calc(100vw - 32px));
  height:min(920px,calc(100vh - 24px));
  max-height:calc(100vh - 24px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
}
.reservation-setup-modal .modal-head{
  flex:0 0 auto;
  margin:0;
  padding:16px 20px;
  border-bottom:1px solid #dbe5f2;
  background:#fff;
}
.reservation-setup-modal .reservation-polished-form{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  padding:16px 20px 0!important;
  overflow:auto!important;
}
.reservation-setup-modal .reservation-polished-form>.modal-actions{
  margin-top:12px!important;
  padding-bottom:18px!important;
}
.reservation-add-setup-modal{
  width:min(860px,calc(100vw - 32px));
}
.reservation-add-search{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#f8fbff;
  padding:0 11px;
  margin-bottom:12px;
}
.reservation-add-search .ui-icon{
  color:#64748b;
}
.reservation-add-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  padding:12px 0;
  font-weight:850;
}
.reservation-add-results{
  display:grid;
  gap:8px;
  max-height:min(540px,62vh);
  overflow:auto;
}
.reservation-add-asset-row{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  width:100%;
  min-height:74px;
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#fff;
  color:#172033;
  padding:10px;
  text-align:left;
  box-shadow:none;
}
.reservation-add-asset-row:hover{
  border-color:#bfc9ff;
  background:#f7f9ff;
  box-shadow:none;
}
.reservation-add-asset-row b,
.reservation-add-asset-row small{
  display:block;
}
.reservation-add-asset-row small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.reservation-add-asset-row em{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#3346d3;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.reservation-gallery-setup{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px;
}
.reservation-attachment-setup{
  display:grid;
  gap:8px;
}
.reservation-attachment-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  gap:2px 8px!important;
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:9px 10px;
}
.reservation-attachment-item input{
  grid-row:1 / span 2;
  width:auto!important;
}
.reservation-attachment-item span{
  min-width:0;
  color:#172033;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.reservation-attachment-item small{
  color:#64748b;
  font-weight:800;
}
.reservation-setup-fieldset{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#f8fbff;
  padding:12px;
}
.reservation-setup-fieldset legend{
  padding:0 6px;
  color:#33415f;
  font-weight:950;
}
.reservation-setup-fieldset label{
  display:inline-flex!important;
  align-items:center;
  gap:7px!important;
  margin:0;
  color:#33415f;
}
.reservation-setup-fieldset small{
  flex-basis:100%;
  color:#64748b;
  font-weight:800;
}
.reservation-gallery-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px!important;
  align-items:center;
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#fbfcff;
  padding:8px;
}
.reservation-gallery-item img{
  grid-column:1 / -1;
  width:100%;
  height:88px;
  object-fit:cover;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
}
.reservation-request-description{
  border:1px solid #dbe7f7;
  border-radius:10px;
  background:#f8fbff;
  color:#33415f;
  padding:10px 12px;
  font-weight:800;
  line-height:1.45;
}
.reservation-request-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:8px;
}
.reservation-request-gallery img{
  width:100%;
  height:92px;
  object-fit:cover;
  border:1px solid #dfe6f2;
  border-radius:10px;
  background:#fff;
}
.reservation-request-details{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
}
.reservation-request-details div{
  border:1px solid #dbe7f7;
  border-radius:10px;
  background:#f8fbff;
  padding:10px;
}
.reservation-request-details b,
.reservation-request-details span{
  display:block;
}
.reservation-request-details b{
  color:#172033;
  font-size:12px;
}
.reservation-request-details span{
  color:#526078;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  margin-top:3px;
}
.reservation-repeat-toggle.is-disabled{
  opacity:.58;
}
.reservation-request-table thead th{
  font-weight:950;
  color:#172033;
}
.reservation-request-table td:last-child{
  overflow:visible;
}
.reservation-request-table tbody tr:has(.reservation-row-action-menu[open]){
  position:relative;
  z-index:20;
}
.reservation-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:max-content;
}
.reservation-inline-approve-form{
  margin:0;
}
.reservation-approve-btn{
  border-color:#15803d!important;
  background:#16a34a!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(22,163,74,.18)!important;
}
.reservation-approve-btn:hover{
  background:#15803d!important;
  color:#fff!important;
}
.reservation-approve-btn:disabled,
.reservation-approve-btn.is-disabled{
  border-color:#d0d5dd!important;
  background:#eef2f6!important;
  color:#98a2b3!important;
  box-shadow:none!important;
  cursor:not-allowed;
}
.reservation-approve-btn .ui-icon{
  width:15px;
  height:15px;
}
.reservation-row-action-menu .table-action-menu-panel,
.reservation-action-menu-panel{
  min-width:230px;
}
.reservation-row-action-menu .table-action-menu-form,
.reservation-action-menu-panel .table-action-menu-form{
  margin:0;
}
.reservation-row-action-menu .table-action-menu-panel a,
.reservation-row-action-menu .table-action-menu-panel button,
.reservation-action-menu-panel a,
.reservation-action-menu-panel button{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:34px;
  justify-content:flex-start;
  text-align:left;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.25!important;
  white-space:nowrap;
}
.table-action-menu-panel .table-action-menu-section,
.reservation-action-menu-panel .table-action-menu-section{
  display:block;
  margin:7px 4px 3px;
  padding-top:7px;
  border-top:1px solid #e5ecf5;
  color:#667085;
  font-size:10px;
  font-weight:950;
  letter-spacing:.06em;
  line-height:1.1;
  text-transform:uppercase;
}
.table-action-menu-panel .table-action-menu-section:first-child,
.reservation-action-menu-panel .table-action-menu-section:first-child{
  margin-top:2px;
  padding-top:0;
  border-top:0;
}
.reservation-request-modal{
  width:min(820px,calc(100vw - 32px));
}
#reservationRequestModal .reservation-request-modal{
  width:min(900px,calc(100vw - 32px))!important;
  height:min(880px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
#reservationRequestModal .reservation-request-modal .modal-head{
  flex:0 0 auto;
  margin:0!important;
  padding:16px 18px!important;
  min-height:68px!important;
  border-bottom:1px solid #d8e3f0!important;
  border-radius:12px 12px 0 0!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;
}
#reservationRequestModal .reservation-polished-form{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  padding:16px 20px 0!important;
  background:#fff!important;
  overflow:auto!important;
  align-content:start;
}
#reservationRequestModal .reservation-polished-form>label,
#reservationRequestModal .reservation-polished-form>.reservation-on-behalf-field,
#reservationRequestModal .reservation-polished-form>.settings-toggle{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
#reservationRequestModal .reservation-polished-form>label{
  color:#334155!important;
}
#reservationRequestModal .reservation-polished-form input,
#reservationRequestModal .reservation-polished-form select,
#reservationRequestModal .reservation-polished-form textarea{
  background:#fbfdff;
}
#reservationRequestModal .reservation-modal-asset{
  border:0!important;
  border-bottom:1px solid #e3ebf6!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0 0 14px!important;
}
#reservationRequestModal .reservation-modal-asset img{
  width:84px;
  height:64px;
}
#reservationRequestModal .reservation-request-description{
  border:0;
  border-left:4px solid #bfdbfe;
  border-radius:0;
  background:#f8fbff;
  padding:9px 12px;
}
#reservationRequestModal .reservation-request-details{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  border-top:1px solid #e3ebf6;
  border-bottom:1px solid #e3ebf6;
  padding:10px 0;
}
#reservationRequestModal .reservation-request-details div{
  border:0;
  border-radius:0;
  background:transparent;
  padding:4px 0;
}
#reservationRequestModal .reservation-request-gallery{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
}
#reservationRequestModal .reservation-request-gallery img{
  height:104px;
  border-radius:8px;
}
#reservationRequestModal .reservation-fulfillment-fieldset{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  padding:10px;
}
#reservationRequestModal .reservation-fulfillment-fieldset label{
  border:0;
  background:transparent;
  padding:6px 4px;
}
#reservationRequestModal .reservation-repeat-toggle{
  min-height:0;
  align-self:end;
}
#reservationRequestModal .reservation-polished-form>.modal-actions{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  margin:12px -20px 0!important;
  padding:13px 20px!important;
  border-top:1px solid #e1e8f2!important;
  background:#fbfdff!important;
  box-shadow:none!important;
}
.reservation-notify-modal{
  width:min(620px,calc(100vw - 32px));
}
.reservation-image-preview-modal{
  width:min(980px,calc(100vw - 28px));
}
.reservation-preview-stage{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:12px;
  align-items:center;
  min-height:min(62vh,560px);
  padding:16px;
  background:#f8fbff;
}
.reservation-preview-stage img{
  width:100%;
  height:min(58vh,520px);
  object-fit:contain;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
}
.reservation-preview-nav{
  width:44px;
  height:44px;
}
.reservation-preview-thumbs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 16px 16px;
}
.reservation-preview-thumbs button{
  width:72px;
  height:58px;
  flex:0 0 auto;
  border:2px solid transparent;
  border-radius:8px;
  background:#fff;
  padding:4px;
}
.reservation-preview-thumbs button.active{
  border-color:#2563eb;
}
.reservation-preview-thumbs img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.reservation-attachment-preview-modal{
  width:min(1000px,calc(100vw - 28px));
  height:min(860px,calc(100vh - 28px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.reservation-attachment-preview-modal iframe{
  flex:1;
  width:100%;
  min-height:420px;
  border:0;
  border-top:1px solid #dbe5f2;
  background:#fff;
}
.reservation-attachment-preview-btn{
  display:inline-flex;
  width:auto!important;
  min-height:28px;
  border:1px solid #cfe0ff;
  border-radius:999px;
  background:#f7fbff;
  color:#245be7;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
}
.reservation-attachment-links{
  display:flex!important;
  flex-wrap:wrap;
  gap:6px;
}
.reservation-request-modal .reservation-repeat-toggle{
  min-height:78px;
  padding:8px 10px;
  border-radius:8px;
  align-self:stretch;
  justify-content:flex-start;
  text-align:left;
}
.reservation-request-modal .reservation-repeat-toggle input{
  width:auto!important;
  min-width:16px;
  height:16px;
  flex:0 0 auto;
}
.reservation-fulfillment-fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:12px;
}
.reservation-fulfillment-fieldset legend{
  padding:0 5px;
  color:#344054;
  font-size:12px;
  font-weight:950;
}
.reservation-fulfillment-fieldset label{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin:0;
  min-width:0;
  min-height:38px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:8px 10px;
  color:#25324a;
  font-weight:850;
  text-align:left;
}
.reservation-fulfillment-fieldset input[type="radio"]{
  width:auto!important;
  min-width:16px;
  height:16px;
  flex:0 0 auto;
  margin:0;
}
@media(max-width:560px){
  #reservationRequestModal .reservation-request-modal{
    width:100%!important;
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }
  #reservationRequestModal .reservation-request-modal .modal-head{
    padding:14px!important;
    min-height:62px!important;
  }
  #reservationRequestModal .reservation-polished-form{
    grid-template-columns:1fr!important;
    padding:14px 14px 0!important;
  }
  #reservationRequestModal .reservation-polished-form>.modal-actions{
    margin-left:-14px!important;
    margin-right:-14px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #reservationRequestModal .reservation-request-gallery{
    grid-template-columns:1fr 1fr;
  }
  .reservation-fulfillment-fieldset{
    grid-template-columns:1fr;
  }
}
.reservation-modal-asset{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:10px;
}
.reservation-modal-asset img{
  width:72px;
  height:54px;
  object-fit:contain;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  padding:4px;
}
.reservation-modal-asset strong,
.reservation-modal-asset span{
  display:block;
}
.reservation-modal-asset span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.reservation-on-behalf-field small{
  color:#64748b;
  font-weight:800;
  line-height:1.35;
}
.reservation-on-behalf-field{
  display:grid;
  gap:9px;
  position:relative;
}
.reservation-requester-search-wrap{
  position:relative;
  z-index:4;
}
.reservation-requester-search{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #dfe4ef;
  border-radius:8px;
  background:#fff;
  padding:0 10px;
}
.reservation-requester-search .ui-icon{
  color:#64748b;
  flex:0 0 auto;
}
.reservation-requester-search input{
  border:0;
  border-radius:0;
  padding:10px 0;
  outline:0;
}
.reservation-requester-selected{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #cfe0ff;
  border-radius:8px;
  background:#f7fbff;
  padding:10px;
}
.reservation-requester-selected>span{
  min-width:0;
}
.reservation-requester-clear{
  margin-left:auto;
  flex:0 0 auto;
}
.reservation-requester-selected b,
.reservation-requester-selected small{
  display:block;
}
.reservation-requester-selected small{
  color:#64748b;
  font-weight:800;
}
.reservation-requester-results{
  display:grid;
  gap:6px;
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:40;
  max-height:260px;
  overflow:auto;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:6px;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.reservation-requester-results[hidden]{
  display:none!important;
}
.reservation-requester-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:52px;
  border:1px solid transparent;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px;
  text-align:left;
  box-shadow:none;
}
.reservation-requester-option:hover,
.reservation-requester-option.selected{
  border-color:#cfe0ff;
  background:#f2f6ff;
}
.reservation-requester-option b,
.reservation-requester-option small{
  display:block;
}
.reservation-requester-option small{
  color:#64748b;
  font-weight:800;
}
.reservation-requester-empty{
  padding:12px;
  color:#64748b;
  font-weight:800;
  text-align:center;
}
.inline-action-form{
  display:inline-flex;
  margin:0 0 0 6px;
}
.reservation-history{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:10px;
  display:grid;
  gap:8px;
}
.reservation-history>strong{
  color:#172033;
}
.reservation-history div{
  border-top:1px solid #e5edf7;
  padding-top:8px;
}
.reservation-history div:first-of-type{
  border-top:0;
  padding-top:0;
}
.reservation-history b,
.reservation-history small{
  display:block;
}
.reservation-history small{
  color:#64748b;
  font-weight:800;
}
@media (max-width: 900px){
  .reservation-booking-shell{
    grid-template-columns:1fr;
  }
}


/* Restored from module CSS rollback: helpdesk_portal.css */
/* Helpdesk, portal, requester, and ticket modal overrides split from app.css. */

/* Helpdesk row actions and technician cells */
.helpdesk-row-action-menu .table-action-menu-panel{
  position:fixed!important;
  top:auto!important;
  right:auto!important;
  z-index:13000!important;
  min-width:168px!important;
}
.helpdesk-row-action-menu[open] .table-action-menu-panel{
  display:grid!important;
  gap:2px!important;
}
.helpdesk-row-action-menu .table-action-menu-form{
  margin:0!important;
}
.helpdesk-row-action-menu .table-action-menu-panel a,
.helpdesk-row-action-menu .table-action-menu-panel button{
  min-height:34px!important;
  align-items:center!important;
  border-radius:8px!important;
  white-space:nowrap!important;
}
.ticket-tech-cell{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
.ticket-tech-cell > span:last-child{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
.ticket-tech-cell b,
.ticket-tech-cell small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.ticket-tech-cell small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:650!important;
}
.helpdesk-close-modal{
  width:min(560px,100%)!important;
}
.helpdesk-close-modal textarea{
  min-height:120px!important;
}

/* Helpdesk ticket editor polish */
.message-toolbar .kb-article-toolbar-btn{
  width:auto!important;
  min-width:92px!important;
  padding:0 10px!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.message-toolbar .attachment-toolbar-btn,
.message-toolbar .screen-capture-toolbar-btn,
.new-ticket-kb-actions .attachment-toolbar-btn{
  width:auto!important;
  min-width:110px!important;
  padding:0 10px!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.message-toolbar .screen-capture-toolbar-btn{
  min-width:98px!important;
}
.message-toolbar .screen-capture-toolbar-btn:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
}
.message-toolbar .attachment-toolbar-btn.has-files,
.new-ticket-kb-actions .attachment-toolbar-btn.has-files{
  border-color:#9fc5ff!important;
  background:#eef5ff!important;
  color:#174ea6!important;
}
.helpdesk-rich-editor{
  min-height:92px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px 12px;
  line-height:1.45;
  outline:none;
  overflow:auto;
}
.helpdesk-rich-editor:focus{
  border-color:#8fb6ff;
  box-shadow:0 0 0 3px rgba(47,111,242,.12);
}
.helpdesk-rich-editor:empty:before{
  content:attr(data-placeholder);
  color:#72829c;
}
.asset-rich-field{
  display:grid!important;
  gap:0!important;
}
.asset-rich-source[hidden]{
  display:none!important;
}
.asset-rich-toolbar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:center!important;
  border:1px solid #dbe5f2!important;
  border-bottom:0!important;
  border-radius:10px 10px 0 0!important;
  background:#f8fbff!important;
  padding:7px!important;
}
.asset-rich-toolbar-btn{
  width:auto!important;
  min-width:34px!important;
  height:30px!important;
  border:1px solid #cfdaea!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#263348!important;
  padding:0 9px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.asset-rich-toolbar-btn:hover{
  border-color:#9fc5ff!important;
  background:#eef5ff!important;
  color:#174ea6!important;
}
.asset-rich-textarea-host{
  min-height:140px!important;
  border:1px solid #dbe5f2!important;
  border-radius:0 0 10px 10px!important;
  background:#fff!important;
}
.asset-rich-editor-host.field-invalid,
.asset-rich-textarea-host.field-invalid{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;
}
.asset-rich-editor-surface{
  min-height:inherit!important;
  outline:none!important;
  padding:10px 12px!important;
  line-height:1.5!important;
  color:#172033!important;
  font-weight:400!important;
}
.helpdesk-rich-editor.asset-rich-editor-host{
  padding:0!important;
}
.helpdesk-rich-editor .asset-rich-editor-surface{
  min-height:92px!important;
}
.kb-editor-body.asset-rich-editor-host{
  padding:0!important;
}
.kb-editor-body .asset-rich-editor-surface{
  min-height:300px!important;
}
.asset-rich-editor-surface p{
  margin:0 0 8px!important;
}
.asset-rich-editor-surface ul,
.asset-rich-editor-surface ol{
  margin:6px 0 10px 22px!important;
  padding:0!important;
}
.asset-rich-editor-surface blockquote{
  margin:8px 0!important;
  border-left:3px solid #9fc5ff!important;
  padding:6px 10px!important;
  color:#475569!important;
  background:#f8fbff!important;
}
.asset-rich-editor-surface pre{
  overflow:auto!important;
  border-radius:8px!important;
  background:#0f172a!important;
  color:#e2e8f0!important;
  padding:10px!important;
}
.asset-rich-editor-surface code{
  border-radius:5px!important;
  background:#eef2f7!important;
  color:#172033!important;
  padding:1px 4px!important;
  font-weight:850!important;
}
.asset-rich-editor-surface pre code{
  background:transparent!important;
  color:inherit!important;
  padding:0!important;
}
.asset-rich-editor-surface table{
  width:100%!important;
  border-collapse:collapse!important;
  margin:8px 0!important;
}
.asset-rich-editor-surface .tableWrapper{
  overflow-x:auto!important;
  margin:8px 0!important;
}
.asset-rich-editor-surface .tableWrapper table{
  width:auto!important;
  min-width:100%!important;
  table-layout:fixed!important;
  margin:0!important;
}
.asset-rich-editor-surface .column-resize-handle{
  position:absolute!important;
  right:-2px!important;
  top:0!important;
  bottom:-2px!important;
  width:4px!important;
  background:#8fb6ff!important;
  pointer-events:none!important;
}
.asset-rich-editor-surface.resize-cursor{
  cursor:col-resize!important;
}
.asset-rich-editor-surface th,
.asset-rich-editor-surface td{
  border:1px solid #dbe5f2!important;
  padding:7px 8px!important;
  vertical-align:top!important;
  position:relative!important;
}
.asset-rich-editor-surface th{
  background:#f1f5fb!important;
  font-weight:950!important;
}
.asset-rich-editor-surface img{
  max-width:100%!important;
  height:auto!important;
  border-radius:8px!important;
  border:1px solid #e2e8f2!important;
  background:#fff!important;
}
.asset-rich-editor-surface img[data-width]{
  height:auto!important;
}
.asset-rich-editor-surface .ProseMirror-selectednode{
  outline:3px solid rgba(37,99,235,.28)!important;
  outline-offset:2px!important;
}
.asset-rich-editor-surface p.is-editor-empty:first-child:before{
  content:attr(data-placeholder);
  float:left;
  height:0;
  color:#72829c;
  pointer-events:none;
}
.helpdesk-rich-editor img,
.helpdesk-message-body img,
.kb-preview-body img{
  max-width:100%;
  height:auto;
  border-radius:8px;
  border:1px solid #e2e8f2;
  background:#fff;
}
.portal-request-rich-editor{
  min-height:132px;
}
.portal-request-toolbar{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  margin-top:6px;
}
.portal-request-toolbar ~ .portal-request-rich-editor{
  border-top-left-radius:0;
  border-top-right-radius:0;
  border-top:0;
}
.portal-request-device-preview{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:10px 12px;
  margin-top:-8px;
}
.portal-request-device-preview[hidden]{
  display:none!important;
}
.portal-request-device-preview img{
  width:58px;
  height:42px;
  object-fit:contain;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  padding:4px;
}
.portal-request-device-preview div{
  display:grid;
  gap:2px;
  min-width:0;
}
.portal-request-device-preview strong{
  font-weight:900;
  color:#0f172a;
}
.portal-request-device-preview span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.request-confirm-modal{width:min(760px,calc(100vw - 36px))!important}
.request-confirm-preview{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.request-confirm-preview>div,
.request-confirm-preview>section{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:10px 12px;
  min-width:0;
}
.request-confirm-preview>div>b,
.request-confirm-preview>section>b{
  display:block;
  margin-bottom:4px;
  color:#53657f;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0;
}
.request-confirm-preview>div>span{
  color:#0f172a;
  font-weight:900;
  overflow-wrap:anywhere;
}
.request-confirm-preview>section{
  grid-column:1 / -1;
}
.request-confirm-details{
  max-height:240px;
  overflow:auto;
  background:#fff!important;
  line-height:1.5;
}
.ticket-message-meta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex:0 1 auto!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.ticket-message-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid #d7e3f4;
  background:#f8fbff;
  color:#21426c;
  border-radius:8px;
  padding:4px 7px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.ticket-message-toggle .ui-icon{width:13px!important;height:13px!important}
.ticket-message-toggle:hover{border-color:#a9c3ee;background:#eef6ff;color:#0b5de8}
.ticket-message-toggle .message-toggle-collapsed{display:none;align-items:center;gap:4px}
.ticket-message-toggle .message-toggle-expanded{display:inline-flex;align-items:center;gap:4px}
.ticket-message.is-collapsed{padding-top:10px;padding-bottom:10px}
.ticket-message.is-collapsed .ticket-message-row{align-items:center}
.ticket-message .ticket-message-summary{display:none!important}
.ticket-message.is-collapsed .ticket-message-summary{
  display:block!important;
  color:#58708f;
  font-size:12px;
  font-weight:800;
  overflow:visible;
  overflow-wrap:anywhere;
  white-space:normal;
  word-break:break-word;
  max-width:100%;
}
.ticket-message.is-collapsed .helpdesk-message-body,
.ticket-message.is-collapsed .message-link-preview,
.ticket-message.is-collapsed .message-attachments,
.ticket-message.is-collapsed .helpdesk-message-edit-form,
.ticket-message.is-collapsed .ticket-message-content>small{display:none!important}
.ticket-message.is-collapsed .message-toggle-expanded{display:none!important}
.ticket-message.is-collapsed .message-toggle-collapsed{display:inline-flex!important}
.ticket-closed-note{
  margin-top:12px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fafc;
  color:#52647d;
  font-weight:800;
  padding:12px;
}
.message-edit-toggle{
  min-height:24px!important;
  padding:0 8px!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#2456c8!important;
  box-shadow:none!important;
  font-size:11px!important;
}
.message-edit-toggle .ui-icon{width:13px!important;height:13px!important}
.helpdesk-message-edit-form{
  display:grid;
  gap:8px;
  margin-top:8px;
  border-top:1px solid #e6edf6;
  padding-top:8px;
}
.helpdesk-message-edit-form[hidden]{display:none}
.helpdesk-message-edit-form textarea{min-height:92px}
.helpdesk-message-edit-form .message-edit-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important}
.helpdesk-message-edit-form .helpdesk-rich-editor,
.helpdesk-message-edit-form .message-toolbar{
  width:100%!important;
}
.ticket-history-toggle{
  width:100%!important;
  min-height:38px!important;
  margin:4px 0 10px!important;
  border:1px dashed #b8c8e1!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  color:#2456c8!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:950!important;
  justify-content:center!important;
}
.ticket-history-toggle .ui-icon{
  width:16px!important;
  height:16px!important;
}
.ticket-message-thread .ticket-history-extra{
  display:none!important;
}
.ticket-message-thread.history-expanded .ticket-history-extra{
  display:block!important;
}
.ticket-message.is-collapsed{
  position:relative;
  box-shadow:0 7px 16px rgba(15,23,42,.04);
}
.ticket-message.is-collapsed::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-5px;
  height:5px;
  border:1px solid #dbe5f2;
  border-top:0;
  border-radius:0 0 10px 10px;
  background:#edf4ff;
  opacity:.72;
  pointer-events:none;
}
.new-ticket-description-field{
  gap:0!important;
}
.new-ticket-description-field .field-label{
  display:block;
  color:#48576f;
  font-size:12px;
  font-weight:800;
  margin-bottom:5px;
}
.new-ticket-description-field .message-toolbar{
  border-radius:10px 10px 0 0!important;
  margin-top:6px!important;
}
.new-ticket-description-field .helpdesk-rich-editor{
  border-top:0!important;
  border-radius:0 0 10px 10px!important;
  min-height:130px!important;
  cursor:text!important;
  user-select:text!important;
  pointer-events:auto!important;
}
.helpdesk-message-edit-form .message-toolbar.helpdesk-tiptap-toolbar button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:30px!important;
  max-width:none!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 7px!important;
}
.helpdesk-message-edit-form .message-toolbar.helpdesk-tiptap-toolbar{
  border-radius:10px 10px 0 0!important;
}
.helpdesk-message-edit-form .helpdesk-rich-editor.asset-rich-editor-host{
  border-top:0!important;
  border-radius:0 0 10px 10px!important;
}
.helpdesk-quick-respond-modal{
  width:min(820px,calc(100vw - 34px))!important;
  padding:0!important;
  overflow:hidden!important;
  max-height:min(88vh,840px)!important;
  display:flex!important;
  flex-direction:column!important;
}
.helpdesk-quick-respond-modal>.modal-head{
  padding:16px 18px 12px!important;
  margin:0!important;
  border-bottom:1px solid #e2e8f0!important;
  background:#fbfdff!important;
}
.quick-respond-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.quick-respond-title>div{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
.quick-respond-title span{
  color:#2563eb!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.quick-respond-title h2{
  margin:0!important;
  color:#172033!important;
  font-size:20px!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}
.quick-respond-title p{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
.quick-respond-status-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:12px 18px 0!important;
  align-items:center!important;
}
.quick-respond-thread{
  display:grid!important;
  gap:8px!important;
  padding:12px 18px!important;
  overflow:auto!important;
  max-height:260px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e2e8f0!important;
}
.quick-respond-message{
  margin:0!important;
  border-radius:10px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
.quick-respond-message .ticket-message-row{
  align-items:center!important;
}
.quick-respond-form{
  margin:0!important;
  padding:14px 18px 18px!important;
  display:grid!important;
  gap:0!important;
  min-height:0!important;
}
.quick-respond-toolbar{
  border-radius:10px 10px 0 0!important;
  border-bottom:0!important;
}
.quick-respond-toolbar button{
  flex:0 0 auto!important;
}
.quick-respond-toolbar .kb-article-toolbar-btn,
.quick-respond-toolbar .attachment-toolbar-btn{
  min-width:0!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 9px!important;
  font-size:11px!important;
}
.quick-respond-editor{
  min-height:150px!important;
  max-height:230px!important;
  border-radius:0 0 10px 10px!important;
  border-top:0!important;
}
.quick-respond-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-top:14px!important;
}
.quick-respond-visibility{
  display:inline-flex!important;
  gap:6px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:4px!important;
}
.quick-respond-visibility label{
  margin:0!important;
  display:block!important;
}
.quick-respond-visibility input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.quick-respond-visibility span{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border-radius:8px!important;
  padding:0 11px!important;
  color:#52647d!important;
  font-size:12px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.quick-respond-visibility input:checked+span{
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
.quick-respond-visibility input[value="internal"]:checked+span{
  background:#f59e0b!important;
  color:#172033!important;
}
.quick-respond-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.quick-respond-buttons .btn,
.quick-respond-buttons .primary{
  min-height:38px!important;
}
@media(max-width:720px){
  .helpdesk-quick-respond-modal{
    width:calc(100vw - 18px)!important;
    max-height:calc(100vh - 18px)!important;
  }
  .quick-respond-actions,
  .quick-respond-buttons{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .quick-respond-visibility{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  .quick-respond-visibility span,
  .quick-respond-buttons .btn,
  .quick-respond-buttons .primary{
    width:100%!important;
    justify-content:center!important;
  }
}
.new-ticket-description-field + .new-ticket-kb-actions{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin-top:-6px!important;
  min-height:0!important;
}
.ticket-linked-kb-strip{align-items:start}
.ticket-linked-kb-item{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  border:1px solid #cfe0ff;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.ticket-linked-kb-item>button{
  min-height:32px!important;
  padding:0 9px!important;
  background:#fff!important;
  color:#0d4ec4!important;
  box-shadow:none!important;
  font-weight:900!important;
  border:0!important;
  border-radius:0!important;
}
.ticket-linked-kb-item form{margin:0}
.ticket-linked-kb-item form button{
  width:32px!important;
  min-height:32px!important;
  padding:0!important;
  border-left:1px solid #dbe7ff!important;
  border-radius:0!important;
  background:#fff!important;
  color:#e24747!important;
  box-shadow:none!important;
}
.ticket-linked-kb-item .ui-icon{width:14px!important;height:14px!important}
.ticket-worklog-form .worklog-save-btn{
  grid-column:auto!important;
  justify-self:start!important;
  width:auto!important;
  min-height:32px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
.kb-picker-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.kb-picker-actions form{margin:0}
.kb-article-preview-link{
  display:inline!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b1f3f!important;
  font-weight:900!important;
  text-align:left!important;
}
.kb-article-preview-link:hover{color:#245be7!important;text-decoration:underline!important}
.danger-text{color:#e24747!important}
#ticketKbArticlePreviewModal.open{z-index:14000!important}
.ticket-kb-article-preview-modal{width:min(900px,calc(100vw - 36px))!important}
.kb-preview-body{
  display:grid;
  gap:10px;
  line-height:1.55;
  max-height:65vh;
  overflow:auto;
  padding-right:4px;
}
.kb-preview-body p{margin:0 0 8px}



/* Helpdesk uses the People directory table shell; keep only ticket cell content rules here. */
.helpdesk-directory-table .person-cell,
.helpdesk-directory-table .helpdesk-asset-cell,
.helpdesk-directory-table .ticket-tech-cell{
  min-width:0!important;
}
.helpdesk-directory-table thead th .table-sort-button{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:950!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%;
  min-width:0;
  text-align:left!important;
  text-decoration:none!important;
}
.helpdesk-directory-table thead th .table-sort-button span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.helpdesk-directory-table thead th .table-sort-button:after{
  content:"";
  flex:0 0 auto;
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #b8c4d5;
}
.helpdesk-directory-table thead th .table-sort-button.active{
  color:#174ea6!important;
}
.helpdesk-directory-table thead th .table-sort-button.active:after{
  border-top-color:#2563eb;
}
.helpdesk-directory-table thead th .table-sort-button.active[aria-sort="ascending"]:after{
  transform:rotate(180deg);
}
.helpdesk-directory-table.resizable-table th.resizable-th .table-th-resize-wrap{
  align-items:center;
}
.helpdesk-directory-table.resizable-table th.resizable-th .table-col-resizer{
  flex:0 0 16px;
  margin-left:4px;
}
.helpdesk-directory-table .ticket-subject-title,
.helpdesk-directory-table .helpdesk-note-cell span,
.helpdesk-directory-table .person-cell b,
.helpdesk-directory-table .person-cell small,
.helpdesk-directory-table .helpdesk-asset-cell b,
.helpdesk-directory-table .helpdesk-asset-cell small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}



/* Helpdesk quick actions and searchable ticket creation */
.searchable-select-field{
  gap:6px!important;
}
.searchable-select-field input[type="search"]{
  margin-bottom:2px!important;
}
.requester-combo-field{
  position:relative!important;
  z-index:120!important;
}
.requester-combo-shell{
  position:relative!important;
  display:block!important;
}
.requester-combo-shell input{
  padding-right:42px!important;
}
.requester-combo-toggle{
  position:absolute!important;
  right:4px!important;
  top:4px!important;
  bottom:4px!important;
  width:34px!important;
  min-width:34px!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.requester-combo-toggle:after{
  content:""!important;
  display:block!important;
  width:0!important;
  height:0!important;
  margin:auto!important;
  border-left:5px solid transparent!important;
  border-right:5px solid transparent!important;
  border-top:6px solid #0f172a!important;
}
.requester-combo-menu{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 6px)!important;
  z-index:100020!important;
  max-height:330px!important;
  overflow:auto!important;
  border:1px solid #cdd8eb!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
  padding:6px!important;
}
.new-helpdesk-ticket-form>.new-ticket-section:first-of-type{
  position:relative!important;
  z-index:200!important;
  overflow:visible!important;
}
.new-helpdesk-ticket-form>.new-ticket-section{
  overflow:visible!important;
}
.modal-backdrop#helpdeskAttachmentUploadModal.open{
  z-index:23000!important;
}
.requester-combo-menu:before{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  top:-7px!important;
  width:12px!important;
  height:12px!important;
  background:#fff!important;
  border-left:1px solid #cdd8eb!important;
  border-top:1px solid #cdd8eb!important;
  transform:rotate(45deg)!important;
}
.requester-combo-option{
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111827!important;
  padding:8px 10px!important;
  text-align:left!important;
  box-shadow:none!important;
}
.requester-combo-option[hidden]{
  display:none!important;
}
.requester-combo-option:hover,
.requester-combo-option[aria-selected="true"]{
  background:#eef4ff!important;
  color:#1d4ed8!important;
}
.requester-combo-option span:last-child{
  min-width:0!important;
}
.requester-combo-option b,
.requester-combo-option small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.requester-combo-option small{
  color:#64748b!important;
  font-weight:800!important;
}
.requester-combo-menu.is-empty:after{
  content:"No matching requesters"!important;
  display:block!important;
  padding:14px!important;
  color:#64748b!important;
  font-weight:900!important;
}
.requester-combo-menu[data-assignee-combo-menu].is-empty:after{
  content:"No matching assignees"!important;
}
.requester-combo-menu[data-limited="1"]:not(.is-empty):after{
  content:"Type to search more requesters"!important;
  display:block!important;
  padding:10px 12px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}
.helpdesk-quick-modal{
  width:min(620px,100%)!important;
}
.technician-picker-list{
  display:grid!important;
  gap:8px!important;
  max-height:360px!important;
  overflow:auto!important;
  padding-right:4px!important;
}
.technician-collaborator-picker{
  display:grid!important;
  gap:8px!important;
}
.technician-picker-list.compact{
  max-height:220px!important;
}
.technician-picker-option{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:10px!important;
  cursor:pointer!important;
}
.technician-picker-option[hidden]{
  display:none!important;
}
.technician-picker-option:hover{
  border-color:#aac0ff!important;
  background:#f7faff!important;
}
.technician-picker-option input{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  margin:0!important;
}
.technician-picker-option b,
.technician-picker-option small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.technician-picker-option small{
  color:#64748b!important;
  font-weight:800!important;
}
.technician-picker-option:has(input:checked),
.technician-picker-option.is-selected{
  border-color:#4268ef!important;
  background:#eef4ff!important;
  box-shadow:0 0 0 2px rgba(66,104,239,.12)!important;
}
.helpdesk-participant-picker{
  display:grid!important;
  gap:10px!important;
}
.participant-chip-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.participant-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  max-width:100%!important;
  border:1px solid #d7e2f3!important;
  border-radius:999px!important;
  background:#f8fbff!important;
  padding:4px 8px 4px 5px!important;
  color:#24324a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.participant-chip span:not(.avatar){
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.participant-chip small{
  color:#667085!important;
  font-size:11px!important;
  font-weight:900!important;
}
.participant-picker-list{
  display:grid!important;
  gap:8px!important;
  max-height:310px!important;
  overflow:auto!important;
  padding-right:4px!important;
}
.participant-picker-option{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr) minmax(118px,auto)!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:10px!important;
  cursor:pointer!important;
}
.participant-picker-option[hidden]{
  display:none!important;
}
.participant-picker-option:hover{
  border-color:#9fc6bf!important;
  background:#f6fbfa!important;
}
.participant-picker-option input{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  margin:0!important;
}
.participant-picker-option b,
.participant-picker-option small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.participant-picker-option small{
  color:#64748b!important;
  font-weight:800!important;
}
.participant-picker-option select{
  min-width:118px!important;
  width:100%!important;
}
.participant-picker-option select:disabled{
  opacity:.55!important;
}
.participant-picker-option.is-selected{
  border-color:#14866d!important;
  background:#eefaf6!important;
  box-shadow:0 0 0 2px rgba(20,134,109,.12)!important;
}
@media(max-width:700px){
  .participant-picker-option{
    grid-template-columns:auto auto minmax(0,1fr)!important;
  }
  .participant-picker-option select{
    grid-column:3!important;
  }
}
.quick-due-options{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.quick-due-options .btn.active,
.quick-due-options .btn.quick-due-selected,
.quick-due-options .btn[aria-pressed="true"]{
  background:#3346d3!important;
  border-color:#3346d3!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(51,70,211,.14)!important;
}
@media(max-width:640px){
  .quick-due-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}



/* Helpdesk action dropdown final positioning pass */
.helpdesk-row-action-menu .table-action-menu-panel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  width:max-content!important;
  min-width:190px!important;
  max-width:calc(100vw - 24px)!important;
  z-index:45!important;
}
.helpdesk-row-action-menu[open] .table-action-menu-panel{
  display:grid!important;
}
.helpdesk-row-action-menu .table-action-menu-panel a,
.helpdesk-row-action-menu .table-action-menu-panel button{
  width:100%!important;
  justify-content:flex-start!important;
  text-align:left!important;
}


.helpdesk-row-action-menu .table-action-menu-panel a,
.helpdesk-row-action-menu .table-action-menu-panel button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
  justify-content:flex-start!important;
}
.helpdesk-row-action-menu .table-action-menu-panel a:hover,
.helpdesk-row-action-menu .table-action-menu-panel button:hover{
  background:#f2f5ff!important;
  color:#3346d3!important;
}
.helpdesk-row-action-menu .table-action-menu-panel .ui-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}
.helpdesk-row-action-menu .table-action-menu-form{
  margin:0!important;
}
.helpdesk-row-action-menu .table-action-menu-panel .danger-menu-action{
  color:#b42318!important;
}
.helpdesk-row-action-menu .table-action-menu-panel .danger-menu-action:hover{
  background:#fff1f2!important;
  color:#b42318!important;
}


.helpdesk-attachment-upload-modal{
  width:min(720px,calc(100vw - 36px))!important;
}
.helpdesk-attachment-upload-body{
  display:grid!important;
  gap:12px!important;
}
.helpdesk-attachment-dropzone strong{
  display:block!important;
  color:#1f2937!important;
  font-size:14px!important;
}


.helpdesk-attachment-empty{
  margin-top:12px!important;
  padding:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#667085!important;
  font-weight:800!important;
  text-align:center!important;
}
.helpdesk-attachment-file-list{
  display:grid!important;
  gap:8px!important;
  margin-top:12px!important;
}
.helpdesk-attachment-file-list:empty{
  display:none!important;
}
.helpdesk-attachment-file-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
}
.helpdesk-attachment-file-row span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#1f2937!important;
  font-weight:850!important;
}
.helpdesk-attachment-file-row small{
  flex:0 0 auto!important;
  margin:0!important;
  color:#667085!important;
  font-weight:800!important;
}
.helpdesk-attachment-file-row.is-screen-capture{
  border-color:#bfdbfe!important;
  background:#f0f7ff!important;
}
.helpdesk-attachment-file-row.is-screen-capture small{
  color:#174ea6!important;
}

.helpdesk-screen-capture-modal{
  width:min(760px,calc(100vw - 36px))!important;
}
.helpdesk-screen-capture-body{
  display:grid!important;
  gap:12px!important;
}
.helpdesk-screen-capture-preview{
  min-height:300px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#0f172a!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.helpdesk-screen-capture-preview span{
  color:#dbe7ff!important;
  font-weight:850!important;
  text-align:center!important;
  padding:20px!important;
}
.helpdesk-screen-capture-preview img,
.helpdesk-screen-capture-preview video{
  width:100%!important;
  max-height:420px!important;
  object-fit:contain!important;
  background:#0f172a!important;
}
.screen-recording-preview{
  width:100%!important;
  display:grid!important;
  gap:10px!important;
  padding:12px!important;
}
.screen-recording-preview video{
  width:100%!important;
  max-height:360px!important;
}
.screen-recording-preview-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid rgba(219,229,242,.22)!important;
  border-radius:8px!important;
  background:rgba(15,23,42,.86)!important;
  color:#e5eefc!important;
  padding:9px 10px!important;
}
.screen-recording-preview-meta span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:850!important;
}
.screen-recording-preview-meta a,
.screen-recording-preview-meta button{
  flex:0 0 auto!important;
  border:0!important;
  background:transparent!important;
  color:#bfdbfe!important;
  font-size:12px!important;
  font-weight:950!important;
  text-decoration:none!important;
  padding:0!important;
  min-height:0!important;
  box-shadow:none!important;
}
.screen-recording-preview-meta button:hover,
.screen-recording-preview-meta a:hover{
  color:#fff!important;
  text-decoration:underline!important;
}
.screen-capture-error{
  width:min(520px,100%)!important;
  display:grid!important;
  gap:8px!important;
  color:#e5eefc!important;
  text-align:center!important;
  padding:24px!important;
}
.screen-capture-error strong{
  font-size:16px!important;
  font-weight:850!important;
}
.screen-capture-error p,
.screen-capture-error small{
  margin:0!important;
  color:#cbd5e1!important;
  font-weight:700!important;
}
.screen-capture-error small{
  display:block!important;
  border:1px solid rgba(254,202,202,.35)!important;
  border-radius:8px!important;
  background:rgba(127,29,29,.25)!important;
  color:#fecaca!important;
  padding:9px 10px!important;
  text-align:left!important;
  overflow-wrap:anywhere!important;
}
.helpdesk-screen-capture-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.helpdesk-screen-capture-meta span{
  border:1px solid #fecaca!important;
  border-radius:999px!important;
  background:#fff1f2!important;
  color:#b42318!important;
  padding:5px 10px!important;
  font-size:12px!important;
  font-weight:950!important;
}
.helpdesk-screen-capture-meta small{
  color:#667085!important;
  font-weight:800!important;
}
.helpdesk-capture-conversion-progress{
  display:grid!important;
  gap:6px!important;
}
.helpdesk-capture-conversion-progress[hidden]{
  display:none!important;
}
.helpdesk-capture-conversion-progress>div{
  height:10px!important;
  border-radius:999px!important;
  background:#e5eaf3!important;
  overflow:hidden!important;
}
.helpdesk-capture-conversion-progress span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:#2f6ff2!important;
  transition:width .18s ease!important;
}
.helpdesk-capture-conversion-progress small{
  color:#667085!important;
  font-weight:850!important;
}
.helpdesk-upload-progress-modal{
  width:min(520px,calc(100vw - 36px))!important;
}
.helpdesk-upload-progress-body{
  display:grid!important;
  gap:12px!important;
}
.helpdesk-upload-progress-track{
  height:12px!important;
  border-radius:999px!important;
  background:#e5eaf3!important;
  overflow:hidden!important;
}
.helpdesk-upload-progress-track span{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:#2f6ff2!important;
  transition:width .18s ease!important;
}
.helpdesk-upload-progress-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.helpdesk-upload-progress-meta span{
  color:#172033!important;
  font-size:18px!important;
  font-weight:950!important;
}
.helpdesk-upload-progress-meta small{
  color:#667085!important;
  font-weight:850!important;
}





/* Restored from module CSS rollback: student_portal.css */
/* Student-only portal */
body.student-shell{
  background:linear-gradient(180deg,#eef7ff 0,#f6f9ff 42%,#f4f6fa 100%);
}
body.student-shell .layout{
  display:block;
  min-height:100vh;
}
body.student-shell .main{
  margin-left:0!important;
  width:100%!important;
  padding:0 28px 36px!important;
  overflow-x:hidden;
}
body.student-shell .topbar{
  width:100%;
  max-width:none;
  margin:0 auto 20px;
}
body.student-shell .clean-admin-header .topbar-shell{
  width:100%;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:18px;
}
.student-header-logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  height:50px;
  text-decoration:none;
  color:#0f172a;
  font-weight:950;
  font-size:17px;
}
.student-header-logo img{
  width:52px;
  max-height:48px;
  object-fit:contain;
}
.student-header-logo span{
  display:block;
}
.student-portal-hero{
  max-width:1040px;
  margin:18px auto 18px;
  text-align:center;
}
.student-portal-hero h1{
  margin:4px 0 6px;
  font-size:36px;
  line-height:1.12;
}
.student-portal-hero p{
  margin:0;
  color:#55627a;
  font-size:17px;
  font-weight:800;
}
.student-tool-hero{
  width:min(1400px,calc(100% - 40px));
  margin:0 auto;
  padding:28px;
  border:1px solid #dbe5f2;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbff,#eef5ff);
  box-shadow:0 24px 58px rgba(30,45,80,.13);
}
.student-tool-hero-head{
  margin:0 0 20px;
  text-align:center;
}
.student-dashboard-greeting{
  margin:0 0 8px;
  color:#0f172a;
  font-size:clamp(28px,3vw,38px);
  line-height:1.08;
  font-weight:950;
  letter-spacing:0;
  text-align:left;
}
.student-tool-hero-head h2{
  margin:3px 0 0;
  font-size:24px;
  line-height:1.18;
  color:#0f172a;
}
.student-tool-hero-head p{
  margin:6px 0 0;
  color:#64748b;
  font-size:14px;
  font-weight:800;
}
.student-simple-grid{
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:28px;
  align-items:stretch;
}
.student-simple-card{
  position:relative;
  min-height:430px;
  border:1px solid #aebbd2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 42px rgba(30,45,80,.12);
  overflow:hidden;
  display:grid;
  grid-template-rows:1fr auto;
  text-align:center;
  color:#111827;
}
button.student-simple-card{
  cursor:pointer;
  width:100%;
  padding:0;
  font:inherit;
  align-items:stretch;
  justify-items:stretch;
}
article.student-simple-card[role="button"]{
  cursor:pointer;
  align-items:stretch;
  justify-items:stretch;
}
.student-simple-card.is-disabled{
  cursor:not-allowed;
  opacity:.78;
}
button.student-simple-card:hover{
  transform:translateY(-2px);
  border-color:#2764ff;
  box-shadow:0 24px 52px rgba(30,64,175,.18);
}
article.student-simple-card[role="button"]:hover,
article.student-simple-card[role="button"]:focus-visible{
  transform:translateY(-2px);
  border-color:#2764ff;
  box-shadow:0 24px 52px rgba(30,64,175,.18);
  outline:none;
}
.student-card-clip{
  position:absolute;
  top:-30px;
  left:50%;
  width:76px;
  height:68px;
  transform:translateX(-50%);
  border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#fff,#e9eef7);
  border:1px solid #d7deea;
  box-shadow:0 10px 18px rgba(30,45,80,.18);
}
.student-card-clip:after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  bottom:-8px;
  height:14px;
  border-radius:999px;
  background:#d8dee8;
}
.student-device-picture,
.student-help-picture,
.student-password-picture,
.student-fees-picture{
  display:grid;
  place-items:center;
  padding:54px 34px 34px;
}
.student-device-picture img{
  width:min(260px,78%);
  height:220px;
  object-fit:contain;
}
.student-device-card[role="button"]{
  cursor:pointer;
}
.student-device-card[role="button"]:hover,
.student-device-card[role="button"]:focus-visible{
  transform:translateY(-2px);
  border-color:#22c55e;
  box-shadow:0 24px 52px rgba(34,197,94,.16);
  outline:none;
}
.student-device-card.is-repair{
  border-color:#fed7aa;
}
.student-device-card.is-repair[role="button"]:hover,
.student-device-card.is-repair[role="button"]:focus-visible{
  border-color:#f97316;
  box-shadow:0 24px 52px rgba(249,115,22,.18);
}
.student-device-card.is-missing{
  border-color:#fecaca;
}
.student-device-card.is-missing[role="button"]:hover,
.student-device-card.is-missing[role="button"]:focus-visible{
  border-color:#ef4444;
  box-shadow:0 24px 52px rgba(239,68,68,.18);
}
.student-device-picture{
  position:relative;
}
.student-device-state-mark{
  position:absolute;
  right:24px;
  top:24px;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#2563eb;
  color:#fff;
  border:7px solid #fff;
  box-shadow:0 18px 40px rgba(37,99,235,.28);
  z-index:4;
}
.student-device-state-mark.repair{
  background:#f97316;
  box-shadow:0 18px 40px rgba(249,115,22,.28);
}
.student-device-state-mark.missing{
  background:#ef4444;
  box-shadow:0 18px 40px rgba(239,68,68,.28);
}
.student-device-state-mark.fixed{
  background:#22c55e;
  box-shadow:0 18px 40px rgba(34,197,94,.32);
}
.student-device-state-mark .ui-icon{
  width:48px;
  height:48px;
  stroke-width:3;
}
.student-device-fixed-mark{
  position:absolute;
  right:24px;
  top:24px;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#22c55e;
  color:#fff;
  border:7px solid #fff;
  box-shadow:0 18px 40px rgba(34,197,94,.32);
  z-index:4;
}
.student-card-disabled-mark{
  position:absolute;
  right:24px;
  top:24px;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ef4444;
  color:#fff;
  border:7px solid #fff;
  box-shadow:0 18px 40px rgba(239,68,68,.28);
  z-index:4;
}
.student-card-disabled-mark .ui-icon{
  width:48px;
  height:48px;
  stroke-width:3;
}
.student-device-fixed-mark .ui-icon{
  width:48px;
  height:48px;
  stroke-width:3;
}
.student-device-picture .ui-icon{
  width:150px;
  height:150px;
  color:#2666f5;
  stroke-width:1.5;
}
.student-help-picture span{
  width:168px;
  height:168px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#eef6ff,#ffffff);
  border:1px solid #cfe0ff;
  color:#2365ff;
  font-size:92px;
  font-weight:950;
  line-height:1;
  box-shadow:inset 0 0 0 12px #f8fbff,0 18px 40px rgba(30,64,175,.1);
}
.student-card-band{
  width:100%;
  min-height:118px;
  align-self:end;
  justify-self:stretch;
  background:#2365ff;
  color:#fff;
  padding:20px 22px;
  display:grid;
  align-content:center;
}
.student-device-card.is-repair .student-card-band{
  background:#f97316;
}
.student-device-card.is-missing .student-card-band{
  background:#ef4444;
}
.student-device-card.is-fixed .student-card-band{
  background:#22c55e;
}
.student-ticket-card .student-card-band{
  background:#0f9f6e;
}
.student-password-card .student-card-band{
  background:#7c3aed;
}
.student-fees-card .student-card-band{
  background:#0f766e;
}
.student-fees-card.no-fees .student-card-band{
  background:#64748b;
}
.student-loaner-card .student-card-band{
  background:#f97316;
}
.student-loaner-card.no-loaner{
  opacity:.86;
}
.student-loaner-card.no-loaner .student-card-band{
  background:#64748b;
}
.student-loaner-status{
  position:absolute;
  right:18px;
  top:18px;
  z-index:3;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  font-size:12px;
  font-weight:950;
  box-shadow:0 12px 28px rgba(15,23,42,.18);
}
.student-loaner-status.due_soon{
  background:#f59e0b;
}
.student-loaner-status.overdue{
  background:#dc2626;
}
.student-loaner-picture img{
  filter:drop-shadow(0 18px 28px rgba(249,115,22,.16));
}
.student-loaner-empty-icon{
  display:grid;
  place-items:center;
  padding:54px 34px 34px;
}
.student-loaner-empty-icon .ui-icon{
  width:150px;
  height:150px;
  color:#64748b;
  stroke-width:1.4;
  border-radius:50%;
  padding:36px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.student-loaner-modal{
  width:min(760px,calc(100vw - 32px))!important;
}
.student-loaner-list{
  display:grid;
  gap:12px;
}
.student-loaner-row{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
}
.student-loaner-row.overdue{
  border-color:#fecaca;
  background:#fff1f2;
}
.student-loaner-row.due_soon{
  border-color:#fde68a;
  background:#fffbeb;
}
.student-loaner-row img{
  width:84px;
  height:68px;
  object-fit:contain;
}
.student-loaner-row strong,
.student-loaner-row small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.student-loaner-row strong{
  margin-top:6px;
  color:#0f172a;
  font-size:16px;
  font-weight:950;
}
.student-loaner-row small{
  margin-top:3px;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
.student-password-picture .ui-icon{
  width:160px;
  height:160px;
  color:#7c3aed;
  stroke-width:1.4;
  border-radius:50%;
  padding:36px;
  background:linear-gradient(180deg,#f5f3ff,#fff);
  border:1px solid #ddd6fe;
  box-shadow:inset 0 0 0 12px #faf8ff,0 18px 40px rgba(124,58,237,.1);
}
.student-fees-picture .ui-icon{
  width:160px;
  height:160px;
  color:#0f766e;
  stroke-width:1.4;
  border-radius:50%;
  padding:36px;
  background:linear-gradient(180deg,#ecfdf5,#fff);
  border:1px solid #a7f3d0;
  box-shadow:inset 0 0 0 12px #f7fffb,0 18px 40px rgba(15,118,110,.12);
}
.student-fees-modal{
  width:min(1120px,calc(100vw - 24px))!important;
  max-height:min(820px,calc(100vh - 24px))!important;
}
.student-fees-table-wrap{
  overflow-x:auto;
}
.student-fees-table{
  min-width:1040px;
  table-layout:fixed;
}
.student-fees-table th,
.student-fees-table td{
  vertical-align:middle;
}
.student-fees-table th:nth-child(1),
.student-fees-table td:nth-child(1){
  width:112px;
}
.student-fees-table th:nth-child(2),
.student-fees-table td:nth-child(2){
  width:210px;
}
.student-fees-table th:nth-child(3),
.student-fees-table td:nth-child(3){
  width:210px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.student-fees-table th:nth-child(4),
.student-fees-table td:nth-child(4){
  width:150px;
}
.student-fees-table th:nth-child(5),
.student-fees-table td:nth-child(5){
  width:90px;
  text-align:right;
}
.student-fees-table th:nth-child(6),
.student-fees-table td:nth-child(6){
  width:260px;
  text-align:right;
}
.student-fee-row-actions{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  justify-content:flex-end;
  align-items:center;
}
.student-fee-row-actions .btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.student-fees-table .table-col-resizer,
.student-fees-table .table-th-resize-wrap .table-col-resizer{
  display:none!important;
}
.student-fees-table td small,
.student-fees-table td b{
  display:block;
}
.student-fees-table td small{
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}
.student-fee-device-cell{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:180px;
}
.student-fee-asset-thumb{
  width:46px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #d8e5f4;
  border-radius:8px;
  background:#f8fbff;
  padding:4px;
  text-decoration:none;
}
.student-fee-asset-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.student-fee-asset-thumb.is-muted{
  opacity:.72;
}
.student-fee-asset-link{
  display:block;
  color:#0f766e;
  font-weight:950;
  text-decoration:none;
}
.student-fee-asset-link:hover,
.student-fee-asset-link:focus-visible{
  color:#0b5f59;
  text-decoration:underline;
  outline:none;
}
body.student-shell .repair-evidence-viewer-modal{
  width:min(920px,calc(100vw - 28px))!important;
  height:min(680px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.student-shell .repair-evidence-viewer-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 170px!important;
  gap:14px!important;
  min-height:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
  background:#f8fbff!important;
}
body.student-shell .repair-evidence-viewer-body figure{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  gap:10px!important;
  min-height:0!important;
  margin:0!important;
  border:1px solid #dbeafe!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:14px!important;
  overflow:hidden!important;
}
body.student-shell .repair-evidence-viewer-body figure img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:contain!important;
}
body.student-shell .repair-evidence-viewer-body figcaption{
  margin:0!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.4!important;
}
body.student-shell .repair-evidence-viewer-thumbs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-content:start!important;
  overflow:auto!important;
}
body.student-shell .repair-evidence-viewer-thumb{
  display:grid!important;
  place-items:center!important;
  aspect-ratio:1/1!important;
  border:1px solid #dbeafe!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:4px!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
body.student-shell .repair-evidence-viewer-thumb.active{
  border-color:#38bdf8!important;
  box-shadow:0 0 0 3px rgba(56,189,248,.22)!important;
}
body.student-shell .repair-evidence-viewer-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:640px){
  body.student-shell .repair-evidence-viewer-body{
    grid-template-columns:1fr!important;
    overflow:auto!important;
  }
  body.student-shell .repair-evidence-viewer-thumbs{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:visible!important;
  }
}
.student-fee-asset-modal{
  width:min(720px,calc(100vw - 32px))!important;
}
.student-fee-asset-hero{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff,#eef7ff);
  margin-bottom:16px;
}
.student-fee-asset-hero img{
  width:160px;
  height:124px;
  object-fit:contain;
  border:1px solid #d8e5f4;
  border-radius:14px;
  background:#fff;
  padding:10px;
}
.student-fee-asset-hero strong,
.student-fee-asset-hero small{
  display:block;
}
.student-fee-asset-hero strong{
  margin-top:8px;
  color:#0f172a;
  font-size:28px;
  line-height:1.1;
}
.student-fee-asset-hero small{
  margin-top:4px;
  color:#475569;
  font-size:14px;
  font-weight:850;
}
.student-fee-asset-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.student-fee-asset-details div{
  min-width:0;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
  padding:12px;
}
.student-fee-asset-details dt,
.student-fee-asset-details dd{
  display:block;
  margin:0;
}
.student-fee-asset-details dt{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.student-fee-asset-details dd{
  margin-top:4px;
  color:#0f172a;
  font-size:14px;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
}
.student-fee-asset-details .student-fee-asset-condition-card{
  border-color:#b91c1c;
  background:linear-gradient(135deg,#dc2626,#991b1b);
  box-shadow:0 12px 24px rgba(185,28,28,.22);
}
.student-fee-asset-details .student-fee-asset-condition-card dt,
.student-fee-asset-details .student-fee-asset-condition-card dd{
  color:#fff;
}
.student-edit-profile-modal{
  width:min(860px,calc(100vw - 32px))!important;
}
.student-edit-profile-form{
  display:grid;
  gap:16px;
}
.student-edit-profile-hero{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff,#eef7ff);
}
.student-edit-profile-hero .avatar{
  width:86px;
  height:86px;
  min-width:86px;
  min-height:86px;
  font-size:28px;
  box-shadow:0 16px 36px rgba(37,99,235,.16);
}
.student-edit-profile-hero strong,
.student-edit-profile-hero span,
.student-edit-profile-hero small{
  display:flex;
  align-items:center;
  min-width:0;
}
.student-edit-profile-hero strong{
  color:#0f172a;
  font-size:26px;
  line-height:1.12;
  font-weight:950;
}
.student-edit-profile-hero span{
  margin-top:5px;
  color:#475569;
  font-size:14px;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.student-edit-profile-hero small{
  margin-top:8px;
  gap:6px;
  color:#2563eb;
  font-size:13px;
  font-weight:900;
}
.student-edit-profile-hero small .ui-icon{
  width:15px;
  height:15px;
}
.student-profile-photo-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
.student-edit-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.student-edit-profile-grid label,
.student-profile-photo-field label{
  display:grid;
  gap:7px;
  color:#334155;
  font-weight:900;
}
.student-edit-profile-grid input,
.student-edit-profile-grid select,
.student-profile-photo-field input{
  width:100%;
}
.student-edit-profile-grid select:disabled{
  background:#f7f9fc;
  color:#536078;
  opacity:1;
  cursor:not-allowed;
}
.student-edit-profile-section{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
}
.student-theme-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.student-fees-filter-bar{
  display:flex;
  justify-content:flex-end;
  padding:0 0 14px;
}
.student-fees-filter-bar label{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:260px;
  border:1px solid #dbeafe;
  border-radius:12px;
  background:linear-gradient(135deg,#f8fbff,#eef7ff);
  padding:8px 10px;
  box-shadow:0 10px 24px rgba(30,45,80,.08);
}
.student-fees-filter-bar span{
  display:flex;
  align-items:center;
  gap:6px;
  color:#2563eb;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}
.student-fees-filter-bar select{
  flex:1 1 auto;
  min-width:0;
  height:36px;
  border:1px solid #bfdbfe;
  border-radius:9px;
  background:#fff;
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  padding:7px 10px;
}
.student-fee-year-groups{
  display:grid;
  gap:16px;
}
.student-fee-year-group{
  overflow:hidden;
  border:1px solid #d8e5f4;
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 32px rgba(30,45,80,.08);
}
.student-fee-year-group > header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  background:linear-gradient(135deg,#f8fbff,#eef7ff);
  border-bottom:1px solid #d8e5f4;
}
.student-fee-year-group > header span{
  color:#2563eb;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.student-fee-year-group > header strong{
  color:#1d4ed8;
  font-size:11px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
  width:max-content;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#fff;
  padding:5px 8px;
}
.student-fee-year-group > header small{
  justify-self:end;
  color:#475569;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.student-fee-year-group .student-fees-table-wrap{
  border:0;
  border-radius:0;
  margin:0;
}
.student-card-band strong,
.student-card-band span{
  display:block;
}
.student-card-band strong{
  font-size:27px;
  line-height:1.15;
}
.student-card-band span{
  margin-top:6px;
  color:rgba(255,255,255,.86);
  font-weight:800;
}
.student-card-band .student-loaner-due-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:5px;
}
.student-card-band .student-loaner-due-line .ui-icon{
  width:16px;
  height:16px;
  stroke-width:2.4;
}
.student-ticket-modal{
  width:min(900px,calc(100vw - 32px))!important;
}
.student-ticket-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.student-ticket-form .full{
  grid-column:1 / -1;
}
.student-ticket-form label{
  font-size:14px;
}
.student-ticket-form input,
.student-ticket-form select{
  min-height:52px;
  font-size:15px;
}
.student-request-toolbar{
  margin-top:8px;
  padding:10px!important;
  border-radius:12px 12px 0 0!important;
  background:#eef5ff!important;
  border:1px solid #cfe0ff!important;
  gap:8px!important;
}
.student-request-toolbar button{
  min-height:42px!important;
  width:auto!important;
  padding:0 14px!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#174ea6!important;
  border-color:#bad2ff!important;
  font-size:13px!important;
  font-weight:950!important;
}
.student-request-toolbar .ui-icon{
  width:18px!important;
  height:18px!important;
}
.student-reply-form input[type="file"][hidden],
.student-ticket-form input[type="file"][hidden]{
  display:none!important;
}
.student-help-editor{
  min-height:170px!important;
  border-top:0!important;
  border-radius:0 0 12px 12px!important;
  font-size:16px;
}
.student-ticket-center{
  display:none!important;
}
.student-ticket-center-head h2{
  margin:4px 0 4px;
  font-size:28px;
}
.student-ticket-center-head p{
  margin:0 0 14px;
  color:#55627a;
  font-weight:800;
}
.student-ticket-bubbles{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.student-ticket-bubble{
  min-height:154px!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  text-align:left!important;
  padding:16px!important;
  border-radius:16px!important;
  border:1px solid #cfe0ff!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 12px 28px rgba(30,45,80,.09)!important;
}
.student-ticket-bubble>span{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#eef5ff;
  color:#2365ff;
}
.student-ticket-bubble>span .ui-icon{
  width:24px;
  height:24px;
}
.student-ticket-bubble strong,
.student-ticket-bubble small,
.student-ticket-bubble em{
  display:block;
  grid-column:2;
}
.student-ticket-bubble strong{
  font-size:16px;
  line-height:1.25;
}
.student-ticket-bubble small{
  color:#64748b;
  font-style:normal;
  font-weight:900;
}
.student-ticket-bubble em{
  color:#334155;
  font-style:normal;
  font-weight:750;
  margin-top:4px;
}
.student-ticket-bubble.is-closed{
  border-color:#bbf7d0!important;
}
.student-ticket-bubble.is-closed>span{
  background:#dcfce7;
  color:#16a34a;
}
.student-repair-history-modal,
.student-reply-modal{
  width:min(940px,calc(100vw - 32px))!important;
}
.student-repair-hero{
  display:grid;
  grid-template-columns:116px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border-radius:18px;
  padding:18px;
  margin-bottom:16px;
  background:#eff6ff;
  border:1px solid #cfe0ff;
}
.student-repair-hero.is-fixed{
  background:#eafff1;
  border-color:#bbf7d0;
}
.student-repair-hero.is-repair{
  background:#fff7ed;
  border-color:#fed7aa;
}
.student-repair-hero.is-missing{
  background:#fff1f2;
  border-color:#fecaca;
}
.student-repair-hero img{
  width:110px;
  height:84px;
  object-fit:contain;
  border-radius:14px;
  background:#fff;
  border:1px solid #dbe7f7;
  padding:8px;
}
.student-repair-hero strong,
.student-repair-hero span{
  display:block;
}
.student-repair-hero strong{
  font-size:26px;
  line-height:1.12;
}
.student-repair-hero span{
  color:#475569;
  font-weight:850;
  margin-top:4px;
}
.student-repair-hero>b{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#22c55e;
  color:#fff;
}
.student-repair-hero.is-repair>b{
  background:#f97316;
}
.student-repair-hero.is-missing>b{
  background:#ef4444;
}
.student-repair-hero>b .ui-icon{
  width:40px;
  height:40px;
  stroke-width:3;
}
.student-repair-hero-action{
  display:grid;
  justify-items:end;
  gap:10px;
}
.student-repair-hero-action>b{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#22c55e;
  color:#fff;
}
.student-repair-hero.is-repair .student-repair-hero-action>b{
  background:#f97316;
}
.student-repair-hero.is-missing .student-repair-hero-action>b{
  background:#ef4444;
}
.student-repair-hero-action>b .ui-icon{
  width:40px;
  height:40px;
  stroke-width:3;
}
.student-repair-hero-action .btn{
  white-space:nowrap;
}
.student-repair-timeline{
  display:grid;
  gap:10px;
}
.student-missing-device-form{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:stretch;
  border:1px solid #fecaca;
  border-radius:14px;
  background:#fff7f7;
  padding:12px;
  margin:0 0 16px;
}
.student-missing-device-form label{
  margin:0;
  color:#7f1d1d;
  font-weight:900;
}
.student-missing-device-form textarea{
  min-height:54px;
  resize:vertical;
}
.student-missing-device-form.is-reported{
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  background:#fff1f2;
  color:#7f1d1d;
}
.student-missing-device-form.is-reported>span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fee2e2;
  color:#dc2626;
}
.student-missing-device-form.is-reported strong,
.student-missing-device-form.is-reported small{
  display:block;
}
.student-missing-device-form.is-reported small{
  color:#991b1b;
  font-weight:800;
  margin-top:3px;
}
.student-repair-row{
  min-height:74px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  text-align:left!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#172033!important;
}
.student-repair-row>span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff7ed;
  color:#ea580c;
}
.student-repair-row.is-fixed>span{
  background:#dcfce7;
  color:#16a34a;
}
.student-repair-row strong,
.student-repair-row small{
  grid-column:2;
  display:block;
}
.student-repair-row strong{
  font-size:16px;
}
.student-repair-row small{
  color:#64748b;
  font-weight:900;
}
.student-empty-repairs{
  display:grid;
  justify-items:center;
  gap:6px;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  padding:24px;
  color:#64748b;
}
.student-empty-repairs span{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#dcfce7;
  color:#16a34a;
}
.student-empty-repairs strong{
  color:#172033;
  font-size:18px;
}
.student-chat-thread{
  display:grid;
  gap:12px;
  max-height:360px;
  overflow:auto;
  padding:4px 4px 12px;
}
.student-chat-message{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.student-chat-message>.avatar{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  aspect-ratio:1/1;
  border-radius:999px!important;
  align-self:start;
  justify-self:center;
  font-size:13px!important;
  line-height:1!important;
}
.student-chat-message>div{
  border:1px solid #dbe7f7;
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
}
.student-chat-message.mine>div{
  background:#eff6ff;
  border-color:#bfdbfe;
}
.student-chat-message.it>div{
  background:#ecfdf5;
  border-color:#bbf7d0;
}
.student-chat-message strong,
.student-chat-message small{
  display:block;
}
.student-chat-body,
.student-chat-body p{
  margin:4px 0 6px;
  font-size:15px;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
}
.student-chat-body p:last-child{
  margin-bottom:6px;
}
.student-chat-message small{
  color:#64748b;
  font-weight:850;
}
.student-reply-form{
  margin-top:12px;
}
.student-ticket-readonly{
  margin-top:12px;
  display:grid;
  justify-items:center;
  gap:8px;
  border:1px solid #dbe7f7;
  border-radius:16px;
  background:#f8fbff;
  padding:20px;
  text-align:center;
}
.student-ticket-readonly span{
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#dcfce7;
  color:#16a34a;
}
.student-ticket-readonly span .ui-icon{
  width:34px;
  height:34px;
  stroke-width:3;
}
.student-ticket-readonly strong{
  font-size:20px;
}
.student-ticket-readonly p{
  margin:0;
  color:#64748b;
  font-weight:850;
}
@media(max-width:1120px){
  .student-simple-grid{
    grid-template-columns:repeat(2,minmax(280px,1fr));
    width:min(980px,100%);
  }
}
@media(max-width:760px){
  body.student-shell .main{
    padding:0 14px 24px!important;
  }
  .student-simple-grid,
  .student-ticket-form{
    grid-template-columns:1fr;
  }
  .student-simple-card{
    min-height:360px;
  }
  .student-portal-hero h1{
    font-size:30px;
  }
  .student-repair-hero{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
  }
  .student-repair-hero-action{
    justify-items:center;
  }
	  .student-missing-device-form{
	    grid-template-columns:1fr;
	  }
	  .student-fee-asset-hero,
	  .student-fee-asset-details,
	  .student-edit-profile-hero,
	  .student-edit-profile-grid,
	  .student-profile-photo-field,
	  .student-theme-choice-grid{
	    grid-template-columns:1fr;
	  }
	  .student-fee-asset-hero{
	    justify-items:center;
	    text-align:center;
	  }
	  .student-fee-asset-hero img{
	    width:min(220px,100%);
	  }
	  .student-edit-profile-hero{
	    justify-items:center;
	    text-align:center;
	  }
	  .student-edit-profile-hero strong,
	  .student-edit-profile-hero span,
	  .student-edit-profile-hero small{
	    justify-content:center;
	  }
	  .student-fee-year-group > header{
	    grid-template-columns:1fr;
	    gap:5px;
	  }
	  .student-fee-year-group > header small{
	    justify-self:start;
	    white-space:normal;
	  }
	}

/* Asset detail title: shrink inside the header copy area instead of wrapping letter-by-letter. */
.asset-d3-copy{
  container-type:inline-size!important;
  min-width:0!important;
}
.asset-d3-title-row,
.asset-d3-title-row h1{
  min-width:0!important;
  max-width:100%!important;
}
.asset-d3-title-row h1{
  width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
.asset-d3-title-row h1 .asset-title-main,
.asset-d3-title-row h1 .asset-title-sub{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@container (max-width:420px){
  .asset-d3-title-row h1{
    font-size:20px!important;
    line-height:1.15!important;
  }
}
@container (max-width:340px){
  .asset-d3-title-row h1{
    font-size:18px!important;
    line-height:1.16!important;
  }
}
@container (max-width:285px){
  .asset-d3-title-row h1{
    font-size:16px!important;
    line-height:1.18!important;
  }
}

/* Google Workspace detail cards: compact edit control for writable Admin fields. */
.google-detail-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
.google-detail-card-head h4{
  margin:0!important;
}
.google-detail-card-head .btn{
  min-height:30px!important;
  padding:6px 10px!important;
}
.google-custom-fields-modal{
  width:min(720px,100%)!important;
}
.google-custom-fields-modal textarea{
  min-height:118px!important;
}

/* Asset table: compact supporting pills, with status badges kept readable. */
.asset-directory-table .badge,
.asset-table td[data-col="condition"] .badge,
.asset-table td[data-col="google.status"] .badge,
.asset-table td[data-col="assigned"] .badge,
.asset-table td[data-col="spare_bin"] .badge{
  min-height:0!important;
  padding:3px 7px!important;
  font-size:10px!important;
  line-height:1!important;
  border-radius:999px!important;
}
.asset-directory-table td[data-col="status"] .badge,
.asset-table td[data-col="status"] .badge,
.asset-directory-table td[data-col="condition"] .badge,
.asset-table td[data-col="condition"] .badge{
  min-height:24px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  line-height:1!important;
  border-radius:999px!important;
}
.asset-directory-table .asset-thumb-status-badge{
  right:-5px!important;
  bottom:-5px!important;
  padding:3px 5px!important;
  font-size:8px!important;
  line-height:1!important;
}

/* Asset table: never show thumbnail overlay status badges. */
.asset-directory-table .asset-thumb-status-badge,
.asset-table .asset-thumb-status-badge,
.asset-table .asset-thumb-loaner-badge{
  display:none!important;
}

/* Asset warranty summary: respond to the card width, not only the viewport. */
.warranty-d3-card{
  container-type:inline-size!important;
  overflow:hidden!important;
}
.warranty-d3-card .warranty-provider-line,
.warranty-d3-card .warranty-mini-graph,
.warranty-d3-card .warranty-mini-head,
.warranty-d3-card .d3-warranty-line{
  min-width:0!important;
}
.warranty-d3-card .warranty-provider-line strong,
.warranty-d3-card .warranty-mini-head b,
.warranty-d3-card .d3-warranty-line strong{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.warranty-d3-card .warranty-mini-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
}
@container (max-width:460px){
  .warranty-d3-card .warranty-dual-graph{
    grid-template-columns:1fr!important;
  }
  .warranty-d3-card .warranty-provider-line,
  .warranty-d3-card .warranty-mini-head,
  .warranty-d3-card .d3-warranty-line{
    gap:6px!important;
  }
}
@container (max-width:300px){
  .warranty-d3-card .warranty-provider-line,
  .warranty-d3-card .warranty-mini-head,
  .warranty-d3-card .d3-warranty-line{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:start!important;
    text-align:left!important;
  }
  .warranty-d3-card .warranty-provider-line strong,
  .warranty-d3-card .warranty-mini-head b{
    text-align:left!important;
  }
}

/* People edit modal: grouped individual permissions. */
.people-edit-person-modal{
  width:min(980px,calc(100vw - 36px))!important;
  height:min(860px,calc(100vh - 36px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
.people-edit-person-modal>.modal-head{
  flex:0 0 auto!important;
  padding:18px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
}
.people-edit-person-form{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
.people-edit-person-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:18px 20px!important;
}
.people-edit-person-footer{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 20px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.06)!important;
}
.edit-person-permission-picker{
  margin-top:14px!important;
}
.edit-person-permission-picker>p{
  padding:0 14px 12px!important;
}
.edit-person-permission-picker .people-wizard-permission-groups{
  padding:0 14px 14px!important;
}

/* Settings role permissions: module help text and readable wrapping. */
.permission-module-description{
  display:grid!important;
  gap:4px!important;
  padding:11px 12px!important;
  border-bottom:1px solid #e2e8f0!important;
  background:#f8fbff!important;
}
.permission-module-description p,
.permission-module-description small{
  margin:0!important;
  max-width:980px!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.permission-module-description p{
  color:#334155!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.45!important;
}
.permission-module-description small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.35!important;
}
.settings-permissions-form .permission-toggle-grid{
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;
}
.settings-permissions-form .permission-toggle-grid label{
  width:auto!important;
  min-height:92px!important;
  align-items:start!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  grid-template-areas:"check title" "check desc" "check req"!important;
}
.settings-permissions-form .permission-toggle-grid label>span{
  grid-area:check!important;
}
.settings-permissions-form .permission-toggle-grid label>b,
.settings-permissions-form .permission-toggle-grid label>small,
.settings-permissions-form .permission-toggle-grid label>em{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.settings-permissions-form .permission-toggle-grid label>b{
  grid-area:title!important;
  color:#0f172a!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.settings-permissions-form .permission-toggle-grid label>small{
  grid-area:desc!important;
  color:#536177!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.35!important;
}
.settings-permissions-form .permission-toggle-grid label>em{
  grid-area:req!important;
  color:#7c3aed!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1.3!important;
}
@media(max-width:760px){
  .settings-permissions-form .permission-toggle-grid{
    grid-template-columns:1fr!important;
  }
}

/* Settings role permission matrix search. */
.permission-role-search-toolbar{
  padding:0 0 14px!important;
  justify-content:flex-start!important;
}
.permission-role-search-toolbar label{
  max-width:560px!important;
  background:#fff!important;
}
.role-permission-empty{
  margin:0 0 14px!important;
}
.settings-permissions-form .permission-module-group.permission-search-hidden,
.settings-permissions-form .permission-role-card.permission-search-hidden,
.settings-permissions-form [data-role-permission-option].permission-search-hidden{
  display:none!important;
}

/* Settings page search. */
.settings-page-search{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 14px!important;
  padding:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
}
.settings-page-search label{
  flex:1 1 360px!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:0 10px!important;
  min-height:38px!important;
}
.settings-page-search .ui-icon{
  width:16px!important;
  height:16px!important;
  color:#64748b!important;
  flex:0 0 auto!important;
}
.settings-page-search input{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  min-height:36px!important;
  width:100%!important;
}
.settings-page-search small{
  color:#64748b!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.settings-page-search-empty{
  margin:0 0 14px!important;
}
.settings-search-hidden{
  display:none!important;
}
@media(max-width:760px){
  .settings-page-search{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .settings-page-search label{
    flex:1 1 auto!important;
    width:100%!important;
  }
  .settings-page-search .btn{
    width:100%!important;
    justify-content:center!important;
  }
}

/* Authoritative Asset Inventory table sizing.
   Keep this at the end of the stylesheet so older asset-table overrides cannot
   collapse the table when the column chooser hides columns. */
@media(min-width:641px){
  .asset-directory-card .asset-table-wrap,
  .asset-directory-card .asset-directory-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
  }
  .asset-directory-card .asset-directory-table.table-dynamic-columns{
    table-layout:fixed!important;
    width:var(--asset-table-target-width,100%)!important;
    min-width:var(--asset-table-target-width,100%)!important;
    max-width:none!important;
  }
  .asset-directory-card .asset-directory-table.table-dynamic-columns th,
  .asset-directory-card .asset-directory-table.table-dynamic-columns td{
    max-width:none!important;
  }
  .asset-directory-card .asset-directory-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .asset-directory-card .asset-directory-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]){
    width:var(--asset-table-data-column-width,128px)!important;
    min-width:0!important;
  }
  .asset-directory-card .asset-directory-table.table-dynamic-columns th[data-col="select"],
  .asset-directory-card .asset-directory-table.table-dynamic-columns td[data-col="select"]{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }
  .asset-directory-card .asset-directory-table.table-dynamic-columns th[data-col="actions"],
  .asset-directory-card .asset-directory-table.table-dynamic-columns td[data-col="actions"]{
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
  }
}

/* Asset Inventory table: People Directory-style sizing isolated from legacy
   .asset-table and .asset-directory-table width rules. */
@media(min-width:641px){
  .asset-directory-card .asset-inventory-table.table-dynamic-columns{
    table-layout:auto!important;
    width:100%!important;
    min-width:var(--table-dynamic-min-width,1180px)!important;
    max-width:none!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th,
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td{
    min-width:0!important;
    max-width:none!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th:not([data-col="select"]):not([data-col="actions"]),
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td:not([data-col="select"]):not([data-col="actions"]){
    width:calc((100% - var(--table-utility-columns-width,176px)) / var(--asset-table-column-weight,var(--table-visible-data-columns,8)))!important;
    min-width:0!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="asset"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="assigned"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="assigned"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="teacher"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="teacher"]{
    min-width:0!important;
    max-width:none!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="asset"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"]{
    width:max(var(--asset-table-asset-width,260px), calc(((100% - var(--table-utility-columns-width,176px)) / var(--asset-table-column-weight,var(--table-visible-data-columns,8))) * (1 + var(--asset-table-asset-weight,1.6))))!important;
    min-width:var(--asset-table-asset-width,260px)!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="assigned"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="assigned"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="teacher"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="teacher"]{
    width:calc((100% - var(--table-utility-columns-width,176px)) / var(--asset-table-column-weight,var(--table-visible-data-columns,8)))!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="select"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="select"]{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns th[data-col="actions"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="actions"]{
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"] .asset-thumb{
    width:54px!important;
    height:44px!important;
    flex:0 0 54px!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"],
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"] .asset-main,
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"] .asset-title{
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"] .asset-title b,
  .asset-directory-card .asset-inventory-table.table-dynamic-columns td[data-col="asset"] .asset-title span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    overflow-wrap:normal!important;
    line-height:1.2!important;
  }
}

/* Final modal polish override. */
.modal-backdrop{background:rgba(15,23,42,.54)!important;backdrop-filter:blur(2px);}
.modal{padding:16px!important;border:1px solid #dbe5f2!important;border-radius:12px!important;box-shadow:0 28px 90px rgba(15,23,42,.32)!important;overflow:auto!important;}
.modal>.modal-head,.modal form>.modal-head{margin:-16px -16px 16px!important;padding:16px 18px!important;min-height:68px!important;border-bottom:1px solid #d8e3f0!important;background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;color:#172033!important;}
.modal>.modal-head:first-child,.modal form>.modal-head:first-child{border-radius:12px 12px 0 0!important;}
.modal>.modal-head>div,.modal form>.modal-head>div{min-width:0!important;}
.modal>.modal-head h2,.modal form>.modal-head h2{margin:0!important;color:#0f172a!important;font-size:20px!important;line-height:1.15!important;letter-spacing:0!important;}
.modal>.modal-head p,.modal>.modal-head .muted,.modal form>.modal-head p,.modal form>.modal-head .muted{margin:4px 0 0!important;color:#536177!important;font-size:13px!important;font-weight:800!important;line-height:1.35!important;}
.modal>.modal-head .icon-btn,.modal form>.modal-head .icon-btn,.modal-head-actions .icon-btn{flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;border:1px solid #bfd0e5!important;border-radius:9px!important;background:#fff!important;color:#334155!important;box-shadow:0 2px 8px rgba(15,23,42,.08)!important;font-size:22px!important;font-weight:900!important;line-height:1!important;}
.modal>.modal-head .icon-btn:hover,.modal form>.modal-head .icon-btn:hover,.modal-head-actions .icon-btn:hover{background:#eaf2ff!important;border-color:#8fb1e3!important;color:#174ea6!important;transform:none!important;}
.modal>.modal-head .icon-btn:focus-visible,.modal form>.modal-head .icon-btn:focus-visible,.modal-head-actions .icon-btn:focus-visible{outline:3px solid rgba(37,99,235,.24)!important;outline-offset:2px!important;}
.modal>.modal-actions,.modal form>.modal-actions{margin:12px -16px -16px!important;padding:13px 16px!important;border-top:1px solid #e1e8f2!important;background:#fbfdff!important;}
.modal.danger .modal-head,.modal .modal-head.danger,.modal-backdrop[id*="Cancel"] .modal>.modal-head,.modal-backdrop[id*="Delete"] .modal>.modal-head{background:linear-gradient(135deg,#fff1f2 0%,#fff7f8 70%,#ffe4e6 100%)!important;border-bottom-color:#fecdd3!important;}
.modal.warn .modal-head,.modal .modal-head.warn{background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 70%,#fef3c7 100%)!important;border-bottom-color:#fed7aa!important;}
#editAssetModal .asset-edit-modal{padding:0!important;overflow:hidden!important;}
#editAssetModal .asset-edit-modal>.asset-edit-head{margin:0!important;border-radius:12px 12px 0 0!important;}
#editAssetModal .asset-edit-actions{
  margin:0!important;
  padding:12px 18px!important;
}
@media(max-width:760px){.modal{border-radius:10px!important;width:min(100%,calc(100vw - 18px))!important;max-height:calc(100vh - 18px)!important;}.modal>.modal-head,.modal form>.modal-head{padding:14px!important;min-height:62px!important;}.modal>.modal-head h2,.modal form>.modal-head h2{font-size:18px!important;}}

.modal.repair-workflow-modal{
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.modal.repair-workflow-modal.compact{
  width:min(620px,calc(100vw - 32px))!important;
}
.modal.repair-workflow-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:17px 20px!important;
  border-radius:12px 12px 0 0!important;
}
.modal.repair-workflow-modal>.repair-workflow-form{
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
  background:#fff!important;
  overflow:auto!important;
}
.modal.repair-workflow-modal>.repair-workflow-form>.modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  margin:4px -20px 0!important;
  padding:13px 20px 15px!important;
  background:#fff!important;
  border-top:1px solid #dbe5f2!important;
  backdrop-filter:none!important;
  justify-content:flex-end!important;
}

.modal.pm-workflow-modal{
  width:min(1080px,calc(100vw - 36px))!important;
}

#loanNewModal .loan-new-modal{
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#loanNewModal .loan-new-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:18px 20px!important;
  border-radius:12px 12px 0 0!important;
}
#loanNewModal .loan-new-modal>.loan-modal-form{
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
  padding:16px 18px 0!important;
  overflow:auto!important;
}
#loanNewModal .loan-new-modal-actions{
  margin:14px -18px 0!important;
  padding:14px 18px!important;
  background:#fff!important;
  border-top:1px solid #e5edf7!important;
}
@media(max-width:760px){
  #loanNewModal .loan-new-modal>.modal-head{
    padding:14px 16px!important;
  }
  #loanNewModal .loan-new-modal>.loan-modal-form{
    padding:14px 16px 0!important;
  }
  #loanNewModal .loan-new-modal-actions{
    margin:12px -16px 0!important;
    padding:12px 16px 14px!important;
  }
}

/* Add Asset needs a contained flex layout so its sticky footer is never clipped. */
#addAssetModal .add-asset-modal{
  height:min(820px,calc(100vh - 44px))!important;
  max-height:calc(100vh - 44px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#addAssetModal .add-asset-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:18px 20px 14px!important;
  border-radius:12px 12px 0 0!important;
}
#addAssetModal .add-asset-form{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#addAssetModal .add-asset-shell{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
#addAssetModal .add-asset-content{
  min-height:0!important;
  overflow:auto!important;
}
#addAssetModal .add-asset-content .edit-panel{
  padding-bottom:24px!important;
}
#addAssetModal .add-asset-save-actions{
  flex:0 0 auto!important;
  position:relative!important;
  bottom:auto!important;
  margin:0!important;
  padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px))!important;
  border-top:1px solid #dbe5f2!important;
  background:#fbfdff!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#addAssetModal .add-asset-save-actions span{
  margin-right:auto!important;
}
@media(max-width:760px){
  #addAssetModal .add-asset-modal{
    height:calc(100vh - 18px)!important;
    max-height:calc(100vh - 18px)!important;
  }
  #addAssetModal .add-asset-save-actions{
    justify-content:stretch!important;
  }
  #addAssetModal .add-asset-save-actions span{
    flex:1 0 100%!important;
  }
  #addAssetModal .add-asset-save-actions button{
    flex:1 1 150px!important;
  }
}

/* Final shared interface polish: alerts, confirmations, empty states, filters, menus, badges, and section heads. */
.app-flash{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
  border:1px solid #c7d7ef!important;
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  box-shadow:0 16px 40px rgba(15,23,42,.12)!important;
}
.app-flash strong{
  color:#172033!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.app-flash-icon{
  width:36px!important;
  height:36px!important;
  border-radius:10px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
}
.app-flash button{
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  color:#475569!important;
  border-radius:9px!important;
}
.app-flash button:hover{
  background:#eef4ff!important;
  color:#174ea6!important;
  border-color:#9db9e8!important;
}
.app-flash-ok,.app-flash-success,.app-flash-welcome{
  background:linear-gradient(135deg,#f0fdf4,#eff6ff)!important;
  border-color:#bbf7d0!important;
}
.app-flash-bad,.app-flash-error{
  background:linear-gradient(135deg,#fff1f2,#fff7f8)!important;
  border-color:#fecdd3!important;
}
.app-flash-warn,.app-flash-warning{
  background:linear-gradient(135deg,#fff7ed,#fffbeb)!important;
  border-color:#fed7aa!important;
}
.app-confirm-modal{
  width:min(620px,calc(100vw - 32px))!important;
}
.app-confirm-modal .location-move-callout{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:4px 12px!important;
  align-items:start!important;
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
}
.app-confirm-modal .location-move-callout .admin-card-icon{
  grid-row:1 / span 2!important;
  width:42px!important;
  height:42px!important;
  border-radius:11px!important;
  background:#eef2ff!important;
  color:#2563eb!important;
}
.app-confirm-modal .location-move-callout .admin-card-icon.has-image{
  background:#fff!important;
  border:1px solid #dbe5f2!important;
  overflow:hidden!important;
}
.app-confirm-modal .location-move-callout .admin-card-icon.has-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  padding:3px!important;
}
.app-confirm-modal.is-danger .location-move-callout{
  background:#fff7f8!important;
  border-color:#fecdd3!important;
}
.app-confirm-modal.is-danger .location-move-callout .admin-card-icon{
  background:#fee2e2!important;
  color:#dc2626!important;
}
.app-confirm-modal .location-move-callout strong,
.app-confirm-modal .location-move-callout p{
  margin:0!important;
}
.app-confirm-modal .location-move-callout p{
  grid-column:2!important;
  color:#536177!important;
  font-weight:800!important;
  line-height:1.42!important;
}
.empty-state,
.advanced-search-empty,
.global-search-empty,
.column-config-empty,
.reservation-empty,
.reservation-calendar-empty,
.loan-due-empty,
.loan-lookup-empty,
.role-permission-empty,
.settings-page-search-empty,
.helpdesk-attachment-empty,
.cc-widget-data-empty,
.student-empty-repairs{
  border:1px dashed #cbd8ea!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#fbfdff,#f6f9fe)!important;
  color:#64748b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.empty-state{
  padding:32px!important;
}
.empty-state h2,.empty-state h3,.empty-state strong,
.advanced-search-empty b,.reservation-empty b,.reservation-calendar-empty b,.student-empty-repairs strong{
  color:#172033!important;
}
.empty-state-icon,
.reservation-empty span,
.reservation-calendar-empty span,
.student-empty-repairs span{
  background:#eef4ff!important;
  color:#2563eb!important;
  border:1px solid #d6e4ff!important;
}
.filterbar,
.filter-bar,
.loan-filterbar,
.helpdesk-filters,
.hr-table-filters,
.settings-page-search,
.security-activity-filter,
.asset-directory-actions{
  border-radius:10px!important;
}
.loan-filterbar,
.settings-page-search{
  border:1px solid #dbe5f2!important;
  background:#fbfdff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.05)!important;
}
.filterbar input,.filterbar select,
.filter-bar input,.filter-bar select,
.loan-filterbar input,.loan-filterbar select,
.helpdesk-filters input,.helpdesk-filters select,
.hr-table-filters input,.hr-table-filters select,
.settings-page-search input{
  border-color:#cfdced!important;
  background:#fff!important;
  border-radius:8px!important;
}
.filterbar input:focus,.filterbar select:focus,
.filter-bar input:focus,.filter-bar select:focus,
.loan-filterbar input:focus,.loan-filterbar select:focus,
.helpdesk-filters input:focus,.helpdesk-filters select:focus,
.hr-table-filters input:focus,.hr-table-filters select:focus,
.settings-page-search input:focus{
  border-color:#8fb1e3!important;
  outline:3px solid rgba(37,99,235,.16)!important;
}
.table-action-menu-panel,
.table-action-menu-panel.is-floating-table-action-panel,
.reservation-action-menu-panel,
.people-action-menu-panel{
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(15,23,42,.18)!important;
  padding:6px!important;
}
.table-action-menu-panel a,
.table-action-menu-panel button,
.table-action-menu-panel .table-action-menu-button,
.reservation-action-menu-panel a,
.reservation-action-menu-panel button,
.people-action-menu-panel a,
.people-action-menu-panel button{
  min-height:34px!important;
  border-radius:7px!important;
  color:#172033!important;
  font-weight:850!important;
  gap:8px!important;
}
.table-action-menu-panel a:hover,
.table-action-menu-panel button:hover,
.table-action-menu-panel .table-action-menu-button:hover,
.reservation-action-menu-panel a:hover,
.reservation-action-menu-panel button:hover,
.people-action-menu-panel a:hover,
.people-action-menu-panel button:hover{
  background:#f2f7ff!important;
  color:#174ea6!important;
}
.table-action-menu-panel .danger-menu-action,
.reservation-action-menu-panel .danger-menu-action,
.people-action-menu-panel .danger-menu-action{
  color:#b42318!important;
}
.table-action-menu-panel .danger-menu-action:hover,
.reservation-action-menu-panel .danger-menu-action:hover,
.people-action-menu-panel .danger-menu-action:hover{
  background:#fff1f2!important;
  color:#b42318!important;
}
.badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  padding:5px 9px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.badge.ok{
  background:#ecfdf3!important;
  color:#067647!important;
  border-color:#abefc6!important;
}
.badge.bad{
  background:#fff1f2!important;
  color:#b42318!important;
  border-color:#fecdd3!important;
}
.badge.warn{
  background:#fff7ed!important;
  color:#b54708!important;
  border-color:#fed7aa!important;
}
.badge.blue{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border-color:#bfdbfe!important;
}
.badge.gray{
  background:#f8fafc!important;
  color:#475569!important;
  border-color:#e2e8f0!important;
}
.section-head,
.card-head,
.helpdesk-queue-head,
.google-detail-card-head{
  gap:12px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid #edf2f7!important;
}
.section-head h2,.section-head h3,
.card-head h2,.card-head h3,
.helpdesk-queue-head h2,
.google-detail-card-head h4{
  margin:0!important;
  color:#172033!important;
  letter-spacing:0!important;
}
.section-head p,.section-head .muted,
.card-head p,.card-head .muted,
.helpdesk-queue-head p,.helpdesk-queue-head .muted{
  margin:3px 0 0!important;
  color:#64748b!important;
  font-weight:800!important;
}
@media(max-width:760px){
  .app-flash{
    margin:10px 0!important;
  }
  .section-head,
  .card-head,
  .helpdesk-queue-head,
  .google-detail-card-head{
    display:grid!important;
    align-items:start!important;
  }
}

/* Final card and dashboard system polish. */
.card,
.portal-card,
.helpdesk-queue-card,
.helpdesk-side-panel,
.asset-directory-card,
.asset-snapshot-card,
.repair-center-card,
.hr-card,
.settings-card,
.backend-card,
.label-center-panel,
.loan-main-panel,
.loan-due-queue,
.reservation-equipment-tile,
.cc-card{
  border-color:#dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
}
.card:hover,
.portal-card:hover,
.helpdesk-queue-card:hover,
.asset-snapshot-card:hover,
.repair-center-card:hover,
.hr-card:hover,
.settings-card:hover,
.backend-card:hover,
.label-center-panel:hover,
.loan-due-queue:hover,
.reservation-equipment-tile:hover{
  border-color:#c8d6ea!important;
  box-shadow:0 12px 30px rgba(15,23,42,.075)!important;
}
.dashboard-hero,
.asset-command,
.reservation-hero,
.repair-center-hero,
.device-claims-hero-card,
.student-tool-hero,
.student-portal-hero{
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 74%,#eef6ff 100%)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
}
.dashboard-hero .page-title,
.asset-identity h1,
.reservation-hero h1,
.repair-center-hero h1,
.device-claims-hero-card h1,
.student-portal-hero h1{
  color:#0f172a!important;
  letter-spacing:0!important;
}
.dashboard-metrics,
.portal-metrics,
.helpdesk-metrics,
.repair-health-metrics,
.loan-kpi-grid,
.cc-kpi-grid,
.backend-grid,
.migration-health-grid{
  gap:12px!important;
}
.stat,
.dashboard-metrics .stat.fancy,
.portal-metrics article,
.helpdesk-metrics article,
.repair-health-metrics span,
.loan-kpi-grid article,
.cc-kpi-card,
.migration-health-tile,
.settings-summary-tile,
.security-summary-tile{
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.052)!important;
}
.stat:hover,
.dashboard-metrics .stat.fancy:hover,
.portal-metrics article:hover,
.helpdesk-metrics article:hover,
.repair-health-metrics span:hover,
.loan-kpi-grid article:hover,
.cc-kpi-card:hover,
.migration-health-tile:hover,
.settings-summary-tile:hover,
.security-summary-tile:hover{
  border-color:#c7d6ea!important;
  box-shadow:0 12px 28px rgba(15,23,42,.075)!important;
}
.stat strong,
.dashboard-metrics .stat.fancy strong,
.portal-metrics b,
.helpdesk-metrics b,
.repair-health-metrics b,
.loan-kpi-grid b,
.cc-kpi-card b,
.migration-health-tile b{
  color:#0f172a!important;
  letter-spacing:0!important;
}
.stat small,
.stat span,
.dashboard-metrics .stat.fancy small,
.dashboard-metrics .stat.fancy span,
.portal-metrics small,
.helpdesk-metrics small,
.repair-health-metrics small,
.loan-kpi-grid small,
.cc-kpi-card small,
.migration-health-tile small{
  color:#64748b!important;
  font-weight:850!important;
}
.stat-art,
.loan-kpi-grid article>span,
.repair-health-metrics span>span,
.cc-kpi-card>span,
.portal-metrics article>span,
.helpdesk-metrics article>span{
  border:1px solid #d6e4ff!important;
  background:#eef4ff!important;
  color:#2563eb!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.dashboard-metrics .asset-stat,
.dashboard-metrics .student-stat,
.dashboard-metrics .repair-stat,
.dashboard-metrics .charge-stat{
  border-left-width:4px!important;
}
.activity-item,
.preview-box,
.assignment-panel,
.assignment-rail,
.kv div,
.compact-list div,
.asset-quick-preview-facts div,
.loan-selected-card,
.loan-action-card,
.reservation-tile-meta span,
.request-confirm-preview>div,
.request-confirm-preview>section{
  border-color:#dbe5f2!important;
  border-radius:10px!important;
  background:#fbfdff!important;
}
.quick-grid .btn,
.hero-actions .btn,
.toolbar-actions .btn,
.section-head .btn,
.card-head .btn{
  border-radius:8px!important;
}
.table-wrap,
.asset-table-wrap,
.loan-table-wrap,
.reservation-table-wrap{
  border-color:#dbe5f2!important;
  border-radius:10px!important;
}
.table th,
.asset-table th,
.loan-table th,
.reservation-request-table th{
  background:#f8fbff!important;
  color:#475569!important;
  font-weight:900!important;
}
.table tbody tr:hover td,
.asset-table tbody tr:hover td,
.loan-table tbody tr:hover td,
.reservation-request-table tbody tr:hover td{
  background:#f8fbff!important;
}
@media(max-width:760px){
  .dashboard-hero,
  .asset-command,
  .reservation-hero,
  .repair-center-hero,
  .device-claims-hero-card,
  .student-tool-hero,
  .student-portal-hero{
    border-radius:10px!important;
  }
}

/* Final sidebar navigation polish. */
body:not(.student-shell) .sidebar{
  background:linear-gradient(180deg,#0f1f33 0%,#12263f 58%,#0b1727 100%)!important;
  border-right:1px solid rgba(148,163,184,.16)!important;
  box-shadow:10px 0 32px rgba(15,23,42,.18)!important;
}
.sidebar .brand{
  margin-bottom:14px!important;
  padding:2px 8px 14px!important;
  border-bottom:1px solid rgba(148,163,184,.16)!important;
}
.grouped-sidebar-nav{
  display:grid!important;
  gap:8px!important;
  padding-bottom:18px!important;
}
.sidebar .nav-standalone,
.sidebar .nav-group > summary{
  min-height:46px!important;
  border-radius:12px!important;
  border:1px solid rgba(148,163,184,.12)!important;
  background:rgba(255,255,255,.035)!important;
  color:#e5eef9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.sidebar .nav-standalone{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  font-size:13px!important;
  font-weight:950!important;
}
.sidebar .nav-standalone .ui-icon,
.sidebar .nav-group > summary > .ui-icon{
  background:rgba(226,232,240,.09)!important;
  border:1px solid rgba(226,232,240,.08)!important;
  color:#cbdff7!important;
}
.sidebar .nav-standalone:hover,
.sidebar .nav-group > summary:hover,
.sidebar .nav-group[open] > summary{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(191,219,254,.26)!important;
  color:#fff!important;
}
.sidebar .nav-standalone.active,
.sidebar nav a.active,
.sidebar .nav-group[open] > summary{
  border-color:rgba(96,165,250,.42)!important;
  box-shadow:inset 3px 0 0 #60a5fa,0 8px 20px rgba(15,23,42,.16)!important;
}
.sidebar .nav-standalone.active,
.sidebar nav a.active{
  background:rgba(37,99,235,.18)!important;
  color:#fff!important;
}
.sidebar .nav-group > summary:after,
.sidebar .nav-subgroup > summary:after{
  content:"›"!important;
  transform:rotate(0deg);
  transition:transform .16s ease;
  background:rgba(226,232,240,.1)!important;
}
.sidebar .nav-group[open] > summary:after,
.sidebar .nav-subgroup[open] > summary:after{
  content:"›"!important;
  transform:rotate(90deg);
}
.sidebar .nav-group > a,
.sidebar .nav-subgroup > a{
  color:#cbd6e5!important;
  background:transparent!important;
  border:1px solid transparent!important;
}
.sidebar .nav-group > a:hover,
.sidebar .nav-subgroup > a:hover{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(148,163,184,.15)!important;
  color:#fff!important;
}
.sidebar .nav-group > a.active,
.sidebar .nav-subgroup > a.active{
  background:rgba(37,99,235,.16)!important;
  border-color:rgba(96,165,250,.34)!important;
  color:#fff!important;
}
.sidebar .nav-group > a > .ui-icon,
.sidebar .nav-subgroup > a > .ui-icon{
  color:#a8c5eb!important;
  background:rgba(226,232,240,.06)!important;
}
.sidebar .nav-group > a.active > .ui-icon,
.sidebar .nav-subgroup > a.active > .ui-icon,
.sidebar .nav-group > a:hover > .ui-icon,
.sidebar .nav-subgroup > a:hover > .ui-icon{
  color:#dbeafe!important;
  background:rgba(96,165,250,.17)!important;
}
.sidebar .nav-standalone-command-center > .ui-icon{color:#38bdf8!important;background:rgba(56,189,248,.15)!important;border-color:rgba(56,189,248,.28)!important;}
.sidebar .nav-group-assets > summary > .ui-icon{color:#93c5fd!important;background:rgba(147,197,253,.14)!important;border-color:rgba(147,197,253,.24)!important;}
.sidebar .nav-group-loans-reservations > summary > .ui-icon{color:#5eead4!important;background:rgba(94,234,212,.15)!important;border-color:rgba(94,234,212,.28)!important;}
.sidebar .nav-group-maintenance-events > summary > .ui-icon{color:#5eead4!important;background:rgba(94,234,212,.15)!important;border-color:rgba(94,234,212,.28)!important;}
.sidebar .nav-group-support > summary > .ui-icon{color:#fbbf24!important;background:rgba(251,191,36,.15)!important;border-color:rgba(251,191,36,.28)!important;}
.sidebar .nav-group-people > summary > .ui-icon{color:#86efac!important;background:rgba(134,239,172,.15)!important;border-color:rgba(134,239,172,.28)!important;}
.sidebar .nav-group-reports > summary > .ui-icon{color:#c4b5fd!important;background:rgba(196,181,253,.15)!important;border-color:rgba(196,181,253,.28)!important;}
.sidebar .nav-group-system > summary > .ui-icon{color:#fb7185!important;background:rgba(251,113,133,.15)!important;border-color:rgba(251,113,133,.28)!important;}
.sidebar nav a b[data-alert-nav-count]{
  min-width:20px!important;
  height:20px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#ef4444!important;
  color:#fff!important;
  font-size:10px!important;
  margin-left:auto!important;
}
body.nav-collapsed .sidebar .brand{
  padding:2px 0 12px!important;
}
body.nav-collapsed .grouped-sidebar-nav{
  justify-items:center!important;
}
body.nav-collapsed .sidebar .nav-standalone{
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  justify-content:center!important;
  border-radius:15px!important;
}
body.nav-collapsed .sidebar .nav-standalone span,
body.nav-collapsed .sidebar .nav-standalone b{
  display:none!important;
}
body.nav-collapsed .sidebar .nav-standalone .ui-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:7px!important;
  border-radius:13px!important;
}
body.nav-collapsed .sidebar .nav-group[open] > summary,
body.nav-collapsed .sidebar .nav-standalone.active{
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.36),0 8px 22px rgba(0,0,0,.18)!important;
}
@media(max-width:1100px){
  body:not(.student-shell) .sidebar{
    border-right:0!important;
    border-bottom:1px solid rgba(148,163,184,.18)!important;
  }
  .grouped-sidebar-nav{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
    align-items:start!important;
  }
}

/* Final app header facelift: polished admin chrome without changing navigation behavior. */
.topbar.clean-admin-header{
  min-height:68px!important;
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid #dbe4ef!important;
  box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
  backdrop-filter:saturate(150%) blur(14px)!important;
}
.clean-admin-header .topbar-shell{
  min-height:68px!important;
  padding:8px 18px!important;
}
.header-menu-btn,
.header-icon-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border:1px solid #dbe4ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease!important;
}
.header-menu-btn:hover,
.header-menu-btn:focus-visible,
.header-icon-btn:hover,
.header-icon-btn:focus-visible,
.alerts-menu[open] .header-icon-btn{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
  box-shadow:0 10px 24px rgba(37,99,235,.12)!important;
}
.header-menu-btn .ui-icon,
.header-icon-btn .ui-icon{
  width:20px!important;
  height:20px!important;
}
.header-icon-btn b,
.notification-btn b,
.whats-new-header-btn b{
  top:-5px!important;
  right:-5px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  display:inline-grid!important;
  place-items:center!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  box-shadow:0 6px 12px rgba(220,38,38,.24)!important;
}
.header-breadcrumb{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:6px 10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
}
.header-breadcrumb a{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}
.header-breadcrumb span{
  color:#94a3b8!important;
}
.header-breadcrumb strong{
  min-width:0!important;
  max-width:260px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
}
.clean-admin-header .global-search.header-search{
  height:46px!important;
  min-height:46px!important;
  border:1px solid #cbd8e8!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 24px rgba(15,23,42,.06)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.clean-admin-header .global-search.header-search:focus-within{
  background:#fff!important;
  border-color:#2563eb!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 12px 30px rgba(37,99,235,.12)!important;
}
.clean-admin-header .global-search.header-search > span,
.clean-admin-header .global-search.header-search > .global-search-advanced-trigger{
  color:#2563eb!important;
}
.clean-admin-header .global-search.header-search input{
  color:#0f172a!important;
  font-weight:850!important;
}
.clean-admin-header .global-search.header-search kbd{
  border:1px solid #dbe4ef!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#64748b!important;
  box-shadow:0 1px 0 rgba(15,23,42,.08)!important;
}
.clean-admin-header .search-suggestions{
  top:54px!important;
  border:1px solid #cbd8e8!important;
  border-radius:12px!important;
  box-shadow:0 22px 54px rgba(15,23,42,.18)!important;
}
.clean-admin-header .header-actions{
  gap:8px!important;
}
.clean-user-menu .topbar-user{
  min-height:48px!important;
  border:1px solid #dbe4ef!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.clean-user-menu[open] .topbar-user,
.clean-user-menu .topbar-user:hover,
.clean-user-menu .topbar-user:focus-visible{
  background:#f8fbff!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 28px rgba(37,99,235,.10)!important;
}
.clean-user-menu .topbar-user-copy strong{
  color:#0f172a!important;
  font-weight:950!important;
}
.clean-user-menu .topbar-user-copy span{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
}
.header-user-caret{
  width:8px!important;
  height:8px!important;
  border-right:2px solid #94a3b8!important;
  border-bottom:2px solid #94a3b8!important;
  transform:rotate(45deg)!important;
  margin-right:4px!important;
}
.clean-user-menu[open] .header-user-caret{
  transform:rotate(225deg)!important;
}
.alerts-panel,
.clean-user-menu .user-menu-panel{
  border:1px solid #cbd8e8!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 22px 56px rgba(15,23,42,.18)!important;
}
.alerts-panel-head,
.clean-user-menu .user-menu-head{
  background:#f8fbff!important;
  border-bottom:1px solid #e5edf6!important;
}
.alerts-panel-head strong,
.clean-user-menu .user-menu-head strong{
  color:#0f172a!important;
  font-weight:950!important;
}
.alerts-panel-head span,
.clean-user-menu .user-menu-head span{
  color:#64748b!important;
  font-weight:850!important;
}
.alert-item,
.clean-user-menu .user-menu-panel a,
.clean-user-menu .user-menu-panel > button{
  border-radius:10px!important;
}
.alert-item:hover,
.clean-user-menu .user-menu-panel a:hover,
.clean-user-menu .user-menu-panel > button:hover{
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
body:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(15,31,51,.98),rgba(18,38,63,.98) 56%,rgba(11,23,39,.98)),
    radial-gradient(circle at 30% 0%,rgba(96,165,250,.16),transparent 42%)!important;
}
.sidebar .brand{
  min-height:66px!important;
  display:grid!important;
  align-items:center!important;
}
.sidebar .brand-logo img{
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.20))!important;
}
.sidebar .nav-standalone,
.sidebar .nav-group > summary{
  position:relative!important;
  overflow:hidden!important;
}
.sidebar .nav-standalone.active:before,
.sidebar nav a.active:before,
.sidebar .nav-group[open] > summary:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:10px!important;
  bottom:10px!important;
  width:3px!important;
  border-radius:0 999px 999px 0!important;
  background:#60a5fa!important;
  box-shadow:0 0 18px rgba(96,165,250,.58)!important;
}
.sidebar .nav-group > a,
.sidebar .nav-subgroup > a{
  min-height:38px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:850!important;
}
body.nav-collapsed .sidebar .nav-standalone.active:before,
body.nav-collapsed .sidebar nav a.active:before,
body.nav-collapsed .sidebar .nav-group[open] > summary:before{
  top:12px!important;
  bottom:12px!important;
}
@media(max-width:900px){
  .topbar.clean-admin-header{
    min-height:auto!important;
  }
  .clean-admin-header .topbar-shell{
    min-height:auto!important;
    grid-template-columns:auto 1fr auto!important;
    gap:8px!important;
    padding:8px 10px!important;
  }
  .clean-admin-header .global-search.header-search{
    grid-column:1 / -1!important;
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    order:2!important;
  }
  .header-breadcrumb{
    padding-inline:4px!important;
  }
  .header-breadcrumb a{
    display:none!important;
  }
  .header-breadcrumb strong{
    max-width:42vw!important;
  }
  .header-menu-btn,
  .header-icon-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
  .clean-user-menu .topbar-user{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    min-height:40px!important;
  }
}
@media(max-width:560px){
  .header-breadcrumb strong{
    max-width:36vw!important;
    font-size:13px!important;
  }
  .clean-admin-header .header-actions{
    gap:5px!important;
  }
  .alerts-panel,
  .clean-user-menu .user-menu-panel{
    right:8px!important;
    width:calc(100vw - 16px)!important;
  }
}

/* Responsive shell correction: keep the app header visible on phone-sized desktop views. */
@media(max-width:900px){
  body:not(.student-shell) .layout{
    display:block!important;
  }
  body:not(.student-shell) .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    padding:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    z-index:60!important;
    border-right:1px solid rgba(148,163,184,.18)!important;
    border-bottom:0!important;
  }
  body:not(.student-shell) .sidebar .brand{
    display:none!important;
  }
  body:not(.student-shell) .grouped-sidebar-nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    grid-template-columns:none!important;
    gap:8px!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
    padding:0!important;
  }
  body:not(.student-shell) .sidebar .nav-standalone,
  body:not(.student-shell) .sidebar .nav-group > summary{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    border-radius:15px!important;
  }
  body:not(.student-shell) .sidebar .nav-standalone span,
  body:not(.student-shell) .sidebar .nav-group > summary span,
  body:not(.student-shell) .sidebar .nav-standalone b,
  body:not(.student-shell) .sidebar .nav-group > summary b,
  body:not(.student-shell) .sidebar .nav-group > a,
  body:not(.student-shell) .sidebar .nav-subgroup{
    display:none!important;
  }
  body:not(.student-shell) .sidebar .nav-standalone .ui-icon,
  body:not(.student-shell) .sidebar .nav-group > summary > .ui-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    padding:8px!important;
    margin:0!important;
    flex:0 0 36px!important;
  }
  body:not(.student-shell) .main{
    margin-left:72px!important;
    width:calc(100% - 72px)!important;
    max-width:calc(100% - 72px)!important;
    min-width:0!important;
  }
  body:not(.student-shell) .clean-admin-header .topbar-shell{
    width:100%!important;
  }
  body:not(.student-shell) .clean-user-menu .topbar-user{
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    list-style:none!important;
    position:relative!important;
  }
  body:not(.student-shell) .clean-user-menu .topbar-user::marker{
    content:""!important;
  }
  body:not(.student-shell) .clean-user-menu .topbar-user::-webkit-details-marker{
    display:none!important;
  }
  body:not(.student-shell) .clean-user-menu .topbar-user .avatar{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    flex:0 0 32px!important;
  }
  body:not(.student-shell) .clean-user-menu .topbar-user-copy,
  body:not(.student-shell) .clean-user-menu .header-user-caret{
    display:none!important;
  }
  body:not(.student-shell) .clean-admin-header .header-actions{
    gap:5px!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }
}

/* Header shell flattening: avoid the whole header reading as a rounded white card. */
.topbar.clean-admin-header{
  background:transparent!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.clean-admin-header .topbar-shell{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Asset detail facelift: calmer summary cards, clearer identity, and tighter action ergonomics. */
.asset-design3-shell{
  align-items:stretch!important;
  gap:14px!important;
}
.asset-d3-main-card,
.asset-d3-info-card{
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
.asset-d3-main-card{
  position:relative!important;
  overflow:hidden!important;
  padding:18px!important;
}
.asset-d3-main-card:before{
  content:none!important;
  display:none!important;
}
.asset-d3-visual{
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  height:190px!important;
  min-height:190px!important;
}
.asset-d3-visual img{
  max-width:154px!important;
  max-height:118px!important;
  filter:drop-shadow(0 12px 18px rgba(15,23,42,.14))!important;
}
body .asset-design3-shell .asset-d3-main-card .asset-d3-visual{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  height:190px!important;
  min-height:190px!important;
}
body .asset-design3-shell .asset-d3-main-card .asset-d3-visual img{
  max-width:154px!important;
  max-height:118px!important;
}
.asset-barcode-label{
  border:1px solid #dbe7f5!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.asset-barcode-label .asset-detail-qr-code{
  display:block!important;
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  margin:5px auto 2px!important;
  padding:2px!important;
  border:1px solid #e5edf7!important;
  border-radius:4px!important;
  background:#fff!important;
  opacity:.82!important;
  object-fit:contain!important;
  filter:none!important;
  transform:none!important;
}
.asset-barcode-label .asset-detail-qr-code:hover{
  opacity:1!important;
}
.asset-d3-copy{
  min-width:0!important;
}
.asset-d3-title-row{
  margin-bottom:8px!important;
}
.asset-d3-title-row h1{
  color:#0f172a!important;
  font-weight:950!important;
  letter-spacing:0!important;
}
.asset-status-actions{
  gap:8px!important;
  align-items:center!important;
}
.asset-status-corner,
.asset-d3-chips span,
.asset-d3-chips a{
  min-height:28px!important;
  align-items:center!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.asset-identity-lines{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin:14px 0 10px!important;
}
.asset-identity-lines div{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  border:1px solid #e1e9f4!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:8px 10px!important;
}
.asset-identity-lines span{
  display:block!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.asset-identity-lines b{
  display:block!important;
  margin-top:0!important;
  color:#172033!important;
  font-size:12px!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.asset-checkout-block-notice{
  border:1px solid #fecaca!important;
  border-radius:8px!important;
  background:#fff7f7!important;
  padding:11px 12px!important;
  color:#991b1b!important;
}
.asset-checkout-block-notice b{
  color:#991b1b!important;
}
.asset-out-repair-pill{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#9a3412!important;
}
.asset-vendor-out-inline{
  display:inline-flex!important;
  margin-top:6px!important;
  gap:5px!important;
}
.asset-vendor-out-inline .ui-icon{
  width:12px!important;
  height:12px!important;
}
.refined-asset-actions.asset-hero-icon-actions{
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid #e5edf6!important;
  gap:9px!important;
  align-items:center!important;
}
.asset-hero-icon-btn{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:8px!important;
  border:1px solid #d8e3f1!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:0 8px 18px rgba(15,23,42,.07)!important;
}
.asset-hero-icon-btn:hover,
.asset-hero-icon-btn:focus-visible{
  transform:none!important;
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
  box-shadow:0 10px 22px rgba(37,99,235,.12)!important;
}
.asset-hero-checkout-btn:not(:disabled){
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
}
.asset-hero-checkout-btn:not(:disabled):hover{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}
.asset-hero-delete-btn{
  color:#b91c1c!important;
  background:#fff7f7!important;
  border-color:#fecaca!important;
}
.asset-hero-delete-btn:hover,
.asset-hero-delete-btn:focus-visible{
  background:#fee2e2!important;
  border-color:#fca5a5!important;
  color:#991b1b!important;
}
.asset-d3-info-card{
  padding:16px!important;
}
.asset-d3-card-title{
  min-height:42px!important;
  padding-bottom:12px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid #e5edf6!important;
}
.asset-d3-card-title h3{
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:950!important;
}
.repair-evidence-editor-modal{
  width:min(1080px,calc(100vw - 28px))!important;
  height:min(92vh,860px)!important;
  max-height:calc(100vh - 28px)!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.repair-evidence-editor-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:12px 0;
  border-bottom:1px solid #e2e8f0;
}
.repair-evidence-editor-toolbar .btn.active{
  background:#172033!important;
  border-color:#172033!important;
  color:#fff!important;
}
.repair-evidence-editor-toolbar label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  color:#475569!important;
  font-size:11px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  width:auto!important;
}
.repair-evidence-editor-toolbar input[type=color]{
  width:40px!important;
  height:34px!important;
  padding:3px!important;
}
.repair-evidence-editor-toolbar select{
  width:auto!important;
  height:34px!important;
  min-width:92px!important;
  padding:5px 8px!important;
}
.repair-evidence-editor-text-label{
  flex:1 1 220px!important;
  min-width:min(100%,220px)!important;
}
.repair-evidence-editor-text-label input{
  height:34px!important;
  min-width:0!important;
}
.repair-evidence-editor-stage{
  min-height:0;
  display:grid;
  place-items:center;
  overflow:auto;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:
    linear-gradient(45deg,#eef2f7 25%,transparent 25%),
    linear-gradient(-45deg,#eef2f7 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#eef2f7 75%),
    linear-gradient(-45deg,transparent 75%,#eef2f7 75%);
  background-color:#f8fafc;
  background-size:22px 22px;
  background-position:0 0,0 11px,11px -11px,-11px 0;
  padding:12px;
}
.repair-evidence-editor-stage canvas{
  display:block;
  max-width:100%;
  max-height:100%;
  background:#fff;
  border:1px solid #cbd5e1;
  box-shadow:0 14px 34px rgba(15,23,42,.16);
  touch-action:none;
}
.d3-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:8px!important;
  background:#eef6ff!important;
  color:#2563eb!important;
}
.warranty-provider-line,
.warranty-mini-graph{
  border:1px solid #e1e9f4!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:12px!important;
}
.warranty-mini-head span,
.warranty-provider-line small{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.warranty-provider-line strong,
.warranty-mini-head b,
.d3-warranty-line strong{
  color:#0f172a!important;
}
.d3-progress{
  height:8px!important;
  border-radius:999px!important;
  background:#e8eef6!important;
}
.d3-progress span{
  border-radius:999px!important;
  background:linear-gradient(90deg,#2563eb,#14b8a6)!important;
}
.assignment-d3-card{
  display:flex!important;
  flex-direction:column!important;
}
.assignment-history-link{
  border:1px solid #d8e3f1!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#2563eb!important;
  font-size:11px!important;
  font-weight:900!important;
  padding:5px 9px!important;
}
.assignment-clean-person,
.assignment-clean-static{
  width:100%!important;
  border:1px solid #e1e9f4!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:12px!important;
}
.assignment-clean-person .avatar{
  box-shadow:0 8px 18px rgba(15,23,42,.10)!important;
}
.assignment-name-label{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.assignment-clean-copy h2{
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1.15!important;
}
.assignment-detail-list p{
  color:#475569!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.assignment-detail-list p span{
  color:#64748b!important;
  font-weight:950!important;
}
.icon-tabs{
  min-height:62px!important;
  padding:10px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.icon-tabs a{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  color:#475569!important;
}
.icon-tabs a:hover{
  background:#fff!important;
  border-color:#dbe7f5!important;
  color:#2563eb!important;
}
.icon-tabs a.active{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.22)!important;
}
.icon-tabs a b{
  top:2px!important;
  right:2px!important;
  border:2px solid #f8fbff!important;
}
@media(max-width:1180px){
  .asset-design3-shell{
    grid-template-columns:1fr!important;
  }
  .asset-d3-main-card{
    grid-template-columns:150px minmax(0,1fr)!important;
  }
}
@media(max-width:760px){
  .asset-d3-main-card{
    grid-template-columns:1fr!important;
  }
  .asset-d3-visual{
    width:100%!important;
    min-height:170px!important;
  }
  .asset-identity-lines{
    grid-template-columns:1fr!important;
  }
  .refined-asset-actions.asset-hero-icon-actions{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(46px,1fr))!important;
  }
  .asset-hero-icon-btn{
    width:100%!important;
  }
  .icon-tabs{
    overflow:auto!important;
    justify-content:flex-start!important;
  }
}

body .asset-design3-shell .asset-d3-main-card .asset-identity-lines{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:start!important;
  gap:8px!important;
}
body .asset-design3-shell .asset-d3-main-card .asset-identity-lines div{
  width:min(100%,260px)!important;
  max-width:min(100%,260px)!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:8px!important;
  padding:7px 10px!important;
}
body .asset-design3-shell .asset-d3-main-card .asset-identity-lines b{
  white-space:nowrap!important;
  overflow-wrap:anywhere!important;
}
body .tabs.icon-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin!important;
}
body .tabs.icon-tabs a{
  flex:0 0 44px!important;
}

/* Final asset image override: no frame, larger product image. */
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-visual{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  height:260px!important;
  min-height:260px!important;
  display:grid!important;
  grid-template-rows:136px auto!important;
  align-content:center!important;
  align-items:center!important;
  justify-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  overflow:visible!important;
  text-align:center!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-visual > img{
  max-width:154px!important;
  max-height:118px!important;
  display:block!important;
  margin:0 auto!important;
  mix-blend-mode:multiply!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button{
  width:min(170px,100%)!important;
  height:136px!important;
  max-width:100%!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button img{
  width:auto!important;
  height:auto!important;
  max-width:154px!important;
  max-height:118px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
  mix-blend-mode:multiply!important;
  transform:none!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-barcode-label{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  margin:0 auto!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-visual .asset-barcode-label img.asset-detail-qr-code{
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  filter:none!important;
  transform:none!important;
}

/* Events module */
.events-shell{
  display:grid;
  gap:16px;
}
.events-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  border:1px solid #d8e3f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  padding:20px;
}
.events-hero h1{
  margin:3px 0 6px;
  font-size:30px;
}
.events-hero p{
  margin:0;
  color:#64748b;
  max-width:720px;
}
.events-hero-actions,
.events-section-actions,
.event-action-rail{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.events-calendar-header-actions{
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
  gap:7px;
  padding-top:1px;
}
.events-calendar-nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.events-metrics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.events-metrics>div{
  position:relative;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  padding:13px 13px 12px 52px;
  display:grid;
  gap:4px;
  min-width:0;
  overflow:hidden;
}
.events-metric-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--metric-tone,#2563eb);
}
.events-metric-icon{
  position:absolute;
  left:13px;
  top:14px;
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  color:var(--metric-tone,#2563eb);
  background:color-mix(in srgb,var(--metric-tone,#2563eb) 10%,#fff);
  border:1px solid color-mix(in srgb,var(--metric-tone,#2563eb) 22%,#dbe5f2);
}
.events-metric-icon .ui-icon{
  width:16px;
  height:16px;
  stroke-width:2.4;
}
.events-metric-card.tone-blue{--metric-tone:#2563eb;}
.events-metric-card.tone-amber{--metric-tone:#d97706;}
.events-metric-card.tone-green{--metric-tone:#15803d;}
.events-metric-card.tone-red{--metric-tone:#dc2626;}
.events-metric-card.tone-slate{--metric-tone:#475569;}
.events-metric-card:hover{
  border-color:color-mix(in srgb,var(--metric-tone,#2563eb) 35%,#dbe5f2);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.events-metrics small,
.events-section-head p,
.events-room-card small,
.events-work-card small{
  color:#64748b;
}
.events-metrics small{
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-metrics b{
  color:#0f172a;
  font-size:27px;
  line-height:1;
}
.events-metrics>div>span:not(.events-metric-icon){
  color:#53657f;
  font-size:12px;
  font-weight:800;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:1280px){
  .events-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .events-metrics{
    grid-template-columns:1fr;
  }
}
.events-search-panel{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(150px,1fr)) auto;
  gap:10px;
  align-items:end;
  border:1px solid #d8e3f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  padding:12px;
}
.events-search-panel label,
.events-public-lookup label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-search-panel input,
.events-search-panel select,
.events-public-lookup input{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 9px;
  font-size:13px;
}
.events-search-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.events-tabs{
  display:flex;
  gap:7px;
  overflow:auto;
  border:1px solid #d8e3f1;
  border-radius:8px;
  background:linear-gradient(180deg,#fff 0%,#f6f9fd 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  padding:8px;
  scrollbar-width:thin;
}
.events-tabs button,
.events-tabs a{
  --events-tab-color:#2563eb;
  position:relative;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #e2e8f0;
  border-radius:7px;
  background:#fff;
  color:#334155;
  box-shadow:none;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;
}
.events-tabs button[data-events-tab="calendar"],
.events-tabs a[data-events-tab="calendar"]{--events-tab-color:#2563eb;}
.events-tabs button[data-events-tab="my_bookings"],
.events-tabs a[data-events-tab="my_bookings"]{--events-tab-color:#0f766e;}
.events-tabs button[data-events-tab="requests"],
.events-tabs a[data-events-tab="requests"]{--events-tab-color:#7c3aed;}
.events-tabs button[data-events-tab="approvals"],
.events-tabs a[data-events-tab="approvals"]{--events-tab-color:#d97706;}
.events-tabs button[data-events-tab="billing"],
.events-tabs a[data-events-tab="billing"]{--events-tab-color:#b45309;}
.events-tabs button[data-events-tab="public_accounts"],
.events-tabs a[data-events-tab="public_accounts"]{--events-tab-color:#0891b2;}
.events-tabs button[data-events-tab="rooms"],
.events-tabs a[data-events-tab="rooms"]{--events-tab-color:#475569;}
.events-tabs button[data-events-tab="calendars"],
.events-tabs a[data-events-tab="calendars"]{--events-tab-color:#174ea6;}
.events-tabs button[data-events-tab="usage_fees"],
.events-tabs a[data-events-tab="usage_fees"]{--events-tab-color:#be123c;}
.events-tabs button .ui-icon,
.events-tabs a .ui-icon{
  width:16px;
  height:16px;
  flex:0 0 auto;
  color:var(--events-tab-color);
  stroke-width:2.4;
}
.events-tabs button:before,
.events-tabs a:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  border-radius:999px;
  background:transparent;
}
.events-tabs button:hover,
.events-tabs button:focus-visible,
.events-tabs a:hover,
.events-tabs a:focus-visible{
  border-color:color-mix(in srgb,var(--events-tab-color) 28%,#dbe5f2);
  background:color-mix(in srgb,var(--events-tab-color) 5%,#fff);
  color:#172033;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  outline:0;
}
.events-tabs button.active,
.events-tabs a.active{
  background:color-mix(in srgb,var(--events-tab-color) 8%,#fff);
  border-color:color-mix(in srgb,var(--events-tab-color) 44%,#dbe5f2);
  color:#0f172a;
  box-shadow:0 10px 22px color-mix(in srgb,var(--events-tab-color) 14%,transparent);
}
.events-tabs button.active:before,
.events-tabs a.active:before{
  background:var(--events-tab-color);
}
.events-tabs button.active .ui-icon,
.events-tabs a.active .ui-icon{
  color:var(--events-tab-color);
}
.events-tabs button b,
.events-tabs a b{
  min-width:21px;
  min-height:21px;
  border-radius:999px;
  background:color-mix(in srgb,var(--events-tab-color) 12%,#f1f5f9);
  color:var(--events-tab-color);
  border:1px solid color-mix(in srgb,var(--events-tab-color) 24%,#dbe5f2);
  padding:3px 7px;
  display:inline-grid;
  place-items:center;
  font-size:11px;
  line-height:1;
}
.events-tabs button.active b,
.events-tabs a.active b{
  background:var(--events-tab-color);
  border-color:var(--events-tab-color);
  color:#fff;
}
.events-panel{
  display:none;
  border:1px solid #d8e3f1;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  padding:16px;
}
.events-my-booking-tabs{
  justify-content:flex-start;
  margin-bottom:12px;
}
.events-my-booking-list{
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}
.events-my-booking-card{
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.events-my-booking-empty{
  margin-top:12px;
}
.events-panel.active{
  display:block;
}
.events-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.events-section-head h2{
  margin:0 0 4px;
  font-size:21px;
}
.events-section-head p{
  margin:0;
}
.events-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border:1px solid #dbe5f2;
  border-radius:8px;
  overflow:hidden;
}
.events-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}
.events-calendar-legend span,
.events-calendar-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  color:#334155;
  padding:5px 8px;
  font-size:11px;
  font-weight:900;
}
.events-calendar-legend i,
.events-calendar-chip i,
.event-calendar-card b i{
  width:10px;
  height:10px;
  border-radius:999px;
  flex:0 0 auto;
}
.events-public-view-switch{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0;
  width:max-content;
  overflow:hidden;
  border:1px solid #dbe5f2;
  border-radius:9px;
  background:#f8fafc;
  padding:3px;
}
.events-public-view-switch a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#475569;
  padding:7px 12px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  letter-spacing:0;
  box-shadow:none;
}
.events-public-view-switch a .ui-icon,
.events-public-view-switch svg{
  display:none!important;
}
.events-public-view-switch a:before,
.events-public-view-switch a::before{
  display:none!important;
  content:none!important;
}
.events-public-view-switch a:hover,
.events-public-view-switch a.active{
  border-color:#b9cff0;
  background:#fff;
  color:#174ea6;
  box-shadow:0 6px 14px rgba(15,23,42,.07);
}
.events-calendar-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:-4px 0 12px;
}
.events-calendar-toolbar .events-public-view-switch{
  margin:0;
}
.events-calendar-jump,
.events-public-calendar-filter{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.events-calendar-jump label,
.events-public-calendar-filter label{
  display:grid;
  gap:4px;
  color:#334155;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-calendar-jump select,
.events-calendar-jump input,
.events-public-calendar-filter select,
.events-public-calendar-filter input{
  height:34px;
  min-width:112px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:6px 8px;
  font-size:12px;
  font-weight:500;
  text-align:left;
  text-align-last:left;
}
.events-public-calendar-filter{
  justify-content:flex-start;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:10px;
  margin:0 0 12px;
}
form.events-admin-calendar-filter{
  justify-content:flex-end;
  margin-left:auto;
}
.events-public-calendar-filter label{
  min-width:150px;
  text-align:left;
  justify-items:stretch;
}
.events-public-calendar-filter .events-calendar-filter-search{
  flex:1 1 280px;
  min-width:260px;
}
.events-public-calendar-filter .events-calendar-filter-search input{
  min-width:0;
}
.events-public-calendar-filter select.events-filter-native-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.events-filter-select{
  position:relative;
  display:block;
  width:100%;
  min-width:112px;
  color:#172033;
  font-size:12px;
  font-weight:700;
  text-transform:none;
}
.events-filter-select-button{
  width:100%;
  height:34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  justify-content:stretch;
  justify-items:start;
  gap:8px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:6px 8px;
  font:inherit;
  line-height:1;
  text-align:left;
  cursor:pointer;
}
.events-filter-select-button span{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  text-align:left;
}
.events-filter-select-button i{
  width:7px;
  height:7px;
  border-right:2px solid #64748b;
  border-bottom:2px solid #64748b;
  transform:rotate(45deg) translateY(-2px);
  flex:0 0 auto;
}
.events-filter-select.open .events-filter-select-button{
  border-color:#8bb4f6;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.events-filter-select-menu{
  position:absolute;
  left:0;
  top:calc(100% + 6px);
  z-index:10060;
  width:max(100%, 190px);
  max-height:270px;
  overflow:auto;
  border:1px solid #cbd8ea;
  border-radius:9px;
  background:#fff;
  padding:4px;
  box-shadow:0 16px 36px rgba(15,23,42,.16);
}
.events-filter-select-menu[hidden]{
  display:none!important;
}
.events-filter-select-menu button{
  width:100%;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#263348;
  padding:8px 10px;
  text-align:left;
  text-align-last:left;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
  box-shadow:none;
}
.events-filter-select-menu button:hover,
.events-filter-select-menu button:focus-visible{
  background:#edf4ff;
  color:#174ea6;
  outline:0;
}
.events-filter-select-menu button.selected{
  background:#e6f0ff;
  color:#174ea6;
}
.events-calendar-weekday{
  min-height:34px;
  display:grid;
  place-items:center;
  background:#f8fafc;
  color:#475569;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  border-right:1px solid #dbe5f2;
  border-bottom:1px solid #dbe5f2;
}
.events-calendar-weekday:nth-child(7){
  border-right:0;
}
.events-calendar-day{
  min-height:148px;
  padding:8px;
  border-right:1px solid #e4ebf5;
  border-bottom:1px solid #e4ebf5;
  background:#fff;
  display:grid;
  align-content:start;
  gap:5px;
}
.events-calendar-create-day{
  cursor:pointer;
  position:relative;
}
.events-calendar-create-day:hover{
  background:#f8fbff;
}
.events-calendar-create-day:focus{
  outline:2px solid #93c5fd;
  outline-offset:-3px;
}
.events-calendar-day:nth-child(7n){
  border-right:0;
}
.events-calendar-grid.public .events-calendar-day{
  min-height:170px;
}
.events-calendar-day strong{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  font-size:12px;
  color:#334155;
}
.events-calendar-day.is-today{
  background:#eff6ff;
  box-shadow:inset 0 0 0 2px #2563eb;
}
.events-calendar-day.is-today strong > span{
  min-width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#174ea6;
  color:#fff;
  padding:0 8px;
  box-shadow:0 8px 18px rgba(23,78,166,.18);
}
.events-calendar-add-btn{
  width:24px;
  height:24px;
  min-width:24px;
  min-height:24px;
  border:1px solid #cbd8ea;
  border-radius:999px;
  background:#fff;
  color:#174ea6;
  display:grid;
  place-items:center;
  padding:0;
  box-shadow:0 6px 14px rgba(15,23,42,.08);
  opacity:.72;
}
.events-calendar-add-btn:hover,
.events-calendar-create-day:hover .events-calendar-add-btn{
  opacity:1;
  border-color:#93b4e8;
  background:#eef6ff;
}
.events-calendar-add-btn .ui-icon{
  width:14px;
  height:14px;
}
.events-calendar-day.muted-day{
  background:#f8fafc;
}
.events-week-grid{
  grid-template-columns:repeat(7,minmax(150px,1fr));
  overflow:auto;
}
.events-week-grid .events-calendar-day{
  min-height:360px;
}
.events-calendar-item{
  width:100%;
  min-height:42px;
  border:1px solid color-mix(in srgb,var(--event-color,#2563eb) 32%,#dbe5f2);
  border-left:4px solid var(--event-color,#2563eb);
  border-radius:7px;
  background:color-mix(in srgb,var(--event-color,#2563eb) 13%,#fff);
  color:#172033;
  box-shadow:none;
  padding:7px 8px;
  text-align:left;
  display:grid;
  align-content:start;
  align-items:start;
  justify-content:stretch;
  justify-items:start;
  gap:1px;
}
button.events-calendar-item{
  display:grid!important;
  align-content:start!important;
  align-items:start!important;
  justify-content:stretch!important;
  justify-items:start!important;
  text-align:left!important;
}
.events-calendar-item.ok{
  border-left-color:var(--event-color,#168957);
  background:color-mix(in srgb,var(--event-color,#168957) 13%,#fff);
}
.events-calendar-item.warn{
  border-left-color:var(--event-color,#c98210);
  background:color-mix(in srgb,var(--event-color,#c98210) 13%,#fff);
}
.events-calendar-item.bad{
  border-left-color:var(--event-color,#d94752);
  background:color-mix(in srgb,var(--event-color,#d94752) 13%,#fff);
}
.events-calendar-item:hover,
.events-calendar-item:focus-visible{
  border-color:color-mix(in srgb,var(--event-color,#2563eb) 52%,#dbe5f2);
  background:color-mix(in srgb,var(--event-color,#2563eb) 19%,#fff);
  outline:none;
}
.events-public-calendar-click{
  cursor:pointer;
}
.events-public-calendar-click:focus-visible{
  outline:3px solid rgba(37,99,235,.18);
  outline-offset:2px;
}
.events-calendar-item span,
.events-calendar-item small{
  font-size:10px;
  color:#334155;
  font-weight:900;
}
.events-calendar-item b{
  font-size:12px;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
}
.events-calendar-more{
  width:100%;
  min-height:30px;
  border:1px dashed #b9c7dc;
  border-radius:7px;
  background:#fff;
  color:#174ea6;
  box-shadow:none;
  padding:5px 8px;
  font-size:11px;
  font-weight:950;
  text-align:center;
}
.events-calendar-more:hover,
.events-calendar-more:focus-visible{
  border-style:solid;
  border-color:#93b4e8;
  background:#eef6ff;
  outline:none;
}
.events-event-hover-card{
  position:fixed;
  z-index:5000;
  width:min(360px,calc(100vw - 24px));
  border:1px solid color-mix(in srgb,var(--event-color,#2563eb) 36%,#dbe5f2);
  border-top:5px solid var(--event-color,#2563eb);
  border-radius:14px;
  background:#fff;
  box-shadow:0 22px 48px rgba(15,23,42,.24);
  padding:10px;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:12px;
  opacity:0;
  transform:translateY(5px) scale(.98);
  pointer-events:none;
  transition:opacity .12s ease, transform .12s ease;
}
.events-event-hover-card.open{
  opacity:1;
  transform:translateY(0) scale(1);
}
.events-event-hover-media{
  width:112px;
  aspect-ratio:4/3;
  align-self:start;
  border-radius:10px;
  background:linear-gradient(135deg,#eaf3ff,#f8fafc);
  overflow:hidden;
  display:grid;
  place-items:center;
}
.events-event-hover-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.events-event-hover-media span{
  width:44px;
  height:44px;
  border-radius:12px;
  background:#fff;
  color:#174ea6;
  display:grid;
  place-items:center;
  box-shadow:0 10px 20px rgba(15,23,42,.1);
}
.events-event-hover-copy{
  min-width:0;
  display:grid;
  align-content:start;
  gap:4px;
}
.events-event-hover-copy small{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:color-mix(in srgb,var(--event-color,#2563eb) 14%,#fff);
  color:color-mix(in srgb,var(--event-color,#2563eb) 78%,#0f172a);
  padding:3px 8px;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-event-hover-copy b{
  color:#172033;
  font-size:15px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.events-event-hover-copy p,
.events-event-hover-copy em{
  margin:0;
  color:#475569;
  font-size:12px;
  font-style:normal;
  font-weight:650;
  line-height:1.3;
}
.events-event-hover-copy .time{
  color:#0f172a;
  font-weight:900;
}
.events-event-hover-copy .note{
  margin-top:3px;
  color:#64748b;
  font-size:11px;
  font-weight:600;
}
.events-public-calendar-card{
  padding:0!important;
  overflow:hidden;
  order:10;
}
.events-public-calendar-card:has(.events-filter-select.open){
  overflow:visible;
}
.events-public-calendar-card>.events-section-head{
  margin:0;
  padding:18px 18px 14px;
  border-bottom:0;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:start;
  gap:18px;
}
.events-public-calendar-card>.events-section-head h2{
  font-size:30px;
  letter-spacing:0;
  line-height:1.1;
}
.events-public-calendar-card>.events-section-head p{
  color:#64748b;
  font-weight:750;
}
.events-public-calendar-title-copy{
  min-width:0;
  display:grid;
  gap:7px;
  align-content:start;
  justify-items:start;
}
.events-public-calendar-title-copy p{
  margin:0;
}
.events-public-calendar-card .events-section-actions{
  align-items:flex-end;
  justify-self:end;
  width:max-content;
  max-width:100%;
}
.events-public-calendar-card .events-section-actions .btn{
  min-height:36px;
  border-radius:9px;
}
.events-public-calendar-card .events-public-view-switch{
  margin:0;
  width:auto;
  border-color:var(--public-calendar-tone-line,#cfdcee);
  border-radius:11px;
  background:var(--public-calendar-tone-soft,#eef4fb);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.events-public-calendar-card .events-public-view-switch a{
  min-width:82px;
  min-height:38px;
  color:#334155;
}
.events-public-calendar-card .events-public-view-switch a.active{
  border-color:var(--public-calendar-tone-border,#9bbbe9);
  background:#fff;
  color:var(--public-calendar-tone,#174ea6);
  box-shadow:0 8px 18px var(--public-calendar-tone-shadow,rgba(23,78,166,.12));
}
.events-public-calendar-frame{
  margin:0 18px 18px;
  border:1px solid #cfdcee;
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.09);
  overflow:hidden;
}
.events-public-calendar-filterbar{
  padding:10px 12px;
  border-bottom:1px solid #dbe5f2;
  background:#f8fafc;
}
.events-public-calendar-card .events-public-calendar-filter{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  justify-content:flex-end;
  align-items:end;
  width:max-content;
  max-width:100%;
  margin-left:auto;
}
.events-public-calendar-card .events-public-calendar-filter label{
  min-width:0;
  width:122px;
  color:#475569;
}
.events-public-calendar-card .events-public-calendar-filter label:has(select[name="year"]){
  width:104px;
}
.events-public-calendar-card .events-public-calendar-filter label:has(select[name="calendar_id"]),
.events-public-calendar-card .events-public-calendar-filter label:has(select[name="room_id"]){
  width:160px;
}
.events-public-calendar-card .events-public-calendar-filter label:has(input[name="date"]),
.events-public-calendar-card .events-public-calendar-filter label:has(select[name="event_type"]){
  width:150px;
}
.events-public-calendar-card .events-public-calendar-filter select,
.events-public-calendar-card .events-public-calendar-filter input{
  border-color:#cbd8ea;
  border-radius:9px;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.events-public-calendar-card .events-public-calendar-filter .btn{
  flex:0 0 auto;
}
.events-public-room-preview{
  margin:0;
  padding:12px;
  border-bottom:1px solid #dbe5f2;
  background:linear-gradient(135deg,#f8fbff,#fff);
  display:grid;
  grid-template-columns:86px minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
}
.events-public-room-preview img,
.events-public-room-preview>span{
  width:86px;
  height:66px;
  border-radius:10px;
  border:1px solid #dbe5f2;
  background:#eef6ff;
  object-fit:cover;
}
.events-public-room-preview>span{
  display:grid;
  place-items:center;
  color:#174ea6;
}
.events-public-room-preview small,
.events-public-room-preview b,
.events-public-room-preview p{
  display:block;
}
.events-public-room-preview small{
  color:#174ea6;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-room-preview b{
  color:#172033;
  font-size:16px;
}
.events-public-room-preview p{
  margin:3px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:650;
}
.events-public-calendar-card .events-calendar-legend{
  margin:0;
  padding:10px 12px;
  border-bottom:1px solid #dbe5f2;
  background:#fff;
}
.events-public-calendar-card .events-calendar-legend span{
  background:#f8fafc;
  border-color:#dbe5f2;
  color:#334155;
}
.events-public-calendar-card .events-calendar-grid.public{
  border:0;
  border-radius:0;
}
.events-public-calendar-card .events-calendar-weekday{
  min-height:42px;
  background:var(--public-calendar-tone-soft,#f1f6fd);
  color:var(--public-calendar-tone-text,#334155);
  letter-spacing:.02em;
}
.events-public-calendar-card .events-calendar-day{
  min-height:184px;
  padding:9px;
  gap:6px;
  background:#fff;
  transition:background .16s ease, box-shadow .16s ease;
}
.events-public-calendar-card .events-calendar-day.is-weekend{
  background:#fbfdff;
}
.events-public-calendar-card .events-calendar-day.is-past{
  background:#f8fafc;
}
.events-public-calendar-card .events-calendar-day.is-today{
  background:var(--public-calendar-tone-soft,#f0f7ff);
  box-shadow:inset 0 0 0 2px var(--public-calendar-tone-border,#60a5fa);
}
.events-public-calendar-card .events-calendar-day.is-today strong span{
  min-width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:var(--public-calendar-tone,#174ea6);
  color:#fff;
}
.events-public-calendar-card .events-calendar-day strong em{
  margin-left:auto;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fafc;
  color:#64748b;
  padding:3px 7px;
  font-size:9px;
  font-style:normal;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-calendar-card .events-calendar-day.availability-open strong em{
  border-color:#bbf7d0;
  background:#ecfdf3;
  color:#166534;
}
.events-public-calendar-card .events-calendar-day.availability-light strong em{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#174ea6;
}
.events-public-calendar-card .events-calendar-day.availability-medium strong em{
  border-color:#fde68a;
  background:#fff8db;
  color:#854d0e;
}
.events-public-calendar-card .events-calendar-day.availability-busy strong em{
  border-color:#fecaca;
  background:#fff1f2;
  color:#991b1b;
}
.events-public-calendar-card .events-calendar-day.availability-open{
  --availability-color:#22c55e;
  box-shadow:inset 0 4px 0 #22c55e;
}
.events-public-calendar-card .events-calendar-day.availability-light{
  --availability-color:#60a5fa;
  box-shadow:inset 0 4px 0 #60a5fa;
}
.events-public-calendar-card .events-calendar-day.availability-medium{
  --availability-color:#f59e0b;
  box-shadow:inset 0 4px 0 #f59e0b;
}
.events-public-calendar-card .events-calendar-day.availability-busy{
  --availability-color:#ef4444;
  box-shadow:inset 0 4px 0 #ef4444;
}
.events-public-calendar-card .events-calendar-day.is-today.availability-open,
.events-public-calendar-card .events-calendar-day.is-today.availability-light,
.events-public-calendar-card .events-calendar-day.is-today.availability-medium,
.events-public-calendar-card .events-calendar-day.is-today.availability-busy{
  box-shadow:inset 0 0 0 2px var(--public-calendar-tone-border,#60a5fa),inset 0 4px 0 var(--availability-color,#60a5fa);
}
.events-public-calendar-card .events-calendar-create-day:hover{
  background:#eef7ff;
}
.events-public-calendar-card .events-calendar-add-btn{
  opacity:0;
  transform:scale(.92);
  transition:opacity .16s ease, transform .16s ease, background .16s ease;
}
.events-public-calendar-card .events-calendar-create-day:hover .events-calendar-add-btn,
.events-public-calendar-card .events-calendar-create-day:focus-within .events-calendar-add-btn{
  opacity:1;
  transform:scale(1);
}
.events-public-calendar-card .events-calendar-item{
  min-height:46px;
  border:1px solid color-mix(in srgb,var(--event-color,#2563eb) 78%,#1f2937);
  border-left:0;
  border-radius:8px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--event-color,#2563eb) 92%,#ffffff) 0%,var(--event-color,#2563eb) 100%);
  color:#fff;
  box-shadow:0 8px 16px rgba(15,23,42,.13);
}
.events-public-calendar-card .events-calendar-item.ok,
.events-public-calendar-card .events-calendar-item.warn,
.events-public-calendar-card .events-calendar-item.bad{
  border-left:0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--event-color,#2563eb) 92%,#ffffff) 0%,var(--event-color,#2563eb) 100%);
}
.events-public-calendar-card .events-calendar-item:hover,
.events-public-calendar-card .events-calendar-item:focus-visible{
  background:linear-gradient(180deg,color-mix(in srgb,var(--event-color,#2563eb) 82%,#ffffff) 0%,color-mix(in srgb,var(--event-color,#2563eb) 88%,#111827) 100%);
  box-shadow:0 10px 20px rgba(15,23,42,.18);
}
.events-public-calendar-card .events-calendar-item span,
.events-public-calendar-card .events-calendar-item small,
.events-public-calendar-card .events-calendar-item b{
  width:100%;
  color:#fff;
  text-align:left;
  text-shadow:0 1px 1px rgba(15,23,42,.2);
}
.events-public-calendar-card .events-calendar-item span,
.events-public-calendar-card .events-calendar-item small{
  color:rgba(255,255,255,.86);
}
.events-public-calendar-card .events-calendar-more{
  border-color:#b8c9df;
  background:#f8fbff;
  color:#174ea6;
  text-align:left;
}
.events-public-calendar-card .events-calendar-more:hover,
.events-public-calendar-card .events-calendar-more:focus-visible{
  background:#e8f2ff;
}
.events-public-calendar-card .events-schedule-view.public,
.events-public-calendar-card .events-public-agenda{
  margin:0;
  padding:12px;
  background:#f8fafc;
}
.events-public-calendar-card .events-schedule-stage{
  background:#fff;
  border-color:#cfdcee;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.events-public-calendar-card .events-public-agenda-item{
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.events-public-calendar-card .events-public-agenda-item:hover,
.events-public-calendar-card .events-public-agenda-item:focus-visible{
  box-shadow:0 12px 24px rgba(15,23,42,.1);
}
.events-public-density-compact .events-public-calendar-card>.events-section-head{
  padding:14px 16px 11px;
}
.events-public-density-compact .events-public-calendar-frame{
  margin:0 16px 16px;
}
.events-public-density-compact .events-public-calendar-card .events-calendar-day{
  min-height:142px;
  padding:7px;
  gap:5px;
}
.events-public-density-compact .events-public-calendar-card .events-calendar-item{
  min-height:36px;
  padding:5px 7px;
  gap:1px;
}
.events-public-density-compact .events-public-calendar-card .events-calendar-item small{
  display:none;
}
.events-public-density-compact .events-public-calendar-card .events-public-calendar-filter label{
  min-width:124px;
}
.events-public-density-compact .events-public-agenda-item{
  padding:9px 11px;
}
.modal.event-day-overlay-modal{
  width:min(940px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  min-height:min(520px,calc(100vh - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  overflow:hidden!important;
  padding:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.event-day-overlay-head{
  margin:0!important;
  padding:18px!important;
  border-bottom:1px solid #dbe5f2;
}
.modal.event-day-overlay-modal .event-day-overlay-body{
  display:grid;
  gap:9px;
  min-height:260px;
  align-content:start;
  padding:14px;
  overflow:auto;
  background:#f8fafc;
}
.modal.event-day-overlay-modal .event-day-overlay-row{
  min-height:68px;
  width:100%;
  border:1px solid color-mix(in srgb,var(--event-color,#2563eb) 34%,#dbe5f2);
  border-left:5px solid var(--event-color,#2563eb);
  border-radius:8px;
  background:color-mix(in srgb,var(--event-color,#2563eb) 12%,#fff);
  color:#172033;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  display:grid!important;
  align-content:center!important;
  align-items:center!important;
  justify-content:stretch!important;
  justify-items:start!important;
  gap:2px;
  padding:10px 12px;
  text-align:left!important;
}
.modal.event-day-overlay-modal .event-day-overlay-row:hover,
.modal.event-day-overlay-modal .event-day-overlay-row:focus-visible{
  border-color:color-mix(in srgb,var(--event-color,#2563eb) 54%,#dbe5f2);
  background:color-mix(in srgb,var(--event-color,#2563eb) 18%,#fff);
  outline:none;
}
.modal.event-day-overlay-modal .event-day-overlay-row span,
.modal.event-day-overlay-modal .event-day-overlay-row small{
  width:100%;
  color:#475569;
  font-size:11px;
  font-weight:850;
  text-align:left!important;
}
.modal.event-day-overlay-modal .event-day-overlay-row b{
  width:100%;
  color:#0f172a;
  font-size:14px;
  text-align:left!important;
}
.modal.event-day-overlay-modal .modal-actions{
  min-height:58px!important;
  margin:0!important;
  padding:12px 14px!important;
  border-top:1px solid #dbe5f2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}
.events-public-agenda{
  display:grid;
  gap:10px;
}
.events-public-agenda-item{
  width:100%;
  border:1px solid #dbe5f2;
  border-left:5px solid var(--event-color,#2563eb);
  border-radius:8px;
  background:#fbfdff;
  color:#172033;
  padding:10px;
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  text-align:left;
  box-shadow:none;
}
.events-public-agenda-item:hover,
.events-public-agenda-item:focus-visible{
  border-color:color-mix(in srgb,var(--event-color,#2563eb) 42%,#dbe5f2);
  background:color-mix(in srgb,var(--event-color,#2563eb) 9%,#fff);
  outline:none;
}
.events-public-agenda-item time{
  display:grid;
  gap:2px;
}
.events-public-agenda-item time b,
.events-public-agenda-item div b{
  color:#172033;
}
.events-public-agenda-item time small,
.events-public-agenda-item div span,
.events-public-agenda-item div small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.events-public-agenda-item div{
  min-width:0;
  display:grid;
  gap:2px;
}
.events-public-agenda-item div b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-public-agenda-item em{
  border-radius:999px;
  background:#eef6ff;
  color:#174ea6;
  padding:5px 9px;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.events-admin-agenda-item{
  width:100%;
  border-top:1px solid #dbe5f2;
  border-right:1px solid #dbe5f2;
  border-bottom:1px solid #dbe5f2;
  box-shadow:none;
  cursor:pointer;
  text-align:left;
}
.events-admin-agenda-item:hover,
.events-admin-agenda-item:focus-visible{
  background:#f8fbff;
  border-color:#b9cff0;
  outline:none;
}
.events-schedule-view{
  --events-hour-height:72px;
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  border:1px solid #dbe5f2;
  border-radius:9px;
  background:#fff;
  overflow:hidden;
}
.events-schedule-times{
  border-right:1px solid #dbe5f2;
  background:#f8fafc;
}
.events-schedule-times div{
  height:var(--events-hour-height);
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  padding:8px 10px 0 6px;
  border-bottom:1px solid #e5edf7;
  color:#475569;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.events-schedule-stage{
  position:relative;
  min-height:calc(var(--events-hour-height) * 18);
  background:
    repeating-linear-gradient(to bottom,#fff 0,#fff calc(var(--events-hour-height) - 1px),#e5edf7 calc(var(--events-hour-height) - 1px),#e5edf7 var(--events-hour-height)),
    linear-gradient(to right,rgba(37,99,235,.035),transparent 34%);
}
.events-schedule-block{
  position:absolute;
  left:var(--event-left,14px);
  right:auto;
  width:var(--event-width,calc(100% - 28px));
  top:var(--event-top,0);
  height:var(--event-height,4%);
  min-height:46px;
  z-index:3;
  border:1px solid #dbe5f2;
  border-left:5px solid var(--event-color,#2563eb);
  border-radius:8px;
  background:#fff;
  color:#172033;
  box-shadow:0 12px 28px rgba(15,23,42,.10);
  padding:8px 10px;
  display:grid;
  align-content:start;
  align-items:start;
  justify-content:stretch;
  justify-items:start;
  gap:2px;
  text-align:left;
  overflow:hidden;
}
button.events-schedule-block{
  display:grid!important;
  align-content:start!important;
  align-items:start!important;
  justify-content:stretch!important;
  justify-items:start!important;
  text-align:left!important;
  gap:2px!important;
}
.events-schedule-block:hover,
.events-schedule-block:focus-visible{
  border-color:#9fb9e8;
  background:#f8fbff;
  outline:none;
}
.events-schedule-block span,
.events-schedule-block small,
.events-schedule-block b{
  width:100%;
  text-align:left;
}
.events-schedule-block span,
.events-schedule-block small{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.events-schedule-block b{
  color:#0f172a;
  font-size:13px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-current-time-line{
  position:absolute;
  left:0;
  right:0;
  top:var(--current-top,0);
  z-index:6;
  height:0;
  border-top:2px solid #dc2626;
  pointer-events:none;
}
.events-current-time-line::before{
  content:"";
  position:absolute;
  left:-5px;
  top:-5px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#dc2626;
  box-shadow:0 0 0 3px rgba(220,38,38,.14);
}
.events-current-time-line span{
  position:absolute;
  right:10px;
  top:-13px;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  padding:3px 8px;
  font-size:10px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(220,38,38,.22);
}
.events-schedule-empty{
  position:absolute;
  inset:18px;
  display:grid;
  place-items:center;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:rgba(248,250,252,.82);
  color:#64748b;
  font-size:13px;
  font-weight:850;
  text-align:center;
}
.events-table td{
  vertical-align:middle;
}
.events-table td b,
.events-table td small{
  display:block;
}
.events-click-row{
  cursor:pointer;
}
.events-click-row:hover{
  background:#f6f9ff;
}
.events-need-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  padding:3px 8px;
  background:#f8fafc;
  color:#475569;
  font-size:11px;
  font-weight:900;
  margin:2px 4px 2px 0;
}
.events-work-grid,
.events-room-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  overflow:visible!important;
}
.events-resource-board{
  display:grid;
  gap:12px;
}
.events-resource-lane{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.events-resource-lane header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border-bottom:1px solid #edf2f8;
  background:#f8fafc;
}
.events-resource-lane header span{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.events-resource-items{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:9px;
  padding:10px;
}
.events-resource-item,
.events-resource-empty{
  min-height:78px;
  border:1px solid #dbe5f2;
  border-left:4px solid var(--event-color,#2563eb);
  border-radius:8px;
  background:#fbfdff;
  color:#172033;
  text-align:left;
  padding:9px 10px;
  display:grid;
  align-content:start;
  gap:3px;
  box-shadow:none;
}
.events-resource-item span,
.events-resource-item small,
.events-resource-empty{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.events-resource-item b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-resource-empty{
  border-left-color:#cbd5e1;
  place-items:center;
  text-align:center;
}
.events-work-card,
.events-room-card,
.events-empty-card{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:14px;
  text-align:left;
  display:grid;
  gap:8px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.events-work-card:hover,
.events-room-card:hover{
  border-color:#9fb9e8;
  background:#f8fbff;
}
.events-work-card b,
.events-room-card b{
  font-size:16px;
}
.events-work-card div{
  display:grid;
  gap:2px;
  border-top:1px solid #eef2f7;
  padding-top:8px;
}
.events-work-card strong{
  font-size:11px;
  color:#475569;
  text-transform:uppercase;
}
.events-room-card em{
  width:max-content;
  border-radius:999px;
  background:#eef6ff;
  color:#174ea6;
  padding:4px 8px;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.events-room-card-thumb{
  width:100%;
  aspect-ratio:16/9;
  border:1px solid #dbe5f2;
  border-radius:7px;
  background:#eef2f7;
  object-fit:cover;
}
.events-room-card-with-media{
  grid-template-columns:112px minmax(0,1fr);
  align-items:center;
  padding:10px;
}
.events-room-card-with-media .events-room-card-thumb,
.events-room-card-placeholder{
  width:112px;
  height:92px;
  aspect-ratio:auto;
  border-radius:8px;
  flex:0 0 auto;
}
.events-room-card-placeholder{
  border:1px solid #dbe5f2;
  background:linear-gradient(135deg,#eef6ff,#f8fafc);
  color:#174ea6;
  display:grid;
  place-items:center;
}
.events-room-card-placeholder .ui-icon{
  width:34px;
  height:34px;
}
.events-room-card-copy{
  min-width:0;
  display:grid;
  gap:6px;
}
.events-managed-card{
  position:relative;
  cursor:default;
  overflow:visible!important;
}
.events-managed-card:hover{
  transform:none;
}
.events-managed-card.events-action-menu-card-open,
.events-approval-card.events-action-menu-card-open,
tr.events-action-menu-card-open{
  position:relative;
  z-index:100000;
  overflow:visible!important;
}
.events-managed-card-actions{
  position:relative;
  z-index:2;
  display:flex!important;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:4px;
  overflow:visible!important;
  white-space:normal!important;
}
.events-managed-card-actions .btn,
.events-managed-card-actions .table-action{
  min-height:34px;
}
.events-room-card-copy>span,
.events-room-card-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-room-card-copy>.events-managed-card-actions{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
.event-calendar-card b{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.events-google-sync-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#eff6ff;
  color:#174ea6;
  padding:3px 7px;
  font-size:10px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.events-google-sync-badge .ui-icon{
  width:13px;
  height:13px;
}
.event-modal{
  width:min(1040px,calc(100vw - 36px));
  max-height:calc(100vh - 42px);
  overflow:auto;
}
.event-create-modal,
.event-detail-modal{
  padding:0!important;
}
.event-create-modal.event-modal{
  width:min(1500px,calc(100vw - 48px));
  max-height:calc(100vh - 28px);
  overflow:hidden;
  border-radius:16px;
  background:#fff!important;
}
.event-create-modal form,
.event-room-modal form{
  padding:0;
}
.event-create-modal form{
  height:min(880px,calc(100vh - 28px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  margin:0!important;
}
.event-create-head{
  margin:0!important;
  padding:18px 24px!important;
  border-bottom:1px solid #dbe5f2;
  border-radius:16px 16px 0 0!important;
  background:linear-gradient(135deg,#fbfdff 0%,#eef6ff 100%)!important;
}
.modal.event-create-modal form>.modal-head.event-create-head{
  margin:0!important;
  padding:18px 24px!important;
  border-radius:16px 16px 0 0!important;
  background:linear-gradient(135deg,#fbfdff 0%,#eef6ff 100%)!important;
}
.event-create-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
}
.event-create-title>span{
  width:46px;
  height:46px;
  border:1px solid #174ea6;
  border-radius:12px;
  background:#174ea6;
  color:#fff;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.event-create-title .ui-icon{
  width:24px;
  height:24px;
}
.event-create-title h2{
  font-size:24px;
  line-height:1.1;
}
.event-create-title p{
  margin-top:4px!important;
}
.event-room-modal.event-modal{
  padding:0;
  border-radius:14px;
  overflow:hidden;
}
.event-calendar-modal.event-modal{
  width:min(980px,calc(100vw - 28px));
}
.event-room-modal form{
  max-height:calc(100vh - 42px);
  overflow:auto;
  background:#fff;
}
.event-calendar-modal form{
  overflow-x:hidden;
}
.event-room-modal .event-form-grid{
  gap:14px;
  padding:18px 20px;
}
.event-room-modal .form-help-note{
  margin:0 20px 16px!important;
}
.event-room-modal .modal-actions,
.event-file-upload-modal .modal-actions{
  padding:0 20px 18px!important;
}
.event-room-modal .event-form-grid>label:not(.event-toggle-card){
  min-width:0;
  min-height:78px;
  border:1px solid #e4ebf5;
  border-radius:10px;
  background:#fbfdff;
  padding:11px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.event-room-modal .event-form-grid>label:not(.event-toggle-card):focus-within{
  border-color:#93b8ec;
  background:#fff;
  box-shadow:0 0 0 3px rgba(23,78,166,.12);
}
.event-room-modal .event-form-grid>label small{
  color:#667085;
  font-weight:800;
  line-height:1.3;
}
.modal.event-room-modal:not(.event-calendar-modal){
  width:min(980px,calc(100vw - 32px))!important;
  height:auto!important;
  max-height:calc(100vh - 36px)!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#eventRoomModal.modal-backdrop{
  padding:12px!important;
}
.modal.event-room-modal:not(.event-calendar-modal)>form{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(100vh - 36px)!important;
  overflow:hidden!important;
  margin:0!important;
  background:#fff!important;
}
.modal.event-room-modal:not(.event-calendar-modal) form>.modal-head.event-create-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:12px 16px!important;
  border-radius:14px 14px 0 0!important;
}
.modal.event-room-modal:not(.event-calendar-modal)>form>.event-form-grid{
  flex:0 1 auto!important;
  min-height:0!important;
  max-height:calc(100vh - 174px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  align-content:start!important;
  gap:12px!important;
  padding:10px 12px 12px!important;
}
.modal.event-room-modal:not(.event-calendar-modal) form>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:10px 12px!important;
  border-top:1px solid #e1e8f2!important;
  background:#fbfdff!important;
}
.modal.event-room-modal:not(.event-calendar-modal)>form>.event-form-grid>label.span2:not(.event-toggle-card){
  min-height:auto!important;
}
.modal.event-room-modal:not(.event-calendar-modal)>form>.event-form-grid textarea{
  min-height:82px;
  resize:vertical;
}
.modal.event-room-modal:not(.event-calendar-modal)>form>.event-form-grid textarea[name="facility_options_text"],
.modal.event-room-modal:not(.event-calendar-modal)>form>.event-form-grid textarea[name="it_options_text"]{
  min-height:108px;
}
.modal.event-room-modal:not(.event-calendar-modal) .events-room-map-pin-settings .event-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:0!important;
  min-height:auto!important;
  overflow:visible!important;
  flex:none!important;
}
.modal.event-room-modal:not(.event-calendar-modal) .events-room-map-pin-settings .event-form-grid>label{
  min-height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.event-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:16px;
}
.event-form-grid label,
.event-public-notes{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.event-form-grid input,
.event-form-grid select,
.event-form-grid textarea,
.event-public-notes textarea,
.event-action-rail input,
.event-action-rail select{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px 10px;
}
.event-form-grid .span2{
  grid-column:1 / -1;
}
.event-room-days{
  border:1px solid #dbe5f2;
  border-radius:8px;
  padding:10px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.event-room-days>span{
  width:100%;
  color:#334155;
  font-size:12px;
  font-weight:950;
}
.event-room-days label{
  display:flex;
  align-items:center;
  gap:5px;
  color:#475569;
  font-size:12px;
  font-weight:900;
}
.event-room-media-settings{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfdff,#f6f8fb);
  padding:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.event-room-current-media{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:9px;
}
.event-room-current-media span,
.event-room-current-media a,
.event-room-current-media p{
  min-width:0;
  margin:0;
}
.event-room-current-media span{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:8px;
  display:grid;
  gap:6px;
}
.event-room-current-media img{
  width:100%;
  aspect-ratio:16/9;
  border-radius:6px;
  background:#eef2f7;
  object-fit:cover;
}
.event-room-current-media b{
  color:#334155;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-check-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:0 16px 16px;
}
.event-check-grid fieldset{
  border:1px solid #dbe5f2;
  border-radius:8px;
  padding:12px;
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:8px 10px;
  align-content:start;
}
.event-check-grid legend{
  padding:0 5px;
  font-weight:950;
  color:#172033;
}
.event-check-grid label{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:8px;
  min-height:32px;
  border:1px solid #edf2f8;
  border-radius:8px;
  background:#fff;
  padding:8px 9px;
  color:#334155;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
}
.event-check-grid label input{
  width:16px;
  height:16px;
  margin:1px 0 0;
}
.event-check-grid label span{
  min-width:0;
  overflow-wrap:anywhere;
}
.event-check-grid label:has(input:checked){
  border-color:#b9cff0;
  background:#f4f8ff;
  color:#174ea6;
}
.event-create-modal .event-form-grid{
  grid-template-columns:repeat(3,minmax(170px,1fr));
  gap:14px;
  padding:0 20px 20px;
}
.event-create-modal .event-form-grid.event-fees-grid{
  grid-template-columns:repeat(4,minmax(145px,1fr));
  align-items:start;
}
.event-create-modal .event-form-grid label,
.event-create-modal .event-aup-box{
  border:1px solid #e4ebf5;
  border-radius:10px;
  background:#fbfdff;
  padding:11px;
  min-width:0;
  min-height:78px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}
.event-create-modal .event-form-grid label:focus-within{
  border-color:#93b8ec;
  background:#fff;
  box-shadow:0 0 0 3px rgba(23,78,166,.12);
}
.event-create-modal .event-form-grid input,
.event-create-modal .event-form-grid select,
.event-create-modal .event-form-grid textarea{
  min-height:40px;
  border-color:#d3deec;
  background:#fff;
}
.event-create-modal .event-form-grid textarea{
  min-height:92px;
}
.event-create-modal .event-form-grid input[type=checkbox],
.event-create-modal .event-form-grid input[type=radio]{
  width:16px;
  height:16px;
  min-height:16px;
  padding:0;
  flex:0 0 auto;
}
.event-create-modal .event-form-grid label:has(.checkline){
  min-height:62px;
  align-content:center;
}
.event-create-modal .event-form-grid label:has(.checkline) small{
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.event-create-modal .event-form-grid label>small{
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.event-create-modal .event-form-grid [data-event-fee-schedule-label]{
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.event-create-modal .event-form-grid .span2{
  grid-column:1 / -1;
}
.event-billing-mode-note{
  border:1px solid #cfe0f5;
  border-radius:10px;
  background:#f7fbff;
  color:#334155;
  padding:12px 14px;
  display:grid;
  gap:4px;
  min-height:62px;
}
.event-billing-mode-note b{
  color:#174ea6;
  font-size:13px;
}
.event-billing-mode-note span{
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.event-create-modal .event-form-grid .event-fee-top-card{
  grid-column:span 1;
}
.event-create-modal .event-form-grid .event-fee-insurance-required{
  align-content:start;
  min-height:62px;
}
.event-create-modal .event-form-grid.event-fees-grid .event-fee-compact-check{
  min-height:44px!important;
  padding:9px 11px;
  display:flex;
  align-items:center;
  background:#fff;
}
.event-create-modal .event-form-grid.event-fees-grid .event-fee-scheduled-total,
.event-create-modal .event-form-grid.event-fees-grid .event-fee-insurance-required{
  min-height:44px!important;
  padding:9px 11px;
  display:flex;
  align-items:center;
  align-content:center;
}
.event-create-modal .event-form-grid.event-fees-grid .event-fee-compact-check .checkline{
  min-width:0;
  line-height:1.2;
}
.event-create-modal .event-form-grid.event-fees-grid .event-billing-meta-field{
  min-height:98px;
}
.event-secretary-requester{
  display:grid!important;
  gap:12px!important;
  border:1px solid #cbd8eb!important;
  border-radius:14px!important;
  background:#f8fbff!important;
  padding:14px!important;
}
.event-secretary-requester-head{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
}
.event-secretary-requester-head>span{
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
  background:#e7f0ff!important;
  color:#174ea6!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
}
.event-secretary-requester-head b,
.event-secretary-requester-head small{
  display:block!important;
}
.event-secretary-requester-head b{
  color:#172033!important;
  font-size:15px!important;
}
.event-secretary-requester-head small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.event-requester-mode{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.event-requester-mode label{
  min-height:42px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#334155!important;
  padding:7px 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:900!important;
  text-align:center!important;
  cursor:pointer!important;
}
.event-requester-mode label:has(input:checked){
  border-color:#8fb6e9!important;
  background:#eef6ff!important;
  color:#174ea6!important;
}
.event-requester-mode input{
  width:14px!important;
  height:14px!important;
  min-height:14px!important;
  margin:0!important;
}
.event-requester-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.event-requester-avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.event-requester-staff-search{
  position:relative!important;
  display:grid!important;
  gap:7px!important;
}
.event-requester-staff-search[hidden],
.event-requester-results[hidden]{
  display:none!important;
}
.event-requester-staff-search label{
  background:#fff!important;
}
.event-requester-results{
  position:absolute!important;
  z-index:24050!important;
  top:calc(100% + 6px)!important;
  left:0!important;
  right:0!important;
  max-height:310px!important;
  overflow:auto!important;
  border:1px solid #cbd8eb!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:6px!important;
  box-shadow:0 20px 46px rgba(15,23,42,.18)!important;
}
.event-requester-option{
  width:100%!important;
  min-height:52px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  text-align:left!important;
  cursor:pointer!important;
}
.event-requester-option:hover,
.event-requester-option:focus-visible{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  outline:none!important;
}
.event-requester-option b,
.event-requester-option small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.event-requester-option b{
  font-size:13px!important;
  font-weight:950!important;
}
.event-requester-option small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}
.event-requester-empty{
  border:1px dashed #cbd5e1!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  padding:11px!important;
  font-size:12px!important;
  font-weight:850!important;
}
.event-requester-selected{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:9px!important;
}
.event-requester-selected b,
.event-requester-selected small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.event-requester-selected b{
  color:#172033!important;
  font-size:13px!important;
  font-weight:950!important;
}
.event-requester-selected small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}
.event-requester-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.event-create-modal .event-check-grid{
  gap:16px;
  padding:0 20px 20px;
  min-width:0;
}
.event-create-modal .event-check-grid fieldset{
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-radius:12px;
  background:#fbfdff;
  padding:15px;
  min-width:0;
}
.event-create-modal .event-check-grid legend{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:4px;
  padding:0 8px;
}
.event-check-legend-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-check-legend-icon .ui-icon{
  width:17px;
  height:17px;
}
.event-create-modal .event-check-grid label{
  min-height:38px;
  border-radius:9px;
  background:#fff;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}
.event-create-modal .event-check-grid label:hover{
  border-color:#c8d7eb;
  transform:translateY(-1px);
}
.event-create-modal .event-check-grid label:has(input:checked){
  border-color:#8fb6e9;
  background:#eef6ff;
  box-shadow:0 8px 18px rgba(23,78,166,.08);
}
.checkline,
.event-override{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color:#334155;
  font-weight:850;
}
.event-toggle-card{
  min-width:0;
  min-height:72px;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  border:1px solid #e4ebf5!important;
  border-radius:10px!important;
  background:#fbfdff!important;
  padding:11px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.25!important;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease!important;
}
.event-toggle-card:hover{
  border-color:#c8d7eb!important;
  transform:translateY(-1px);
}
.event-toggle-card input[type=checkbox]{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.event-toggle-card span{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}
.event-toggle-card b{
  color:#172033!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.event-toggle-card small{
  color:#667085!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.event-toggle-card:has(input:checked){
  border-color:#8fb6e9!important;
  background:#eef6ff!important;
  box-shadow:0 8px 18px rgba(23,78,166,.08)!important;
}
.event-danger-toggle:has(input:checked){
  border-color:#fecdd3!important;
  background:#fff1f2!important;
  color:#9f1239!important;
}
.event-danger-toggle:has(input:checked) b{
  color:#9f1239!important;
}
.event-file-picker{
  min-height:94px!important;
  border-style:solid!important;
  background:#fff!important;
}
.event-file-picker.is-dragging,
.event-file-upload-dropzone.is-dragging{
  border-color:#8fb6ff!important;
  background:#f0f6ff!important;
}
.event-file-picker .asset-document-picker-main strong{
  white-space:normal!important;
}
.event-file-picker .asset-document-picker-actions{
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
#eventFileUploadModal.open{
  z-index:23050!important;
}
.events-public-info-backdrop.event-public-top-layer.open{
  z-index:24020!important;
}
.event-file-upload-modal{
  padding:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.event-file-upload-body{
  padding:18px!important;
}
.event-file-upload-preview{
  height:260px!important;
}
.event-file-preview-card{
  width:min(320px,80%)!important;
  min-height:118px!important;
  border:1px solid #dbe5f2!important;
  border-radius:12px!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:6px!important;
  padding:18px!important;
  text-align:center!important;
}
.event-file-preview-card b{
  color:#172033!important;
  font-size:15px!important;
}
.event-file-preview-card small{
  max-width:100%!important;
  color:#667085!important;
  font-size:12px!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.event-wizard{
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 230px;
  min-height:560px;
  border-top:1px solid #dbe5f2;
  background:#fff;
}
.event-create-modal .event-wizard{
  grid-template-columns:288px minmax(0,1fr) 360px;
  min-height:0;
  height:100%;
  border-top:0;
  background:#f6f8fb;
}
.public-event-wizard{
  grid-template-columns:220px minmax(0,1fr);
}
.event-wizard-side{
  display:grid;
  align-content:start;
  gap:8px;
  padding:16px;
  border-right:1px solid #dbe5f2;
  background:#f8fafc;
}
.event-create-modal .event-wizard-side{
  gap:8px;
  padding:12px;
  border-right:1px solid #dbe5f2;
  background:#f8fafc;
  overflow:auto;
}
.event-wizard-progress{
  border:1px solid #e0e8f3;
  border-radius:12px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:7px;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.event-wizard-progress span{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-wizard-progress b{
  color:#172033;
  font-size:14px;
  line-height:1.1;
}
.event-wizard-progress i{
  height:7px;
  border-radius:999px;
  background:#e7edf6;
  overflow:hidden;
  display:block;
}
.event-wizard-progress em{
  width:25%;
  height:100%;
  border-radius:inherit;
  background:#174ea6;
  display:block;
  transition:width .22s ease;
}
.event-wizard-side button{
  width:100%;
  min-height:72px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#475569;
  padding:10px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:2px 9px;
  text-align:left;
  box-shadow:none;
}
.event-step-requester{--event-step-color:#0f766e;--event-step-soft:#e6f6f3;}
.event-step-basics{--event-step-color:#174ea6;--event-step-soft:#eef6ff;}
.event-step-schedule{--event-step-color:#174ea6;--event-step-soft:#eef6ff;}
.event-step-needs{--event-step-color:#b45309;--event-step-soft:#fff5e6;}
.event-step-layout{--event-step-color:#6f5b17;--event-step-soft:#fbf7df;}
.event-step-fees{--event-step-color:#047857;--event-step-soft:#ecfdf5;}
.event-step-coi{--event-step-color:#0f766e;--event-step-soft:#e6f6f3;}
.event-step-policy{--event-step-color:#7c3aed;--event-step-soft:#f3efff;}
.event-create-modal .event-wizard-side button{
  min-height:66px;
  border-color:#e0e8f3;
  border-radius:12px;
  background:#fff;
  padding:9px 10px;
  grid-template-columns:44px minmax(0,1fr);
  gap:2px 12px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.event-create-modal .event-wizard-side button:hover{
  border-color:#c8d7eb;
  transform:translateY(-1px);
}
.event-wizard-side button span{
  grid-row:1 / span 2;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#e7eef8;
  color:#174ea6;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.event-create-modal .event-wizard-side button span{
  grid-row:1 / span 3;
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--event-step-soft);
  color:var(--event-step-color);
}
.event-create-modal .event-wizard-side button span .ui-icon{
  width:21px;
  height:21px;
}
.event-create-modal .event-wizard-side button em{
  align-self:end;
  color:#64748b;
  font-size:10px;
  font-style:normal;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
}
.event-wizard-side button b{
  color:#172033;
  font-size:13px;
  line-height:1.2;
}
.event-wizard-side button small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}
.event-wizard-side button.active{
  border-color:#b9cff0;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}
.event-create-modal .event-wizard-side button.active{
  border-color:color-mix(in srgb, var(--event-step-color) 45%, #dbe5f2);
  background:linear-gradient(90deg,var(--event-step-soft),#fff);
  box-shadow:0 14px 28px rgba(15,23,42,.09);
}
.event-wizard-side button.active span{
  background:#174ea6;
  color:#fff;
}
.event-create-modal .event-wizard-side button.active span{
  background:var(--event-step-color);
  color:#fff;
}
.event-wizard-body{
  min-width:0;
  display:grid;
  grid-template-rows:1fr auto;
}
.event-create-modal .event-wizard-body{
  min-height:0;
  background:#fff;
  overflow:hidden;
}
.event-wizard-step{
  display:none;
  min-width:0;
}
.event-wizard-step.active{
  display:block;
}
.event-create-modal .event-wizard-step{
  min-height:0;
  overflow:auto;
}
.event-create-modal .event-wizard-step.active{
  animation:eventWizardStepIn .2s ease-out;
}
@keyframes eventWizardStepIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}
.event-step-head{
  margin:14px 18px 12px;
  border:1px solid #dbe5f2;
  border-color:color-mix(in srgb, var(--event-step-color) 22%, #dbe5f2);
  border-radius:13px;
  background:var(--event-step-soft);
  padding:12px;
  display:flex;
  align-items:center;
  gap:13px;
}
.event-step-head>span{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#fff;
  color:var(--event-step-color);
  display:grid;
  place-items:center;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  flex:0 0 auto;
}
.event-step-head .ui-icon{
  width:23px;
  height:23px;
}
.event-step-head small{
  color:var(--event-step-color);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-step-head h3{
  margin:1px 0 2px;
  color:#172033;
  font-size:20px;
  line-height:1.15;
}
.event-step-head p{
  margin:0;
  color:#475569;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.event-wizard-summary{
  display:grid;
  align-content:start;
  gap:10px;
  padding:16px;
  border-left:1px solid #dbe5f2;
  background:#fbfdff;
}
.event-create-modal .event-wizard-summary{
  gap:9px;
  padding:12px;
  background:#f8fafc;
  overflow:auto;
}
.event-wizard-summary h3{
  margin:0 0 4px;
  font-size:16px;
  color:#172033;
}
.event-create-modal .event-wizard-summary h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  font-size:18px;
}
.event-create-modal .event-wizard-summary h3 span{
  width:32px;
  height:32px;
  border-radius:10px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-create-modal .event-wizard-summary h3 .ui-icon{
  width:17px;
  height:17px;
}
.event-wizard-summary div{
  border:1px solid #e4ebf5;
  border-radius:8px;
  background:#fff;
  padding:10px;
  min-width:0;
}
.event-create-modal .event-wizard-summary .event-summary-card,
.event-create-modal .event-wizard-summary .event-room-media-preview{
  position:relative;
  border-radius:12px;
  border-color:#e0e8f3;
  background:#fff;
  padding:12px 12px 12px 46px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.event-create-modal .event-wizard-summary .event-summary-card-featured{
  border-color:#b9cff0;
  background:linear-gradient(135deg,#ffffff 0%,#f2f7ff 100%);
  box-shadow:0 14px 30px rgba(23,78,166,.12);
}
.event-create-modal .event-summary-requester-card{
  min-height:84px;
  padding:15px 14px 15px 70px!important;
}
.event-create-modal .event-summary-avatar{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:2px solid #fff;
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}
.event-create-modal .event-summary-avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.event-create-modal .event-summary-card>span{
  position:absolute;
  left:12px;
  top:12px;
  width:26px;
  height:26px;
  border-radius:8px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-create-modal .event-summary-requester-card>span{
  background:#dbeafe;
}
.event-create-modal .event-summary-requester-card>.event-summary-avatar{
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
  background:#dbeafe!important;
}
.event-create-modal .event-summary-requester-card>.event-summary-avatar.photo-avatar{
  background:#fff!important;
}
.event-create-modal .event-summary-card>span .ui-icon{
  width:15px;
  height:15px;
}
.event-wizard-summary small{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-wizard-summary b{
  display:block;
  color:#172033;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.event-wizard-summary .event-room-media-preview{
  padding:8px;
  display:grid;
  gap:8px;
}
.event-create-modal .event-wizard-summary .event-room-media-preview{
  padding:0;
  overflow:hidden;
  min-height:148px;
  border-color:#cbd8eb;
  background:#eef4fb;
}
.event-room-media-preview figure{
  margin:0;
  position:relative;
  display:block;
  min-height:148px;
}
.event-room-media-preview img{
  width:100%;
  height:148px;
  border-radius:12px 12px 0 0;
  border:0;
  background:#eef2f7;
  object-fit:cover;
  display:block;
}
.event-room-media-preview figcaption{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  border-radius:10px;
  background:rgba(255,255,255,.92);
  padding:8px 9px;
  box-shadow:0 10px 26px rgba(15,23,42,.14);
}
.event-room-media-preview figcaption b,
.event-room-media-preview figcaption span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-room-media-preview figcaption b{
  color:#172033;
  font-size:12px;
  font-weight:950;
}
.event-room-media-preview figcaption span{
  color:#64748b;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.event-room-media-preview a{
  display:flex;
  align-items:center;
  min-height:38px;
  border:0;
  border-top:1px solid #dbe5f2;
  border-radius:0;
  background:#fff;
  color:#174ea6;
  padding:10px 12px;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  overflow-wrap:anywhere;
}
.event-summary-room-placeholder{
  min-height:148px;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  padding:18px;
  text-align:center;
}
.event-summary-room-placeholder>span{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#dbeafe;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-summary-room-placeholder b,
.event-summary-room-placeholder small{
  display:block;
}
.event-summary-room-placeholder b{
  max-width:100%;
  color:#172033;
  font-size:13px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-summary-room-placeholder small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
}
.event-availability-preview{
  border-left:4px solid #94a3b8!important;
}
.event-availability-preview.ok{
  border-left-color:#168957!important;
  background:#f3fbf6!important;
}
.event-availability-preview.warn{
  border-left-color:#c98210!important;
  background:#fffaf0!important;
}
.event-availability-preview.bad{
  border-left-color:#d94752!important;
  background:#fff5f5!important;
  animation:eventAvailabilityPulse 1.55s ease-in-out infinite;
}
@keyframes eventAvailabilityPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(217,71,82,.28),0 10px 24px rgba(15,23,42,.08);}
  50%{box-shadow:0 0 0 6px rgba(217,71,82,.12),0 14px 28px rgba(15,23,42,.12);}
}
.event-availability-preview ul{
  margin:8px 0 0;
  padding-left:0;
  display:grid;
  gap:5px;
}
.event-availability-preview li{
  list-style:none;
  color:#475569;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:start;
}
.event-availability-preview li span,
.event-availability-preview li b,
.event-availability-preview li small{
  display:block;
  min-width:0;
}
.event-availability-preview li b{
  color:#172033;
  font-size:12px;
  line-height:1.2;
}
.event-availability-preview li small{
  color:#64748b;
  font-size:10px;
  font-weight:800;
  margin-top:2px;
}
.event-availability-preview li.bad{
  color:#991b1b;
}
.event-availability-preview li.warn{
  color:#854d0e;
}
.event-availability-preview li.ok{
  color:#166534;
}
.event-availability-preview li.ok b{
  color:#166534;
}
.event-conflict-detail-link{
  border:1px solid #fecaca;
  border-radius:999px;
  background:#fff;
  color:#991b1b;
  padding:4px 7px;
  font-size:10px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
.event-conflict-detail-link:hover,
.event-conflict-detail-link:focus-visible{
  background:#fff1f2;
  outline:none;
}
.event-conflict-guard-modal{
  max-width:560px;
}
.event-conflict-guard-body{
  display:grid;
  gap:12px;
  padding:18px;
}
.event-conflict-guard-body p{
  margin:0;
  color:#475569;
  font-size:14px;
  line-height:1.45;
}
.event-conflict-guard-list{
  display:grid;
  gap:8px;
}
.event-conflict-guard-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #fecaca;
  border-radius:8px;
  background:#fff7f7;
  padding:10px;
}
.event-conflict-guard-item span,
.event-conflict-guard-item b,
.event-conflict-guard-item small{
  display:block;
  min-width:0;
}
.event-conflict-guard-item b{
  color:#991b1b;
  font-size:14px;
  line-height:1.25;
}
.event-conflict-guard-item small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  margin-top:3px;
}
.event-wizard-nav{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 16px;
  border-top:1px solid #dbe5f2;
  background:#fff;
}
.event-create-modal .event-wizard-nav{
  padding:10px 18px;
  background:#fff;
  box-shadow:0 -10px 24px rgba(15,23,42,.05);
}
.event-create-modal .event-wizard-nav .btn,
.event-create-modal .event-wizard-nav .primary{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.event-create-modal .event-wizard-nav .event-nav-back{
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  color:#334155!important;
}
.event-create-modal .event-wizard-nav .event-nav-back:hover,
.event-create-modal .event-wizard-nav .event-nav-back:focus-visible{
  border-color:#94a3b8!important;
  background:#eef2f7!important;
}
.event-create-modal .event-wizard-nav .event-nav-next{
  border-color:#174ea6!important;
  background:#174ea6!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(23,78,166,.18)!important;
}
.event-create-modal .event-wizard-nav .event-nav-next:hover,
.event-create-modal .event-wizard-nav .event-nav-next:focus-visible{
  border-color:#123f86!important;
  background:#123f86!important;
}
.event-create-modal .event-wizard-nav .event-nav-draft{
  border-color:#d7b569!important;
  background:#fff8e7!important;
  color:#6f4e05!important;
}
.event-create-modal .event-wizard-nav .event-submit-action{
  border-color:#dc2626!important;
  background:#dc2626!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(220,38,38,.18)!important;
}
.event-create-modal .event-wizard-nav .event-submit-action:hover,
.event-create-modal .event-wizard-nav .event-submit-action:focus-visible{
  border-color:#b91c1c!important;
  background:#b91c1c!important;
}
.event-wizard-nav [hidden]{
  display:none!important;
}
.event-recurrence-days{
  border:1px solid #e4ebf5;
  border-radius:10px;
  background:#fbfdff;
  padding:11px;
  min-height:78px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.event-recurrence-days[hidden]{
  display:none!important;
}
.event-recurrence-days>span{
  flex:1 0 100%;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.event-recurrence-days label{
  min-height:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:999px!important;
  background:#fff!important;
  padding:7px 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.event-policy-actions{
  border:1px solid #e4ebf5;
  border-radius:12px;
  background:#fbfdff;
  padding:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.event-coi-picker{
  min-height:88px!important;
}
.event-need-quantity-modal{
  width:min(460px,92vw)!important;
}
.event-approval-modal{
  width:min(660px,calc(100vw - 36px))!important;
  padding:0!important;
  overflow:hidden!important;
}
.event-approval-modal>.modal-head{
  margin:0!important;
  padding:20px 22px 16px!important;
  border-bottom:1px solid #dbe5f2;
  border-radius:10px 10px 0 0!important;
}
.event-approval-modal-body{
  display:grid;
  gap:10px;
  padding:16px;
  background:#f6f8fb;
}
.event-approval-decision{
  width:100%;
  min-height:82px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  color:#172033;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  text-align:left;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.event-approval-decision>span{
  width:44px;
  height:44px;
  border-radius:12px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-approval-decision>span .ui-icon{
  width:20px;
  height:20px;
}
.event-approval-decision b,
.event-approval-decision small{
  display:block;
}
.event-approval-decision b{
  font-size:14px;
}
.event-approval-decision small{
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}
.event-approval-decision.approve{
  grid-template-columns:44px minmax(0,1fr) auto auto;
}
.event-approval-decision.approve>span{
  background:#f3fbf6;
  color:#168957;
}
.event-approval-decision.danger{
  border-color:#fecdd3;
  background:#fff7f8;
}
.event-approval-decision.danger>span{
  background:#ffe4e6;
  color:#b91c1c;
}
.event-approval-decision:hover,
.event-approval-decision:focus-visible{
  border-color:#93b4e8;
  outline:none;
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
.event-approval-decision.danger:hover,
.event-approval-decision.danger:focus-visible{
  border-color:#fda4af;
}
.event-aup-box{
  border:1px solid #f0c2c2;
  border-radius:8px;
  background:#fff7f7;
  padding:10px;
}
.event-approval-list{
  display:grid;
  gap:5px;
  margin-bottom:0;
}
.event-approval-step{
  display:grid;
  gap:1px;
  border:1px solid #dbe5f2;
  border-left:4px solid #94a3b8;
  border-radius:8px;
  background:#fff;
  padding:7px 8px;
}
.event-approval-step b,
.event-approval-step span,
.event-approval-step small,
.event-approval-step em{
  display:block;
}
.event-approval-step b{
  color:#172033;
  font-size:11px;
}
.event-approval-step span{
  color:#475569;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-approval-step small{
  color:#64748b;
  font-size:10px;
  font-weight:800;
}
.event-approval-step em{
  color:#64748b;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  line-height:1.3;
}
.event-approval-step.approved,
.event-approval-step.scheduled{
  border-left-color:#168957;
  background:#f3fbf6;
}
.event-approval-step.pending{
  border-left-color:#c98210;
  background:#fffaf0;
}
.event-approval-step.declined{
  border-left-color:#d94752;
  background:#fff5f5;
}
.event-detail-modal.event-modal{
  width:min(1180px,calc(100vw - 90px));
  height:min(900px,calc(100vh - 28px));
  max-height:calc(100vh - 28px);
  border-radius:14px;
  overflow:hidden!important;
  padding:0!important;
  display:flex;
  flex-direction:column;
  position:relative;
}
.event-packet-preview-modal{
  width:min(1120px,calc(100vw - 28px))!important;
  height:min(900px,calc(100vh - 28px))!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  overflow:hidden!important;
}
.event-packet-preview-head{
  flex:0 0 auto!important;
  margin:0!important;
  border-bottom:1px solid #dbe4ef!important;
}
.event-packet-preview-modal iframe{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  border:0;
  background:#f8fafc;
}
.event-detail-modal>.event-detail-head{
  margin:0!important;
  gap:12px;
  padding:24px 22px 12px!important;
  min-height:82px!important;
  align-items:flex-start!important;
  border-radius:14px 14px 0 0!important;
}
.event-detail-modal>.event-detail-head .event-create-title{
  padding-top:2px;
}
.event-detail-modal>.event-detail-head .event-detail-top-actions,
.event-detail-modal>.event-detail-head>.icon-btn{
  margin-top:4px;
}
.event-detail-top-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.event-icon-action{
  width:38px;
  height:38px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  color:#174ea6;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.event-icon-action[hidden]{
  display:none!important;
}
.event-icon-action .ui-icon{
  width:18px;
  height:18px;
}
.event-icon-action:hover,
.event-icon-action:focus-visible{
  border-color:#93b4e8;
  background:#eef6ff;
  outline:none;
}
.event-icon-action.money{
  color:#047857;
  background:#f3fbf6;
}
.event-icon-action.edit{
  color:#7c3aed;
  background:#faf5ff;
}
.event-icon-action.upload{
  color:#0f766e;
  background:#f0fdfa;
}
.event-icon-action.approve{
  color:#0f5132;
  background:#f3fbf6;
}
.event-action-popover{
  position:absolute;
  top:92px;
  right:18px;
  width:min(430px,calc(100% - 36px));
  max-height:calc(100% - 108px);
  overflow:auto;
  overscroll-behavior:contain;
  z-index:12;
  border:1px solid #d8e3f1;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.22);
}
.event-action-popover[hidden]{
  display:none!important;
}
.event-action-popover-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:14px;
  border-bottom:1px solid #e3ebf6;
  background:#f8fbff;
}
.event-action-popover-head>span{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-action-popover-head>span .ui-icon{
  width:19px;
  height:19px;
}
.event-action-popover-head h3{
  margin:0;
  font-size:16px;
}
.event-action-popover-head p{
  margin:2px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}
.event-action-popover-body{
  padding:14px;
}
.event-action-panel{
  display:grid;
  gap:9px;
}
.event-action-panel[hidden],
.event-action-option[hidden]{
  display:none!important;
}
.event-action-option,
.event-action-option-form button.event-action-option{
  width:100%;
  min-height:58px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  color:#172033;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:9px 10px;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.event-action-option:hover,
.event-action-option:focus-visible{
  border-color:#93b4e8;
  background:#f8fbff;
  outline:none;
}
.event-action-option>.ui-icon{
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eef6ff;
  color:#174ea6;
  padding:9px;
}
.event-action-option b,
.event-action-option small{
  display:block;
}
.event-action-option b{
  font-size:13px;
}
.event-action-option small{
  margin-top:2px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
}
.event-action-option-form{
  margin:0;
}
.event-status-popover-form,
.event-approval-popover-form{
  display:grid;
  gap:8px;
}
.event-status-popover-form label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.event-action-popover input,
.event-action-popover select{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px 10px;
}
.event-action-popover .event-upload-rail{
  display:grid!important;
  gap:9px!important;
}
.event-action-popover .event-override{
  justify-content:flex-start;
}
.event-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:12px;
  padding:12px 16px 14px;
  background:#f6f8fb;
  min-height:0;
  flex:1 1 auto;
  overflow:auto;
  overscroll-behavior:contain;
}
.event-detail-main,
.event-detail-side{
  min-width:0;
  display:grid;
  align-content:start;
  gap:8px;
}
.event-detail-overview{
  border:1px solid #e3ebf6;
  border-radius:12px;
  background:#fff;
  padding:11px 13px;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.event-detail-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  border-bottom:1px solid #e3ebf6;
  border-radius:0;
  background:transparent;
  padding:0 0 10px;
  box-shadow:none;
}
.event-detail-kv{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 20px;
  margin:0;
}
.event-detail-notes,
.event-detail-side-card,
.event-detail-room-media{
  border:1px solid #e3ebf6;
  border-radius:10px;
  background:#fff;
  padding:8px;
  min-width:0;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.event-detail-kv div{
  min-width:0;
  padding:7px 0 0;
}
.event-detail-kv dt,
.event-detail-notes h3,
.event-detail-side h3{
  margin:0 0 5px;
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.event-detail-kv dd,
.event-detail-notes p{
  margin:0;
  color:#172033;
  font-weight:500;
  overflow-wrap:anywhere;
}
.event-detail-kv dd{
  font-size:13px;
  line-height:1.3;
}
.event-detail-notes p{
  font-weight:650;
}
.event-detail-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 5px;
}
.event-detail-card-head h3{
  margin:0;
}
.event-card-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
  border:1px solid #dbe5f2;
  border-radius:7px;
  background:#f8fafc;
  color:#334155;
  padding:3px 7px;
  font-size:10px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
}
.event-card-toggle:hover{
  border-color:#bfdbfe;
  background:#eef6ff;
  color:#174ea6;
}
.event-card-toggle span:first-child{
  display:inline-grid;
  place-items:center;
  width:12px;
  font-size:13px;
}
.event-detail-collapsible.is-collapsed .event-history-list{
  display:none;
}
.event-detail-notes{
  margin-top:0;
}
.event-detail-notes.private{
  background:#fffaf0;
}
.event-organizer-contact{
  display:grid;
  grid-template-columns:75px minmax(0,1fr);
  gap:14px;
  align-items:center;
  color:#172033;
}
.event-organizer-contact .event-organizer-avatar{
  width:75px!important;
  height:75px!important;
  min-width:75px!important;
  flex:0 0 75px!important;
  font-size:20px!important;
  align-self:start;
}
.event-organizer-contact .event-organizer-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
  display:block!important;
}
.event-organizer-contact>div{
  min-width:0;
  display:grid;
  gap:4px;
}
.event-organizer-contact b{
  font-size:14px;
  line-height:1.25;
}
.event-organizer-contact span,
.event-organizer-contact a,
.event-organizer-contact em{
  min-width:0;
  color:#475569;
  font-size:13px;
  font-style:normal;
  font-weight:700;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.event-organizer-contact a{
  color:#174ea6;
  text-decoration:none;
}
.event-organizer-contact a:hover{
  text-decoration:underline;
}
.event-detail-room-media{
  display:grid;
  gap:7px;
  padding:8px;
}
.event-detail-room-media figure{
  margin:0;
  border-radius:10px;
  overflow:hidden;
  background:#0f172a;
  position:relative;
  min-height:138px;
}
.event-detail-room-media figure img{
  width:100%;
  height:148px;
  object-fit:cover;
  display:block;
}
.event-detail-room-media figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:16px 12px 10px;
  background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.82));
  color:#fff;
  display:grid;
  gap:2px;
}
.event-detail-room-media figcaption b,
.event-detail-room-media figcaption span{
  display:block;
}
.event-detail-room-media figcaption b{
  font-size:14px;
}
.event-detail-room-media figcaption span{
  font-size:11px;
  font-weight:900;
  opacity:.86;
  text-transform:uppercase;
}
.event-detail-room-placeholder{
  min-height:118px;
  border:1px dashed #cbd8ea;
  border-radius:10px;
  background:#f8fbff;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  padding:12px;
  text-align:center;
}
.event-detail-room-placeholder span{
  width:32px;
  height:32px;
  border-radius:12px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-detail-room-placeholder b{
  color:#172033;
}
.event-detail-room-placeholder small{
  color:#64748b;
  font-weight:800;
}
.event-room-layout-link{
  min-height:40px;
  border:1px solid #dbe5f2;
  border-radius:9px;
  background:#f8fbff;
  color:#174ea6;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  text-decoration:none;
  font-weight:900;
}
.event-room-layout-link.image{
  align-items:center;
}
.event-room-layout-link img{
  width:38px;
  height:38px;
  border-radius:7px;
  object-fit:contain;
  background:#fff;
  flex:0 0 auto;
}
.event-token-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:0;
}
.event-token-list span{
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fafc;
  padding:5px 8px;
  font-size:11px;
  font-weight:900;
}
.event-token-list em{
  color:#64748b;
  font-style:normal;
  font-weight:800;
}
.event-history-list{
  display:grid;
  gap:7px;
}
.event-history-list div{
  border-left:3px solid #bfdbfe;
  padding-left:8px;
}
.event-history-list b,
.event-history-list small{
  display:block;
}
.event-history-list small{
  color:#64748b;
  font-size:11px;
}
.event-history-list em{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  font-style:normal;
}
.event-change-request-row.open{
  border-color:#fde68a;
  background:#fffbeb;
}
.event-action-option.danger{
  border-color:#fecaca;
  background:#fff1f2;
}
.event-action-option.danger>.ui-icon{
  color:#b91c1c;
}
.events-readiness-score{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  color:#64748b;
}
.events-readiness-score b{
  color:#0f172a;
  font-size:22px;
}
.events-readiness-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
}
.events-readiness-card,
.events-audit-card{
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  padding:16px;
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.events-readiness-card>div{
  display:flex;
  align-items:center;
  gap:10px;
  color:#0f172a;
}
.events-readiness-card>div span,
.events-audit-row>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:8px;
  background:#ecfdf5;
  color:#047857;
}
.events-readiness-card.warn>div span,
.events-audit-row.warn>span{
  background:#fffbeb;
  color:#b45309;
}
.events-readiness-card p{
  margin:12px 0 6px;
  color:#334155;
}
.events-readiness-card small{
  color:#64748b;
  line-height:1.45;
}
.events-audit-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:18px;
}
.events-audit-card h3{
  margin:0 0 12px;
  font-size:16px;
}
.events-audit-row,
.events-permission-audit-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  padding:10px 0;
  border-top:1px solid #f1f5f9;
}
.events-audit-row:first-of-type,
.events-permission-audit-row:first-of-type{
  border-top:0;
}
.events-audit-row b,
.events-audit-row small,
.events-permission-audit-row b,
.events-permission-audit-row small,
.events-permission-audit-row em{
  display:block;
}
.events-audit-row small,
.events-permission-audit-row small,
.events-permission-audit-row em{
  color:#64748b;
  font-style:normal;
}
.events-permission-audit-row{
  grid-template-columns:1fr auto;
}
.events-permission-audit-row span{
  align-self:start;
  min-width:34px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  text-align:center;
  padding:4px 8px;
  font-weight:800;
}
.events-permission-audit-row em{
  grid-column:1 / -1;
  font-size:12px;
}
@media (max-width: 900px){
  .events-audit-columns{
    grid-template-columns:1fr;
  }
}
.event-action-rail{
  border-top:1px solid #dbe5f2;
  background:#fff;
  padding:10px 18px 12px;
  display:grid;
  gap:8px;
  flex:0 0 auto;
  box-shadow:0 -12px 30px rgba(15,23,42,.05);
}
.event-action-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.event-action-toolbar-title{
  min-height:32px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fbff;
  color:#334155;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.event-action-toolbar-title .ui-icon{
  width:15px;
  height:15px;
  color:#174ea6;
}
.event-action-toolbar .btn,
.event-action-toolbar .primary,
.event-action-toolbar .green,
.event-action-toolbar .danger{
  width:auto!important;
  justify-content:center;
}
.event-toolbar-form{
  display:inline-flex!important;
  margin:0!important;
}
.event-action-drawer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  align-items:start;
  gap:8px;
}
.event-action-group{
  border:1px solid #e3ebf6;
  border-radius:10px;
  background:#fbfdff;
  padding:10px;
  display:grid;
  align-content:start;
  gap:7px;
  min-width:0;
}
.event-action-collapsible{
  padding:0;
  overflow:hidden;
}
.event-action-collapsible summary{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  cursor:pointer;
  list-style:none;
}
.event-action-collapsible summary::-webkit-details-marker{
  display:none;
}
.event-action-collapsible summary span{
  display:flex;
  align-items:center;
  gap:7px;
  color:#172033;
  font-size:12px;
  font-weight:950;
}
.event-action-collapsible summary span .ui-icon{
  width:15px;
  height:15px;
  color:#174ea6;
}
.event-action-collapsible summary em{
  color:#64748b;
  font-style:normal;
  font-size:11px;
  font-weight:850;
  text-align:right;
}
.event-action-collapsible[open]{
  padding-bottom:10px;
}
.event-action-collapsible[open] summary{
  border-bottom:1px solid #e3ebf6;
  margin-bottom:9px;
  background:#f8fbff;
}
.event-action-collapsible form,
.event-action-collapsible .event-upload-rail{
  margin:0 10px!important;
}
.event-action-group-title{
  display:flex;
  align-items:center;
  gap:7px;
  color:#334155;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.event-action-group-title .ui-icon{
  width:15px;
  height:15px;
  color:#174ea6;
}
.event-action-group form,
.event-upload-rail{
  display:grid!important;
  gap:8px!important;
  align-items:stretch!important;
}
.event-action-group .btn,
.event-action-group .primary,
.event-action-group .green,
.event-action-group .danger{
  justify-content:center;
  width:100%;
}
.event-action-group .event-override{
  justify-content:flex-start;
}
.event-detail-upload-picker{
  min-height:86px!important;
  padding:10px!important;
}
.event-detail-alerts>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.event-guardrail{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fafc;
  padding:4px 9px;
  color:#334155;
  font-size:11px;
  font-weight:900;
}
.event-guardrail.ok{
  border-color:#b7e4c7;
  background:#f3fbf6;
  color:#14532d;
}
.event-guardrail.warn{
  border-color:#f5d48a;
  background:#fffaf0;
  color:#854d0e;
}
.event-guardrail.bad{
  border-color:#fecaca;
  background:#fff5f5;
  color:#991b1b;
}
.events-public-body{
  margin:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045) 0 16%,transparent 16% 34%,rgba(22,137,87,.08) 34% 35%,transparent 35% 100%),
    linear-gradient(165deg,rgba(245,158,11,.09) 0 10%,transparent 10% 46%,rgba(59,130,246,.11) 46% 47%,transparent 47% 100%),
    linear-gradient(180deg,#111827 0,#18243a 255px,#26364f 420px,#edf3f9 820px,#f8fafc 100%);
  background-attachment:fixed;
  color:#172033;
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
}
.events-public-body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.36) 310px,transparent 700px);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.36) 310px,transparent 700px);
  z-index:0;
}
.events-public-body:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.02) 0,transparent 220px,rgba(248,250,252,.78) 820px);
  z-index:0;
}
.events-public-body.public-calendar-tone-blue{
  --public-calendar-tone:#174ea6;
  --public-calendar-tone-text:#24456f;
  --public-calendar-tone-soft:#eef6ff;
  --public-calendar-tone-line:#cfe0f5;
  --public-calendar-tone-border:#93c5fd;
  --public-calendar-tone-shadow:rgba(23,78,166,.12);
}
.events-public-body.public-calendar-tone-green{
  --public-calendar-tone:#047857;
  --public-calendar-tone-text:#14532d;
  --public-calendar-tone-soft:#ecfdf5;
  --public-calendar-tone-line:#bbf7d0;
  --public-calendar-tone-border:#34d399;
  --public-calendar-tone-shadow:rgba(4,120,87,.14);
}
.events-public-body.public-calendar-tone-purple{
  --public-calendar-tone:#6d28d9;
  --public-calendar-tone-text:#4c1d95;
  --public-calendar-tone-soft:#f3e8ff;
  --public-calendar-tone-line:#ddd6fe;
  --public-calendar-tone-border:#a78bfa;
  --public-calendar-tone-shadow:rgba(109,40,217,.14);
}
.events-public-body.public-calendar-tone-gold{
  --public-calendar-tone:#b45309;
  --public-calendar-tone-text:#78350f;
  --public-calendar-tone-soft:#fffbeb;
  --public-calendar-tone-line:#fde68a;
  --public-calendar-tone-border:#fbbf24;
  --public-calendar-tone-shadow:rgba(180,83,9,.14);
}
.events-public-body.public-calendar-tone-slate{
  --public-calendar-tone:#334155;
  --public-calendar-tone-text:#334155;
  --public-calendar-tone-soft:#f1f5f9;
  --public-calendar-tone-line:#cbd5e1;
  --public-calendar-tone-border:#94a3b8;
  --public-calendar-tone-shadow:rgba(51,65,85,.14);
}
.events-public-body.public-calendar-bg-paper{
  background:
    linear-gradient(135deg,rgba(14,165,233,.08),transparent 42%,rgba(22,163,74,.08)),
    linear-gradient(180deg,#f8fafc 0,#eaf4ff 270px,#f7fbff 540px,#f8fafc 100%);
}
.events-public-body.public-calendar-bg-spruce{
  background:
    linear-gradient(150deg,rgba(234,179,8,.15),transparent 40%,rgba(255,255,255,.08)),
    linear-gradient(180deg,#063f3b 0,#0f766e 300px,#e8f5f0 760px,#f8fafc 100%);
}
.events-public-body.public-calendar-bg-sunrise{
  background:
    linear-gradient(140deg,rgba(249,115,22,.25),transparent 36%,rgba(14,165,233,.18)),
    linear-gradient(180deg,#7c2d12 0,#f59e0b 250px,#eef7ff 760px,#f8fafc 100%);
}
.events-public-body.public-calendar-bg-slate{
  background:
    linear-gradient(135deg,rgba(148,163,184,.16),transparent 40%,rgba(34,197,94,.08)),
    linear-gradient(180deg,#111827 0,#334155 300px,#e7eef7 760px,#f8fafc 100%);
}
.events-public-body.public-calendar-bg-scope-off{
  background:#f8fafc;
}
.events-public-body.public-calendar-bg-scope-off:before,
.events-public-body.public-calendar-bg-scope-off:after{
  display:none;
}
.events-public-body.public-calendar-bg-scope-header .events-public-card,
.events-public-body.public-calendar-bg-scope-header .events-public-notice,
.events-public-body.public-calendar-bg-scope-header .events-submitted-card{
  backdrop-filter:none;
}
.events-public-body.public-calendar-bg-scope-page .events-public-card,
.events-public-body.public-calendar-bg-scope-page .events-public-hero{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
}
.events-public-body.public-calendar-bg-scope-off .events-public-hero{
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}
.events-public-body [hidden]{
  display:none!important;
}
.events-public-shell{
  position:relative;
  z-index:1;
  width:min(1320px,calc(100vw - 28px));
  margin:0 auto;
  padding:12px 0 42px;
  display:grid;
  gap:14px;
}
.events-public-hero,
.events-public-card{
  border:1px solid rgba(216,227,241,.96);
  border-radius:8px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 46px rgba(15,23,42,.11);
  padding:16px;
}
.events-public-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:62px;
  padding:9px 12px;
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.95) 54%,rgba(239,246,255,.92)),
    linear-gradient(90deg,rgba(23,78,166,.12),rgba(22,137,87,.1),rgba(245,158,11,.1));
  box-shadow:0 18px 44px rgba(3,7,18,.18);
}
.events-public-notice{
  border:1px solid rgba(191,219,254,.9);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(255,255,255,.96));
  color:#172033;
  box-shadow:0 16px 38px rgba(15,23,42,.14);
  padding:14px 16px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.events-public-notice>span{
  width:44px;
  height:44px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#174ea6;
  color:#fff;
}
.events-public-notice b,
.events-public-notice p{
  display:block;
}
.events-public-notice b{
  color:#0f172a;
  font-size:16px;
}
.events-public-notice p{
  margin:3px 0 0;
  color:#475569;
  font-size:13px;
  font-weight:550;
  line-height:1.35;
}
.events-public-notice.success{
  border-color:#bbf7d0;
  background:linear-gradient(135deg,#ecfdf3,#fff);
}
.events-public-notice.success>span{
  background:#168957;
}
.events-public-notice.warning{
  border-color:#fde68a;
  background:linear-gradient(135deg,#fff8db,#fff);
}
.events-public-notice.warning>span{
  background:#c98210;
}
.events-public-notice.critical{
  border-color:#fecaca;
  background:linear-gradient(135deg,#fff1f2,#fff);
}
.events-public-notice.critical>span{
  background:#d94752;
}
.events-public-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:#172033;
  text-decoration:none;
}
.events-public-brand img{
  width:42px;
  height:42px;
  object-fit:contain;
}
.events-public-brand span,
.events-public-brand b,
.events-public-brand small{
  display:block;
}
.events-public-brand b{
  color:#172033;
  font-size:17px;
  line-height:1.1;
}
.events-public-brand small{
  margin-top:2px;
  color:#174ea6;
  font-size:12px;
  font-weight:950;
  line-height:1.1;
}
.events-public-header-title{
  min-width:0;
  flex:1 1 auto;
  border-left:1px solid #d5e1ef;
  padding-left:14px;
}
.events-public-header-title h1{
  margin:0;
  color:#172033;
  font-size:24px;
  line-height:1.1;
}
.events-public-header-title p{
  margin:2px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:850;
  line-height:1.2;
}
.events-public-hero-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
.events-public-hero-actions .btn,
.events-public-hero-actions .primary{
  min-height:36px;
  padding:8px 11px;
  white-space:nowrap;
}
.events-public-account-pill{
  min-height:34px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#f8fbff;
  color:#174ea6;
  padding:7px 11px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  font-weight:950;
}
.events-public-account-pill .ui-icon{
  width:16px;
  height:16px;
}
.events-public-list{
  display:grid;
  gap:9px;
}
.events-public-list>div,
.events-public-list-item{
  width:100%;
  border:1px solid #dbe5f2;
  border-radius:8px;
  padding:12px;
  display:grid;
  gap:3px;
  background:#fff;
  color:#172033;
  text-align:left;
  box-shadow:none;
}
.events-public-list-item:hover,
.events-public-list-item:focus-visible{
  border-color:#b9cff0;
  background:#f8fbff;
  outline:none;
}
.events-public-list b,
.events-public-list span,
.events-public-list small{
  display:block;
}
.public-calendar-event-modal.event-modal{
  width:min(980px,calc(100vw - 28px));
  max-height:calc(100vh - 32px);
  padding:0;
  border-radius:14px;
  overflow:hidden;
}
.public-calendar-event-head{
  align-items:flex-start!important;
}
.public-calendar-event-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:0;
  max-height:calc(100vh - 124px);
  overflow:auto;
  background:#fff;
}
.public-calendar-event-main{
  min-width:0;
  display:grid;
  align-content:start;
  gap:14px;
  padding:18px 20px 20px;
}
.public-calendar-event-status{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:linear-gradient(180deg,#f8fbff,#fff);
  padding:12px;
  display:grid;
  gap:5px;
}
.public-calendar-event-status .badge{
  width:max-content;
}
.public-calendar-event-status b{
  color:#0f172a;
  font-size:18px;
  line-height:1.2;
}
.public-calendar-event-status small{
  color:#475569;
  font-size:13px;
  font-weight:900;
}
.public-calendar-event-kv{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.public-calendar-event-kv div{
  border:1px solid #e5edf7;
  border-radius:9px;
  background:#fbfdff;
  padding:10px;
}
.public-calendar-event-kv dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.public-calendar-event-kv dd{
  margin:4px 0 0;
  color:#172033;
  font-size:13px;
  font-weight:900;
  overflow-wrap:anywhere;
}
.public-calendar-event-notes{
  border:1px solid #e5edf7;
  border-radius:10px;
  background:#fff;
  padding:14px;
}
.public-calendar-event-notes h3{
  margin:0 0 8px;
  font-size:15px;
}
.public-calendar-event-notes p{
  margin:0;
  color:#475569;
  font-weight:800;
  line-height:1.5;
  white-space:pre-wrap;
}
.public-calendar-event-side{
  border-left:1px solid #dbe5f2;
  background:#f8fafc;
  padding:16px;
  display:grid;
  align-content:start;
  gap:12px;
}
.public-calendar-room-media{
  display:grid;
  gap:10px;
}
.public-calendar-event-actions{
  display:grid;
  gap:8px;
}
.public-calendar-event-actions .btn,
.public-calendar-event-actions .primary{
  width:100%;
  min-height:38px;
  border-radius:8px;
  justify-content:center;
}
.event-account-body{
  background:
    linear-gradient(180deg,#eaf5ff 0,#f8fbff 290px),
    linear-gradient(135deg,#f1f8f4 0,#fff7ed 100%);
}
.event-account-shell{
  width:min(1180px,calc(100vw - 28px));
  margin:0 auto;
  padding:18px 0 42px;
  display:grid;
  gap:16px;
}
.event-account-hero,
.event-account-auth-card,
.event-account-auth-grid,
.event-account-dashboard-head,
.event-account-card,
.event-account-alert{
  border:1px solid #d8e3f1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.event-account-hero{
  min-height:74px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:
    linear-gradient(135deg,rgba(23,78,166,.08),rgba(22,137,87,.08) 55%,rgba(180,83,9,.07)),
    #fff;
}
.event-account-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:#172033;
  text-decoration:none;
}
.event-account-brand img{
  width:44px;
  height:44px;
  object-fit:contain;
}
.event-account-brand b,
.event-account-brand small{
  display:block;
}
.event-account-brand b{
  font-size:17px;
  line-height:1.1;
}
.event-account-brand small{
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.event-account-hero nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.event-account-hero nav form{
  margin:0;
}
.event-portal-user-menu{
  position:relative;
  z-index:40;
}
.event-portal-avatar-button{
  min-height:44px;
  border:1px solid #cfe0f4;
  border-radius:999px;
  background:#fff;
  color:#172033;
  padding:5px 8px 5px 5px;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  cursor:pointer;
}
.event-portal-avatar-button:hover,
.event-portal-avatar-button[aria-expanded="true"]{
  border-color:#8fb6e9;
  background:#f8fbff;
}
.event-portal-avatar{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:999px;
  background:linear-gradient(135deg,#174ea6,#168957);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.event-portal-avatar-copy{
  display:grid!important;
  gap:1px;
  min-width:0;
  text-align:left;
}
.event-portal-avatar-copy b,
.event-portal-avatar-copy small{
  display:block;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-portal-avatar-copy b{
  color:#172033;
  font-size:12px;
  line-height:1.1;
}
.event-portal-avatar-copy small{
  color:#64748b;
  font-size:10px;
  font-weight:900;
}
.event-portal-avatar-button>.ui-icon{
  width:16px;
  height:16px;
  color:#64748b;
}
.event-portal-user-panel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:250px;
  border:1px solid #d8e3f1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 46px rgba(15,23,42,.18);
  padding:7px;
  display:grid;
  gap:4px;
}
.event-portal-user-panel a,
.event-portal-user-panel button{
  width:100%;
  min-height:38px;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px 10px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  box-shadow:none;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}
.event-portal-user-panel a:hover,
.event-portal-user-panel button:hover{
  background:#eef6ff;
  color:#174ea6;
}
.event-portal-user-panel form{
  margin:0!important;
}
.event-portal-user-panel .ui-icon{
  width:17px;
  height:17px;
}
.event-account-auth-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  min-height:620px;
  overflow:hidden;
}
.event-account-auth-copy{
  padding:34px;
  display:grid;
  align-content:center;
  gap:18px;
  background:#f8fafc;
  border-right:1px solid #dbe5f2;
}
.event-account-auth-copy>span,
.event-account-auth-card span,
.event-account-dashboard-head span{
  color:#174ea6;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-auth-copy h1,
.event-account-auth-card h1,
.event-account-dashboard-head h1{
  margin:0;
  color:#172033;
  font-size:34px;
  line-height:1.05;
}
.event-account-auth-copy p,
.event-account-auth-card p,
.event-account-dashboard-head p{
  margin:0;
  color:#475569;
  font-size:15px;
  font-weight:750;
  line-height:1.5;
}
.event-account-auth-points{
  display:grid;
  gap:10px;
}
.event-account-auth-points div{
  border:1px solid #e0e8f3;
  border-radius:10px;
  background:#fff;
  padding:12px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:2px 10px;
}
.event-account-auth-points .ui-icon{
  grid-row:1 / span 2;
  width:24px;
  height:24px;
  color:#174ea6;
}
.event-account-auth-points b,
.event-account-auth-points small{
  display:block;
}
.event-account-auth-points small{
  color:#64748b;
  font-weight:800;
}
.event-account-auth-panels{
  padding:20px;
  display:grid;
  align-content:start;
  gap:14px;
}
.event-account-landing{
  min-height:560px;
  border:1px solid #d8e3f1;
  border-radius:12px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  padding:28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:22px;
  align-items:center;
}
.event-account-landing-copy{
  display:grid;
  gap:18px;
  max-width:720px;
}
.event-account-landing-copy>span{
  color:#174ea6;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-landing-copy h1{
  margin:0;
  color:#172033;
  font-size:42px;
  line-height:1.06;
}
.event-account-landing-copy p{
  margin:0;
  color:#475569;
  font-size:16px;
  font-weight:750;
  line-height:1.55;
}
.event-account-cta-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.event-account-cta-row .primary,
.event-account-cta-row .btn{
  min-height:44px;
  padding:10px 16px;
}
.event-account-action-panel{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  padding:14px;
  display:grid;
  gap:10px;
}
.event-account-action-panel>div{
  border:1px solid #e0e8f3;
  border-radius:10px;
  background:#fbfdff;
  padding:13px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:2px 11px;
}
.event-account-action-panel span{
  grid-row:1 / span 2;
  width:40px;
  height:40px;
  border-radius:10px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-account-action-panel .ui-icon{
  width:21px;
  height:21px;
}
.event-account-action-panel b,
.event-account-action-panel small{
  display:block;
}
.event-account-action-panel b{
  color:#172033;
  font-size:14px;
}
.event-account-action-panel small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.event-account-auth-card{
  padding:24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:20px;
  align-items:start;
}
.event-account-form{
  display:grid;
  gap:11px;
}
.event-account-body [hidden]{
  display:none!important;
}
.event-account-auth-modal{
  width:min(920px,calc(100vw - 32px))!important;
  max-height:min(780px,calc(100vh - 32px))!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr);
}
.event-account-auth-modal.large{
  width:min(980px,calc(100vw - 32px))!important;
}
.event-account-auth-modal::before{
  content:"";
  grid-row:1 / span 2;
  min-height:460px;
  background:
    linear-gradient(180deg,rgba(15,23,42,.1),rgba(15,23,42,.52)),
    url("../img/events-auth-hero.png") center/cover no-repeat;
}
.event-account-auth-modal>.modal-head{
  grid-column:2;
  margin:0!important;
  border-radius:0!important;
  min-height:88px!important;
}
.event-account-auth-modal>.event-account-form{
  grid-column:2;
  min-width:0;
}
.event-account-auth-modal .event-account-form{
  padding:18px;
}
.event-account-modal-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.event-account-modal-title>span{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:10px;
  background:#174ea6;
  color:#fff;
  display:grid;
  place-items:center;
}
.event-account-modal-title .ui-icon{
  width:22px;
  height:22px;
}
.event-account-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.event-account-form.subtle{
  border-top:1px solid #e5edf6;
  padding-top:14px;
}
.event-account-form h2,
.event-account-card h2{
  margin:0;
  color:#172033;
  font-size:21px;
}
.event-account-form label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:950;
}
.event-account-form label>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.event-account-form label em{
  color:#b42318;
  font-size:10px;
  font-style:normal;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-form input{
  width:100%;
  min-height:42px;
  border:1px solid #d3deec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px 10px;
}
.event-account-form input:focus{
  border-color:#93b8ec;
  box-shadow:0 0 0 3px rgba(23,78,166,.12);
  outline:0;
}
.event-account-form input:invalid{
  border-color:#d3deec;
}
.event-account-form input:focus:invalid{
  border-color:#dc2626;
  box-shadow:0 0 0 3px rgba(220,38,38,.12);
}
.event-account-form-guardrail{
  border:1px solid #c7d7ec;
  border-radius:9px;
  background:#f8fbff;
  color:#334155;
  padding:10px 11px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:12px;
  font-weight:850;
  line-height:1.4;
}
.event-account-form-guardrail .ui-icon{
  width:18px;
  height:18px;
  min-width:18px;
  color:#174ea6;
}
.event-account-form-guardrail.bad{
  border-color:#fecaca;
  background:#fff5f5;
  color:#991b1b;
}
.event-account-modal-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  border-top:1px solid #e1e8f2;
  background:#fbfdff;
  margin:6px -18px -18px;
  padding:13px 18px;
}
.event-account-small-link{
  color:#174ea6;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.event-account-dashboard-head{
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.event-account-dashboard-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.event-account-alert{
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-color:#f5d48a;
  background:#fffaf0;
}
.event-account-alert>div{
  display:flex;
  align-items:center;
  gap:10px;
}
.event-account-alert .ui-icon{
  color:#b45309;
  width:24px;
  height:24px;
}
.event-account-alert b,
.event-account-alert small{
  display:block;
}
.event-account-alert small{
  color:#854d0e;
  font-weight:800;
}
.event-account-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.event-account-metrics div{
  border:1px solid #d8e3f1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  padding:14px;
  display:grid;
  gap:5px;
}
.event-account-metrics span{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-metrics b{
  color:#172033;
  font-size:28px;
  line-height:1;
}
.event-account-next-card{
  border:1px solid #cfe0f3;
  border-radius:12px;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 65%,#f1f8f4 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.event-account-next-card>div{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.event-account-next-card>div>span{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:12px;
  background:#eaf2ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.event-account-next-card .ui-icon{
  width:24px;
  height:24px;
}
.event-account-next-card small{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-next-card h2{
  margin:2px 0 0;
  color:#172033;
  font-size:18px;
  line-height:1.2;
}
.event-account-next-card p{
  margin:3px 0 0;
  color:#475569;
  font-size:13px;
  font-weight:850;
}
.event-account-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:16px;
  align-items:start;
}
.event-account-main-grid-wide{
  grid-template-columns:1fr;
}
.event-account-card{
  padding:16px;
  min-width:0;
}
.event-account-booking-head{
  align-items:flex-start;
  gap:14px;
}
.event-account-booking-tabs{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.event-account-booking-tabs button{
  min-height:34px;
  border:1px solid #d7e2f0;
  border-radius:999px;
  background:#fff;
  color:#334155;
  padding:7px 10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.event-account-booking-tabs button.active{
  border-color:#174ea6;
  background:#eaf2ff;
  color:#174ea6;
}
.event-account-booking-tabs b{
  min-width:22px;
  min-height:22px;
  border-radius:999px;
  background:#edf2f7;
  color:#172033;
  padding:3px 6px;
  display:inline-grid;
  place-items:center;
  font-size:11px;
  line-height:1;
}
.event-account-booking-tabs button.active b{
  background:#174ea6;
  color:#fff;
}
.event-account-booking-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:12px;
}
.event-account-booking-list[hidden],
.event-account-calendar-view[hidden]{
  display:none!important;
}
.event-account-calendar-view{
  display:grid;
  gap:12px;
}
.event-account-calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #dbe7f4;
  border-radius:10px;
  background:#f8fbff;
  padding:10px;
}
.event-account-calendar-head h3{
  margin:0;
  color:#172033;
  font-size:18px;
  text-align:center;
}
.event-account-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border:1px solid #dbe7f4;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.event-account-calendar-weekday{
  background:#f1f5f9;
  border-right:1px solid #dbe7f4;
  border-bottom:1px solid #dbe7f4;
  color:#64748b;
  padding:8px;
  font-size:11px;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
}
.event-account-calendar-weekday:nth-child(7){
  border-right:0;
}
.event-account-calendar-day{
  min-height:118px;
  border-right:1px solid #e3ebf6;
  border-bottom:1px solid #e3ebf6;
  background:#fff;
  padding:7px;
  display:grid;
  align-content:start;
  gap:6px;
}
.event-account-calendar-day:nth-child(7n){
  border-right:0;
}
.event-account-calendar-day.muted{
  background:#f8fafc;
}
.event-account-calendar-day strong{
  color:#172033;
  font-size:12px;
  font-weight:950;
}
.event-account-calendar-day button{
  width:100%;
  border:1px solid #dbeafe;
  border-left:4px solid #174ea6;
  border-radius:8px;
  background:#eff6ff;
  color:#172033;
  padding:6px;
  text-align:left;
  display:grid;
  gap:2px;
  cursor:pointer;
}
.event-account-calendar-day button:hover{
  border-color:#93c5fd;
  box-shadow:0 8px 18px rgba(37,99,235,.12);
}
.event-account-calendar-day button span,
.event-account-calendar-day button small{
  color:#64748b;
  font-size:10px;
  font-weight:850;
}
.event-account-calendar-day button b{
  color:#172033;
  font-size:12px;
  line-height:1.2;
}
.event-account-booking{
  border:1px solid #e0e8f3;
  border-radius:10px;
  background:#fbfdff;
  padding:13px;
  display:grid;
  gap:9px;
  min-width:0;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.event-account-booking:hover{
  border-color:#b8cbe4;
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.event-account-booking[hidden]{
  display:none!important;
}
.event-account-booking-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.event-account-booking-top small{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.event-account-booking h3{
  margin:0;
  color:#172033;
  font-size:17px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.event-account-booking-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.event-account-booking-chips span{
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  padding:4px 8px;
  font-size:11px;
  font-weight:900;
}
.event-account-booking p{
  margin:0;
  color:#475569;
  font-size:12px;
  font-weight:850;
}
.event-account-booking dl{
  margin:0;
  display:grid;
  gap:7px;
}
.event-account-booking dl div{
  border:1px solid #edf2f8;
  border-radius:8px;
  background:#fff;
  padding:8px;
}
.event-account-booking dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-booking dd{
  margin:2px 0 0;
  color:#172033;
  font-size:12px;
  font-weight:850;
}
.event-account-booking-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.event-account-filter-empty{
  margin-top:12px;
}
.event-account-action-required{
  border:1px solid #fed7aa;
  border-radius:16px;
  background:linear-gradient(135deg,#fff7ed 0%,#ffffff 72%);
  padding:16px;
  display:grid;
  gap:12px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.event-account-action-required.quiet{
  border-color:#bbf7d0;
  background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 72%);
}
.event-account-action-required>div:first-child{
  display:flex;
  align-items:center;
  gap:12px;
}
.event-account-action-required>div:first-child>span{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#f97316;
  color:#fff;
  flex:0 0 auto;
}
.event-account-action-required.quiet>div:first-child>span{
  background:#16a34a;
}
.event-account-action-required h2,
.event-account-action-required p{
  margin:0;
}
.event-account-action-required h2{
  color:#172033;
  font-size:18px;
}
.event-account-action-required p{
  margin-top:3px;
  color:#64748b;
  font-size:13px;
  font-weight:750;
}
.event-account-action-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:8px;
}
.event-account-action-list button{
  border:1px solid #fde68a;
  border-radius:12px;
  background:#fff;
  padding:10px;
  text-align:left;
  cursor:pointer;
  display:grid;
  gap:3px;
}
.event-account-action-list button:hover{
  border-color:#f97316;
  box-shadow:0 10px 24px rgba(249,115,22,.16);
}
.event-account-action-list b{
  color:#172033;
  font-size:13px;
}
.event-account-action-list span{
  color:#92400e;
  font-size:12px;
  font-weight:800;
}
.event-account-guardrails{
  margin-top:14px;
  border:1px solid #dce7f5;
  border-radius:10px;
  background:#f8fbff;
  padding:13px;
  display:grid;
  gap:9px;
}
.event-account-guardrails h3{
  margin:0;
  color:#172033;
  font-size:15px;
}
.event-account-guardrails p{
  margin:0;
  color:#475569;
  font-size:12px;
  font-weight:850;
  line-height:1.45;
}
.event-account-guardrails span{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  color:#334155;
  font-size:12px;
  font-weight:850;
  line-height:1.4;
}
.event-account-guardrails .ui-icon{
  width:18px;
  height:18px;
  color:#174ea6;
}
.event-account-booking-modal{
  width:min(900px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100vh - 32px))!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.event-account-booking-modal>.modal-head,
.event-account-request-modal>.modal-head{
  margin:0!important;
  border-radius:12px 12px 0 0!important;
  flex:0 0 auto;
}
.event-account-booking-detail{
  padding:16px;
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  gap:14px;
  max-height:none;
  overflow:auto;
}
.event-account-booking-detail section{
  min-width:0;
  display:grid;
  gap:12px;
}
.event-account-detail-status{
  border:1px solid #dbe7f4;
  border-radius:10px;
  background:#fbfdff;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.event-account-detail-status b{
  color:#172033;
  font-size:13px;
  text-align:right;
}
.event-account-booking-detail dl{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.event-account-booking-detail dl div,
.event-account-detail-notes,
.event-account-change-list div,
.event-account-detail-panel{
  border:1px solid #e2eaf4;
  border-radius:10px;
  background:#fff;
  padding:12px;
}
.event-account-detail-panel{
  display:grid;
  gap:10px;
}
.event-account-detail-panel.needs-action{
  border-color:#fed7aa;
  background:#fff7ed;
}
.event-account-booking-detail dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-account-booking-detail dd{
  margin:3px 0 0;
  color:#172033;
  font-size:13px;
  font-weight:850;
  overflow-wrap:anywhere;
}
.event-account-detail-notes h3,
.event-account-change-list h3,
.event-account-detail-panel h3{
  margin:0 0 7px;
  color:#172033;
  font-size:15px;
}
.event-account-detail-notes p,
.event-account-detail-panel p{
  margin:0;
  color:#475569;
  font-size:13px;
  font-weight:750;
  line-height:1.5;
  white-space:pre-wrap;
}
.event-account-detail-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #eef2f7;
  padding-top:8px;
}
.event-account-detail-row span,
.event-account-detail-row b{
  font-size:12px;
}
.event-account-detail-row span{
  color:#64748b;
  font-weight:850;
}
.event-account-detail-row b{
  color:#172033;
  text-align:right;
}
.event-account-checklist,
.event-account-doc-list,
.event-account-timeline,
.event-account-message-list{
  display:grid;
  gap:8px;
}
.event-account-checklist div{
  display:flex;
  align-items:center;
  gap:9px;
  color:#475569;
  font-size:13px;
  font-weight:850;
}
.event-account-checklist i{
  width:12px;
  height:12px;
  border-radius:999px;
  border:2px solid #cbd5e1;
  flex:0 0 auto;
}
.event-account-checklist .complete i{
  border-color:#16a34a;
  background:#16a34a;
}
.event-account-checklist .action i{
  border-color:#f97316;
  background:#f97316;
}
.event-account-doc-list a{
  border:1px solid #e2eaf4;
  border-radius:9px;
  background:#f8fbff;
  padding:9px;
  display:grid;
  gap:2px;
  text-decoration:none;
}
.event-account-doc-list b,
.event-account-message-list b,
.event-account-timeline b{
  color:#172033;
  font-size:13px;
}
.event-account-doc-list span,
.event-account-message-list span,
.event-account-timeline span{
  color:#64748b;
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}
.event-account-timeline div{
  position:relative;
  padding-left:18px;
  display:grid;
  gap:2px;
}
.event-account-timeline i{
  position:absolute;
  left:0;
  top:4px;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:0 0 0 4px #dbeafe;
}
.event-account-message-list div{
  border:1px solid #e2eaf4;
  border-radius:9px;
  background:#fbfdff;
  padding:9px;
  display:grid;
  gap:3px;
}
.event-account-booking-detail aside{
  min-width:0;
  border:1px solid #dce7f5;
  border-radius:10px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  align-content:start;
  gap:8px;
}
.event-account-booking-detail aside .btn,
.event-account-booking-detail aside .primary{
  width:100%;
  justify-content:flex-start;
}
.event-account-upload-form{
  margin-top:6px;
  border-top:1px solid #dce7f5;
  padding-top:10px;
  display:grid;
  gap:8px;
}
.event-account-upload-form label{
  margin:0;
  color:#475569;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.event-account-upload-form input,
.event-account-upload-form select{
  margin-top:4px;
  width:100%;
  min-height:34px;
  border:1px solid #d5dfec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:7px 8px;
  font-size:12px;
  font-weight:750;
  text-transform:none;
}
.event-account-change-list{
  border-top:1px solid #e1e8f2;
  background:#fbfdff;
  padding:0 16px 16px;
  display:grid;
  gap:8px;
}
.event-account-change-list:empty{
  display:none;
}
.event-account-change-list b,
.event-account-change-list span{
  display:block;
}
.event-account-change-list b{
  color:#172033;
  font-size:13px;
}
.event-account-change-list span{
  margin-top:3px;
  color:#475569;
  font-size:12px;
  font-weight:750;
  line-height:1.45;
}
.event-account-request-modal{
  width:min(640px,calc(100vw - 32px))!important;
  max-height:min(700px,calc(100vh - 32px))!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.event-account-request-modal .event-account-form{
  flex:1 1 auto;
  min-height:0;
  padding:16px 18px 0;
  overflow:auto;
}
.event-account-request-modal .event-account-form .event-account-modal-actions{
  margin:12px -18px 0!important;
  padding:13px 18px!important;
  flex:0 0 auto;
}
.event-account-request-time-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.event-account-request-edit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.event-account-request-edit-grid .span2{
  grid-column:1 / -1;
}
.event-account-form textarea{
  width:100%;
  min-height:120px;
  border:1px solid #d3deec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:10px;
  resize:vertical;
  font:inherit;
  line-height:1.45;
}
.event-account-form textarea:focus{
  border-color:#93b8ec;
  box-shadow:0 0 0 3px rgba(23,78,166,.12);
  outline:0;
}
.event-account-profile-modal{
  width:min(780px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100vh - 32px))!important;
  overflow:hidden!important;
}
.event-account-profile-modal>.modal-head{
  margin:0!important;
  border-radius:0!important;
}
.event-account-profile-form{
  padding:16px;
  max-height:calc(100vh - 130px);
  overflow:auto;
}
.event-account-notification-box{
  border:1px solid #d7e5f5;
  border-radius:12px;
  background:linear-gradient(135deg,#f8fbff,#f7fbf8);
  padding:13px;
  display:grid;
  gap:9px;
}
.event-account-notification-box h3{
  margin:0 0 2px;
  color:#172033;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:15px;
}
.event-account-notification-box h3 .ui-icon{
  width:18px;
  height:18px;
  color:#174ea6;
}
.event-account-toggle-row{
  border:1px solid #e1e9f4;
  border-radius:10px;
  background:#fff;
  padding:10px;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:9px!important;
  color:#172033!important;
  font-size:13px!important;
}
.event-account-toggle-row input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:1px 0 0;
  accent-color:#174ea6;
}
.event-account-toggle-row span,
.event-account-toggle-row b,
.event-account-toggle-row small{
  display:block;
}
.event-account-toggle-row b{
  font-size:13px;
}
.event-account-toggle-row small{
  margin-top:2px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.event-account-footer{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100vw - 32px));
  margin:18px auto 30px;
  border-top:1px solid rgba(148,163,184,.42);
  color:#475569;
  padding-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  font-weight:800;
}
.event-account-footer div{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.event-account-footer b{
  color:#172033;
}
.event-account-footer span{
  color:#174ea6;
}
.compact-profile{
  margin-top:12px;
}
.events-public-lookup{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.events-submitted-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid #bae6d0;
  border-radius:8px;
  background:#f3fbf6;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  padding:14px 16px;
}
.events-submitted-card span,
.events-submitted-card small{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.events-submitted-card b{
  display:block;
  margin:3px 0;
  color:#14532d;
  font-size:18px;
}
.events-submitted-card em{
  border-radius:999px;
  background:#168957;
  color:#fff;
  padding:6px 10px;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.event-public-notes{
  padding:0 16px 16px;
}
.events-approval-board,
.events-public-return-grid{
  display:grid;
  gap:12px;
}
.events-approval-board{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.events-approval-card,
.events-settings-form>section,
.events-sync-log,
.events-public-return-grid>section{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:14px;
  min-width:0;
}
.events-approval-card{
  display:grid;
  gap:10px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.events-approval-card header{
  display:grid;
  gap:4px;
}
.events-approval-card header b{
  font-size:16px;
}
.events-approval-card header small,
.events-approval-card dt{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-approval-card dl{
  display:grid;
  gap:8px;
  margin:0;
}
.events-approval-card dd{
  margin:2px 0 0;
  color:#172033;
  font-weight:500;
}
.events-approval-requester{
  display:flex;
  align-items:center;
  gap:9px;
}
.events-approval-requester .avatar{
  width:30px;
  height:30px;
  min-width:30px;
  flex:0 0 30px;
  font-size:10px;
}
.events-approval-requester>span:last-child{
  min-width:0;
  display:block;
}
.events-approval-requester b,
.events-approval-requester small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.events-approval-requester b{
  font-size:12px;
  font-weight:600;
  line-height:1.25;
}
.events-approval-requester small{
  color:#64748b;
  font-size:11px;
  line-height:1.3;
  margin-top:2px;
}
.events-approval-actions,
.events-billing-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.events-row-actions{
  width:128px;
  overflow:visible!important;
}
.events-requests-table-wrap{
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
}
.events-requests-table{
  min-width:0;
  width:100%;
  table-layout:fixed;
}
.events-requests-table .events-requests-col-event{width:29%}
.events-requests-table .events-requests-col-schedule{width:30%}
.events-requests-table .events-requests-col-requester{width:17%}
.events-requests-table .events-requests-col-state{width:14%}
.events-requests-table .events-requests-col-actions{width:10%}
.events-requests-table th,
.events-requests-table td{
  min-width:0;
}
.events-requests-table th{
  white-space:nowrap;
}
.events-requests-table td{
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.35;
  vertical-align:top;
}
.events-requests-table td b,
.events-requests-table td small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.events-requests-table td:nth-child(4),
.events-requests-table td:nth-child(5){
  overflow:visible;
}
.events-requests-table td:nth-child(5){
  white-space:nowrap;
}
.events-requests-table .events-calendar-chip{
  margin-top:5px;
  max-width:100%;
}
.events-requests-table .events-need-pill{
  margin:2px 3px 2px 0;
  max-width:100%;
  padding-inline:6px;
}
.events-requests-table .events-row-actions{
  min-width:104px;
  text-align:right;
  overflow:visible!important;
}
.events-requests-table .events-row-actions .events-action-menu{
  display:inline-flex;
  justify-content:flex-end;
  width:100%;
}
.events-requests-table .events-row-actions .table-action{
  width:96px;
  min-width:0;
  padding-inline:8px;
  justify-content:center;
}
.events-action-menu{
  position:relative;
  z-index:5;
  overflow:visible!important;
}
.events-action-menu.open,
.events-action-menu[open]{
  z-index:100010;
}
.events-action-menu .table-action{
  gap:6px;
  min-height:34px;
}
.events-action-menu>.table-action{
  border-color:#174ea6!important;
  background:#174ea6!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(23,78,166,.18);
}
.events-action-menu>.table-action:hover,
.events-action-menu>.table-action:focus-visible{
  border-color:#123f86!important;
  background:#123f86!important;
  color:#fff!important;
  outline:none;
}
.events-action-menu .table-action-menu-panel{
  position:absolute!important;
  top:calc(100% + 6px)!important;
  right:0!important;
  min-width:238px;
  z-index:100020!important;
}
.table-action-menu-panel.events-floating-action-panel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  width:max-content!important;
  min-width:238px!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  overflow:auto!important;
  z-index:130000!important;
  display:grid!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(13,25,43,.18)!important;
  padding:6px!important;
}
.events-action-menu.open .table-action-menu-panel,
.events-action-menu[open] .table-action-menu-panel{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.events-action-menu:not(.open):not([open]) .table-action-menu-panel{
  display:none!important;
}
.events-action-menu .table-action-menu-panel form,
.table-action-menu-panel.events-floating-action-panel form{
  margin:0;
  display:grid;
  gap:5px;
}
.events-action-menu .table-action-menu-panel a,
.events-action-menu .table-action-menu-panel button,
.table-action-menu-panel.events-floating-action-panel a,
.table-action-menu-panel.events-floating-action-panel button{
  display:flex;
  width:100%;
  align-items:center;
  gap:8px;
  justify-content:flex-start;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#172033!important;
  box-shadow:none;
  padding:9px 10px;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  text-align:left;
  text-decoration:none!important;
  cursor:pointer;
}
.events-action-menu .table-action-menu-panel a:hover,
.events-action-menu .table-action-menu-panel button:hover,
.table-action-menu-panel.events-floating-action-panel a:hover,
.table-action-menu-panel.events-floating-action-panel button:hover{
  background:#f2f5ff;
  color:#174ea6!important;
}
.events-action-menu .table-action-menu-panel input,
.table-action-menu-panel.events-floating-action-panel input{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 9px;
  font-size:12px;
  font-weight:800;
}
.events-action-menu .table-action-menu-panel .danger-menu-action,
.table-action-menu-panel.events-floating-action-panel .danger-menu-action{
  color:#b42318!important;
}
.events-action-menu .table-action-menu-panel .danger-menu-action:hover,
.table-action-menu-panel.events-floating-action-panel .danger-menu-action:hover{
  background:#fff1f2;
  color:#b42318!important;
}
.event-quick-edit-modal{
  width:min(920px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 36px);
  overflow:auto;
}
.event-quick-edit-body{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:16px;
  padding:16px;
}
.event-quick-edit-preview{
  align-self:start;
  display:grid;
  gap:10px;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:12px;
  min-width:0;
}
.event-quick-preview-media{
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/10;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#eef2f7;
  overflow:hidden;
}
.event-quick-preview-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-quick-preview-media span{
  color:#174ea6;
}
.event-quick-preview-media .ui-icon{
  width:34px;
  height:34px;
}
.event-quick-edit-preview b{
  color:#172033;
  font-size:16px;
  line-height:1.2;
}
.event-quick-edit-preview small{
  color:#64748b;
  font-weight:850;
  line-height:1.35;
}
.event-quick-edit-preview dl{
  display:grid;
  gap:7px;
  margin:0;
}
.event-quick-edit-preview dl div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #e5edf7;
  padding-top:7px;
}
.event-quick-edit-preview dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-quick-edit-preview dd{
  margin:0;
  color:#172033;
  font-weight:950;
  text-align:right;
}
.event-quick-edit-section{
  align-content:start;
  border:1px solid #e5edf7;
  border-radius:10px;
  background:#fff;
  padding:14px;
}
.event-quick-edit-section[hidden]{
  display:none!important;
}
.event-calendar-quick-modal [data-calendar-quick-section="visibility"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.event-calendar-quick-modal [data-calendar-quick-section="visibility"]>label:first-child,
.event-calendar-quick-modal [data-calendar-quick-section="visibility"]>.events-public-notice-settings{
  grid-column:1/-1;
}
.event-calendar-quick-modal [data-calendar-quick-section="visibility"]>.event-toggle-card{
  min-height:96px;
  height:100%;
  align-content:start;
}
.event-quick-calendar-swatch{
  width:54px;
  height:54px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.25);
}
.event-resource-permissions-modal{
  width:min(980px,calc(100vw - 32px))!important;
  height:min(760px,calc(100vh - 36px))!important;
  max-height:calc(100vh - 36px);
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.event-resource-permissions-modal form{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto;
  min-height:0;
}
.event-resource-permissions-body{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);
  gap:16px;
  padding:16px;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.event-resource-permissions-search,
.event-resource-permissions-selected{
  display:grid;
  align-content:start;
  gap:10px;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.event-resource-permissions-search{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:12px;
}
.event-resource-permissions-search label{
  display:grid;
  gap:7px;
  color:#172033;
  font-weight:950;
}
.event-resource-permissions-search input{
  width:100%;
  border:1px solid #cfdaea;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:10px 11px;
  font-weight:850;
}
.event-resource-permissions-results,
.event-resource-permissions-list{
  display:grid;
  align-content:start;
  gap:8px;
  min-height:0;
  overflow:auto;
  padding-right:3px;
}
.event-resource-permissions-results{
  max-height:100%;
}
.event-resource-permissions-list{
  max-height:100%;
}
.event-resource-permissions-empty{
  border:1px dashed #cbd5e1;
  border-radius:9px;
  background:#fff;
  color:#64748b;
  padding:14px;
  text-align:center;
  font-weight:850;
}
.event-resource-permissions-selected-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #e5edf7;
  padding-bottom:8px;
}
.event-resource-permissions-selected-head b{
  color:#172033;
  font-size:15px;
}
.event-resource-permissions-selected-head small{
  color:#64748b;
  font-weight:850;
}
.event-resource-permission-row{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.event-resource-permission-person{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.event-resource-permission-person span,
.event-resource-permission-person b,
.event-resource-permission-person small{
  display:block;
  min-width:0;
}
.event-resource-permission-person b{
  color:#172033;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-resource-permission-person small{
  color:#64748b;
  font-size:11px;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.event-resource-permission-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 10px;
}
.event-resource-permission-checks label{
  display:flex;
  align-items:center;
  gap:7px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.event-resource-permission-checks input{
  width:16px;
  height:16px;
  accent-color:#174ea6;
}
.event-resource-permissions-modal .form-help-note{
  margin:0 16px 12px;
  flex:0 0 auto;
}
.event-resource-permissions-modal .modal-actions{
  flex:0 0 auto;
  margin:0 16px 16px;
}
@media(max-width:820px){
  .event-quick-edit-body{
    grid-template-columns:1fr;
  }
  .event-quick-edit-preview{
    order:2;
  }
  .event-resource-permissions-body,
  .event-resource-permission-row,
  .event-resource-permission-checks{
    grid-template-columns:1fr;
  }
  .event-resource-permissions-modal{
    height:calc(100vh - 24px)!important;
  }
  .event-resource-permissions-body{
    overflow:auto;
  }
  .event-resource-permissions-search,
  .event-resource-permissions-selected{
    overflow:visible;
  }
  .event-resource-permissions-results,
  .event-resource-permissions-list{
    max-height:280px;
  }
}
.events-billing-actions form{
  display:inline-flex;
}
.events-settings-form h3,
.events-public-return-grid h3,
.events-sync-log h3{
  margin:0 0 10px;
  font-size:15px;
}
.events-settings-form{
  display:grid;
  gap:12px;
}
.events-settings-form .modal-actions{
  padding:0;
}
.events-permission-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.events-permission-grid>div{
  border:1px solid #edf2f8;
  border-radius:8px;
  background:#fbfdff;
  padding:10px;
  display:grid;
  gap:5px;
}
.events-permission-grid b{
  color:#172033;
  font-size:13px;
}
.events-permission-grid span{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.events-permission-grid code{
  white-space:normal;
  overflow-wrap:anywhere;
}
.events-public-account-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.events-public-account-metrics>div{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  padding:14px;
  display:grid;
  gap:4px;
  min-width:0;
}
.events-public-account-metrics small{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-account-metrics b{
  color:#172033;
  font-size:25px;
  line-height:1;
}
.events-public-account-metrics span{
  color:#53657f;
  font-size:12px;
  font-weight:850;
}
.events-public-account-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) minmax(160px,.7fr) minmax(180px,.8fr) auto;
  gap:10px;
  align-items:end;
  border:1px solid #d8e3f1;
  border-radius:8px;
  background:#fff;
  padding:12px;
  margin-bottom:12px;
}
.events-public-account-toolbar label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-account-toolbar input,
.events-public-account-toolbar select{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 9px;
  font-size:13px;
}
.events-public-account-table td:last-child{
  overflow:visible;
}
.events-public-account-person{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.events-public-account-person>span{
  width:38px;
  height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#eef6ff;
  border:1px solid #cfe0f7;
  color:#174ea6;
  font-weight:950;
}
.events-public-account-person>div{
  min-width:0;
}
.events-public-account-person b,
.events-public-account-person small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.events-public-account-actions{
  width:128px;
  overflow:visible!important;
}
.events-public-account-menu .table-action-menu-panel{
  min-width:220px;
}
.events-public-account-menu .table-action-menu-panel form{
  margin:0;
}
.events-public-account-menu .table-action-menu-panel button{
  display:flex;
  width:100%;
  align-items:center;
  gap:8px;
  justify-content:flex-start;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#172033;
  box-shadow:none;
  padding:9px 10px;
  font-size:12px;
  font-weight:900;
  text-align:left;
}
.events-public-account-menu .table-action-menu-panel button:hover{
  background:#f2f5ff;
  color:#174ea6;
}
.events-public-account-menu .table-action-menu-panel .danger-menu-action{
  color:#b42318;
}
.event-file-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
}
.event-action-file-list{
  display:grid;
  gap:8px;
  padding-bottom:2px;
}
.event-file-item{
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px;
  text-decoration:none;
  display:grid;
  gap:5px;
}
.event-file-item:hover{
  border-color:#9fb9e8;
  background:#f8fbff;
}
.event-file-item img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:6px;
  background:#eef2f7;
}
.event-file-item>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#eef6ff;
  color:#174ea6;
}
.event-file-item b,
.event-file-item small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.event-file-item small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.event-file-empty{
  border:1px dashed #cbd8ea;
  border-radius:10px;
  background:#f8fbff;
  color:#334155;
  padding:14px;
  display:block;
  min-width:0;
}
.event-file-empty>span{
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eef6ff;
  color:#174ea6;
  display:grid;
  place-items:center;
  margin-bottom:8px;
}
.event-file-empty b,
.event-file-empty small{
  display:block;
  min-width:0;
}
.event-file-empty small{
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:normal;
}
.event-upload-rail{
  padding:8px;
  border:1px solid #e4ebf5;
  border-radius:8px;
  background:#f8fafc;
}
.event-upload-rail input[name="file_description"]{
  width:180px;
}
.events-public-return-grid{
  grid-template-columns:1fr 1fr;
  margin-top:12px;
}
.events-public-return-grid .span2{
  grid-column:1 / -1;
}
.events-public-return-grid dl{
  display:grid;
  gap:8px;
  margin:0 0 12px;
}
.events-public-return-grid dt{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-return-grid dd{
  margin:2px 0 0;
  color:#172033;
  font-weight:850;
}
.events-public-file-list{
  display:grid;
  gap:7px;
  margin-bottom:10px;
}
.events-public-file-list a{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  color:#172033;
  padding:8px;
  text-decoration:none;
  font-weight:850;
}
.events-public-file-form,
.events-public-change-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.events-public-file-form label,
.events-public-change-form label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.events-public-file-form input,
.events-public-file-form select,
.events-public-change-form select,
.events-public-change-form textarea{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  padding:9px 10px;
}
.events-public-file-form .span2,
.events-public-change-form .span2{
  grid-column:1 / -1;
}
.events-public-fee-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex:0 0 auto;
  flex-wrap:wrap;
  min-width:0;
}
.events-public-fee-actions .btn,
.events-public-fee-actions .primary{
  white-space:nowrap;
  min-height:34px;
}
.events-public-hero-actions .events-public-facility-toggle,
.btn.soft.events-public-facility-toggle{
  margin-top:2px;
  border-color:var(--public-calendar-tone,#174ea6)!important;
  background:var(--public-calendar-tone,#174ea6)!important;
  color:#fff!important;
  box-shadow:0 10px 22px var(--public-calendar-tone-shadow,rgba(23,78,166,.18))!important;
}
.events-public-hero-actions .events-public-facility-toggle:hover,
.events-public-hero-actions .events-public-facility-toggle:focus-visible,
.btn.soft.events-public-facility-toggle:hover,
.btn.soft.events-public-facility-toggle:focus-visible{
  border-color:color-mix(in srgb,var(--public-calendar-tone,#174ea6) 86%,#111827)!important;
  background:color-mix(in srgb,var(--public-calendar-tone,#174ea6) 88%,#111827)!important;
  color:#fff!important;
  box-shadow:0 12px 26px var(--public-calendar-tone-shadow,rgba(23,78,166,.22))!important;
}
.events-public-hero-actions .events-public-facility-toggle[aria-expanded="true"],
.btn.soft.events-public-facility-toggle[aria-expanded="true"]{
  border-color:color-mix(in srgb,var(--public-calendar-tone,#174ea6) 86%,#111827)!important;
  background:color-mix(in srgb,var(--public-calendar-tone,#174ea6) 88%,#111827)!important;
  color:#fff!important;
}
.events-public-facility-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  max-height:0;
  opacity:0;
  overflow:hidden;
  margin:0 18px;
  padding:0 12px;
  border:0 solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  transform:translateY(-6px);
  transition:max-height .24s ease, opacity .18s ease, padding .24s ease, margin .24s ease, border-width .18s ease, transform .24s ease;
}
.events-public-facility-strip.open{
  max-height:170px;
  opacity:1;
  margin:0 18px 12px;
  padding:12px;
  border-width:1px;
  background:linear-gradient(135deg,#ffffff 0%,var(--public-calendar-tone-soft,#f8fbff) 100%);
  transform:translateY(0);
}
.events-public-facility-strip-copy{
  min-width:0;
}
.events-public-facility-strip-copy b,
.events-public-facility-strip-copy small{
  display:block;
}
.events-public-facility-strip-copy b{
  color:#172033;
  font-size:15px;
  font-weight:900;
}
.events-public-facility-strip-copy small{
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
@media(max-width:1200px){
  .events-public-fee-actions{
    min-width:0;
    flex-wrap:wrap;
  }
}
.events-public-fee-summary-grid{
  display:none;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.events-public-fee-summary-grid div{
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:4px 10px;
  align-items:start;
}
.events-public-fee-summary-grid span{
  width:34px;
  height:34px;
  border-radius:9px;
  background:#eaf3ff;
  color:#174ea6;
  display:grid;
  place-items:center;
  grid-row:1 / span 2;
}
.events-public-fee-summary-grid b{
  color:#172033;
  font-size:14px;
  font-weight:750;
}
.events-public-fee-summary-grid small{
  color:#64748b;
  font-size:12px;
  font-weight:450;
  line-height:1.35;
}
.events-public-info-modal{
  width:min(1280px,calc(100vw - 24px))!important;
  height:min(94vh,900px)!important;
  max-height:94vh!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.events-public-info-modal .modal-head{
  flex:0 0 auto;
  margin:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:linear-gradient(135deg,#f8fbff 0%,#fff 70%)!important;
}
.events-public-fee-modal-body,
.events-public-map-body{
  flex:1 1 auto;
  min-height:0;
  padding:16px 20px 18px;
  overflow:auto;
}
.events-public-info-modal .modal-actions{
  flex:0 0 auto;
  margin:0!important;
  padding:12px 20px!important;
  border-top:1px solid #dbe5f2;
  background:#fff;
  align-items:center;
}
.events-public-fee-table-wrap{
  border:1px solid #dbe5f2;
  border-radius:12px;
  overflow:auto;
  background:#fff;
}
.events-public-fee-pages{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.events-public-fee-pages button{
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:#fff;
  color:#52617a;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.events-public-fee-pages button.active{
  border-color:#174ea6;
  background:#eef6ff;
  color:#174ea6;
}
.events-public-fee-page{
  display:none;
}
.events-public-fee-page.active{
  display:block;
}
.events-public-rates-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.events-public-rate-card{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:13px;
  display:grid;
  gap:5px;
}
.events-public-rate-card span{
  color:#174ea6;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.events-public-rate-card b{
  color:#172033;
  font-size:14px;
  font-weight:750;
}
.events-public-rate-card strong{
  color:#168957;
  font-size:16px;
  font-weight:900;
}
.events-public-rate-card small{
  color:#64748b;
  font-size:12px;
  font-weight:550;
  line-height:1.35;
}
.events-public-fee-table{
  width:100%;
  min-width:900px;
  border-collapse:separate;
  border-spacing:0;
}
.events-public-fee-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#eef6ff;
  color:#174ea6;
  font-size:11px;
  font-weight:900;
  text-align:left;
  text-transform:uppercase;
  padding:11px 12px;
  border-bottom:1px solid #dbe5f2;
}
.events-public-fee-table td{
  vertical-align:top;
  color:#172033;
  font-size:13px;
  font-weight:450;
  line-height:1.35;
  padding:12px;
  border-bottom:1px solid #eef2f7;
}
.events-public-fee-table tr:last-child td{
  border-bottom:0;
}
.events-public-fee-table td span,
.events-public-fee-table td small{
  display:block;
}
.events-public-fee-table td span{
  color:#174ea6;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  margin-bottom:3px;
}
.events-public-fee-table td b{
  display:block;
  color:#172033;
  font-size:14px;
  font-weight:650;
}
.events-public-fee-table td small{
  color:#64748b;
  font-size:12px;
  font-weight:400;
  margin-top:4px;
}
.events-public-fee-table td .events-public-insurance-pill{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #cfe0f5;
  border-radius:999px;
  background:#f8fbff;
  color:#174ea6;
  padding:7px 10px;
  font-size:12px;
  font-weight:850;
  text-transform:none;
  margin:0;
}
.events-public-fee-table td .events-public-insurance-pill .ui-icon{
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.events-public-fee-table td .events-public-insurance-pill b{
  color:inherit;
  font-size:12px;
  font-weight:850;
  line-height:1.1;
}
.events-public-fee-table td .events-public-insurance-pill.required{
  border-color:#b7e1ca;
  background:#ecfdf3;
  color:#168957;
}
.events-public-fee-table td .events-public-insurance-pill.optional{
  border-color:#d8e3f1;
  background:#f8fafc;
  color:#64748b;
}
.events-public-fee-note{
  margin-top:12px;
  border:1px solid #cfe0f5;
  border-radius:10px;
  background:#f4f9ff;
  color:#334155;
  padding:11px 12px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:550;
}
.events-public-map-preview{
  display:grid;
  place-items:center;
  min-height:100%;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fafc;
  overflow:hidden;
}
.events-public-map-preview img{
  width:100%;
  height:100%;
  max-height:calc(94vh - 150px);
  object-fit:contain;
  background:#fff;
}
.events-public-document-frame{
  width:100%;
  min-height:100%;
  height:calc(94vh - 150px);
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
}
.events-public-policy-modal{
  width:min(1040px,calc(100vw - 28px));
}
.events-public-policy-frame{
  height:calc(94vh - 132px);
}
.events-public-pdf-viewer{
  width:100%;
  overflow:auto;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:18px;
  padding:14px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#e9eef6;
}
.events-public-pdf-page{
  max-width:100%;
  height:auto;
  background:#fff;
  border-radius:8px;
  box-shadow:0 12px 28px rgba(15,23,42,.18);
}
.events-public-pdf-status{
  min-height:240px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  color:#64748b;
  font-weight:900;
  text-align:center;
}
.events-public-pdf-status svg{
  width:34px;
  height:34px;
}
.events-public-pdf-status.bad{
  color:#991b1b;
}
.events-public-contact-modal{
  width:min(760px,calc(100vw - 28px))!important;
  height:auto!important;
  max-height:92vh!important;
}
.events-public-contact-body{
  flex:1 1 auto;
  min-height:0;
  padding:18px 20px;
  overflow:auto;
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 72%);
}
.events-public-contact-card{
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.10);
  overflow:hidden;
}
.events-public-contact-identity{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:20px;
  border-bottom:1px solid #e6edf7;
  background:linear-gradient(135deg,#eaf3ff 0%,#fff 76%);
}
.events-public-contact-identity>span{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#174ea6;
  color:#fff;
}
.events-public-contact-identity>.events-public-contact-avatar{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:50%!important;
  font-size:18px!important;
  background:linear-gradient(135deg,#dbeafe,#eef2ff)!important;
  color:#174ea6!important;
}
.events-public-contact-identity>.events-public-contact-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
  display:block!important;
}
.events-public-contact-identity h3{
  margin:0 0 4px;
  color:#172033;
  font-size:24px;
}
.events-public-contact-identity p{
  margin:0;
  color:#64748b;
  font-weight:500;
}
.events-public-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:16px;
}
.events-public-contact-grid a,
.events-public-contact-grid div{
  min-width:0;
  border:1px solid #e3ebf6;
  border-radius:12px;
  background:#fbfdff;
  color:#172033;
  text-decoration:none;
  padding:13px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:2px 10px;
  align-items:center;
}
.events-public-contact-grid a:hover{
  border-color:#b9d3ff;
  background:#f4f9ff;
}
.events-public-contact-grid span{
  grid-row:1 / span 2;
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eaf3ff;
  color:#174ea6;
}
.events-public-contact-grid small{
  color:#64748b;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.events-public-contact-grid b{
  min-width:0;
  color:#172033;
  font-size:14px;
  font-weight:650;
  overflow-wrap:anywhere;
}
.events-public-contact-note{
  margin:0 16px 16px;
  border:1px solid #cfe0f5;
  border-radius:12px;
  background:#f4f9ff;
  color:#334155;
  padding:12px 13px;
  font-size:13px;
  line-height:1.4;
  font-weight:450;
}
.events-public-room-modal{
  width:min(960px,calc(100vw - 28px))!important;
}
.events-public-room-modal-body{
  padding:18px 20px;
  background:#f8fafc;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:14px;
  overflow:auto;
}
.events-public-room-modal-copy{
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:14px;
  display:grid;
  align-content:start;
  gap:12px;
}
.events-public-room-modal-copy dl{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.events-public-room-modal-copy dl div{
  border:1px solid #e3ebf6;
  border-radius:10px;
  background:#fbfdff;
  padding:10px;
}
.events-public-room-modal-copy dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-room-modal-copy dd{
  margin:4px 0 0;
  color:#172033;
  font-size:15px;
  font-weight:750;
}
.events-public-room-modal-copy p{
  margin:0;
  color:#475569;
  font-size:13px;
  line-height:1.4;
}
.events-public-room-modal-schedule{
  grid-column:1/-1;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#fff;
  padding:14px;
  display:grid;
  gap:12px;
}
.events-public-room-schedule-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.events-public-room-schedule-head small,
.events-public-room-schedule-head b{
  display:block;
}
.events-public-room-schedule-head small{
  color:#174ea6;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-room-schedule-head b{
  color:#172033;
  font-size:16px;
}
.events-public-room-schedule-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.events-public-room-schedule-row{
  min-height:74px;
  border:1px solid color-mix(in srgb,var(--event-color,#2563eb) 32%,#dbe5f2);
  border-left:5px solid var(--event-color,#2563eb);
  border-radius:12px;
  background:color-mix(in srgb,var(--event-color,#2563eb) 8%,#fff);
  color:#172033;
  box-shadow:none;
  padding:10px;
  text-align:left;
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.events-public-room-schedule-row:hover,
.events-public-room-schedule-row:focus-visible{
  border-color:color-mix(in srgb,var(--event-color,#2563eb) 50%,#dbe5f2);
  background:color-mix(in srgb,var(--event-color,#2563eb) 13%,#fff);
  outline:none;
}
.events-public-room-schedule-row time,
.events-public-room-schedule-row span,
.events-public-room-schedule-row b,
.events-public-room-schedule-row small{
  display:block;
}
.events-public-room-schedule-row time{
  border-radius:10px;
  background:#f8fbff;
  padding:8px;
}
.events-public-room-schedule-row time b{
  color:#172033;
  font-size:12px;
  line-height:1.2;
}
.events-public-room-schedule-row time small,
.events-public-room-schedule-row span small{
  margin-top:3px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
  line-height:1.25;
}
.events-public-room-schedule-row span b{
  color:#172033;
  font-size:13px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.events-public-room-schedule-empty{
  min-height:112px;
  border:1px dashed #cbd8ea;
  border-radius:12px;
  background:#f8fbff;
  color:#475569;
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
}
.events-public-room-schedule-empty span{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  color:#174ea6;
  display:grid;
  place-items:center;
  box-shadow:0 10px 20px rgba(15,23,42,.08);
}
.events-public-room-schedule-empty b,
.events-public-room-schedule-empty small{
  display:block;
}
.events-public-room-schedule-empty b{
  color:#172033;
  font-size:15px;
}
.events-public-room-schedule-empty small{
  max-width:360px;
  color:#64748b;
  font-size:12px;
  font-weight:650;
}
.events-public-interactive-map-modal{
  width:min(1360px,calc(100vw - 18px))!important;
  max-height:94vh!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.events-public-interactive-map-layout{
  min-height:0;
  padding:14px;
  background:#f8fafc;
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
  overflow:hidden;
}
.events-public-map-canvas,
.events-room-pin-picker-map{
  min-height:680px;
  border:1px solid #cfdcee;
  border-radius:14px;
  background:#e8eef7;
  overflow:hidden;
}
.events-public-map-canvas .leaflet-image-layer,
.events-room-pin-picker-map .leaflet-image-layer{
  image-rendering:-webkit-optimize-contrast;
  backface-visibility:hidden;
  transform-origin:center center;
}
.events-public-map-canvas .leaflet-control-zoom,
.events-room-pin-picker-map .leaflet-control-zoom{
  border:1px solid #cbd8ea;
  border-radius:10px;
  box-shadow:0 10px 22px rgba(15,23,42,.18);
  overflow:hidden;
}
.events-public-map-canvas .leaflet-control-zoom a,
.events-room-pin-picker-map .leaflet-control-zoom a{
  width:34px;
  height:34px;
  color:#174ea6;
  font-weight:950;
  line-height:34px;
}
.events-public-map-preview-panel{
  min-height:0;
  overflow:auto;
}
.events-public-map-room-card{
  border:1px solid #dbe5f2;
  border-top:5px solid #60a5fa;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 36px rgba(15,23,42,.1);
  overflow:hidden;
  display:grid;
  gap:0;
}
.events-public-map-room-card.open{border-top-color:#22c55e;}
.events-public-map-room-card.light{border-top-color:#60a5fa;}
.events-public-map-room-card.medium{border-top-color:#f59e0b;}
.events-public-map-room-card.busy{border-top-color:#ef4444;}
.events-public-map-room-card img,
.events-public-map-room-card>span{
  width:100%;
  height:170px;
  object-fit:cover;
  background:#eef6ff;
}
.events-public-map-room-card>span{
  display:grid;
  place-items:center;
  color:#174ea6;
}
.events-public-map-room-card>div{
  padding:14px;
  display:grid;
  gap:4px;
}
.events-public-map-room-card small,
.events-public-map-room-card b,
.events-public-map-room-card p{
  display:block;
}
.events-public-map-room-card small{
  color:#174ea6;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-map-room-card b{
  color:#172033;
  font-size:18px;
}
.events-public-map-room-card p{
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.events-public-map-room-card .btn,
.events-public-map-room-card .primary{
  margin:0 14px 10px;
  justify-content:center;
}
.events-map-pin-icon{
  display:flex!important;
  align-items:center;
  gap:6px;
  pointer-events:auto;
}
.events-map-pin-icon span{
  width:18px;
  height:18px;
  border:3px solid #fff;
  border-radius:999px;
  background:#60a5fa;
  box-shadow:0 5px 14px rgba(15,23,42,.35);
}
.events-map-pin-icon.open span{background:#22c55e;}
.events-map-pin-icon.light span{background:#60a5fa;}
.events-map-pin-icon.medium span{background:#f59e0b;}
.events-map-pin-icon.busy span{background:#ef4444;}
.events-map-pin-icon b{
  max-width:106px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#172033;
  box-shadow:0 8px 18px rgba(15,23,42,.18);
  padding:5px 8px;
  font-size:11px;
  font-weight:950;
  line-height:1.1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-room-map-pin-settings{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fbff;
  padding:12px;
  display:grid;
  gap:10px;
}
.events-room-map-pin-settings>div:first-child b,
.events-room-map-pin-settings>div:first-child small{
  display:block;
}
.events-room-map-pin-settings>div:first-child b{
  color:#172033;
  font-size:15px;
}
.events-room-map-pin-settings>div:first-child small{
  color:#64748b;
  font-size:12px;
  font-weight:650;
}
.events-room-pin-picker-modal{
  width:min(1500px,calc(100vw - 10px))!important;
  max-height:98vh!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.events-room-pin-picker-body{
  min-height:0;
  padding:8px;
  background:#f8fafc;
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:8px;
  overflow:hidden;
}
.events-room-pin-picker-map{
  min-height:min(780px,calc(98vh - 148px));
}
.events-room-pin-picker-body aside{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:10px;
  display:grid;
  align-content:start;
  gap:10px;
}
.events-room-pin-picker-body aside b,
.events-room-pin-picker-body aside small{
  display:block;
}
.events-room-pin-picker-body aside small{
  color:#64748b;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
}
.events-room-pin-picker-body aside .events-room-pin-picker-meta{
  color:#174ea6;
  font-size:12px;
  font-weight:950;
}
.events-room-pin-picker-body aside div{
  border:1px solid #e3ebf6;
  border-radius:10px;
  background:#fbfdff;
  padding:8px;
}
.events-room-pin-picker-body aside span{
  display:block;
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-room-pin-picker-body aside strong{
  display:block;
  margin-top:3px;
  color:#172033;
  font-size:16px;
}
.events-public-map-file{
  min-height:280px;
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#f8fafc;
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px;
  color:#334155;
}
.events-public-map-file span{
  width:52px;
  height:52px;
  border-radius:14px;
  background:#eaf3ff;
  color:#174ea6;
  display:grid;
  place-items:center;
}
.events-public-map-file b,
.events-public-map-file small{
  display:block;
}
.events-public-map-file b{
  margin-top:10px;
  color:#172033;
  font-size:16px;
  font-weight:700;
}
.events-public-map-file small{
  max-width:420px;
  color:#64748b;
  font-size:12px;
  font-weight:450;
}
.events-public-fee-grid,
.events-fee-settings-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}
.events-usage-settings-card{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px;
  display:grid;
  gap:10px;
}
.events-usage-settings-head{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:9px;
  align-items:stretch;
}
.events-usage-settings-head label{
  display:grid;
  gap:4px;
  color:#334155;
  font-size:12px;
  font-weight:650;
}
.events-usage-settings-head .span3{
  grid-column:1 / -1;
}
.events-usage-settings-head .span2{
  grid-column:span 2;
}
.events-usage-settings-head input,
.events-usage-settings-head textarea{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:7px 9px;
  font:inherit;
  font-size:13px;
  font-weight:500;
}
.events-usage-settings-head textarea{
  resize:vertical;
}
.events-usage-publish-toggle{
  min-height:66px!important;
  height:100%!important;
  align-content:center!important;
  align-self:stretch!important;
}
.events-usage-settings-head>label:not(.event-toggle-card){
  align-content:start;
  min-height:66px;
}
.events-public-notice-settings{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px;
  display:grid!important;
  gap:9px!important;
}
.events-usage-contact-settings{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px;
  display:grid!important;
  gap:9px!important;
}
.events-usage-contact-settings-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.events-usage-contact-settings-head>span{
  width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  border:1px solid #dbe5f2;
  background:#f8fafc;
  color:#475569;
}
.events-usage-contact-settings-head b,
.events-usage-contact-settings-head small{
  display:block;
}
.events-usage-contact-settings-head b{
  color:#172033;
  font-size:13px;
  font-weight:750;
}
.events-usage-contact-settings-head small{
  color:#64748b;
  font-size:11px;
  font-weight:450;
}
.events-usage-contact-settings-head .btn{
  justify-self:end;
  white-space:nowrap;
}
.events-inline-actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.events-usage-contact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
}
.events-usage-contact-grid .span2{
  grid-column:1 / -1;
}
.events-public-notice-settings>.events-usage-contact-grid>label:not(.event-toggle-card){
  align-content:start;
  min-height:66px;
}
.events-public-notice-settings>.events-usage-contact-grid>.event-toggle-card{
  min-height:66px!important;
  height:100%!important;
  align-content:center!important;
  align-self:stretch!important;
}
.events-public-calendar-settings{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  padding:10px;
  display:grid!important;
  gap:9px!important;
}
.events-public-calendar-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.events-public-calendar-settings-grid>section,
.events-public-calendar-settings-grid>label{
  min-width:0;
  border:1px solid #e3ebf6;
  border-radius:8px;
  background:#fff;
  padding:8px;
}
.events-public-calendar-settings-grid>section>b{
  display:block;
  margin:0 0 6px;
  color:#172033;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.events-public-calendar-settings-grid .span2{
  grid-column:1 / -1;
}
.events-public-calendar-view-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.events-public-calendar-view-grid.filters{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.events-public-calendar-settings .events-public-calendar-view-grid .event-toggle-card{
  min-height:0!important;
  grid-template-columns:16px minmax(0,1fr)!important;
  gap:6px!important;
  padding:6px 7px!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.events-public-calendar-settings .events-public-calendar-view-grid .event-toggle-card input[type=checkbox]{
  width:15px!important;
  height:15px!important;
  min-height:15px!important;
  margin-top:1px!important;
}
.events-public-calendar-settings .events-public-calendar-view-grid .event-toggle-card span{
  gap:1px!important;
}
.events-public-calendar-settings .events-public-calendar-view-grid .event-toggle-card b{
  font-size:12px!important;
}
.events-public-calendar-settings .events-public-calendar-view-grid .event-toggle-card small{
  font-size:10px!important;
  line-height:1.2!important;
}
.events-public-calendar-select-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.events-public-background-options{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
}
.events-public-background-option{
  min-width:0;
  cursor:pointer;
}
.events-public-background-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.events-public-background-option span{
  display:block;
  height:34px;
  border:2px solid #dbe5f2;
  border-radius:8px;
  background:#eef4fb;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.events-public-background-option b{
  display:block;
  margin-top:4px;
  color:#475569;
  font-size:10px;
  font-weight:850;
  text-align:center;
}
.events-public-background-option input:checked+span{
  border-color:#334155;
  box-shadow:0 0 0 3px rgba(51,65,85,.12),inset 0 1px 0 rgba(255,255,255,.78);
}
.events-usage-settings-card .event-toggle-card{
  min-height:0!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:7px!important;
  border-radius:8px!important;
  padding:7px 8px!important;
  box-shadow:none!important;
}
.events-usage-settings-card .event-toggle-card:hover{
  transform:none;
}
.events-usage-settings-card .event-toggle-card input[type=checkbox]{
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
  margin-top:2px!important;
}
.events-usage-settings-card .event-toggle-card span{
  gap:1px!important;
}
.events-usage-settings-card .event-toggle-card b{
  font-size:12px!important;
}
.events-usage-settings-card .event-toggle-card small{
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:750!important;
}
.events-usage-settings-card .event-toggle-card:has(input:checked){
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
.events-public-background-option.blueprint span{
  background:
    linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),
    linear-gradient(135deg,#174ea6,#0f766e);
  background-size:12px 12px,12px 12px,auto;
}
.events-public-background-option.paper span{
  background:linear-gradient(135deg,#fff7ed,#e0f2fe 72%,#dcfce7);
}
.events-public-background-option.spruce span{
  background:linear-gradient(135deg,#0f766e,#16a34a 55%,#eab308);
}
.events-public-background-option.sunrise span{
  background:linear-gradient(135deg,#f97316,#fde68a 50%,#38bdf8);
}
.events-public-background-option.slate span{
  background:linear-gradient(135deg,#1f2937,#475569 58%,#94a3b8);
}
.events-public-background-option.tone-blue span{
  background:linear-gradient(135deg,#174ea6,#60a5fa);
}
.events-public-background-option.tone-green span{
  background:linear-gradient(135deg,#047857,#34d399);
}
.events-public-background-option.tone-purple span{
  background:linear-gradient(135deg,#6d28d9,#a78bfa);
}
.events-public-background-option.tone-gold span{
  background:linear-gradient(135deg,#b45309,#fbbf24);
}
.events-public-background-option.tone-slate span{
  background:linear-gradient(135deg,#334155,#94a3b8);
}
.events-usage-doc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.events-usage-doc-card{
  min-width:0;
  border:1px solid #e3ebf6;
  border-radius:10px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:10px;
}
.events-usage-doc-current{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.events-usage-doc-current>span{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eaf3ff;
  color:#174ea6;
}
.events-usage-doc-current b,
.events-usage-doc-current a,
.events-usage-doc-current small{
  display:block;
}
.events-usage-doc-current b{
  color:#172033;
  font-size:14px;
  font-weight:750;
}
.events-usage-doc-current a{
  color:#174ea6;
  font-size:12px;
  font-weight:650;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.events-usage-doc-current small{
  color:#64748b;
  font-size:12px;
  font-weight:450;
}
.events-public-fee-map{
  margin:0;
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#f8fafc;
  padding:10px;
  display:grid;
  gap:8px;
}
.events-public-fee-map img{
  width:100%;
  max-height:220px;
  object-fit:contain;
  border-radius:8px;
  background:#fff;
}
.events-public-fee-map figcaption{
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-fee-group,
.events-fee-settings-card{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fbfdff;
  padding:13px;
  display:grid;
  gap:10px;
  min-width:0;
}
.events-public-fee-group>div{
  display:grid;
  gap:3px;
}
.events-public-fee-group span,
.events-fee-settings-card h4{
  color:#174ea6;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-fee-group b{
  color:#172033;
  font-size:15px;
  font-weight:500;
  line-height:1.25;
}
.events-public-fee-group>div small{
  color:#64748b;
  font-size:12px;
  font-weight:400;
  line-height:1.35;
}
.events-public-fee-group dl{
  margin:0;
  display:grid;
  gap:7px;
}
.events-public-fee-group dl div{
  border-top:1px solid #e6edf7;
  padding-top:7px;
}
.events-public-fee-group dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-public-fee-group dd{
  margin:2px 0 0;
  color:#172033;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
}
.events-fee-settings-card h4{
  margin:0;
  color:#172033;
  font-size:15px;
}
.events-fee-settings-card label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:650;
}
.events-fee-settings-card textarea,
.events-fee-settings-card input,
.events-fee-settings-card select{
  width:100%;
  min-width:0;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px 10px;
  font:inherit;
  font-size:13px;
  font-weight:500;
}
.events-fee-settings-card select option{
  font-weight:400;
}
.events-fee-settings-card small{
  color:#64748b;
  font-size:11px;
  font-weight:500;
}
.events-usage-classification-hidden{
  display:none!important;
}
.events-usage-classification-table-card{
  border:1px solid #dbe5f2;
  border-radius:12px;
  background:#fff;
  padding:14px;
  display:grid;
  gap:12px;
}
.events-usage-classification-table-card .events-section-head{
  margin:0;
}
.events-usage-classification-table-card h3{
  margin:0 0 3px;
  color:#172033;
  font-size:17px;
}
.events-usage-classification-table-wrap{
  border:1px solid #e2e8f0;
  border-radius:10px;
  overflow:auto;
}
.events-usage-classification-table{
  margin:0;
}
.events-usage-classification-table th{
  background:#f8fbff;
  color:#475569;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.events-usage-classification-table td{
  vertical-align:middle;
}
.events-usage-classification-table th:first-child,
.events-usage-classification-table td:first-child{
  width:42px;
  min-width:42px;
  max-width:42px;
  text-align:center;
  padding-left:8px;
  padding-right:8px;
}
.events-usage-classification-table td:nth-child(2){
  min-width:320px;
}
.events-usage-classification-number{
  width:24px;
  height:24px;
  border:1px solid #cfe0f4;
  border-radius:999px;
  background:#eef6ff;
  color:#174ea6!important;
  display:inline-grid!important;
  place-items:center;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1;
}
.events-usage-classification-table b,
.events-usage-classification-table small,
.events-usage-classification-table span{
  display:block;
}
.events-usage-classification-table b{
  color:#172033;
  font-size:13px;
  font-weight:850;
}
.events-usage-classification-table small{
  max-width:380px;
  color:#64748b;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
}
.events-usage-classification-table span{
  color:#334155;
  font-size:12px;
  font-weight:750;
}
.events-usage-rule-pills{
  display:flex!important;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.events-usage-rule-pills em{
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#f0f7ff;
  color:#174ea6;
  padding:4px 7px;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.event-usage-classification-modal{
  width:min(940px,calc(100vw - 32px));
  height:min(820px,calc(100vh - 36px));
  max-height:calc(100vh - 36px);
  padding:0!important;
  display:flex!important;
  flex-direction:column;
  overflow:hidden!important;
  border-radius:14px;
  background:#fff;
}
#eventUsageClassificationModal.modal-backdrop{
  padding:18px!important;
  overflow:hidden!important;
}
.event-usage-classification-modal .event-create-head{
  margin:0;
  padding:22px 22px 18px!important;
  border-bottom:1px solid #dbe5f2;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  flex:0 0 auto;
}
.event-usage-classification-modal .event-create-title>span{
  width:42px;
  height:42px;
  border-radius:11px;
}
.event-usage-classification-modal .event-create-title h2{
  font-size:22px;
}
.event-usage-classification-modal .event-create-title p{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.event-usage-classification-modal-grid{
  flex:1 1 auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:16px 18px 18px;
  overflow:auto!important;
  min-height:0;
  background:#fff;
}
.event-usage-classification-modal-grid>label:not(.event-toggle-card){
  min-width:0;
  min-height:78px;
  border:1px solid #e4ebf5;
  border-radius:10px;
  background:#fbfdff;
  padding:11px;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.event-usage-classification-modal-grid>label:has(textarea),
.event-usage-classification-description-field{
  min-height:178px!important;
  align-content:start;
  gap:8px;
  overflow:visible;
}
.event-usage-classification-modal-grid>label:not(.event-toggle-card):focus-within{
  border-color:#93b8ec;
  background:#fff;
  box-shadow:0 0 0 3px rgba(23,78,166,.12);
}
.event-usage-classification-modal-grid input,
.event-usage-classification-modal-grid select,
.event-usage-classification-modal-grid textarea{
  border-color:#d8e3f1;
  border-radius:8px;
  background:#fff;
}
.event-usage-classification-modal-grid label small{
  color:#667085;
  font-weight:800;
  line-height:1.3;
}
.event-usage-classification-modal-grid textarea{
  display:block;
  width:100%;
  min-height:118px;
  height:118px;
  box-sizing:border-box;
  resize:none;
}
.event-usage-classification-modal-grid select[multiple]{
  min-height:168px;
}
.event-usage-classification-modal-grid>label:has([data-usage-classification-modal-field="room_ids"]){
  min-height:238px;
  align-content:start;
  gap:8px;
  overflow:visible;
}
.event-usage-classification-modal-grid select[data-usage-classification-modal-field="room_ids"]{
  display:block;
  width:100%;
  min-height:172px;
  height:172px;
  box-sizing:border-box;
  margin:0;
  overflow:auto;
}
.event-usage-classification-field-group{
  border:1px solid #dbe5f2;
  border-radius:11px;
  background:#f8fbff;
  padding:10px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.event-usage-classification-field-group>span{
  width:38px;
  height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eaf3ff;
  color:#174ea6;
}
.event-usage-classification-field-group .ui-icon{
  width:19px;
  height:19px;
}
.event-usage-classification-field-group b,
.event-usage-classification-field-group small{
  display:block;
}
.event-usage-classification-field-group b{
  color:#172033;
  font-size:13px;
  font-weight:900;
}
.event-usage-classification-field-group small{
  color:#64748b;
  font-size:11px;
  font-weight:750;
  line-height:1.3;
}
.event-usage-classification-modal .modal-actions{
  flex:0 0 auto;
  margin:0!important;
  border-top:1px solid #dbe5f2;
  background:#fff;
  padding:12px 18px!important;
}
.events-usage-fee-form fieldset{
  border:0;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.events-usage-fee-form fieldset:disabled{
  opacity:.82;
}
.events-settings-accordion{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
  overflow:hidden;
}
.events-settings-accordion>summary{
  list-style:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  background:#f8fbff;
  border-bottom:1px solid transparent;
}
.events-settings-accordion>summary::-webkit-details-marker{
  display:none;
}
.events-settings-accordion>summary:hover{
  background:#f2f7ff;
}
.events-settings-accordion[open]>summary{
  border-bottom-color:#dbe5f2;
  background:#f8fbff;
}
.events-settings-accordion-icon{
  width:38px;
  height:38px;
  border-radius:9px;
  display:grid;
  place-items:center;
  color:#174ea6;
  background:#dbeafe;
  flex:0 0 auto;
}
.events-settings-accordion-icon .ui-icon{
  width:19px;
  height:19px;
}
.events-settings-accordion>summary span:not(.events-settings-accordion-icon){
  min-width:0;
  display:grid;
  gap:3px;
}
.events-settings-accordion>summary b{
  color:#172033;
  font-size:15px;
  line-height:1.2;
}
.events-settings-accordion>summary small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.events-settings-accordion>summary em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  border-radius:999px;
  background:#eef4ff;
  color:#174ea6;
  padding:5px 9px;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.events-settings-accordion>summary:after{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid #64748b;
  border-bottom:2px solid #64748b;
  transform:rotate(45deg);
  transition:transform .16s ease;
}
.events-settings-accordion[open]>summary:after{
  transform:rotate(225deg);
}
.events-settings-accordion-body{
  padding:14px;
  background:#fff;
}
.events-settings-accordion-body>.events-usage-settings-card,
.events-settings-accordion-body>.events-usage-classification-table-card{
  margin:0;
  border:0;
  box-shadow:none;
  padding:0;
}
.events-billing-mode-card{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(220px,320px) 150px;
  gap:12px;
  align-items:end;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
  margin-bottom:14px;
}
.events-billing-mode-card>div{
  display:grid;
  gap:4px;
}
.events-billing-mode-card b{
  color:#172033;
  font-size:14px;
}
.events-billing-mode-card small,
.events-billing-mode-card p{
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.events-billing-mode-card label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.events-billing-mode-card select{
  width:100%;
  min-width:0;
  border:1px solid #d3deec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 10px;
  font:inherit;
}
.events-billing-mode-card input{
  width:100%;
  min-width:0;
  border:1px solid #d3deec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 10px;
  font:inherit;
}
.events-billing-mode-card .events-billing-due-days{
  justify-self:start;
  width:150px;
}
.events-billing-mode-card p{
  grid-column:1 / -1;
  margin:0;
}
.events-billing-mode-card p strong{
  color:#174ea6;
}
.events-fee-schedule-card{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  padding:12px;
  margin-bottom:14px;
  display:grid;
  gap:12px;
}
.events-fee-schedule-card .events-section-head{
  align-items:start;
  gap:10px;
}
.events-fee-schedule-actions{
  margin-left:auto;
  justify-content:flex-end;
  align-items:center;
}
.events-fee-schedule-toggle{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #cfdced;
  border-radius:8px;
  background:#fff;
  color:#334155;
  padding:0 11px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.events-fee-schedule-toggle input{
  width:16px;
  height:16px;
  margin:0;
}
.events-fee-schedule-toggle:has(input:checked){
  border-color:#93b8ec;
  background:#eef6ff;
  color:#174ea6;
}
.events-fee-schedule-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:10px;
}
.events-fee-schedule-item{
  position:relative;
  border:1px solid #cfdced;
  border-radius:8px;
  background:#f8fbff;
  padding:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  overflow:hidden;
}
.events-fee-schedule-item:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#174ea6;
}
.events-fee-schedule-item .event-toggle-card,
.events-fee-schedule-item .span2{
  grid-column:1 / -1;
}
.events-fee-schedule-item label:not(.event-toggle-card){
  display:grid;
  gap:4px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.events-fee-schedule-item input,
.events-fee-schedule-item select{
  width:100%;
  min-width:0;
  border:1px solid #d3deec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:8px 10px;
  font:inherit;
  font-weight:500;
}
.events-fee-schedule-item select{
  font-weight:400;
}
.events-fee-schedule-item select option{
  font-weight:400;
}
.events-fee-remove{
  grid-column:1 / -1;
  justify-self:start;
}
.event-fee-locked{
  background:#f1f5f9!important;
  color:#64748b!important;
}
.event-fee-locked input:disabled{
  background:#e8eef6!important;
  color:#64748b!important;
  border-color:#cbd5e1!important;
  cursor:not-allowed;
}
.event-fee-override-toggle small{
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.event-fee-scheduled-total{
  border:1px solid #b9cff0;
  border-radius:10px;
  background:#eef6ff;
  color:#174ea6;
  padding:12px 14px;
  display:grid;
  gap:4px;
}
.event-fee-scheduled-total b{
  font-size:14px;
}
.event-fee-scheduled-total span{
  color:#475569;
  font-size:12px;
  line-height:1.35;
}
.event-fee-scheduled-total.empty{
  border-color:#d6e0ec;
  background:#f8fafc;
  color:#334155;
}
.events-invoice-email-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.events-invoice-email-grid .span2{
  grid-column:1 / -1;
}
.events-invoice-email-grid label{
  display:grid;
  gap:5px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.events-invoice-email-grid input,
.events-invoice-email-grid textarea{
  width:100%;
  min-width:0;
  border:1px solid #d3deec;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:9px 10px;
  font:inherit;
  font-weight:500;
}
.events-invoice-email-grid small{
  color:#64748b;
  font-weight:650;
  line-height:1.35;
}
.event-invoice-email-preview{
  display:grid;
  gap:12px;
  padding:16px;
}
.event-invoice-email-preview dl{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
}
.event-invoice-email-preview dl div{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#f8fbff;
  padding:10px;
}
.event-invoice-email-preview dt{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.event-invoice-email-preview dd{
  margin:3px 0 0;
  color:#172033;
  font-weight:750;
  overflow-wrap:anywhere;
}
.event-invoice-email-preview pre{
  margin:0;
  white-space:pre-wrap;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  color:#172033;
  padding:12px;
  font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
.events-settings-accordion-toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:12px;
}
@media(max-width:720px){
  .events-settings-accordion>summary{
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:start;
  }
  .events-settings-accordion>summary em{
    grid-column:2;
    justify-self:start;
  }
  .events-settings-accordion>summary:after{
    grid-column:3;
    grid-row:1;
    margin-top:8px;
  }
  .events-settings-accordion-body{
    padding:12px;
  }
}
.events-usage-fee-form .event-form-grid>label:has(input[name="usage_fee_enabled"]),
.events-settings-form .event-form-grid>label:has(input[name="usage_fee_enabled"]){
  justify-items:start;
  text-align:left;
}
.events-usage-fee-form .event-form-grid>label:has(input[name="usage_fee_enabled"]) .checkline,
.events-settings-form .event-form-grid>label:has(input[name="usage_fee_enabled"]) .checkline{
  justify-content:flex-start;
  text-align:left;
}
.events-settings-split{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
}
.events-settings-subcard{
  border:1px solid #dbe5f2;
  border-radius:10px;
  background:#fbfdff;
  padding:14px;
  display:grid;
  gap:12px;
}
.events-settings-subcard h4{
  margin:0;
  color:#172033;
  font-size:15px;
}
.event-packet-body{
  margin:0;
  background:#e8edf4;
  color:#172033;
}
.event-packet{
  width:min(8.5in,calc(100vw - 24px));
  margin:20px auto;
  display:grid;
  gap:16px;
}
.event-packet-page{
  min-height:10.6in;
  background:#fff;
  border:1px solid #d8e3f1;
  box-shadow:0 12px 32px rgba(15,23,42,.12);
  padding:.55in;
  page-break-after:always;
}
.event-packet-page:last-child{
  page-break-after:auto;
}
.event-packet-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  border-bottom:2px solid #172033;
  padding-bottom:16px;
  margin-bottom:16px;
}
.event-packet-head span{
  color:#174ea6;
  font-weight:950;
  text-transform:uppercase;
  font-size:12px;
}
.event-packet-head h1{
  margin:4px 0;
  font-size:30px;
}
.event-packet-head p{
  margin:0;
  color:#64748b;
  font-weight:850;
}
.event-packet-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.event-packet-grid div,
.event-packet-section,
.event-packet-list div,
.event-packet-files a{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fbfdff;
  padding:10px;
}
.event-packet-grid dt{
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.event-packet-grid dd{
  margin:3px 0 0;
  font-weight:850;
}
.event-packet-section{
  margin-bottom:10px;
}
.event-packet-section h2,
.event-packet-page>h2{
  margin:0 0 8px;
  font-size:16px;
}
.event-packet-list,
.event-packet-files{
  display:grid;
  gap:8px;
}
.event-packet-list div{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.event-packet-list span{
  color:#64748b;
  font-weight:850;
}
.event-packet-files{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.event-packet-files a{
  color:#172033;
  text-decoration:none;
  display:grid;
  gap:6px;
}
.event-packet-files img{
  width:100%;
  height:190px;
  object-fit:contain;
  border-radius:6px;
  background:#eef2f7;
}
@media print{
  .no-print{display:none!important;}
  .event-packet-body{background:#fff;}
  .event-packet{width:auto;margin:0;gap:0;}
  .event-packet-page{border:0;box-shadow:none;min-height:10.6in;}
}
@media(max-width:640px){
  .events-public-calendar-card .events-public-calendar-filter{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .events-public-calendar-card .events-public-calendar-filter label,
  .events-public-calendar-card .events-public-calendar-filter select,
  .events-public-calendar-card .events-public-calendar-filter input{
    width:100%;
    min-width:0;
  }
}
@media(max-width:900px){
  .events-hero,
  .events-section-head,
  .events-public-hero,
  .events-submitted-card{
    display:grid;
  }
  .events-public-hero{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:10px;
  }
  .events-public-header-title{
    border-left:0;
    padding-left:46px;
    margin-top:-8px;
  }
  .events-public-hero-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .events-public-hero-actions .btn,
  .events-public-hero-actions .primary,
  .events-public-hero-actions .event-portal-user-menu{
    flex:0 0 auto;
  }
  .events-calendar-header-actions{
    align-items:flex-start;
  }
  .events-calendar-nav-actions{
    justify-content:flex-start;
  }
  .events-section-head .events-public-view-switch{
    max-width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:thin;
  }
  .events-section-head .events-public-view-switch a{
    flex:0 0 auto;
  }
  .event-account-hero,
  .event-account-dashboard-head,
  .event-account-alert,
  .event-account-next-card{
    display:grid;
    align-items:start;
  }
  .event-account-dashboard-actions,
  .event-account-booking-tabs{
    justify-content:flex-start;
  }
  .event-account-auth-grid,
  .event-account-auth-card,
  .event-account-landing,
  .event-account-main-grid,
  .event-account-booking-detail{
    grid-template-columns:1fr;
  }
  .event-account-booking-detail{
    max-height:calc(100vh - 170px);
  }
  .event-account-booking-detail aside{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .event-account-upload-form{
    grid-column:1 / -1;
  }
  .event-account-booking-detail aside .btn,
  .event-account-booking-detail aside .primary{
    justify-content:center;
  }
  .event-account-landing{
    min-height:0;
    padding:20px;
  }
  .event-account-landing-copy h1{
    font-size:34px;
  }
  .event-account-auth-grid{
    min-height:0;
  }
  .event-account-auth-copy{
    border-right:0;
    border-bottom:1px solid #dbe5f2;
    padding:24px;
  }
  .event-account-auth-panels,
  .event-account-auth-card{
    padding:16px;
  }
  .event-account-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .event-account-booking-list{
    grid-template-columns:1fr;
  }
  .event-account-calendar-head{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .event-account-calendar-head h3{
    grid-column:1 / -1;
    grid-row:1;
  }
  .event-account-calendar-grid{
    grid-template-columns:1fr;
  }
  .event-account-calendar-weekday,
  .event-account-calendar-day.muted{
    display:none;
  }
  .event-account-calendar-day{
    min-height:0;
    border-right:0;
  }
  .event-account-form-grid{
    grid-template-columns:1fr;
  }
  .event-account-request-time-grid,
  .event-account-request-edit-grid{
    grid-template-columns:1fr;
  }
  .event-portal-user-panel{
    right:auto;
    left:0;
  }
  .events-metrics{
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  }
  .events-tabs{
    gap:6px;
    padding:7px;
  }
  .events-tabs button,
  .events-tabs a{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 10px;
  }
  .events-search-panel,
  .events-public-lookup,
  .events-public-return-grid,
  .events-public-file-form,
  .events-public-change-form{
    grid-template-columns:1fr;
  }
  .events-public-fee-actions{
    min-width:0;
    width:100%;
    justify-content:stretch;
    flex-wrap:wrap;
  }
  .events-public-facility-strip{
    grid-template-columns:1fr;
  }
  .events-public-fee-actions .btn,
  .events-public-fee-actions .primary{
    width:100%;
  }
  .events-public-fee-summary-grid{
    grid-template-columns:1fr;
  }
  .events-public-contact-grid{
    grid-template-columns:1fr;
  }
  .events-usage-settings-head,
  .events-usage-contact-grid,
  .events-usage-doc-grid,
  .events-billing-mode-card{
    grid-template-columns:1fr;
  }
  .events-usage-settings-head .span2,
  .events-usage-settings-head .span3{
    grid-column:auto;
  }
  .events-public-info-modal{
    width:100%!important;
    max-height:94vh!important;
    border-radius:12px;
  }
  .events-public-info-modal .modal-head{
    padding:14px!important;
  }
  .events-public-fee-modal-body,
  .events-public-map-body{
    padding:12px;
    max-height:calc(94vh - 106px);
  }
  .events-public-map-preview{
    min-height:260px;
  }
  .events-calendar-toolbar,
  .events-calendar-jump{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .events-public-view-switch{
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:thin;
  }
  .events-public-view-switch a{
    flex:1 0 auto;
  }
  .events-public-calendar-card>.events-section-head{
    grid-template-columns:1fr;
    padding-left:14px;
    padding-right:14px;
  }
  .events-public-calendar-card .events-section-actions{
    justify-self:start;
    width:100%;
  }
  .events-public-calendar-frame{
    margin:0 14px 14px;
  }
  .events-public-calendar-filterbar{
    padding:10px;
  }
  .events-public-calendar-card .events-public-calendar-filter{
    gap:10px;
  }
  .events-public-calendar-settings-grid,
  .events-public-calendar-select-grid,
  .events-public-calendar-view-grid,
  .events-public-calendar-view-grid.filters,
  .events-public-background-options{
    grid-template-columns:1fr;
  }
  .events-public-calendar-card .events-calendar-legend{
    padding:10px;
  }
  .events-public-room-preview{
    grid-template-columns:72px minmax(0,1fr);
  }
  .events-public-room-preview img,
  .events-public-room-preview>span{
    width:72px;
    height:58px;
  }
  .events-public-room-preview .btn,
  .events-public-room-preview .primary{
    grid-column:1 / -1;
    justify-content:center;
  }
  .events-calendar-jump label,
  .events-calendar-jump select,
  .events-calendar-jump input{
    width:100%;
  }
  .events-schedule-view{
    --events-hour-height:64px;
    grid-template-columns:70px minmax(0,1fr);
  }
  .events-schedule-times div{
    font-size:10px;
    padding-right:7px;
  }
  .events-schedule-block{
    left:var(--event-left,8px);
    right:auto;
    width:var(--event-width,calc(100% - 16px));
    min-height:42px;
    padding:7px 8px;
  }
  .events-schedule-block b{
    font-size:12px;
  }
  .events-public-account-metrics,
  .events-public-account-toolbar{
    grid-template-columns:1fr;
  }
  .events-public-return-grid .span2,
  .events-public-file-form .span2,
  .events-public-change-form .span2{
    grid-column:auto;
  }
  .events-calendar-grid{
    grid-template-columns:1fr;
  }
  .events-calendar-weekday{
    display:none;
  }
  .events-calendar-day{
    min-height:96px;
    border-right:0;
  }
  .events-public-calendar-card .events-calendar-day{
    min-height:128px;
  }
  .events-public-calendar-card .events-calendar-add-btn{
    opacity:1;
    transform:none;
  }
  .events-calendar-day.muted-day:empty{
    display:none;
  }
	  .event-form-grid,
	  .event-check-grid,
	  .event-detail-layout,
	  .event-detail-kv,
	  .public-calendar-event-layout,
	  .public-calendar-event-kv,
		  .event-wizard{
		    grid-template-columns:1fr;
		  }
		  .event-requester-mode,
		  .event-requester-fields{
		    grid-template-columns:1fr!important;
		  }
		  .event-requester-selected{
		    grid-template-columns:34px minmax(0,1fr)!important;
		  }
		  .event-requester-selected .btn{
		    grid-column:1 / -1;
		    justify-self:start;
		  }
	  .public-calendar-event-modal.event-modal{
	    width:100%;
	    max-height:94vh;
	    border-radius:12px;
	  }
	  .public-calendar-event-layout{
	    max-height:74vh;
	  }
	  .public-calendar-event-side{
	    border-left:0;
	    border-top:1px solid #dbe5f2;
	  }
  .events-public-room-modal-body{
    grid-template-columns:1fr;
  }
  .events-public-room-modal-copy dl{
    grid-template-columns:1fr;
  }
  .events-public-interactive-map-layout,
  .events-room-pin-picker-body{
    grid-template-columns:1fr;
    overflow:auto;
  }
  .events-public-map-canvas,
  .events-room-pin-picker-map{
    min-height:360px;
  }
  .events-public-map-preview-panel,
  .events-room-pin-picker-body aside{
    min-height:0;
  }
  .event-detail-modal.event-modal{
    width:100%;
    height:calc(100vh - 20px);
    max-height:calc(100vh - 20px);
    border-radius:12px;
  }
  .event-detail-head{
    align-items:flex-start!important;
  }
  .event-detail-top-actions{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
  .event-icon-action{
    width:36px;
    height:36px;
  }
  .event-action-popover{
    top:104px;
    right:10px;
    width:calc(100% - 20px);
    max-height:calc(100% - 118px);
  }
  .event-approval-modal{
    width:100%!important;
    max-height:calc(100vh - 20px)!important;
  }
  .event-approval-decision,
  .event-approval-decision.approve{
    grid-template-columns:40px minmax(0,1fr);
  }
  .event-approval-decision .event-override,
  .event-approval-decision button{
    grid-column:1 / -1;
    justify-self:start;
  }
  .event-detail-layout{
    max-height:none;
    padding:12px;
  }
  .event-action-rail{
    grid-template-columns:1fr;
    max-height:30vh;
    padding:12px;
  }
  .event-detail-room-media figure img{
    height:180px;
  }
  .event-wizard{
    min-height:0;
  }
  .event-wizard-side{
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-right:0;
    border-bottom:1px solid #dbe5f2;
  }
  .event-wizard-side button{
    min-height:58px;
    grid-template-columns:1fr;
    text-align:center;
    place-items:center;
    padding:8px 6px;
  }
  .event-wizard-side button span{
    grid-row:auto;
    width:26px;
    height:26px;
  }
  .event-wizard-side button small,
  .event-wizard-summary{
    display:none;
  }
  .event-check-grid fieldset{
    grid-template-columns:1fr;
  }
  .event-create-modal.event-modal{
    width:100%;
    max-height:94vh;
    border-radius:12px;
  }
  .event-create-modal form{
    height:94vh;
  }
  .event-create-head{
    padding:14px!important;
  }
  .modal.event-create-modal form>.modal-head.event-create-head{
    padding:14px!important;
  }
  .event-create-title>span{
    width:40px;
    height:40px;
  }
  .event-create-modal .event-wizard{
    grid-template-columns:1fr;
  }
  .event-create-modal .event-wizard-side{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    padding:10px;
    border-right:0;
    border-bottom:1px solid #dbe5f2;
    overflow:visible;
  }
  .event-wizard-progress{
    grid-column:1 / -1;
  }
  .event-create-modal .event-wizard-side button{
    min-height:62px;
    grid-template-columns:1fr;
    place-items:center;
    text-align:center;
    gap:4px;
    padding:8px 6px;
  }
  .event-create-modal .event-wizard-side button span{
    grid-row:auto;
    width:32px;
    height:32px;
  }
  .event-create-modal .event-wizard-side button em,
  .event-create-modal .event-wizard-side button small{
    display:none;
  }
  .event-create-modal .event-wizard-side button b{
    font-size:11px;
  }
  .event-step-head{
    margin:12px;
    padding:12px;
  }
  .event-step-head>span{
    width:38px;
    height:38px;
  }
  .event-create-modal .event-form-grid,
  .event-create-modal .event-check-grid{
    grid-template-columns:1fr;
    padding:0 12px 12px;
  }
  .event-create-modal .event-form-grid .span2{
    grid-column:auto;
  }
  .event-usage-classification-modal{
    width:calc(100vw - 20px);
    height:calc(100vh - 20px);
    max-height:calc(100vh - 20px);
  }
  .event-usage-classification-modal-grid{
    grid-template-columns:1fr;
    padding:12px;
  }
  .event-usage-classification-modal-grid .span2{
    grid-column:auto;
  }
  .event-create-modal .event-wizard-nav{
    padding:10px 12px;
    flex-wrap:wrap;
  }
  .event-room-modal .event-form-grid,
  .event-room-media-settings{
    grid-template-columns:1fr;
  }
  .event-room-modal .event-form-grid .span2{
    grid-column:auto;
  }
  .event-file-picker{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .event-file-picker .asset-document-picker-actions{
    width:100%!important;
    justify-content:flex-start!important;
  }
  .events-public-agenda-item{
    grid-template-columns:1fr;
    align-items:start;
  }
  .events-public-agenda-item em{
    justify-self:start;
  }
  .events-room-card-with-media{
    grid-template-columns:88px minmax(0,1fr);
  }
  .events-room-card-with-media .events-room-card-thumb,
  .events-room-card-placeholder{
    width:88px;
    height:76px;
  }
}
@media(max-width:560px){
  .events-public-shell,
  .event-account-shell{
    width:calc(100vw - 18px);
    padding-top:10px;
  }
  .events-public-hero,
  .events-public-card,
  .event-account-card,
  .event-account-dashboard-head{
    padding:14px;
  }
  .events-public-hero{
    padding:9px 10px;
  }
  .events-public-header-title{
    display:none;
  }
  .events-public-hero h1,
  .event-account-auth-copy h1,
  .event-account-auth-card h1,
  .event-account-dashboard-head h1{
    font-size:26px;
  }
  .events-public-hero-actions,
  .event-account-hero nav,
  .event-account-booking-actions,
  .event-account-dashboard-actions{
    width:100%;
  }
  .events-public-hero-actions .btn,
  .events-public-hero-actions .primary,
  .event-account-hero nav .btn,
  .event-account-hero nav .primary,
  .event-account-hero nav form,
  .event-account-hero nav button,
  .event-account-dashboard-head .primary,
  .event-account-booking-actions .btn,
  .event-account-booking-actions .primary{
    width:100%;
    justify-content:center;
  }
  .events-public-hero-actions .btn,
  .events-public-hero-actions .primary{
    width:auto;
    min-height:36px;
    flex:0 0 auto;
  }
  .events-public-hero-actions .event-portal-user-menu,
  .events-public-hero-actions .event-portal-avatar-button{
    width:auto;
  }
  .event-account-metrics{
    grid-template-columns:1fr;
  }
  .event-account-next-card>div{
    align-items:flex-start;
  }
  .event-account-booking-tabs{
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    justify-content:flex-start;
    scrollbar-width:thin;
  }
  .event-account-booking-tabs button{
    flex:0 0 auto;
  }
  .event-account-booking-modal,
  .event-account-request-modal,
  .event-account-profile-modal{
    width:calc(100vw - 18px)!important;
    max-height:calc(100vh - 18px)!important;
  }
  .event-account-booking-detail{
    padding:12px;
  }
  .event-account-booking-detail dl,
  .event-account-booking-detail aside{
    grid-template-columns:1fr;
  }
  .event-account-detail-status{
    display:grid;
  }
  .event-account-detail-status b{
    text-align:left;
  }
  .event-account-footer{
    width:calc(100vw - 18px);
    display:grid;
    justify-items:start;
  }
  .event-portal-user-menu,
  .event-portal-avatar-button{
    width:100%;
  }
  .event-portal-avatar-button{
    justify-content:flex-start;
  }
  .event-portal-user-panel{
    left:0;
    right:0;
    min-width:0;
  }
  .event-portal-avatar-copy b,
  .event-portal-avatar-copy small{
    max-width:220px;
  }
  .event-account-auth-copy,
  .event-account-auth-panels,
  .event-account-auth-card,
  .event-account-landing{
    padding:14px;
  }
  .event-account-landing-copy h1{
    font-size:28px;
  }
  .event-account-cta-row .primary,
  .event-account-cta-row .btn,
  .event-account-modal-actions .primary,
  .event-account-modal-actions .btn{
    width:100%;
    justify-content:center;
  }
  .event-account-auth-modal,
  .event-account-auth-modal.large{
    width:calc(100vw - 18px)!important;
    max-height:calc(100vh - 18px)!important;
    grid-template-columns:1fr;
    overflow:auto!important;
  }
  .event-account-auth-modal::before{
    grid-row:auto;
    min-height:168px;
  }
  .event-account-auth-modal>.modal-head,
  .event-account-auth-modal>.event-account-form{
    grid-column:1;
  }
  .event-account-auth-points div{
    grid-template-columns:28px minmax(0,1fr);
  }
}
@media(min-width:761px){
  body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-title-row{
    padding-right:210px!important;
  }
  body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-status-actions{
    position:absolute!important;
    top:18px!important;
    right:18px!important;
    max-width:210px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    gap:7px!important;
    margin:0!important;
    z-index:2!important;
  }
}

/* Final assignment card polish. */
body:not(.student-shell) .assignment-d3-card{
  gap:14px!important;
  justify-content:flex-start!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-clean-person,
body:not(.student-shell) .assignment-d3-card .assignment-empty-state{
  width:100%!important;
  border:1px solid #e1e9f4!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-clean-person .avatar.lg{
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  min-height:74px!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-clean-copy{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-clean-copy h2{
  color:#0f172a!important;
  font-size:22px!important;
  line-height:1.08!important;
  margin:2px 0 3px!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .assignment-person-subtitle{
  margin:0 0 10px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .assignment-detail-list{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
body:not(.student-shell) .assignment-detail-list p{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:baseline!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  color:#334155!important;
  font-size:12px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .assignment-detail-list p + p{
  margin-top:7px!important;
}
body:not(.student-shell) .assignment-detail-list p span{
  color:#64748b!important;
  font-weight:950!important;
  flex:0 0 78px!important;
}
body:not(.student-shell) .assignment-detail-list p .assignment-detail-value{
  flex:1 1 auto!important;
  min-width:0!important;
  color:#334155!important;
  font-weight:800!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .assignment-due-line .ui-icon{
  display:none!important;
}
body:not(.student-shell) .assignment-email{
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-empty-state{
  grid-template-columns:52px minmax(0,1fr)!important;
}
body:not(.student-shell) .assignment-empty-icon{
  width:52px!important;
  height:52px!important;
  border-radius:14px!important;
  background:#eef6ff!important;
  color:#2563eb!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.student-shell) .assignment-empty-icon .ui-icon{
  width:26px!important;
  height:26px!important;
}
body:not(.student-shell) .assignment-empty-facts{
  grid-column:1 / -1!important;
  border-top:1px solid #e5edf6!important;
  padding-top:12px!important;
  margin-top:2px!important;
}
body:not(.student-shell) .assignment-empty-action,
body:not(.student-shell) .assignment-empty-note{
  grid-column:1 / -1!important;
  justify-self:start!important;
}
@media(max-width:760px){
  body:not(.student-shell) .assignment-d3-card .assignment-clean-person,
  body:not(.student-shell) .assignment-d3-card .assignment-empty-state{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  body:not(.student-shell) .assignment-d3-card .assignment-clean-person .avatar.lg,
  body:not(.student-shell) .assignment-empty-icon{
    margin:0 auto!important;
  }
  body:not(.student-shell) .assignment-detail-list p{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    text-align:left!important;
  }
  body:not(.student-shell) .assignment-detail-list p span{
    flex-basis:70px!important;
  }
}

body:not(.student-shell) .assignment-d3-card .assignment-detail-list p > span:not(.assignment-detail-value){
  flex:0 0 72px!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-detail-list p > .assignment-detail-value{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  color:#334155!important;
  font-weight:800!important;
  overflow-wrap:break-word!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-detail-list .assignment-detail-value-line{
  display:block!important;
  grid-template-columns:none!important;
  text-align:left!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-detail-list .assignment-detail-value-line > .assignment-detail-value{
  display:block!important;
  width:100%!important;
  color:#334155!important;
}
@media(max-width:760px){
  body:not(.student-shell) .assignment-d3-card .assignment-detail-list p > span:not(.assignment-detail-value){
    flex-basis:64px!important;
  }
  body:not(.student-shell) .assignment-d3-card .assignment-detail-list p > .assignment-detail-value{
    flex:1 1 auto!important;
  }
  body:not(.student-shell) .assignment-d3-card .assignment-email{
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  body:not(.student-shell) .assignment-d3-card .assignment-detail-list .assignment-detail-value-line{
    text-align:center!important;
  }
}

/* Final asset table facelift. */
body:not(.student-shell) .asset-directory-card.asset-snapshot-card{
  padding:18px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(15,23,42,.07)!important;
}
body:not(.student-shell) .asset-directory-card .asset-directory-topbar{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) minmax(0,auto)!important;
  align-items:start!important;
  gap:16px!important;
  min-height:0!important;
  padding:0 0 16px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid #e7edf5!important;
}
body:not(.student-shell) .asset-directory-card .asset-toolbar-title-row h2{
  color:#0f172a!important;
  font-size:25px!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}
body:not(.student-shell) .asset-directory-actions{
  justify-content:flex-end!important;
  gap:8px!important;
  row-gap:8px!important;
}
body:not(.student-shell) .asset-directory-actions .toolbar-icon-btn,
body:not(.student-shell) .asset-directory-actions .dashboard-tool-btn,
body:not(.student-shell) .asset-directory-actions .columns-btn{
  min-width:0!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 11px!important;
  border-radius:8px!important;
  border:1px solid #d8e3f1!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .asset-directory-actions .toolbar-icon-btn:hover,
body:not(.student-shell) .asset-directory-actions .dashboard-tool-btn:hover,
body:not(.student-shell) .asset-directory-actions .columns-btn:hover{
  border-color:#bcd0eb!important;
  background:#f8fbff!important;
  color:#2563eb!important;
  text-decoration:none!important;
}
body:not(.student-shell) .asset-directory-actions .advanced-search-launch-btn{
  background:#0f8f63!important;
  border-color:#0f8f63!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(15,143,99,.18)!important;
}
body:not(.student-shell) .asset-directory-actions .advanced-search-launch-btn:hover{
  background:#0b7f58!important;
  border-color:#0b7f58!important;
  color:#fff!important;
}
body:not(.student-shell) .asset-directory-actions .asset-pool-view-filter select,
body:not(.student-shell) .asset-directory-actions .bulk-edit-control{
  height:36px!important;
  min-height:36px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background-color:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .asset-directory-actions .asset-pool-view-filter select{
  min-width:232px!important;
}
body:not(.student-shell) .asset-directory-actions .bulk-edit-control{
  min-width:136px!important;
}
body:not(.student-shell) .asset-directory-card .asset-directory-table-wrap{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:12px!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .asset-column-labels th{
  height:45px!important;
  padding:8px 12px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e1e9f4!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .table-filters th{
  height:50px!important;
  padding:8px 12px!important;
  background:#fff!important;
  border-bottom:1px solid #e8eef6!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead th button[data-asset-sort]{
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead th button[data-asset-sort].active{
  color:#2563eb!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead input,
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  min-height:32px!important;
  box-sizing:border-box!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  color:#172033!important;
  font-size:11px!important;
  font-weight:800!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead input:focus,
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead select:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td{
  height:64px!important;
  padding:10px 12px!important;
  border-bottom:1px solid #edf2f7!important;
  background:#fff!important;
  color:#243247!important;
  font-size:12px!important;
  font-weight:750!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody tr:nth-child(even) td{
  background:#fcfdff!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody tr:hover td{
  background:#f7fbff!important;
}
body:not(.student-shell) .asset-directory-card .asset-main{
  gap:10px!important;
}
body:not(.student-shell) .asset-directory-card .asset-thumb.asset-thumb-lg{
  width:54px!important;
  height:42px!important;
  min-width:54px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
body:not(.student-shell) .asset-directory-card .asset-thumb.asset-thumb-lg img{
  max-width:48px!important;
  max-height:36px!important;
  object-fit:contain!important;
}
body:not(.student-shell) .asset-directory-card .asset-title b,
body:not(.student-shell) .asset-directory-card .person-cell b{
  display:block!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.2!important;
}
body:not(.student-shell) .asset-directory-card .asset-title span,
body:not(.student-shell) .asset-directory-card .subtext{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
body:not(.student-shell) .asset-directory-card .table-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  font-size:11px!important;
}
body:not(.student-shell) .asset-directory-card .badge,
body:not(.student-shell) .asset-directory-card .source-badge{
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
body:not(.student-shell) .asset-directory-card .badge.gray{
  border-color:#dbe5f2!important;
  background:#f8fafc!important;
  color:#475569!important;
}
body:not(.student-shell) .asset-directory-card .badge.green{
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#047857!important;
}
body:not(.student-shell) .asset-directory-card .badge.orange,
body:not(.student-shell) .asset-directory-card .badge.yellow,
body:not(.student-shell) .asset-directory-card .badge.warn{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#c2410c!important;
}
body:not(.student-shell) .asset-directory-card .badge.red{
  border-color:#fecaca!important;
  background:#fef2f2!important;
  color:#b91c1c!important;
}
body:not(.student-shell) .asset-directory-card .actions-cell{
  background:linear-gradient(90deg,rgba(255,255,255,.72),#fff 18%)!important;
}
body:not(.student-shell) .asset-directory-card .row-actions-clean{
  justify-content:center!important;
}
body:not(.student-shell) .asset-directory-card .asset-row-action-summary{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:32px!important;
  border-radius:8px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
body:not(.student-shell) .asset-directory-card .asset-row-action-summary:hover{
  background:#1d4ed8!important;
}
body:not(.student-shell) .asset-directory-card .table-action-menu-panel{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  padding:6px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
}
body:not(.student-shell) .asset-directory-card .table-action-menu-panel a,
body:not(.student-shell) .asset-directory-card .table-action-menu-panel button{
  border-radius:7px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:850!important;
}
body:not(.student-shell) .asset-directory-card .table-pagination{
  margin-top:14px!important;
  padding:12px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#f8fbff!important;
}
body:not(.student-shell) .asset-directory-card .table-pagination-summary{
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
}
@media(max-width:1500px){
  body:not(.student-shell) .asset-directory-card .asset-directory-topbar{
    grid-template-columns:1fr!important;
  }
  body:not(.student-shell) .asset-directory-actions{
    justify-content:flex-start!important;
  }
}
@media(max-width:760px){
  body:not(.student-shell) .asset-directory-card.asset-snapshot-card{
    padding:12px!important;
    border-radius:8px!important;
  }
  body:not(.student-shell) .asset-directory-actions .asset-pool-view-filter,
  body:not(.student-shell) .asset-directory-actions .asset-pool-view-filter select,
  body:not(.student-shell) .asset-directory-actions .bulk-edit-control{
    width:100%!important;
    min-width:0!important;
  }
}

/* Helpdesk table sizing: this table reuses the People table shell, but the
   Helpdesk column picker applies its own widths after load. Keep it filling
   the card instead of falling back to the shared People table min-width. */
@media(min-width:641px){
  body:not(.student-shell) .helpdesk-table-wrap.people-table-wrap{
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
  }
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table.table-dynamic-columns{
	    width:100%!important;
	    min-width:var(--table-dynamic-min-width,1200px)!important;
	    max-width:none!important;
	    table-layout:fixed!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table th[data-col],
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table td[data-col]{
	    box-sizing:border-box!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table th[data-col="assign_to"],
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table td[data-col="assign_to"],
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table th[data-col="assigned"],
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table td[data-col="assigned"]{
	    width:166px!important;
	    min-width:166px!important;
	    max-width:166px!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table td[data-col="assign_to"],
	  body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table td[data-col="assigned"]{
	    vertical-align:middle!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .inline-claim-form,
	  body:not(.student-shell) .helpdesk-table-wrap .claim-ticket-btn,
	  body:not(.student-shell) .helpdesk-table-wrap .assignment-state,
	  body:not(.student-shell) .helpdesk-table-wrap .ticket-tech-cell{
	    max-width:100%!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .claim-ticket-btn,
	  body:not(.student-shell) .helpdesk-table-wrap .assignment-state{
	    min-height:32px!important;
	    white-space:nowrap!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .ticket-tech-cell{
	    width:100%!important;
	  }
	  body:not(.student-shell) .helpdesk-table-wrap .ticket-tech-cell > span:last-child{
	    min-width:0!important;
	    max-width:100%!important;
	  }
	}

/* Asset table Assigned To filter uses a custom picker so the long list opens
   below the filter row instead of relying on browser native select placement. */
.asset-assigned-filter-picker{position:relative;min-width:160px}
.asset-assigned-filter-trigger{width:100%;height:34px;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#263348;padding:6px 28px 6px 8px;font-size:11px;font-weight:800;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;box-shadow:none}
.asset-assigned-filter-trigger:after{content:"";position:absolute;right:10px;top:50%;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #64748b;transform:translateY(-35%)}
.asset-assigned-filter-trigger span{display:block;overflow:hidden;text-overflow:ellipsis}
.asset-assigned-filter-menu{display:none;position:fixed;z-index:100000;background:#fff;border:1px solid #cfd9e8;border-radius:8px;box-shadow:0 18px 44px rgba(13,25,43,.22);padding:7px;overflow:auto}
.asset-assigned-filter-picker.open .asset-assigned-filter-menu{display:grid;gap:4px}
.asset-assigned-filter-search{position:sticky;top:-7px;background:#fff;padding:0 0 6px;z-index:1}
.asset-assigned-filter-search input{width:100%;height:34px;border:1px solid #cfdaea;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:800}
.asset-assigned-filter-menu button{width:100%;border:0;background:#fff;color:#172033;border-radius:6px;text-align:left;padding:8px 9px;font-size:12px;font-weight:850;line-height:1.25;cursor:pointer}
.asset-assigned-filter-menu button:hover,.asset-assigned-filter-menu button:focus{background:#f2f6ff;outline:none}
.asset-assigned-filter-menu button.selected{background:#eaf1ff;color:#1d4ed8}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .asset-assigned-filter-picker{
  display:block!important;
  width:100%!important;
  min-width:112px!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .asset-assigned-filter-trigger{
  display:block!important;
  width:100%!important;
  min-width:112px!important;
  height:32px!important;
  min-height:32px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  color:#172033!important;
  padding:6px 28px 6px 8px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:18px!important;
  text-align:left!important;
  justify-content:flex-start!important;
  box-shadow:none!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .asset-assigned-filter-trigger span{
  text-align:left!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .asset-assigned-filter-trigger:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
  outline:none!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table thead .asset-assigned-filter-menu button{
  display:block!important;
  text-align:left!important;
  justify-content:flex-start!important;
  min-height:34px!important;
  box-shadow:none!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead .asset-assigned-filter-picker{
  display:block!important;
  width:100%!important;
  min-width:112px!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead .asset-assigned-filter-trigger{
  display:block!important;
  width:100%!important;
  min-width:112px!important;
  height:32px!important;
  min-height:32px!important;
  border:1px solid #d8e3f1!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  color:#172033!important;
  padding:6px 28px 6px 8px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:18px!important;
  text-align:left!important;
  justify-content:flex-start!important;
  box-shadow:none!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead .asset-assigned-filter-trigger span{
  text-align:left!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead .asset-assigned-filter-trigger:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
  outline:none!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table thead .asset-assigned-filter-menu button{
  display:block!important;
  text-align:left!important;
  justify-content:flex-start!important;
  min-height:34px!important;
  box-shadow:none!important;
}

/* Table body readability: data cells should scan like records, not headings. */
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td a:not(.btn):not(.action-chip),
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td b,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td strong,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td small,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td .asset-title b,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td .asset-title span,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td .person-cell b,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td .person-cell small,
body:not(.student-shell) .asset-directory-card .asset-inventory-table tbody td .subtext,
body:not(.student-shell) .people-directory-table tbody td,
body:not(.student-shell) .people-directory-table tbody td a:not(.btn):not(.action-chip),
body:not(.student-shell) .people-directory-table tbody td b,
body:not(.student-shell) .people-directory-table tbody td strong,
body:not(.student-shell) .people-directory-table tbody td small,
body:not(.student-shell) .people-directory-table tbody td .person-cell b,
body:not(.student-shell) .people-directory-table tbody td .person-cell small,
body:not(.student-shell) .helpdesk-directory-table tbody td,
body:not(.student-shell) .helpdesk-directory-table tbody td a:not(.btn):not(.action-chip),
body:not(.student-shell) .helpdesk-directory-table tbody td b,
body:not(.student-shell) .helpdesk-directory-table tbody td strong,
body:not(.student-shell) .helpdesk-directory-table tbody td small,
body:not(.student-shell) .helpdesk-directory-table tbody td .ticket-subject-title,
body:not(.student-shell) .helpdesk-directory-table tbody td .helpdesk-note-cell span,
body:not(.student-shell) .helpdesk-directory-table tbody td .person-cell b,
body:not(.student-shell) .helpdesk-directory-table tbody td .person-cell small,
body:not(.student-shell) .helpdesk-directory-table tbody td .helpdesk-asset-cell b,
body:not(.student-shell) .helpdesk-directory-table tbody td .helpdesk-asset-cell small{
  font-weight:400!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table tbody td,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td a:not(.btn):not(.action-chip),
body:not(.student-shell) .student-directory-card .people-directory-table tbody td b,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td strong,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td small,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td .person-cell b,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td .person-cell small,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td a:not(.btn):not(.action-chip),
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td b,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td strong,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td small,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td .ticket-subject-title,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td .helpdesk-note-cell span,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td .person-cell b,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td .person-cell small,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td .helpdesk-asset-cell b,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td .helpdesk-asset-cell small{
  font-weight:400!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col] b,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col] strong,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col] small,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col] .person-cell b,
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col] .person-cell small,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] b,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] strong,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] small,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] .ticket-subject-title,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] .helpdesk-note-cell span,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] .person-cell b,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] .person-cell small,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] .helpdesk-asset-cell b,
body:not(.student-shell) .helpdesk-table-wrap .helpdesk-directory-table tbody td[data-col] .helpdesk-asset-cell small{
  font-weight:400!important;
}
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col],
body:not(.student-shell) .student-directory-card .people-directory-table tbody td[data-col] :is(a,b,strong,small,span,div,p,em){
  font-weight:400!important;
}
body:not(.student-shell) .asset-directory-card .asset-inventory-table th[data-col="select"] input[type="checkbox"],
body:not(.student-shell) .asset-directory-card .asset-inventory-table td[data-col="select"] input[type="checkbox"]{
  width:14px!important;
  min-width:14px!important;
  max-width:14px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  display:inline-block!important;
  vertical-align:middle!important;
}
body:not(.student-shell) .cc-ticket-chart .cc-bar-day,
body:not(.student-shell) .cc-reservation-chart .cc-bar-day,
body:not(.student-shell) .cc-circulation-plot{
  position:relative!important;
  overflow:visible!important;
}
body:not(.student-shell) .cc-bar-value{
  position:absolute!important;
  left:50%!important;
  bottom:calc(26px + var(--bar-height,0%) + 3px)!important;
  transform:translateX(-50%)!important;
  z-index:5!important;
  min-width:18px!important;
  padding:1px 4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid #dbe4f0!important;
  color:#334155!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  box-shadow:0 4px 10px rgba(15,23,42,.08)!important;
  pointer-events:none!important;
}
body:not(.student-shell) .cc-circulation-plot .cc-bar-value{
  bottom:calc(var(--bar-height,0%) + 3px)!important;
}
body:not(.student-shell) .cc-widget-enable-backdrop{
  align-items:flex-start!important;
  padding:7vh 18px 28px!important;
}
body:not(.student-shell) .cc-widget-enable-modal{
  width:min(980px,calc(100vw - 36px))!important;
  max-height:84vh!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:12px!important;
}
body:not(.student-shell) .cc-widget-enable-head{
  align-items:flex-start!important;
  padding:18px 20px!important;
  border-bottom:1px solid #e2e8f0!important;
}
body:not(.student-shell) .cc-widget-enable-body{
  padding:18px 20px 20px!important;
  background:#f8fbff!important;
  max-height:calc(84vh - 92px)!important;
  overflow:auto!important;
}
body:not(.student-shell) .cc-widget-enable-body .cc-hidden-widget-list{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
body:not(.student-shell) .cc-customize-backdrop{
  align-items:flex-start!important;
  padding:7vh 18px 28px!important;
}
body:not(.student-shell) .cc-customize-modal{
  width:min(1120px,calc(100vw - 36px))!important;
  max-height:86vh!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:12px!important;
}
body:not(.student-shell) .cc-customize-modal-head{
  align-items:flex-start!important;
  padding:18px 20px!important;
  border-bottom:1px solid #e2e8f0!important;
}
body:not(.student-shell) .cc-customize-modal .cc-customize-panel{
  grid-template-columns:240px minmax(0,1fr) 150px!important;
  max-height:calc(86vh - 92px)!important;
  overflow:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#f8fbff!important;
  padding:18px 20px 20px!important;
}
body:not(.student-shell) .cc-customize-guidance{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
}
body:not(.student-shell) .cc-customize-modal-actions{
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
  position:sticky!important;
  top:0!important;
}
body:not(.student-shell) .cc-customize-modal-actions .btn,
body:not(.student-shell) .cc-customize-modal-actions .primary{
  width:100%!important;
  justify-content:center!important;
}
body:not(.student-shell) .cc-customize-modal .cc-hidden-widget-list{
  max-height:calc(86vh - 132px)!important;
  padding-right:6px!important;
}
@media(max-width:900px){
  body:not(.student-shell) .cc-customize-modal .cc-customize-panel{
    grid-template-columns:1fr!important;
  }
  body:not(.student-shell) .cc-customize-guidance,
  body:not(.student-shell) .cc-customize-modal-actions{
    position:static!important;
  }
}

/* Repair Intake table rebuilt as an isolated table using Asset table conventions. */
body:not(.student-shell) .repair-intake-table-wrap{
  border:1px solid #dfe6f2!important;
  border-radius:14px!important;
  overflow:auto!important;
  max-width:100%!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-intake-table-meta.asset-table-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  margin:10px 0 14px!important;
  padding-top:6px!important;
}
body:not(.student-shell) .repair-intake-summary-line{
  color:#64748b!important;
  font-size:13px!important;
  font-weight:800!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  margin-top:0!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn,
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .columns-btn{
  width:auto!important;
  min-width:116px!important;
  height:38px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn .ui-icon,
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .columns-btn .ui-icon{
  width:15px!important;
  height:15px!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn span,
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .columns-btn span{
  display:inline!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn:hover,
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .columns-btn:hover{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  color:#2563eb!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn.primary{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn.primary .ui-icon{
  color:#fff!important;
}
body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn.primary:hover{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}
body:not(.student-shell) .repair-intake-bulk-toolbar{
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:12px!important;
  gap:10px!important;
}
body:not(.student-shell) .repair-intake-bulk-toolbar select,
body:not(.student-shell) .repair-intake-bulk-toolbar input{
  height:38px!important;
  min-height:38px!important;
  border:1px solid #d9e1ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#23314a!important;
  font-size:12px!important;
  font-weight:800!important;
}
body:not(.student-shell) .repair-intake-review-table{
  min-width:1100px!important;
  width:auto!important;
  max-width:none!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
}
body:not(.student-shell) .repair-intake-review-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  background:#f8fafd!important;
  color:#40506a!important;
  font-size:12px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-intake-review-table th,
body:not(.student-shell) .repair-intake-review-table td{
  padding:10px 12px!important;
  vertical-align:middle!important;
  border-bottom:1px solid #e8edf5!important;
}
body:not(.student-shell) .repair-intake-review-table td{
  color:#172033!important;
  font-size:12px!important;
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-review-table tbody tr:nth-child(even) td{
  background:#fcfdff!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="select"],
body:not(.student-shell) .repair-intake-review-table td[data-col="select"]{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  text-align:center!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="select"] input[type="checkbox"],
body:not(.student-shell) .repair-intake-review-table td[data-col="select"] input[type="checkbox"]{
  width:14px!important;
  min-width:14px!important;
  max-width:14px!important;
  height:14px!important;
  min-height:14px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#3346d3!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="asset"],
body:not(.student-shell) .repair-intake-review-table td[data-col="asset"]{
  width:230px!important;
  min-width:230px!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="status"],
body:not(.student-shell) .repair-intake-review-table td[data-col="status"]{
  width:180px!important;
  min-width:180px!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="issue"],
body:not(.student-shell) .repair-intake-review-table td[data-col="issue"]{
  width:320px!important;
  min-width:320px!important;
  white-space:normal!important;
  line-height:1.35!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="priority"],
body:not(.student-shell) .repair-intake-review-table td[data-col="priority"]{width:128px!important;}
body:not(.student-shell) .repair-intake-review-table th[data-col="assigned"],
body:not(.student-shell) .repair-intake-review-table td[data-col="assigned"]{
  width:210px!important;
  min-width:210px!important;
  white-space:nowrap!important;
  line-height:1.35!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="location"],
body:not(.student-shell) .repair-intake-review-table td[data-col="location"]{
  width:128px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="vendor_status"],
body:not(.student-shell) .repair-intake-review-table td[data-col="vendor_status"],
body:not(.student-shell) .repair-intake-review-table th[data-col="due_date"],
body:not(.student-shell) .repair-intake-review-table td[data-col="due_date"],
body:not(.student-shell) .repair-intake-review-table th[data-col="collection"],
body:not(.student-shell) .repair-intake-review-table td[data-col="collection"],
body:not(.student-shell) .repair-intake-review-table th[data-col="created_by"],
body:not(.student-shell) .repair-intake-review-table td[data-col="created_by"],
body:not(.student-shell) .repair-intake-review-table th[data-col="last_note"],
body:not(.student-shell) .repair-intake-review-table td[data-col="last_note"]{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="vendor_status"],
body:not(.student-shell) .repair-intake-review-table td[data-col="vendor_status"]{width:128px!important;}
body:not(.student-shell) .repair-intake-review-table th[data-col="due_date"],
body:not(.student-shell) .repair-intake-review-table td[data-col="due_date"]{
  width:156px!important;
  min-width:156px!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="collection"],
body:not(.student-shell) .repair-intake-review-table td[data-col="collection"]{width:128px!important;}
body:not(.student-shell) .repair-intake-review-table th[data-col="created_by"],
body:not(.student-shell) .repair-intake-review-table td[data-col="created_by"]{width:128px!important;}
body:not(.student-shell) .repair-intake-review-table th[data-col="last_note"],
body:not(.student-shell) .repair-intake-review-table td[data-col="last_note"]{width:128px!important;}
body:not(.student-shell) .repair-intake-review-table th[data-col="updated"],
body:not(.student-shell) .repair-intake-review-table td[data-col="updated"]{
  width:156px!important;
  min-width:156px!important;
  color:#475467!important;
  font-size:11px!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="updated"] .table-date-range-filter{
  min-width:136px!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="actions"],
body:not(.student-shell) .repair-intake-review-table td[data-col="actions"]{
  position:sticky!important;
  right:0!important;
  z-index:7!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  text-align:left!important;
  background:#fff!important;
  box-shadow:-8px 0 14px rgba(15,23,42,.04)!important;
}
body:not(.student-shell) .repair-intake-review-table thead th[data-col="actions"]{
  z-index:12!important;
  background:#f8fafd!important;
}
body:not(.student-shell) .repair-intake-review-table .table-filters th[data-col="actions"]{
  z-index:12!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-intake-review-table tbody tr:hover td[data-col="actions"]{
  background:#fbfdff!important;
}
body:not(.student-shell) .repair-intake-review-table td.actions-cell{
  overflow:visible!important;
  background:linear-gradient(90deg,rgba(255,255,255,.72),#fff 18%)!important;
}
body:not(.student-shell) .repair-intake-review-table .row-actions-clean{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  padding:3px!important;
  border:1px solid #e5edf7!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
body:not(.student-shell) .repair-intake-review-table .table-action{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:900!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-intake-review-table .table-action .ui-icon{
  width:13px!important;
  height:13px!important;
}

/* Final Repair Intake action button override: keep row actions readable. */
body:not(.student-shell) .repair-intake-review-table th[data-col="actions"],
body:not(.student-shell) .repair-intake-review-table td[data-col="actions"]{
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  text-align:left!important;
}
body:not(.student-shell) .repair-intake-review-table .row-actions-clean{
  width:auto!important;
  min-width:0!important;
  gap:8px!important;
  justify-content:flex-start!important;
}
body:not(.student-shell) .repair-intake-review-table .table-action{
  width:32px!important;
  max-width:32px!important;
  min-width:32px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
}
body:not(.student-shell) .repair-intake-review-table .asset-row-action-summary{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  display:inline-flex!important;
  justify-content:center!important;
  padding:0 9px!important;
  gap:6px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
body:not(.student-shell) .repair-intake-review-table .asset-row-action-summary:hover{
  background:#1d4ed8!important;
}
body:not(.student-shell) .repair-intake-review-table .table-action-menu-panel{
  min-width:220px!important;
  border:1px solid #d8e3f1!important;
  border-radius:10px!important;
  padding:6px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
}
body:not(.student-shell) .repair-intake-review-table .table-action-menu-panel a,
body:not(.student-shell) .repair-intake-review-table .table-action-menu-panel button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:850!important;
  padding:9px 10px!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body:not(.student-shell) .repair-intake-review-table .table-action-menu-panel a:hover,
body:not(.student-shell) .repair-intake-review-table .table-action-menu-panel button:hover{
  background:#f2f5ff!important;
  color:#2563eb!important;
}

body:not(.student-shell) .repair-intake-person-cell{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-intake-assignment-stack{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-intake-person-cell .table-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:50%!important;
  box-shadow:0 0 0 1px #dbe5f2!important;
}
body:not(.student-shell) .repair-intake-person-cell>span{
  display:block!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-intake-person-cell b,
body:not(.student-shell) .repair-intake-person-cell small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-intake-person-cell small{
  color:#667085!important;
  font-size:11px!important;
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-repair-tech{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#475467!important;
  font-size:11px!important;
  font-weight:650!important;
}

body:not(.student-shell) .repair-intake-review-table .table-filters th{
  top:42px!important;
  z-index:5!important;
  background:#fff!important;
  padding:8px 12px!important;
}
body:not(.student-shell) .repair-intake-review-table .table-filters input,
body:not(.student-shell) .repair-intake-review-table .table-filters select,
body:not(.student-shell) .repair-intake-review-table .table-filters .asset-assigned-filter-trigger{
  height:34px!important;
  min-height:34px!important;
  width:100%!important;
  min-width:0!important;
  border:1px solid #d9e1ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#23314a!important;
  font-size:11px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
body:not(.student-shell) .repair-intake-review-table .table-filters input:focus,
body:not(.student-shell) .repair-intake-review-table .table-filters select:focus,
body:not(.student-shell) .repair-intake-review-table .table-filters .asset-assigned-filter-trigger:focus{
  border-color:#93b4ff!important;
  box-shadow:0 0 0 3px rgba(47,111,242,.12)!important;
  outline:0!important;
}
body:not(.student-shell) .repair-intake-table-asset{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  color:#172033!important;
  text-decoration:none!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-intake-row-thumb{
  width:54px!important;
  height:44px!important;
  border:1px solid #e6edf7!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.student-shell) .repair-intake-table-asset img{
  width:46px!important;
  height:34px!important;
  object-fit:contain!important;
}
body:not(.student-shell) .repair-intake-row-thumb em{
  right:-3px!important;
  bottom:-3px!important;
  width:18px!important;
  height:18px!important;
  background:#2563eb!important;
  border:2px solid #fff!important;
}
body:not(.student-shell) .repair-intake-table-asset b,
body:not(.student-shell) .repair-intake-table-asset small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-intake-table-asset b{
  font-size:12px!important;
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-table-asset small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-issue-cell{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .repair-intake-issue-cell b,
body:not(.student-shell) .repair-intake-issue-cell small{
  display:block!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .repair-intake-issue-cell b{
  color:#172033!important;
  font-size:12px!important;
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-issue-cell small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-review-table .badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-intake-review-table tr.is-vendor-out td:not([data-col="actions"]){
  background:#fffdf7!important;
}
body:not(.student-shell) .repair-vendor-out-inline{
  margin-top:5px!important;
  gap:4px!important;
  max-width:max-content!important;
}
body:not(.student-shell) .repair-vendor-out-inline .ui-icon,
body:not(.student-shell) .repair-vendor-out-badge .ui-icon{
  width:12px!important;
  height:12px!important;
}
body:not(.student-shell) .repair-intake-vendor-stack{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-intake-vendor-stack small{
  display:block!important;
  color:#9a3412!important;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-vendor-out-badge{
  justify-content:flex-start!important;
  gap:5px!important;
  width:max-content!important;
  max-width:100%!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#9a3412!important;
}
body:not(.student-shell) .repair-intake-priority-stack{
  gap:4px!important;
}
body:not(.student-shell) .repair-intake-review-table td:not([data-col="actions"]) b,
body:not(.student-shell) .repair-intake-review-table td:not([data-col="actions"]) strong{
  font-weight:400!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="due_date"] .table-date-range-filter{
  min-width:136px!important;
}
body:not(.student-shell) .repair-age-chip{
  min-width:32px!important;
  padding:3px 7px!important;
  font-size:11px!important;
}
body:not(.student-shell) .repair-intake-empty{
  min-height:156px!important;
  margin:12px!important;
  border:1px dashed #cbd5e1!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
body:not(.student-shell) .repair-intake-empty .ui-icon{
  width:30px!important;
  height:30px!important;
  color:#2563eb!important;
}
body:not(.student-shell) .repair-intake-empty b{
  color:#0f172a!important;
  font-size:15px!important;
}
body:not(.student-shell) .repair-intake-review-table.resizable-table th.resizable-th{
  padding-right:18px!important;
  position:relative!important;
}
body:not(.student-shell) .repair-intake-review-table.resizable-table th.resizable-th .table-th-resize-wrap{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  padding-right:14px!important;
}
body:not(.student-shell) .repair-intake-review-table.resizable-table th.resizable-th .table-col-resizer{
  position:absolute!important;
  top:50%!important;
  right:2px!important;
  transform:translateY(-50%)!important;
  margin-left:0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body:not(.student-shell) #repairIntakeColumnModal .refined-column-row{
  border-radius:14px!important;
  box-shadow:0 6px 16px rgba(15,23,42,.035)!important;
}
body:not(.student-shell) #repairIntakeColumnModal .column-drag{
  width:auto!important;
  color:#94a3b8!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
  position:relative!important;
}

body:not(.student-shell) .repair-intake-assign-modal{
  width:min(560px,calc(100vw - 28px))!important;
  padding:0!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-intake-assign-modal>.modal-head{
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #d8e3f0!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 70%,#eef2ff 100%)!important;
}
body:not(.student-shell) .repair-intake-assign-form{
  display:grid!important;
  gap:14px!important;
  padding:16px 18px 0!important;
}
body:not(.student-shell) .repair-intake-assign-summary{
  grid-template-columns:54px minmax(0,1fr) auto!important;
  margin:0!important;
  border:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-intake-assign-grid{
  display:grid!important;
  gap:12px!important;
}
body:not(.student-shell) .repair-intake-assign-grid label{
  margin:0!important;
}
body:not(.student-shell) .repair-intake-assign-form>.modal-actions{
  margin:2px -18px 0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}

/* Repair Intake create modal: keep header and footer fixed while the form scrolls. */
body:not(.student-shell) .repair-intake-create-modal{
  width:min(980px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .repair-intake-create-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e2e8f0!important;
  border-radius:12px 12px 0 0!important;
}
body:not(.student-shell) .repair-intake-create-head-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
body:not(.student-shell) .repair-intake-create-head-actions .icon-btn{
  width:36px!important;
  height:36px!important;
}
body:not(.student-shell) .repair-intake-create-head-actions .icon-btn .ui-icon{
  width:18px!important;
  height:18px!important;
}
body:not(.student-shell) .repair-intake-issue-options-modal{
  width:min(620px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .repair-intake-issue-options-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e2e8f0!important;
}
body:not(.student-shell) .repair-intake-issue-options-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-intake-issue-options-body{
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px!important;
  display:grid!important;
  gap:12px!important;
}
body:not(.student-shell) .repair-intake-issue-options-body label{
  display:grid!important;
  gap:7px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:850!important;
}
body:not(.student-shell) .repair-intake-issue-options-body textarea{
  width:100%!important;
  min-height:320px!important;
  resize:vertical!important;
  border:1px solid #cbd5e1!important;
  border-radius:8px!important;
  padding:10px 12px!important;
  color:#172033!important;
  font:inherit!important;
  font-weight:400!important;
  line-height:1.45!important;
}
body:not(.student-shell) .repair-intake-issue-options-note{
  display:grid!important;
  gap:3px!important;
  border:1px solid #bfdbfe!important;
  border-radius:8px!important;
  background:#eff6ff!important;
  color:#1e3a8a!important;
  padding:10px 12px!important;
}
body:not(.student-shell) .repair-intake-issue-options-note b{
  font-size:12px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-intake-issue-options-note span{
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.4!important;
}
body:not(.student-shell) .repair-intake-issue-options-form>.modal-actions{
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-intake-create-form{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px 0!important;
}
body:not(.student-shell) .repair-intake-create-form>.modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  margin:0 -18px!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.06)!important;
}

@media(max-width:900px){
  body:not(.student-shell) .repair-intake-table-meta.asset-table-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .toolbar-icon-btn,
  body:not(.student-shell) .repair-intake-table-actions.asset-toolbar-controls .columns-btn{
    min-width:108px!important;
  }
}

/* Repair Intake edit modal: taller body with sticky actions so buttons never clip. */
body:not(.student-shell) .repair-intake-edit-modal{
  width:min(900px,calc(100vw - 28px))!important;
  height:min(860px,calc(100vh - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .repair-intake-edit-modal .modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-intake-edit-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:auto!important;
  padding:16px 18px 0!important;
}
body:not(.student-shell) .repair-intake-edit-form>.modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  margin:auto -18px 0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.06)!important;
}
body:not(.student-shell) .repair-intake-click-row{
  cursor:pointer;
}
body:not(.student-shell) .repair-intake-click-row:focus-visible td{
  outline:3px solid rgba(37,99,235,.24)!important;
  outline-offset:-3px!important;
}
body:not(.student-shell) .repair-intake-preview-modal{
  width:min(980px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .repair-intake-preview-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #d8e3f0!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;
  color:#172033!important;
}
body:not(.student-shell) .repair-intake-preview-body{
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px!important;
  background:#f7f9fc!important;
}
body:not(.student-shell) .repair-intake-preview-summary{
  grid-template-columns:60px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 14px!important;
  background:#fff!important;
  border:1px solid #dbe5f2!important;
}
body:not(.student-shell) .repair-intake-preview-summary .asset-repair-intake-thumb{
  width:54px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.student-shell) .repair-intake-preview-summary .asset-repair-intake-thumb img{
  max-width:48px!important;
  max-height:36px!important;
}
body:not(.student-shell) .repair-intake-preview-summary .asset-repair-intake-thumb em{
  right:1px!important;
  bottom:1px!important;
  width:18px!important;
  height:18px!important;
}
body:not(.student-shell) .repair-intake-preview-summary .asset-repair-intake-thumb em .ui-icon{
  width:10px!important;
  height:10px!important;
}
body:not(.student-shell) .repair-intake-preview-summary .badge{
  margin-left:auto!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-intake-preview-grid{
  display:grid!important;
  grid-template-columns:1.25fr 1fr!important;
  gap:12px!important;
}
body:not(.student-shell) .repair-intake-preview-panel{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:13px!important;
  display:grid!important;
  gap:10px!important;
}
body:not(.student-shell) .repair-intake-preview-panel.full{
  grid-column:1/-1!important;
}
body:not(.student-shell) .repair-intake-preview-panel.compact{
  padding:10px 13px!important;
}
body:not(.student-shell) .repair-intake-preview-panel.issue{
  border-color:#bfdbfe!important;
  border-left:4px solid #2563eb!important;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 62%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(37,99,235,.06)!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,220px)!important;
  align-items:stretch!important;
}
body:not(.student-shell) .repair-intake-preview-panel.issue small{
  color:#1d4ed8!important;
}
body:not(.student-shell) .repair-intake-preview-issue-main{
  display:grid!important;
  gap:10px!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-intake-evidence-tiles{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  justify-content:stretch!important;
  align-content:stretch!important;
  min-height:154px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
  text-transform:none!important;
}
body:not(.student-shell) .repair-intake-evidence-tiles.empty{
  display:grid!important;
  place-items:center!important;
  justify-content:stretch!important;
  border:1px dashed #cbd5e1!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  padding:8px!important;
  text-align:center!important;
}
body:not(.student-shell) .repair-intake-evidence-tile,
body:not(.student-shell) .repair-intake-evidence-more{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:154px!important;
  min-width:0!important;
  min-height:154px!important;
  overflow:hidden!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  padding:0!important;
  position:relative!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body:not(.student-shell) .repair-intake-evidence-tile img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body:not(.student-shell) .repair-intake-evidence-tile span{
  position:absolute!important;
  inset:auto 0 0!important;
  min-height:18px!important;
  padding:3px 4px!important;
  background:rgba(15,23,42,.72)!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:850!important;
  line-height:1.1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-transform:none!important;
}
body:not(.student-shell) .repair-intake-evidence-tile em{
  position:absolute!important;
  top:7px!important;
  right:7px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.78)!important;
  color:#fff!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:950!important;
  line-height:1!important;
}
body:not(.student-shell) .repair-intake-evidence-more{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-size:15px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-evidence-viewer-modal{
  width:min(980px,calc(100vw - 28px))!important;
  height:min(720px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-modal{
  width:min(1040px,calc(100vw - 28px))!important;
  height:min(760px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-body{
  display:grid!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:14px!important;
  min-height:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-list{
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
  min-height:0!important;
  overflow:auto!important;
  padding-right:2px!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-item{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:2px 9px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  padding:9px!important;
  text-align:left!important;
  cursor:pointer!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-item.active{
  border-color:#86efac!important;
  background:#f0fdf4!important;
  box-shadow:0 0 0 3px rgba(134,239,172,.22)!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-item span{
  grid-row:1/3!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:42px!important;
  border-radius:8px!important;
  background:#e8f5ee!important;
  color:#166534!important;
  font-size:10px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-item b,
body:not(.student-shell) .repair-vendor-attachment-viewer-item small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-item b{
  font-size:13px!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-item small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-stage{
  display:grid!important;
  place-items:center!important;
  min-height:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-stage iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-empty{
  display:grid!important;
  place-items:center!important;
  gap:8px!important;
  max-width:360px!important;
  padding:20px!important;
  text-align:center!important;
  color:#64748b!important;
  font-weight:850!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-empty span{
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:56px!important;
  border-radius:10px!important;
  background:#e8f5ee!important;
  color:#166534!important;
  font-size:12px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-empty b{
  color:#172033!important;
  font-size:16px!important;
}
body:not(.student-shell) .repair-vendor-attachment-viewer-empty p{
  margin:0!important;
}
body:not(.student-shell) .repair-vendor-attachment-delete-form{
  margin-right:auto!important;
}
body:not(.student-shell) .repair-vendor-attachment-delete-form[hidden]{
  display:none!important;
}
body:not(.student-shell) .repair-evidence-viewer-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  gap:14px!important;
  min-height:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-evidence-viewer-stage{
  display:grid!important;
  place-items:center!important;
  min-height:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  overflow:hidden!important;
  padding:14px!important;
}
body:not(.student-shell) .repair-evidence-viewer-stage img{
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
body:not(.student-shell) .repair-evidence-viewer-details{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  gap:10px!important;
  min-height:0!important;
}
body:not(.student-shell) .repair-evidence-viewer-details h3{
  margin:0!important;
  color:#172033!important;
  font-size:16px!important;
}
body:not(.student-shell) .repair-evidence-viewer-details p{
  margin:0!important;
  white-space:pre-wrap!important;
  color:#334155!important;
  font-weight:800!important;
}
body:not(.student-shell) .repair-evidence-viewer-thumbs{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:7px!important;
  overflow:auto!important;
  align-content:start!important;
}
body:not(.student-shell) .repair-evidence-viewer-thumb{
  display:grid!important;
  place-items:center!important;
  aspect-ratio:1/1!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:3px!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
body:not(.student-shell) .repair-evidence-viewer-thumb.active{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 3px rgba(147,197,253,.28)!important;
}
body:not(.student-shell) .repair-evidence-viewer-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body:not(.student-shell) .repair-evidence-delete-form{
  margin-right:auto!important;
}
body:not(.student-shell) .repair-evidence-edit-form[hidden],
body:not(.student-shell) .repair-evidence-delete-form[hidden]{
  display:none!important;
}
body:not(.student-shell) .repair-intake-preview-panel small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:not(.student-shell) .repair-intake-preview-panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-width:0!important;
}
body:not(.student-shell) .repair-vendor-attachment-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:34px!important;
  height:28px!important;
  border:1px solid #bbf7d0!important;
  border-radius:999px!important;
  background:#f0fdf4!important;
  color:#166534!important;
  font-size:12px!important;
  font-weight:950!important;
  padding:0 9px!important;
  cursor:pointer!important;
}
body:not(.student-shell) .repair-vendor-attachment-chip svg{
  width:14px!important;
  height:14px!important;
}
body:not(.student-shell) .repair-vendor-attachment-chip[hidden]{
  display:none!important;
}
body:not(.student-shell) .repair-intake-preview-panel h3{
  margin:0!important;
  color:#172033!important;
  font-size:18px!important;
}
body:not(.student-shell) .repair-intake-preview-panel p{
  margin:0!important;
  color:#334155!important;
  font-weight:500!important;
  line-height:1.45!important;
  white-space:pre-wrap!important;
}
body:not(.student-shell) .repair-intake-preview-panel dl{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 14px!important;
  margin:0!important;
}
body:not(.student-shell) .repair-intake-preview-panel dt{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:500!important;
  margin:0 0 3px!important;
}
body:not(.student-shell) .repair-intake-preview-panel dd{
  color:#172033!important;
  font-size:13px!important;
  font-weight:500!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .repair-intake-preview-notes{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
body:not(.student-shell) .repair-intake-preview-notes b{
  display:block!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
  margin-bottom:5px!important;
}
body:not(.student-shell) .repair-intake-preview-modal>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-modal{
  width:min(940px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .repair-device-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #d8e3f0!important;
  background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 64%,#eff6ff 100%)!important;
}
body:not(.student-shell) .repair-device-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-device-summary{
  flex:0 0 auto!important;
  grid-template-columns:60px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:14px 18px 0!important;
  border:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-summary .asset-repair-intake-thumb{
  width:54px!important;
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
body:not(.student-shell) .repair-device-summary .asset-repair-intake-thumb img{
  max-width:48px!important;
  max-height:36px!important;
}
body:not(.student-shell) .repair-device-summary .asset-repair-intake-thumb em{
  right:1px!important;
  bottom:1px!important;
  width:18px!important;
  height:18px!important;
}
body:not(.student-shell) .repair-device-summary .asset-repair-intake-thumb em .ui-icon{
  width:10px!important;
  height:10px!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  margin:10px 18px 0!important;
  padding:12px!important;
  border:1px solid #f8c471!important;
  border-radius:8px!important;
  background:#fff7ed!important;
  color:#7c2d12!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail[hidden]{
  display:none!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail strong,
body:not(.student-shell) .repair-device-vendor-guardrail p,
body:not(.student-shell) .repair-device-vendor-guardrail label{
  display:block!important;
  margin:0!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail p{
  margin-top:2px!important;
  font-size:12px!important;
  font-weight:600!important;
  color:#9a3412!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail .btn{
  margin-top:9px!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail label{
  margin-top:8px!important;
  font-size:12px!important;
  font-weight:700!important;
}
body:not(.student-shell) .repair-device-vendor-guardrail input{
  width:auto!important;
  margin-right:6px!important;
}
body:not(.student-shell) .repair-device-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)!important;
  gap:14px!important;
  padding:14px 18px!important;
  background:#f7f9fc!important;
}
body:not(.student-shell) .repair-device-body .form-section{
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:13px!important;
}
body:not(.student-shell) .repair-device-toggle{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fbfdff!important;
  padding:10px 11px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
}
body:not(.student-shell) .repair-device-toggle input{
  width:auto!important;
}
body:not(.student-shell) .repair-device-submodal-card{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:2px 10px!important;
  align-items:center!important;
  min-height:58px!important;
  border:1px solid #bfdbfe!important;
  border-radius:8px!important;
  background:#eff6ff!important;
  color:#172033!important;
  padding:10px!important;
  text-align:left!important;
  cursor:pointer!important;
}
body:not(.student-shell) .repair-device-submodal-card>span{
  grid-row:1 / span 2!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#2563eb!important;
}
body:not(.student-shell) .repair-device-submodal-card svg{
  width:19px!important;
  height:19px!important;
}
body:not(.student-shell) .repair-device-submodal-card b,
body:not(.student-shell) .repair-device-submodal-card small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .repair-device-submodal-card b{
  font-size:13px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-device-submodal-card small{
  color:#475569!important;
  font-size:11px!important;
  font-weight:850!important;
}
body:not(.student-shell) .repair-device-parts-list{
  display:grid!important;
  gap:9px!important;
}
body:not(.student-shell) .repair-device-part-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 86px!important;
  gap:8px!important;
  align-items:end!important;
}
body:not(.student-shell) .repair-device-part-row label{
  display:grid!important;
  gap:6px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .repair-device-modal>.repair-device-form>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-log-list{
  display:grid!important;
  gap:10px!important;
  color:#64748b!important;
  font-weight:850!important;
}
body:not(.student-shell) .repair-device-log-list.empty{
  border:1px dashed #cbd5e1!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  padding:14px!important;
  text-align:center!important;
}
body:not(.student-shell) .repair-device-log-card{
  display:grid!important;
  gap:8px!important;
  border:1px solid #dbe5f2!important;
  border-left:4px solid #16a34a!important;
  border-radius:8px!important;
  background:#fbfefc!important;
  padding:11px!important;
}
body:not(.student-shell) .repair-device-log-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body:not(.student-shell) .repair-device-log-head b{
  color:#172033!important;
  font-size:14px!important;
  font-weight:950!important;
}
body:not(.student-shell) .repair-device-log-head span,
body:not(.student-shell) .repair-device-log-card small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
}
body:not(.student-shell) .repair-device-log-card p{
  margin:0!important;
  color:#334155!important;
  font-weight:750!important;
  white-space:pre-wrap!important;
}
body:not(.student-shell) .repair-device-log-checks{
  display:grid!important;
  gap:4px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:8px!important;
}
body:not(.student-shell) .repair-device-log-checks small{
  color:#334155!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
body:not(.student-shell) .repair-device-log-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
body:not(.student-shell) .repair-device-log-meta span{
  border:1px solid #bbf7d0!important;
  border-radius:999px!important;
  background:#f0fdf4!important;
  color:#166534!important;
  padding:4px 8px!important;
  font-size:11px!important;
  font-weight:900!important;
}
body:not(.student-shell) .repair-device-log-parts ul{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body:not(.student-shell) .repair-device-log-parts li{
  display:flex!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:7px!important;
  background:#fff!important;
  padding:7px 9px!important;
}
body:not(.student-shell) .repair-device-log-parts li b{
  color:#172033!important;
  font-size:12px!important;
}
body:not(.student-shell) .repair-device-log-parts li span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .repair-device-submodal{
  width:min(760px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .repair-device-submodal.compact{
  width:min(620px,calc(100vw - 28px))!important;
}
body:not(.student-shell) .repair-device-vendor-return-modal{
  width:min(660px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
}
body:not(.student-shell) .repair-device-vendor-return-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .repair-device-submodal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:15px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-vendor-return-form>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 68%,#eff6ff 100%)!important;
}
body:not(.student-shell) .repair-device-submodal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  gap:13px!important;
  padding:15px 18px!important;
  background:#f7f9fc!important;
}
body:not(.student-shell) .repair-device-submodal-body section{
  display:grid!important;
  gap:10px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:13px!important;
}
body:not(.student-shell) .repair-device-submodal-body h3{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  color:#172033!important;
  font-size:15px!important;
}
body:not(.student-shell) .repair-device-submodal-body h3 svg{
  width:17px!important;
  height:17px!important;
  color:#2563eb!important;
}
body:not(.student-shell) .repair-device-subsection-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body:not(.student-shell) .repair-device-option-gear{
  flex:0 0 auto!important;
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#2563eb!important;
  box-shadow:none!important;
}
body:not(.student-shell) .repair-device-option-gear svg{
  width:16px!important;
  height:16px!important;
}
body:not(.student-shell) .repair-device-check-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
body:not(.student-shell) .repair-device-check-grid label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fbfdff!important;
  padding:8px 10px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:500!important;
}
body:not(.student-shell) .repair-device-check-grid input{
  width:auto!important;
}
body:not(.student-shell) .repair-device-option-modal>.repair-device-option-form{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  max-height:calc(100vh - 32px)!important;
}
body:not(.student-shell) .repair-device-option-modal .modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:15px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-option-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:15px 18px!important;
  background:#f7f9fc!important;
}
body:not(.student-shell) .repair-device-option-body label{
  display:grid!important;
  gap:8px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:700!important;
}
body:not(.student-shell) .repair-device-option-body textarea{
  min-height:250px!important;
  resize:vertical!important;
  font-weight:500!important;
  line-height:1.45!important;
}
body:not(.student-shell) .repair-device-option-modal .modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-submodal>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .repair-device-vendor-return-form>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
  box-shadow:0 -10px 20px rgba(15,23,42,.04)!important;
}
@media(max-width:760px){
  body:not(.student-shell) .repair-device-body{
    grid-template-columns:1fr!important;
  }
  body:not(.student-shell) .repair-device-check-grid{
    grid-template-columns:1fr!important;
  }
  body:not(.student-shell) .repair-device-summary{
    grid-template-columns:54px minmax(0,1fr)!important;
  }
  body:not(.student-shell) .repair-device-summary .badge{
    grid-column:1 / -1!important;
    justify-self:start!important;
  }
}
@media print{
  body.repair-intake-printing{
    background:#fff!important;
  }
  body.repair-intake-printing *{
    visibility:hidden!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal,
  body.repair-intake-printing #repairIntakePreviewModal *{
    visibility:visible!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal{
    display:block!important;
    position:absolute!important;
    inset:0 auto auto 0!important;
    z-index:99999!important;
    width:100%!important;
    min-height:100%!important;
    padding:0!important;
    background:#fff!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-preview-modal{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .modal-head.print-keep{
    display:flex!important;
    margin:0 0 14px!important;
    padding:0 0 12px!important;
    min-height:0!important;
    border-bottom:2px solid #172033!important;
    background:#fff!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .modal-head.print-keep h2{
    color:#0f172a!important;
    font-size:22px!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .modal-head.print-keep p{
    color:#475569!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .modal-head .icon-btn,
  body.repair-intake-printing #repairIntakePreviewModal .modal-actions{
    display:none!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-preview-body{
    display:block!important;
    overflow:visible!important;
    padding:0!important;
    background:#fff!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-preview-summary,
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-preview-panel{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    background:#fff!important;
    border-color:#cbd5e1!important;
    box-shadow:none!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-preview-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-preview-panel.full{
    grid-column:1/-1!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-evidence-tiles{
    min-height:120px!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal .repair-intake-evidence-tile{
    display:grid!important;
    height:120px!important;
    min-height:120px!important;
    cursor:default!important;
  }
  body.repair-intake-printing #repairIntakePreviewModal a{
    color:#172033!important;
    text-decoration:none!important;
  }
}
@media(max-width:760px){
  body:not(.student-shell) .repair-intake-preview-grid,
  body:not(.student-shell) .repair-intake-preview-panel.issue,
  body:not(.student-shell) .repair-evidence-viewer-body,
  body:not(.student-shell) .repair-intake-preview-panel dl,
  body:not(.student-shell) .repair-intake-preview-notes{
    grid-template-columns:1fr!important;
  }
  body:not(.student-shell) .repair-intake-evidence-tiles{
    grid-template-columns:1fr!important;
    justify-content:start!important;
    min-height:180px!important;
  }
  body:not(.student-shell) .repair-intake-evidence-tile,
  body:not(.student-shell) .repair-intake-evidence-more{
    height:180px!important;
    min-height:180px!important;
  }
  body:not(.student-shell) .repair-intake-preview-summary{
    align-items:flex-start!important;
  }
  body:not(.student-shell) .repair-intake-preview-summary .badge{
    margin-left:0!important;
  }
}

/* Repair Intake bulk controls mirror the Assets table: checkboxes stay visible. */
body:not(.student-shell) .repair-intake-table-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body:not(.student-shell) .repair-intake-review-table th[data-col="select"],
body:not(.student-shell) .repair-intake-review-table td[data-col="select"]{
  display:table-cell!important;
}

.circulation-form .return-location-label[hidden],
.quick-action-panel .return-location-label[hidden]{display:none!important}
.circulation-form .return-location-label small,
.quick-action-panel .return-location-label small{display:block;margin-top:4px;color:#64748b;font-weight:800;font-size:11px;line-height:1.35}
.circulation-form .return-location-label.is-required small,
.quick-action-panel .return-location-label.is-required small{color:#b54708}
.quick-action-panel .quick-return-location{font-size:12px;color:#33415f;font-weight:900}
.quick-action-panel .quick-return-location select{width:100%;margin-top:5px;border:1px solid #dfe4ef;border-radius:8px;padding:9px 10px;background:#fbfcff;color:#172033}
.checkout-return-location-field{display:block;margin-top:12px;font-size:12px;color:#33415f;font-weight:900}
.checkout-return-location-field select{width:100%;margin-top:6px;border:1px solid #dfe4ef;border-radius:8px;padding:10px 11px;background:#fbfcff;color:#172033;font-weight:800}
.checkout-return-location-native[hidden]{display:none!important}
.checkout-return-location-modal{overflow:visible!important}
.checkout-return-location-combobox{position:relative;margin-top:6px}
.checkout-return-location-button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dfe4ef;border-radius:8px;background:#fbfcff;color:#172033;padding:0 11px;font-weight:850;text-align:left}
.checkout-return-location-button span{display:block;min-width:0;flex:1;text-align:left}
.checkout-return-location-button.is-placeholder{color:#64748b}
.checkout-return-location-button svg{width:18px;height:18px;flex:0 0 auto;color:#475569}
.checkout-return-location-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:120;display:grid;gap:2px;max-height:240px;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:5px;box-shadow:0 18px 42px rgba(15,23,42,.18)}
.checkout-return-location-menu[hidden]{display:none!important}
.checkout-return-location-menu button{width:100%;min-height:36px;display:block;border:0;border-radius:7px;background:#fff;color:#172033;padding:7px 9px;text-align:left;font-weight:850}
.checkout-return-location-menu button:hover,.checkout-return-location-menu button.selected{background:#eef6ff;color:#1557d6}
.checkout-policy-list .return-location-device-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr);gap:10px;align-items:center}
.return-location-owner{display:flex;align-items:center;gap:9px;min-width:0}
.return-location-owner>span:last-child,.return-location-asset{display:grid;gap:1px;min-width:0}
.return-location-owner b,.return-location-owner small,.return-location-asset b,.return-location-asset span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.return-location-owner small{color:#64748b;font-weight:800;font-size:11px}
.return-location-asset{text-align:right}
.return-location-asset span{color:#64748b;font-size:11px;font-weight:800}
.checkout-renew-modal{width:min(680px,calc(100vw - 32px))}
.checkout-renew-form{display:grid;gap:12px}
.checkout-renew-summary,.checkout-renew-borrower{display:flex;align-items:center;gap:13px;border:1px solid #dbe5f2;border-radius:12px;background:#f8fbff;padding:13px}
.checkout-renew-summary strong,.checkout-renew-borrower b{display:block;color:#0f172a;font-size:15px;font-weight:950}
.checkout-renew-summary p,.checkout-renew-borrower span{display:block;margin:3px 0 0;color:#64748b;font-size:12px;font-weight:850}
.checkout-renew-borrower small{display:block;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}
.checkout-renew-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.checkout-renew-form label{display:grid;gap:6px;color:#33415f;font-size:12px;font-weight:950}
.checkout-renew-form input,.checkout-renew-form textarea{width:100%;border:1px solid #dfe4ef;border-radius:8px;background:#fbfcff;color:#172033;padding:10px 11px;font-weight:850}
.checkout-renew-form input[readonly]{background:#f1f5f9;color:#475569}
.checkout-renew-form .full{grid-column:1/-1}
.checkout-renew-policy-note{border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#1e3a8a;padding:10px 12px;display:grid;gap:2px}
.checkout-renew-policy-note b{font-size:12px;font-weight:950}
.checkout-renew-policy-note span{font-size:12px;font-weight:800;color:#475569}
.checkout-renew-override-modal{width:min(560px,calc(100vw - 32px))}
.checkout-renew-override-modal label{margin-top:12px}
.checkout-renew-override-modal textarea{width:100%;border:1px solid #dfe4ef;border-radius:8px;background:#fbfcff;color:#172033;padding:10px 11px;font-weight:850}
@media(max-width:640px){.checkout-renew-date-grid{grid-template-columns:1fr}}
.settings-secret-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.settings-secret-input input{min-width:0}
.settings-secret-input .btn{height:38px;min-width:40px;padding:0 10px}
.settings-secret-input .btn.active{background:#eef2ff!important;border-color:#bfcbff!important;color:#3346d3!important}

/* Command Center ECharts redesign. */
.command-center-page.cc-echarts-dashboard{
  gap:14px!important;
  padding-bottom:28px!important;
}
.command-center-page.cc-echarts-dashboard .command-center-title-row{
  align-items:center!important;
  border:0!important;
  padding:0 0 4px!important;
}
.command-center-page.cc-echarts-dashboard .command-center-title-row h1{
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:950!important;
  color:#0f172a!important;
}
.command-center-page.cc-echarts-dashboard .command-center-title-row p{
  margin-top:4px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:750!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:stretch!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal{
  flex:1 1 260px!important;
  min-width:0!important;
  min-height:128px!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  position:relative!important;
  overflow:hidden!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:4px!important;
  background:var(--cc-signal,#2563eb)!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal-head{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal-head>span{
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  border:1px solid color-mix(in srgb,var(--cc-signal,#2563eb) 24%,#fff)!important;
  background:color-mix(in srgb,var(--cc-signal,#2563eb) 11%,#fff)!important;
  color:var(--cc-signal,#2563eb)!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal-head .ui-icon{
  width:20px!important;
  height:20px!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal small,
.command-center-page.cc-echarts-dashboard .cc-ops-signal em{
  color:#64748b!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:850!important;
  line-height:1.15!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal strong{
  display:block!important;
  min-width:0!important;
  margin-top:2px!important;
  color:#0f172a!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal-metrics{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-self:end!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal-metrics span{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
  padding:9px 8px!important;
  border:1px solid #e5edf7!important;
  border-radius:7px!important;
  background:#f8fafc!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal-metrics b{
  color:#0f172a!important;
  font-size:16px!important;
  font-weight:950!important;
  line-height:1!important;
}
.command-center-page.cc-echarts-dashboard .cc-ops-signal.is-support{--cc-signal:#2563eb!important;}
.command-center-page.cc-echarts-dashboard .cc-ops-signal.is-fleet{--cc-signal:#0f766e!important;}
.command-center-page.cc-echarts-dashboard .cc-ops-signal.is-circulation{--cc-signal:#7c3aed!important;}
.command-center-page.cc-echarts-dashboard .cc-ops-signal.is-lifecycle{--cc-signal:#dc2626!important;}
.command-center-page.cc-echarts-dashboard .cc-ops-signal.is-people{--cc-signal:#059669!important;}
.command-center-page.cc-echarts-dashboard .cc-ops-signal.is-service{--cc-signal:#ea580c!important;}
.command-center-page.cc-echarts-dashboard .cc-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;
  grid-auto-flow:dense!important;
  gap:12px!important;
  align-items:stretch!important;
}
.command-center-page.cc-echarts-dashboard .cc-grid .cc-span-3{
  grid-column:span 1!important;
}
.command-center-page.cc-echarts-dashboard .cc-grid .cc-span-4,
.command-center-page.cc-echarts-dashboard .cc-grid .cc-span-6{
  grid-column:span 2!important;
}
.command-center-page.cc-echarts-dashboard .cc-grid .cc-span-12{
  grid-column:1 / -1!important;
}
.command-center-page.cc-echarts-dashboard .cc-card{
  min-width:0!important;
  min-height:286px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.048)!important;
  overflow:hidden!important;
}
.command-center-page.cc-echarts-dashboard .cc-card:hover{
  border-color:#c8d6ea!important;
  box-shadow:0 12px 28px rgba(15,23,42,.075)!important;
}
.command-center-page.cc-echarts-dashboard .cc-card>h2{
  min-height:0!important;
  margin:0!important;
  padding:0 36px 9px 0!important;
  border-bottom:1px solid #edf2f7!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.2!important;
}
.command-center-page.cc-echarts-dashboard .cc-card>h2 span{
  display:inline!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-wrap{
  min-width:0!important;
  min-height:205px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  flex:1 1 auto!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart{
  width:100%!important;
  min-width:0!important;
  height:188px!important;
  min-height:188px!important;
}
.command-center-page.cc-echarts-dashboard .cc-span-4 .cc-echart,
.command-center-page.cc-echarts-dashboard .cc-span-6 .cc-echart,
.command-center-page.cc-echarts-dashboard .cc-span-12 .cc-echart{
  height:218px!important;
  min-height:218px!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-data{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(116px,1fr))!important;
  gap:6px!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-data-row{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:8px minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:center!important;
  min-height:26px!important;
  padding:5px 7px!important;
  border:1px solid #edf2f7!important;
  border-radius:7px!important;
  background:#fbfdff!important;
  color:#475569!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.1!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-data-row i{
  width:8px!important;
  height:8px!important;
  border-radius:999px!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-data-row span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-data-row b{
  color:#0f172a!important;
  font-size:11px!important;
  font-weight:950!important;
}
.command-center-page.cc-echarts-dashboard .cc-echart-data{
  display:none!important;
}
.command-center-page.cc-echarts-dashboard .cc-card.cc-echart-ready > .cc-hr-list,
.command-center-page.cc-echarts-dashboard .cc-card.cc-echart-ready > .cc-aup-list,
.command-center-page.cc-echarts-dashboard .cc-card.cc-echart-ready > .cc-pm-list,
.command-center-page.cc-echarts-dashboard .cc-card.cc-echart-ready > .cc-rank-list,
.command-center-page.cc-echarts-dashboard .cc-card.cc-echart-ready > .cc-activity-list{
  display:none!important;
}
.command-center-page.cc-echarts-dashboard .cc-card.cc-echart-ready > .cc-mini-legend{
  display:none!important;
}
.command-center-page.cc-echarts-dashboard .cc-hr-list,
.command-center-page.cc-echarts-dashboard .cc-rank-list,
.command-center-page.cc-echarts-dashboard .cc-activity-list,
.command-center-page.cc-echarts-dashboard .cc-aup-list{
  max-height:154px!important;
  overflow:auto!important;
  padding-right:2px!important;
}
.command-center-page.cc-echarts-dashboard .cc-card-link{
  margin-top:auto!important;
  align-self:flex-start!important;
}
.command-center-page.cc-echarts-dashboard .cc-widget-gear{
  top:0!important;
  right:0!important;
}
.command-center-page.cc-echarts-dashboard .cc-widget-controls{
  top:8px!important;
  right:8px!important;
}
.command-center-page.cc-echarts-dashboard .cc-widget-hidden{
  display:none!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-echart{
  height:360px!important;
  min-height:360px!important;
}
.command-center-zoom-body .cc-card.is-zoom-clone .cc-echart-wrap{
  min-height:430px!important;
}
.cc-widget-chart-alt.cc-echart-zoom-alt{
  display:block!important;
  min-height:430px!important;
  padding:18px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
}
.cc-widget-chart-alt.cc-echart-zoom-alt .cc-echart{
  height:340px!important;
  min-height:340px!important;
}
.cc-echart-print-image{
  display:none!important;
  width:100%!important;
  height:auto!important;
}
@media(max-width:1120px){
  .command-center-page.cc-echarts-dashboard .cc-grid .cc-span-4,
  .command-center-page.cc-echarts-dashboard .cc-grid .cc-span-6{
    grid-column:span 1!important;
  }
}
@media(max-width:760px){
  .command-center-page.cc-echarts-dashboard .command-center-title-row,
  .command-center-page.cc-echarts-dashboard .command-center-actions{
    display:grid!important;
    justify-content:stretch!important;
  }
  .command-center-page.cc-echarts-dashboard .cc-ops-signal-metrics{
    grid-template-columns:1fr!important;
  }
  .command-center-page.cc-echarts-dashboard .cc-grid{
    grid-template-columns:1fr!important;
  }
  .command-center-page.cc-echarts-dashboard .cc-grid .cc-span-3,
  .command-center-page.cc-echarts-dashboard .cc-grid .cc-span-4,
  .command-center-page.cc-echarts-dashboard .cc-grid .cc-span-6,
  .command-center-page.cc-echarts-dashboard .cc-grid .cc-span-12{
    grid-column:1!important;
  }
}
@media print{
  .command-center-page.cc-echarts-dashboard .cc-echart{
    display:none!important;
  }
  .command-center-page.cc-echarts-dashboard .cc-echart-print-image{
    display:block!important;
  }
  .command-center-page.cc-echarts-dashboard .cc-grid,
  .command-center-page.cc-echarts-dashboard .cc-ops-strip{
    display:block!important;
  }
  .command-center-page.cc-echarts-dashboard .cc-card,
  .command-center-page.cc-echarts-dashboard .cc-ops-signal{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    margin-bottom:12px!important;
    box-shadow:none!important;
  }
}

/* Command Center Widget Explorer modal. */
.command-center-zoom-modal{
  width:min(1240px,calc(100vw - 32px))!important;
  height:min(880px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  padding:0!important;
  overflow:hidden!important;
}
.command-center-zoom-modal .modal-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:14px 16px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
.command-center-zoom-modal .modal-head h2{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#0f172a!important;
  font-size:18px!important;
  font-weight:950!important;
}
.command-center-zoom-modal .cc-zoom-actions{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
.command-center-zoom-modal .cc-zoom-actions .btn,
.command-center-zoom-modal .cc-zoom-actions .primary{
  min-height:32px!important;
  border-radius:8px!important;
  padding:0 10px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.command-center-zoom-body{
  min-height:0!important;
  overflow:hidden!important;
  display:block!important;
}
.cc-explorer-shell{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  background:#f5f7fb!important;
}
.cc-explorer-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:12px 16px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
.cc-explorer-toolbar label,
.cc-explorer-side label{
  display:grid!important;
  gap:6px!important;
  color:#475569!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1.1!important;
}
.cc-explorer-toolbar label{
  grid-auto-flow:column!important;
  align-items:center!important;
}
.cc-explorer-toolbar input[type=date],
.cc-explorer-side input,
.cc-explorer-side select{
  min-width:0!important;
  height:34px!important;
  border:1px solid #cfdbea!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  padding:0 9px!important;
  font-size:12px!important;
  font-weight:850!important;
}
.cc-explorer-side input[type=color]{
  width:48px!important;
  padding:2px!important;
}
.cc-explorer-mode-toggle{
  margin-right:auto!important;
}
.cc-explorer-status{
  min-width:86px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
  text-align:right!important;
}
.cc-explorer-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  min-height:38px!important;
  padding:8px 16px!important;
  border-bottom:1px solid #e5edf7!important;
  background:#fbfdff!important;
}
.cc-explorer-chips span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:3px 8px!important;
  border:1px solid #dbeafe!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-size:11px!important;
  font-weight:900!important;
}
.cc-explorer-layout{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  gap:0!important;
}
.cc-explorer-side{
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  align-content:start!important;
  gap:12px!important;
  padding:14px!important;
  border-right:1px solid #dbe5f2!important;
  background:#fff!important;
}
.cc-explorer-side section{
  display:grid!important;
  gap:10px!important;
  padding:12px!important;
  border:1px solid #e5edf7!important;
  border-radius:8px!important;
  background:#fbfdff!important;
}
.cc-explorer-side h3{
  margin:0!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.cc-explorer-check{
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-auto-flow:column!important;
  align-items:center!important;
  justify-content:start!important;
  min-height:28px!important;
}
.cc-explorer-check input{
  width:16px!important;
  height:16px!important;
}
.cc-explorer-workspace{
  min-width:0!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-rows:minmax(360px,1fr) auto!important;
  gap:12px!important;
  padding:14px!important;
}
.cc-explorer-chart-card{
  min-width:0!important;
  min-height:360px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
.cc-explorer-chart-card[hidden]{
  display:none!important;
}
.cc-explorer-chart-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  border-bottom:1px solid #edf2f7!important;
  padding-bottom:10px!important;
}
.cc-explorer-chart-head strong,
.cc-explorer-chart-head span{
  display:block!important;
}
.cc-explorer-chart-head strong{
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
}
.cc-explorer-chart-head span{
  margin-top:2px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
  text-transform:capitalize!important;
}
.cc-explorer-summary{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
.cc-explorer-summary span{
  min-width:82px!important;
  display:grid!important;
  gap:2px!important;
  padding:7px 9px!important;
  border:1px solid #e5edf7!important;
  border-radius:7px!important;
  background:#f8fafc!important;
}
.cc-explorer-summary b{
  min-width:0!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cc-explorer-summary em{
  color:#64748b!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:850!important;
}
.cc-explorer-chart{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
}
.cc-explorer-table{
  max-height:none!important;
  min-height:0!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
.cc-explorer-table .cc-widget-data-summary{
  top:0!important;
}
.cc-explorer-table th{
  top:47px!important;
}
@media(max-width:900px){
  .command-center-zoom-modal{
    width:calc(100vw - 16px)!important;
    height:calc(100vh - 16px)!important;
    max-height:calc(100vh - 16px)!important;
  }
  .command-center-zoom-modal .modal-head{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .command-center-zoom-modal .cc-zoom-actions{
    grid-column:1 / -1!important;
    justify-content:flex-start!important;
  }
  .cc-explorer-layout{
    grid-template-columns:1fr!important;
  }
  .cc-explorer-side{
    border-right:0!important;
    border-bottom:1px solid #dbe5f2!important;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
    max-height:300px!important;
  }
  .cc-explorer-workspace{
    grid-template-rows:auto auto!important;
  }
  .cc-explorer-chart{
    min-height:280px!important;
  }
}
/* Billing module */
.billing-page{display:grid;gap:16px;min-width:0}
.billing-page.is-loading{opacity:.58;pointer-events:none;transition:opacity .16s ease}
.billing-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border:1px solid #dbe5f2;border-radius:8px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#f0fdf4 100%);box-shadow:0 12px 32px rgba(15,23,42,.08);padding:20px}
.billing-hero h1{margin:2px 0 6px;font-size:28px;line-height:1.08}
.billing-hero p{margin:0;max-width:780px;color:#64748b;font-weight:750}
.billing-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.billing-tabs{display:flex;align-items:center;gap:6px;overflow:auto;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:6px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.billing-tabs a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border-radius:7px;color:#475569;text-decoration:none;font-size:13px;font-weight:950;white-space:nowrap}
.billing-tabs a .ui-icon{width:16px;height:16px;color:#64748b}
.billing-tabs a.active .ui-icon{color:#fff}
.billing-tabs a:before{display:none!important;content:none!important}
.billing-tabs a:hover{background:#f1f5f9;color:#172033;text-decoration:none}
.billing-tabs a.active{background:#172033;color:#fff;box-shadow:0 8px 18px rgba(15,23,42,.16)}
.billing-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.billing-metrics article{border:1px solid #dbe5f2;border-radius:8px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.07);padding:14px;display:grid;gap:4px;min-height:106px}
.billing-metrics small{color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}
.billing-metrics b{color:#172033;font-size:25px;line-height:1}
.billing-metrics span{color:#64748b;font-weight:800}
.billing-aging-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.billing-aging-card{border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:11px 12px;display:grid;gap:3px;min-width:0;color:#172033;text-decoration:none}
.billing-aging-card:hover{border-color:#9fb0ff;box-shadow:0 8px 22px rgba(15,23,42,.08);text-decoration:none}
.billing-aging-card small{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}
.billing-aging-card b{color:#172033;font-size:18px;line-height:1}
.billing-aging-card span{color:#64748b;font-size:11px;font-weight:850}
.billing-workflow-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.billing-workflow-lane{border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;text-decoration:none;padding:12px;display:grid;gap:5px;min-width:0}
.billing-workflow-lane:hover,.billing-workflow-lane.active{border-color:#3346d3;background:#f8fbff;text-decoration:none}
.billing-workflow-lane span{color:#475569;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}
.billing-workflow-lane b{font-size:24px;line-height:1;color:#172033}
.billing-workflow-lane small{color:#64748b;font-weight:800;line-height:1.35}
.billing-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.billing-chart-card{min-width:0}
.billing-chart-card .section-head{margin-bottom:8px}
.billing-chart{height:280px;min-width:0}
.billing-table-card{min-width:0;overflow:hidden}
.billing-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:12px}
.billing-filters label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:950}
.billing-filters input,.billing-filters select{height:38px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:500;padding:0 10px;min-width:0}
.billing-filters option{font-weight:400}
.billing-filter-actions{display:flex;gap:7px;align-items:center}
.billing-packet-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.billing-packet-controls select{height:34px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:800;padding:0 9px}
.billing-packet-controls label{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:850}
.billing-table-wrap{max-width:100%;overflow:auto}
.billing-fee-table{min-width:1590px}
.billing-fee-table.has-batch{min-width:1760px}
.billing-damage-table{min-width:1560px}
.billing-fee-table td,.billing-damage-table td{vertical-align:middle}
.billing-fee-table td small,.billing-damage-table td small{display:block;color:#64748b;font-size:11px;font-weight:800;margin-top:2px}
.billing-fee-table td>b,.billing-damage-table td>b{display:block;color:#172033}
.billing-asset-cell{gap:10px;min-width:220px}
.billing-asset-cell .asset-title{display:grid;gap:2px;min-width:0}
.billing-asset-cell .asset-title b,.billing-asset-cell .asset-title span,.billing-asset-cell .asset-title small,.billing-fee-table .person-cell b,.billing-fee-table .person-cell small,.billing-damage-table .person-cell b,.billing-damage-table .person-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.billing-fee-table th:nth-child(2),.billing-fee-table td:nth-child(2){width:260px;min-width:260px}
.billing-fee-table th:nth-child(3),.billing-fee-table td:nth-child(3){width:300px;min-width:300px}
.billing-fee-table:not(.has-batch) th:nth-child(4),.billing-fee-table:not(.has-batch) td:nth-child(4){width:310px;min-width:310px}
.billing-fee-table:not(.has-batch) th:nth-child(5),.billing-fee-table:not(.has-batch) td:nth-child(5){width:210px;min-width:210px}
.billing-fee-table:not(.has-batch) th:nth-child(6),.billing-fee-table:not(.has-batch) td:nth-child(6){width:150px;min-width:150px}
.billing-fee-table:not(.has-batch) th:nth-child(7),.billing-fee-table:not(.has-batch) td:nth-child(7){width:150px;min-width:150px}
.billing-fee-table:not(.has-batch) th:nth-child(8),.billing-fee-table:not(.has-batch) td:nth-child(8){width:180px;min-width:180px}
.billing-fee-table.has-batch th:nth-child(2),.billing-fee-table.has-batch td:nth-child(2){width:180px;min-width:180px}
.billing-fee-table.has-batch th:nth-child(3),.billing-fee-table.has-batch td:nth-child(3){width:300px;min-width:300px}
.billing-fee-table.has-batch th:nth-child(4),.billing-fee-table.has-batch td:nth-child(4){width:310px;min-width:310px}
.billing-fee-table.has-batch th:nth-child(5),.billing-fee-table.has-batch td:nth-child(5){width:310px;min-width:310px}
.billing-fee-table.has-batch th:nth-child(6),.billing-fee-table.has-batch td:nth-child(6){width:210px;min-width:210px}
.billing-fee-table.has-batch th:nth-child(7),.billing-fee-table.has-batch td:nth-child(7){width:150px;min-width:150px}
.billing-fee-table.has-batch th:nth-child(8),.billing-fee-table.has-batch td:nth-child(8){width:150px;min-width:150px}
.billing-fee-table.has-batch th:nth-child(9),.billing-fee-table.has-batch td:nth-child(9){width:180px;min-width:180px}
.billing-fee-table th:last-child,.billing-fee-table td.actions-cell{width:138px;min-width:138px;text-align:right}
.billing-fee-table td.actions-cell .row-actions-clean{flex-wrap:nowrap!important;justify-content:flex-end!important;gap:7px!important;min-width:120px}
.billing-fee-action-menu .table-action-menu-panel{min-width:220px;text-align:left}
.billing-fee-action-menu .table-action-menu-panel button:disabled{opacity:.45;cursor:not-allowed}
.billing-fee-action-menu .table-action-menu-panel .danger-menu-action{color:#b42318!important}
.billing-select-col{width:42px!important;min-width:42px!important;text-align:center}
.billing-select-col input{width:16px;height:16px}
.billing-fee-table .person-cell{gap:10px;min-width:230px}
.billing-fee-table .person-cell>span:last-child{display:grid;gap:2px;min-width:0}
.billing-fee-table .person-cell .avatar{width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;aspect-ratio:1/1;border-radius:50%!important}
.billing-fee-table .person-cell .avatar img{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%!important;display:block}
.billing-repeat-flag{color:#b45309!important}
.billing-fee-table .billing-asset-cell{min-width:280px}
.billing-damage-table th:nth-child(1),.billing-damage-table td:nth-child(1){width:250px;min-width:250px}
.billing-damage-table th:nth-child(2),.billing-damage-table td:nth-child(2){width:245px;min-width:245px}
.billing-damage-table th[data-col="actions"],.billing-damage-table td[data-col="actions"]{position:sticky!important;right:0!important;z-index:7!important;width:126px!important;min-width:126px!important;max-width:126px!important;text-align:left!important;background:#fff!important;box-shadow:-8px 0 14px rgba(15,23,42,.05)!important}
.billing-damage-table thead th[data-col="actions"]{z-index:12!important;background:#f8fafd!important}
.billing-damage-table tbody tr:hover td[data-col="actions"]{background:#fbfdff!important}
.billing-damage-table td.actions-cell{overflow:visible!important;background:linear-gradient(90deg,rgba(255,255,255,.72),#fff 18%)!important}
.billing-damage-table .billing-asset-cell{min-width:230px}
.billing-damage-table .person-cell{gap:8px;min-width:220px}
.billing-damage-table .person-cell>span:last-child{display:grid;gap:2px;min-width:0}
.billing-damage-table .person-cell .avatar{width:42px!important;height:42px!important;min-width:42px!important;flex:0 0 42px!important;aspect-ratio:1/1;border-radius:50%!important}
.billing-damage-table .person-cell .avatar img{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%!important;display:block}
.billing-damage-table .asset-thumb.asset-thumb-lg,.billing-fee-table .asset-thumb.asset-thumb-lg,.billing-entity-preview .asset-thumb.asset-thumb-lg{width:54px!important;height:44px!important}
.billing-damage-table .asset-thumb.asset-thumb-lg img,.billing-fee-table .asset-thumb.asset-thumb-lg img,.billing-entity-preview .asset-thumb.asset-thumb-lg img{max-width:48px!important;max-height:38px!important;object-fit:contain}
.billing-damage-evidence-thumb{position:relative;border:1px solid #dbe5f2!important;background:#fff!important;padding:0!important;cursor:pointer;box-shadow:none!important}
.billing-damage-evidence-thumb:hover{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important}
.billing-damage-evidence-thumb:disabled{cursor:default}
.billing-damage-evidence-thumb:disabled:hover{border-color:#dbe5f2!important;box-shadow:none!important}
.billing-damage-evidence-thumb em{position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#2563eb;color:#fff;border:2px solid #fff;font-size:10px;font-style:normal;font-weight:950;line-height:1}
.billing-damage-evidence-thumb em[hidden]{display:none!important}
.billing-damage-filters{grid-template-columns:minmax(240px,1.3fr) repeat(5,minmax(140px,1fr)) auto}
.billing-damage-click-row{cursor:pointer}
.billing-damage-click-row:focus-visible td{outline:3px solid rgba(37,99,235,.24);outline-offset:-3px}
.billing-damage-actions{justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;min-width:96px}
.billing-damage-action-menu .table-action-menu-panel{min-width:210px;text-align:left}
.billing-action-menu-note{display:block;padding:9px 10px;font-size:12px;font-weight:850}
.billing-damage-details-modal{width:min(1120px,calc(100vw - 32px))!important;height:min(820px,calc(100vh - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:0!important}
.billing-damage-details-modal>.modal-head{margin:0!important;padding:16px 18px!important;border-bottom:1px solid #d8e3f0!important;background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;flex:0 0 auto!important;color:#172033!important}
.billing-damage-details-modal>.modal-head h2{margin:0!important;font-size:22px!important}
.billing-damage-details-modal>.modal-head p{margin:3px 0 0!important}
.billing-damage-detail-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:16px 18px!important;background:#f7f9fc!important;display:grid!important;gap:12px!important}
.billing-damage-detail-summary{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:12px}
.billing-damage-detail-summary>b,
.billing-damage-detail-summary span>b{display:block;color:#172033;font-size:16px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-damage-detail-summary small{display:block;color:#64748b;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-damage-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.billing-damage-detail-grid article,
.billing-damage-detail-panel{border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:12px}
.billing-damage-detail-grid small,
.billing-damage-detail-panel h3{display:block;margin:0 0 6px;color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}
.billing-damage-detail-grid b{display:block;color:#172033;font-size:15px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-damage-detail-grid p,
.billing-damage-detail-panel p{margin:0;color:#475569;font-size:12px;font-weight:800;white-space:pre-line}
.billing-damage-detail-list{display:grid;gap:8px}
.billing-damage-detail-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid #e2e8f0;border-radius:8px;background:#fbfdff;padding:10px;min-width:0}
.billing-damage-detail-list article.has-thumb{grid-template-columns:minmax(0,1fr) auto 82px}
.billing-damage-detail-list article b,
.billing-damage-detail-list article small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-damage-detail-list article b{color:#172033;font-size:13px;font-weight:950}
.billing-damage-detail-list article small{color:#64748b;font-size:11px;font-weight:800}
.billing-damage-detail-list article p{grid-column:1/-1;margin:0;color:#475569;font-size:12px;font-weight:800;white-space:pre-line;min-width:0}
.billing-damage-detail-list article.has-thumb p{grid-column:1/3}
.billing-damage-repair-thumb{grid-column:3;grid-row:1 / span 2;display:grid;place-items:center;width:82px;height:64px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;overflow:hidden}
.billing-damage-repair-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.billing-damage-repair-thumb-button{position:relative;padding:0;cursor:pointer}
.billing-damage-repair-thumb-button:hover{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.billing-damage-repair-thumb-button em{position:absolute;right:2px;top:2px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#2563eb;color:#fff;border:2px solid #fff;font-size:10px;font-style:normal;font-weight:950;line-height:1}
.billing-damage-details-modal>.modal-actions{margin:0!important;padding:14px 18px!important;border-top:1px solid #e2e8f0!important;background:#fff!important;flex:0 0 auto!important;box-shadow:0 -10px 20px rgba(15,23,42,.04)!important}
.billing-damage-detail-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important}
.billing-damage-detail-actions .btn,
.billing-damage-detail-actions button{min-width:136px;justify-content:center}
@media(max-width:900px){
  .billing-damage-filters{grid-template-columns:1fr}
  .billing-damage-detail-summary,
  .billing-damage-detail-grid{grid-template-columns:1fr}
  .billing-damage-detail-summary .badge{justify-self:start}
}
.billing-entity-field{gap:7px!important}
.billing-entity-preview{display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:8px 10px;color:#172033;text-transform:none!important;letter-spacing:0!important}
.billing-entity-preview>span:last-child{display:grid;gap:2px;min-width:0}
.billing-entity-preview .billing-entity-selected-body{display:grid;gap:2px;min-width:0}
.billing-entity-preview b{font-size:13px;font-weight:950;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-entity-preview small{color:#64748b;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-entity-field.has-selection>input[data-billing-student-input],
.billing-entity-field.has-selection>input[data-asset-billing-student-input]{display:none!important}
.billing-entity-field.has-selection .billing-entity-preview{background:#f8fbff;border-color:#c8d7ec}
.billing-entity-clear{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;margin-left:auto;border:1px solid #dbe5f2;border-radius:999px;background:#fff;color:#64748b;font-size:18px;font-weight:900;line-height:1;box-shadow:none}
.billing-entity-clear:hover,.billing-entity-clear:focus{background:#fee2e2;border-color:#fecaca;color:#b91c1c;outline:none}
.billing-entity-results{display:grid;gap:5px;margin-top:6px;padding:6px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.12);max-height:238px;overflow:auto;z-index:20}
.billing-entity-results[hidden]{display:none!important}
.billing-entity-results button{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;border:0;border-radius:7px;background:#fff;color:#172033;padding:7px 8px;text-align:left;box-shadow:none}
.billing-entity-results button.billing-student-result{display:grid;grid-template-columns:34px minmax(0,1fr);justify-items:start;min-height:48px}
.billing-entity-results button.billing-student-result .avatar{width:32px;height:32px;align-self:center;justify-self:start}
.billing-entity-results button:hover,.billing-entity-results button:focus{background:#f2f6ff;color:#1d4ed8;outline:none}
.billing-entity-results button>span:last-child{display:grid;gap:2px;min-width:0}
.billing-entity-results button b,.billing-entity-results button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-entity-results button b{font-size:12px;font-weight:950}
.billing-entity-results button small{color:#64748b;font-size:11px;font-weight:800}
.asset-billing-device-lock>span:first-child{font-size:11px;font-weight:950;color:#53657f;text-transform:uppercase;letter-spacing:0}
.billing-fee-modal{width:min(1040px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.billing-fee-form{gap:14px}
.billing-form-section{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px}
.billing-form-section h3,.billing-line-head h3{margin:0 0 10px;font-size:15px}
.billing-form-section .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.billing-form-section label{align-content:start}
.billing-repair-prefill-summary{display:grid;gap:4px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:8px;background:#eff6ff;padding:10px 12px;margin:0 0 10px;color:#334155;font-size:12px}
.billing-repair-prefill-summary[hidden]{display:none}
.billing-repair-prefill-summary b{color:#172033;font-size:13px;font-weight:800}
.billing-repair-prefill-summary p{margin:0;white-space:pre-wrap;font-weight:500}
.billing-repair-prefill-summary small{color:#475569;font-weight:700}
.billing-fee-guardrail{display:grid;gap:10px;margin-top:12px;border:1px solid #f8c46b;border-left:4px solid #f59e0b;border-radius:8px;background:#fff8ed;padding:12px;color:#334155}
.billing-fee-guardrail[hidden]{display:none}
.billing-fee-guardrail.is-linked{border-color:#bbf7d0;border-left-color:#16a34a;background:#f0fdf4}
.billing-fee-guardrail.no-context{border-color:#dbe5f2;border-left-color:#64748b;background:#f8fafc}
.billing-fee-guardrail-head{display:flex;align-items:flex-start;gap:10px}
.billing-fee-guardrail-head>div{display:grid;gap:3px;min-width:0}
.billing-fee-guardrail-head b{font-size:13px;font-weight:850;color:#172033}
.billing-fee-guardrail-head small{font-size:12px;font-weight:650;color:#64748b}
.billing-fee-guardrail-warning{margin:0;border-radius:8px;background:#fff;border:1px solid #fed7aa;padding:8px 10px;color:#9a3412;font-size:12px;font-weight:750}
.billing-fee-guardrail-list{display:grid;gap:8px}
.billing-fee-guardrail-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #fde4b7;border-radius:8px;background:#fff;padding:10px}
.billing-fee-guardrail-item>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.billing-fee-guardrail-item .badge{align-self:flex-start;width:max-content;max-width:100%;justify-content:flex-start;text-align:left}
.billing-fee-guardrail-item b{font-size:13px;font-weight:800;color:#172033}
.billing-fee-guardrail-item small{font-size:12px;font-weight:650;color:#64748b}
.billing-fee-guardrail-status{color:#b45309!important;font-weight:800!important}
.billing-fee-guardrail-status.is-resolved{color:#15803d!important}
.billing-fee-guardrail-item p{margin:0;color:#475569;font-size:12px;font-weight:500;white-space:pre-wrap}
.billing-fee-guardrail-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.billing-fee-guardrail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.billing-intake-review-modal{width:min(980px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.billing-intake-review-body{display:grid;gap:12px;padding:2px}
.billing-intake-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.billing-intake-review-summary article,.billing-intake-review-panel,.billing-intake-review-grid article{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px}
.billing-intake-review-summary article{display:grid;gap:4px;min-height:70px}
.billing-intake-review-summary small,.billing-intake-review-list b,.billing-intake-review-work-list small{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:0}
.billing-intake-review-summary b{color:#172033;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-intake-review-panel h3,.billing-intake-review-grid h3{margin:0 0 8px;font-size:14px;color:#172033}
.billing-intake-review-panel p{margin:0;color:#475569;font-size:13px;font-weight:500;white-space:pre-wrap}
.billing-intake-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.billing-intake-review-list{display:grid;gap:8px}
.billing-intake-review-list>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:start;color:#334155;font-size:13px}
.billing-intake-review-list p{grid-column:1/-1;margin:0;padding-top:4px}
.billing-intake-review-work-list{display:grid;gap:8px}
.billing-intake-review-work-list article{display:grid;gap:4px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:10px}
.billing-intake-review-work-list b{color:#172033;font-size:13px;font-weight:750}
.billing-intake-review-work-list p{margin:0;color:#475569;font-size:12px;font-weight:500;white-space:pre-wrap}
.billing-intake-review-lines{display:grid;gap:6px}
.billing-intake-review-lines div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:9px 10px}
.billing-intake-review-lines span{color:#334155;font-size:13px;font-weight:600}
.billing-intake-review-lines b{color:#172033;font-size:13px;font-weight:750}
.billing-fee-review-modal{width:min(1040px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.billing-fee-review-modal>.modal-head{margin-bottom:8px!important}
.billing-fee-review-body{display:grid;gap:12px;padding:0 2px 2px}
.billing-fee-review-list{display:flex;gap:8px;overflow:auto;padding-bottom:2px}
.billing-fee-review-list[hidden]{display:none!important}
.billing-fee-review-list button{display:grid;gap:2px;min-width:170px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;text-align:left;padding:9px 10px;box-shadow:none}
.billing-fee-review-list button.active{border-color:#2563eb;background:#eff6ff}
.billing-fee-review-list b{font-size:12px;font-weight:850}
.billing-fee-review-list span{color:#64748b;font-size:11px;font-weight:700}
.billing-fee-review-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(170px,.42fr);gap:12px;align-items:center;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px}
.billing-fee-review-hero .asset-thumb.asset-thumb-lg{width:72px!important;height:58px!important}
.billing-fee-review-hero .asset-thumb.asset-thumb-lg img{max-width:66px!important;max-height:52px!important;object-fit:contain}
.billing-fee-review-hero>div{display:grid;gap:3px;min-width:0}
.billing-fee-review-hero>div b{color:#172033;font-size:15px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-fee-review-hero>div small,.billing-fee-review-hero>div span{color:#64748b;font-size:12px;font-weight:700}
.billing-fee-review-hero aside{display:grid;gap:5px;justify-items:end;text-align:right;border-left:1px solid #dbe5f2;padding-left:12px}
.billing-fee-review-hero aside small{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:0}
.billing-fee-review-hero aside b{color:#172033;font-size:20px;font-weight:900}
.billing-fee-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.billing-fee-review-summary article,.billing-fee-review-panel,.billing-fee-review-lower article{border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:12px}
.billing-fee-review-summary article{display:grid;gap:4px;min-height:66px;background:#f8fbff}
.billing-fee-review-summary small{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:0}
.billing-fee-review-summary b{color:#172033;font-size:13px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-fee-review-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.billing-fee-review-section-head h3,.billing-fee-review-lower h3{margin:0;color:#172033;font-size:14px}
.billing-fee-review-section-head span{color:#64748b;font-size:12px;font-weight:800}
.billing-fee-review-table-wrap{overflow:auto;border:1px solid #dbe5f2;border-radius:8px}
.billing-fee-review-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}
.billing-fee-review-table th,.billing-fee-review-table td{padding:10px 12px;border-bottom:1px solid #eef3f9;text-align:left;font-size:13px}
.billing-fee-review-table th{color:#64748b;background:#f8fbff;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:0}
.billing-fee-review-table td:nth-child(3),.billing-fee-review-table td:nth-child(4),.billing-fee-review-table td:nth-child(5),.billing-fee-review-table th:nth-child(3),.billing-fee-review-table th:nth-child(4),.billing-fee-review-table th:nth-child(5){text-align:right;white-space:nowrap}
.billing-fee-review-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.45fr) minmax(220px,.42fr);gap:12px}
.billing-fee-review-lower article:first-child{display:grid;gap:8px}
.billing-fee-review-lower article:first-child>div{display:grid;gap:4px}
.billing-fee-review-lower article:first-child b{color:#172033;font-size:12px;font-weight:850}
.billing-fee-review-lower article:first-child p{margin:0;color:#475569;font-size:13px;font-weight:500;white-space:pre-wrap}
.billing-fee-review-image-card{display:grid;gap:8px;align-content:start}
.billing-fee-review-image-card>div{display:grid;gap:7px;justify-items:center;text-align:center}
.billing-fee-review-image-frame{display:grid;place-items:center;width:100%;aspect-ratio:4/3;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;overflow:hidden;padding:0;box-shadow:none;cursor:pointer}
.billing-fee-review-image-frame:hover:not(:disabled){border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.billing-fee-review-image-frame:disabled{cursor:default}
.billing-fee-review-image-card img{max-width:92%;max-height:92%;object-fit:contain;display:block}
.billing-fee-review-image-card img[hidden]{display:none}
.billing-fee-review-image-frame>em{display:inline-flex;align-items:center;justify-content:center;max-width:82%;min-height:44px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#64748b;padding:8px 10px;text-align:center;font-style:normal;font-size:12px;font-weight:800}
.billing-fee-review-image-frame>em[hidden]{display:none}
.billing-fee-review-image-card b{color:#172033;font-size:13px;font-weight:850;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-fee-review-total-card{display:grid;gap:8px;align-content:start}
.billing-fee-review-total-card div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eef3f9;padding-bottom:7px}
.billing-fee-review-total-card div:last-child{border-bottom:0;padding-bottom:0}
.billing-fee-review-total-card span{color:#64748b;font-size:12px;font-weight:800}
.billing-fee-review-total-card b{color:#172033;font-size:14px;font-weight:850}
.billing-check{display:flex!important;align-items:center;gap:8px;min-height:42px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:8px 10px;color:#172033!important;font-size:13px!important;text-transform:none!important;letter-spacing:0!important}
.billing-check input{width:auto!important;height:auto!important}
.billing-line-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.billing-line-items{display:grid;gap:8px}
.billing-line-item{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(220px,1.35fr) minmax(130px,.75fr) 78px 128px 36px;gap:8px;align-items:center}
.billing-line-item input,.billing-line-item select{height:38px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:800;padding:0 10px;min-width:0}
.billing-batch-form{display:grid;gap:10px}
.billing-batch-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.7fr) minmax(150px,.6fr) auto;gap:10px;align-items:end;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px;margin-bottom:10px}
.billing-batch-bar>div{display:grid;gap:2px;align-self:center}
.billing-batch-bar b{color:#172033}
.billing-batch-bar span{color:#64748b;font-size:12px;font-weight:800}
.billing-batch-bar label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:950}
.billing-batch-bar select,.billing-batch-bar input{height:36px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:800;padding:0 10px;min-width:0}
.billing-evidence-list{display:grid;gap:7px;margin-top:10px;color:#64748b;font-size:12px;font-weight:850}
.billing-evidence-list a{display:grid;gap:2px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:9px 10px;color:#172033;text-decoration:none}
.billing-evidence-list small{color:#64748b;font-weight:800}
.billing-void-modal{width:min(520px,calc(100vw - 32px))}
.billing-template-modal{width:min(980px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.billing-schedule-modal,.billing-ledger-modal,.billing-timeline-modal{width:min(1040px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.billing-admin-panel,.billing-reports-panel{min-width:0;display:grid;gap:14px}
.billing-template-form{display:grid;gap:14px}
.billing-template-section{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:14px;display:grid;gap:12px}
.billing-template-section h3{margin:0;font-size:15px;color:#172033}
.billing-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.billing-template-grid label{display:grid;gap:6px;color:#475569;font-size:11px;font-weight:950}
.billing-template-grid small{color:#64748b;font-size:11px;font-weight:700;line-height:1.35;text-transform:none;letter-spacing:0}
.billing-template-grid .full{grid-column:1/-1}
.billing-template-grid input,.billing-template-grid textarea{border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:700;padding:9px 10px;min-width:0}
.billing-template-grid input{height:40px}
.billing-template-grid input[type=file]{height:auto;min-height:40px;padding:8px 10px;font-weight:600}
.billing-template-grid input[type=color]{padding:4px}
.billing-template-grid textarea{resize:vertical;line-height:1.45}
.billing-template-toggles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.billing-schedule-table-wrap{overflow:auto;border:1px solid #dbe5f2;border-radius:8px}
.billing-schedule-table{min-width:760px;margin:0}
.billing-schedule-table th:first-child,.billing-schedule-table td:first-child{width:76px;text-align:center}
.billing-schedule-table input{width:100%;height:36px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:400;padding:0 10px}
.billing-schedule-table input[type=checkbox]{width:16px;height:16px;padding:0}
.billing-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.billing-schedule-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px)!important;padding:0!important;overflow:hidden!important}
.billing-schedule-modal-form{display:grid;gap:0}
.billing-schedule-modal form>.modal-head{margin:0!important;padding:18px 20px!important}
.billing-schedule-modal-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 18px;background:#f8fbff}
.billing-schedule-modal-body label:not(.billing-check){display:grid;gap:7px;color:#334155;font-size:12px;font-weight:900}
.billing-schedule-modal-body input{height:42px;border:1px solid #cfdced;border-radius:8px;background:#fff;color:#172033;font-weight:850;padding:0 11px}
.billing-schedule-modal-body .full{grid-column:1/-1}
.billing-schedule-active-toggle{grid-column:1/-1;margin:0}
.billing-schedule-modal form>.modal-actions{margin:0!important;padding:16px 20px!important;border-top:1px solid #dbe5f2!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important}
.billing-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.billing-report-tile{appearance:none;border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;text-decoration:none;padding:14px;display:flex;align-items:flex-start;gap:12px;text-align:left;min-height:104px;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.04);font:inherit}
.billing-report-tile:hover{border-color:#9fb0ff;background:#f8fbff;text-decoration:none}
.billing-report-tile .ui-icon{width:22px;height:22px;flex:0 0 22px;color:#3346d3}
.billing-report-tile span{display:grid;gap:4px;min-width:0}
.billing-report-tile b{font-size:14px;color:#172033}
.billing-report-tile small{color:#64748b;font-size:12px;font-weight:800;line-height:1.35}
.billing-report-packet-panel{justify-content:flex-start;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:12px;margin-top:2px}
.billing-report-packet-panel>div{display:grid;gap:2px;margin-right:auto}
.billing-report-packet-panel b{color:#172033}
.billing-report-packet-panel small{color:#64748b;font-size:12px;font-weight:800}
.billing-ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.billing-ledger-summary article{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:11px 12px;display:grid;gap:3px}
.billing-ledger-summary small{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-ledger-summary b{font-size:18px;color:#172033}
.billing-mini-ledger{display:grid;gap:7px}
.billing-mini-ledger div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:9px 10px}
.billing-mini-ledger b,.billing-mini-ledger span,.billing-mini-ledger small{min-width:0}
.billing-mini-ledger span{font-weight:900;color:#172033;text-align:right}
.billing-mini-ledger small{grid-column:1/-1;color:#64748b;font-weight:800}
.billing-timeline-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.billing-timeline-summary article{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:11px 12px;display:grid;gap:3px}
.billing-timeline-summary small{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-timeline-summary b{font-size:18px;color:#172033}
.billing-timeline-summary span{color:#64748b;font-size:11px;font-weight:800}
.billing-email-draft{display:grid;gap:6px;margin-bottom:12px;color:#475569;font-size:11px;font-weight:950}
.billing-email-draft textarea{border:1px solid #dbe5f2;border-radius:8px;background:#fff;color:#172033;font-weight:800;padding:10px;resize:vertical}
.billing-email-notice-modal{width:min(760px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.billing-email-notice-form{gap:12px}
.billing-email-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.billing-email-summary article{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px 12px;display:grid;gap:4px;min-width:0}
.billing-email-summary small{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-email-summary b{color:#172033;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-email-student-copy{align-items:center}
.billing-email-student-copy span{color:#64748b;font-size:12px;font-weight:800}
.billing-timeline-list{display:grid;gap:8px}
.billing-timeline-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:11px 12px}
.billing-timeline-list article div{display:grid;gap:2px;min-width:0}
.billing-timeline-list span{color:#3346d3;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-timeline-list b{color:#172033}
.billing-timeline-list small,.billing-timeline-list p{color:#64748b;font-weight:800}
.billing-timeline-list p{grid-column:1/-1;margin:0}
.billing-timeline-list strong{color:#172033;white-space:nowrap}
.billing-notice-preview-modal,.report-shared-preview-modal{width:min(1180px,calc(100vw - 28px))!important;height:min(94vh,1040px);max-height:94vh!important;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.billing-notice-preview-modal .modal-head,.report-shared-preview-modal .modal-head{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid #dbe5f2}
.billing-notice-preview-modal .modal-actions,.report-shared-preview-modal .modal-actions{margin-top:0;padding-top:12px;border-top:1px solid #dbe5f2}
.billing-notice-preview-frame-wrap,.report-shared-preview-frame-wrap{position:relative;min-height:0;border:1px solid #cbd5e1;border-radius:8px;background:#cbd5e1;overflow:hidden}
.billing-notice-preview-frame-wrap iframe,.report-shared-preview-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#dbe5f2}
.billing-preview-loading,.report-preview-loading{position:absolute;inset:0;display:grid;place-items:center;background:#eef2f7;color:#475569;font-weight:900;z-index:2}
.billing-preview-loading[hidden],.report-preview-loading[hidden]{display:none!important}
.billing-invoice{--billing-invoice-accent:#172033;display:grid;gap:14px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:22px;color:#172033}
.billing-invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:2px solid var(--billing-invoice-accent,#172033);padding-bottom:16px}
.billing-invoice-brand{display:flex;align-items:flex-start;gap:14px;min-width:0}
.billing-invoice-logo{width:150px;height:50px;border:0;border-radius:0;background:transparent;display:grid;place-items:start center;align-self:flex-start;flex:0 0 auto;padding:0}
.billing-invoice-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.billing-invoice-brand h1{margin:2px 0 3px;font-size:25px;line-height:1.05;letter-spacing:0}
.billing-invoice-brand small,.billing-invoice-brand p,.billing-invoice-balance small,.billing-invoice-device small,.billing-invoice-person small,.billing-invoice-device span,.billing-invoice-person span{color:#64748b;font-weight:800}
.billing-invoice-brand p{margin:0;font-size:12px;line-height:1.35;font-weight:700}
.billing-invoice-balance{min-width:190px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fafc;padding:12px;text-align:right;display:grid;gap:5px;justify-items:end}
.billing-invoice-balance b{font-size:28px;line-height:1;color:#172033}
.billing-invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.billing-invoice-parties>section,.billing-invoice-detail{border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:14px;display:grid;gap:12px}
.billing-invoice h2,.billing-teacher-cover h1{margin:0}
.billing-invoice h2{font-size:13px;text-transform:uppercase;color:#334155;letter-spacing:0}
.billing-invoice-person,.billing-invoice-device{display:flex;align-items:center;gap:12px;min-width:0}
.billing-invoice-person>div,.billing-invoice-device>div{display:grid;gap:2px;min-width:0}
.billing-invoice-person b,.billing-invoice-device b{font-size:16px;color:#172033}
.billing-invoice dl{display:grid;gap:0;margin:0;border-top:1px solid #e5edf7}
.billing-invoice dl div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #e5edf7;padding:8px 0;min-width:0}
.billing-invoice dt{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-invoice dd{margin:0;font-weight:900;text-align:right;overflow-wrap:anywhere}
.billing-invoice-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.billing-invoice-section-head span{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.billing-invoice-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dbe5f2}
.billing-invoice-table th,.billing-invoice-table td{border-bottom:1px solid #e5edf7;padding:9px 10px;text-align:left;vertical-align:top}
.billing-invoice-table th{background:#f8fafc;color:#334155;font-size:11px;text-transform:uppercase}
.billing-invoice-table td:nth-child(3),.billing-invoice-table td:nth-child(4),.billing-invoice-table td:nth-child(5),.billing-invoice-table th:nth-child(3),.billing-invoice-table th:nth-child(4),.billing-invoice-table th:nth-child(5){text-align:right}
.billing-invoice-lower{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}
.billing-invoice-notice{display:grid;gap:9px;border-top:1px solid #e5edf7;padding-top:12px}
.billing-invoice-notice p{margin:0;color:#475569;font-weight:800;line-height:1.45}
.billing-invoice-rich-text{display:grid;gap:7px;color:#475569;font-weight:800;line-height:1.45}
.billing-invoice-rich-text p{margin:0!important}
.billing-invoice-rich-text ul,.billing-invoice-rich-text ol{margin:0 0 0 20px;padding:0}
.billing-invoice-rich-text table{width:100%;border-collapse:collapse;margin:4px 0}
.billing-invoice-rich-text th,.billing-invoice-rich-text td{border:1px solid #dbe5f2;padding:6px 7px;text-align:left;vertical-align:top}
.billing-invoice-rich-text th{background:#f8fbff;color:#172033}
.billing-invoice-total-card{border:1px solid var(--billing-invoice-accent,#172033);border-radius:8px;background:#f8fafc;overflow:hidden}
.billing-invoice-total-card div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #dbe5f2}
.billing-invoice-total-card div:last-child{border-bottom:0}
.billing-invoice-total-card span{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-invoice-total-card b{font-size:15px;color:#172033;text-align:right}
.billing-invoice-total-card .billing-invoice-due-date-card{background:#dc2626;border-color:#dc2626;color:#fff}
.billing-invoice-total-card .billing-invoice-due-date-card span,.billing-invoice-total-card .billing-invoice-due-date-card b{color:#fff}
.billing-invoice-footer-note{border-top:1px solid #e5edf7;padding-top:10px;color:#475569;font-weight:800;line-height:1.45}
.billing-invoice-footer{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:12px}
.billing-invoice-footer div{border-top:1px solid var(--billing-invoice-accent,#172033);padding-top:8px;font-weight:850;color:#334155}
.billing-invoice-evidence-page{min-height:10.4in;align-content:start}
.billing-invoice-evidence-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.billing-invoice-evidence-summary div{border:1px solid #e5edf7;border-radius:6px;background:#f8fafc;padding:8px}
.billing-invoice-evidence-summary dt{margin:0 0 4px;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}
.billing-invoice-evidence-summary dd{margin:0;color:#172033;font-size:12px;font-weight:900;overflow-wrap:anywhere}
.billing-invoice-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.billing-invoice-evidence-grid.single{grid-template-columns:1fr}
.billing-invoice-evidence-grid article{display:grid;gap:8px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:10px;break-inside:avoid;page-break-inside:avoid}
.billing-invoice-evidence-grid article>span{display:grid;place-items:center;height:255px;border:1px solid #e5edf7;border-radius:6px;background:#f8fafc;overflow:hidden}
.billing-invoice-evidence-grid.single article>span{height:5.35in}
.billing-invoice-evidence-grid img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.billing-invoice-evidence-grid b,.billing-invoice-evidence-grid small{display:block;min-width:0}
.billing-invoice-evidence-grid b{color:#172033;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.billing-invoice-evidence-grid small{margin-top:3px;color:#64748b;font-size:10px;font-weight:850}
body.billing-print-body-preview .billing-invoice-evidence-page{gap:18px;align-content:start}
body.billing-print-body-preview .billing-invoice-evidence-summary{gap:12px}
body.billing-print-body-preview .billing-invoice-evidence-summary div{padding:11px 12px}
body.billing-print-body-preview .billing-invoice-evidence-grid{gap:16px}
body.billing-print-body-preview .billing-invoice-evidence-grid article{gap:10px;padding:12px}
.event-invoice-logo{width:160px}
.event-invoice-icon{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;flex:0 0 54px;background:#eef6ff;color:#174ea6;border:1px solid #bfdbfe}
.event-invoice-icon svg{width:28px;height:28px}
.event-invoice-event-card small{overflow-wrap:anywhere}
.event-invoice-preview-frame-wrap{min-height:0}
.event-invoice-footer{break-inside:avoid}
.billing-teacher-cover{display:grid;gap:14px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;padding:22px;margin-bottom:18px}
.billing-teacher-cover-brand{display:flex;align-items:center;gap:14px;border-bottom:2px solid #172033;padding-bottom:14px}
.billing-teacher-cover-brand small,.billing-teacher-cover-brand strong{display:block}
.billing-teacher-cover-brand small{color:#64748b;font-weight:800}
.billing-teacher-cover-brand strong{font-size:20px;color:#172033}
.billing-teacher-cover h1{font-size:26px;letter-spacing:0}
.billing-teacher-cover p{margin:0;color:#64748b;font-weight:800}
.billing-student-notice-page{display:block}
body.billing-print-body-preview.billing-print-body-packet .billing-print-preview-doc{width:min(100%,8.5in);min-height:auto;background:transparent;padding:0!important;box-shadow:none}
body.billing-print-body-preview .billing-report-packet{display:grid;gap:28px}
body.billing-print-body-preview .billing-report-page{box-sizing:border-box;min-height:11in;background:#fff;padding:.45in!important;box-shadow:0 18px 55px rgba(15,23,42,.22)}
@media(max-width:1180px){
  .billing-hero{align-items:flex-start;flex-direction:column}
  .billing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-aging-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-workflow-board{grid-template-columns:repeat(3,minmax(0,1fr))}
  .billing-dashboard-grid{grid-template-columns:1fr}
  .billing-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-filter-actions{grid-column:1/-1}
  .billing-report-packet-panel{align-items:flex-start;flex-direction:column}
  .billing-batch-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-batch-bar>div{grid-column:1/-1}
  .billing-ledger-summary,.billing-timeline-summary,.billing-email-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-template-toggles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .billing-hero{padding:16px}
  .billing-hero h1{font-size:24px}
  .billing-tabs{margin-inline:-2px}
  .billing-tabs a{min-height:36px;padding:0 11px}
  .billing-metrics{grid-template-columns:1fr}
  .billing-aging-strip,.billing-workflow-board,.billing-batch-bar,.billing-ledger-summary,.billing-timeline-summary,.billing-email-summary{grid-template-columns:1fr}
  .billing-filters,.billing-form-section .form-grid,.billing-line-item,.billing-template-grid,.billing-template-toggles,.billing-schedule-modal-body,.billing-fee-guardrail-item,.billing-intake-review-summary,.billing-intake-review-grid,.billing-fee-review-hero,.billing-fee-review-summary,.billing-fee-review-lower{grid-template-columns:1fr}
  .billing-fee-review-hero aside{justify-items:start;text-align:left;border-left:0;border-top:1px solid #dbe5f2;padding-left:0;padding-top:10px}
  .billing-packet-controls{justify-content:flex-start}
  .billing-chart{height:240px}
  .billing-invoice-head,.billing-invoice-parties,.billing-invoice-lower,.billing-invoice-footer,.billing-invoice-evidence-summary,.billing-invoice-evidence-grid{grid-template-columns:1fr;display:grid}
  .billing-invoice-head{align-items:stretch}
  .billing-invoice-logo{width:132px;height:46px}
  body.billing-print-body-preview.billing-print-body-packet .billing-print-preview-doc{padding:0!important}
  body.billing-print-body-preview .billing-report-page{padding:16px!important;min-height:auto}
  .billing-invoice-balance{justify-items:start;text-align:left}
  .billing-invoice dl div{display:grid;gap:3px}
  .billing-invoice dd{text-align:left}
}
@media print{
  body.billing-print-body>*{visibility:visible!important}
  body.billing-print-body .billing-print-doc,body.billing-print-body .billing-print-doc *{visibility:visible!important}
  .billing-invoice,.billing-teacher-cover{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
  .billing-invoice{min-height:auto!important;gap:7px!important;font-size:10px!important}
  .billing-report-packet{display:block}
  .billing-invoice,.billing-teacher-cover,.billing-student-notice-page,.billing-report-page{break-inside:avoid;page-break-inside:avoid}
  .billing-invoice-head{padding-bottom:7px!important;gap:10px!important}
  .billing-invoice-logo{width:112px!important;height:36px!important;padding:0!important;border:0!important;background:transparent!important}
  .billing-invoice-brand{gap:8px!important}
  .billing-invoice-brand h1{font-size:18px!important}
  .billing-invoice-brand small,.billing-invoice-brand p{font-size:10px!important}
  .billing-invoice-balance{min-width:132px!important;padding:7px!important}
  .billing-invoice-balance b{font-size:20px!important}
  .billing-invoice-parties,.billing-invoice-detail{gap:7px!important}
  .billing-invoice-parties>section,.billing-invoice-detail{padding:8px!important}
  .billing-invoice h2{font-size:11px!important}
  .billing-invoice-person,.billing-invoice-device{gap:8px!important}
  .billing-invoice-person .avatar.xl{width:40px!important;height:40px!important;font-size:14px!important}
  .billing-invoice-device .asset-thumb.asset-thumb-lg{width:44px!important;height:34px!important}
  .billing-invoice-device .asset-thumb.asset-thumb-lg img{max-width:40px!important;max-height:30px!important}
  .billing-invoice-person b,.billing-invoice-device b{font-size:13px!important}
  .billing-invoice dl{grid-template-columns:repeat(3,minmax(0,1fr))!important;border-top:0!important;gap:5px!important}
  .billing-invoice dl div{display:block!important;border:1px solid #e5edf7!important;border-radius:4px!important;padding:4px!important}
  .billing-invoice dd{text-align:left!important;margin-top:2px!important}
  .billing-invoice-notice dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .billing-invoice-table th,.billing-invoice-table td{padding:4px 6px!important}
  .billing-invoice-lower{gap:8px!important}
  .billing-invoice-notice{gap:5px!important;padding-top:7px!important}
  .billing-invoice-notice p{display:none!important}
  .billing-invoice-total-card div{padding:5px 7px!important}
  .billing-invoice-total-card b{font-size:12px!important}
  .billing-invoice-total-card .billing-invoice-due-date-card{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
  .billing-invoice-total-card .billing-invoice-due-date-card span,.billing-invoice-total-card .billing-invoice-due-date-card b{color:#fff!important}
  .billing-invoice-footer{margin-top:4px!important;gap:14px!important;font-size:10px!important}
  .billing-invoice-footer div{padding-top:4px!important}
  .billing-invoice-evidence-page{min-height:auto!important}
  .billing-invoice-evidence-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .billing-invoice-evidence-summary div{padding:6px!important}
  .billing-invoice-evidence-grid{gap:10px!important}
  .billing-invoice-evidence-grid.single{grid-template-columns:1fr!important}
  .billing-invoice-evidence-grid article{padding:7px!important}
  .billing-invoice-evidence-grid article>span{height:250px!important}
  .billing-invoice-evidence-grid.single article>span{height:5.35in!important}
  .billing-invoice-evidence-grid img{width:100%!important;height:100%!important;object-fit:contain!important}
  .billing-report-page{display:block;break-after:page!important;page-break-after:always!important}
  .billing-report-page:last-child{break-after:auto!important;page-break-after:auto!important}
  .billing-invoice-page-break{break-before:page!important;page-break-before:always!important}
}

body .helpdesk-metrics:not(.repair-intake-kpi-strip){grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
body .helpdesk-sla-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;line-height:1;border:1px solid #dbe7f3;background:#f8fafc;color:#475569;white-space:nowrap}
body .helpdesk-sla-badge svg{width:13px;height:13px;flex:0 0 auto}
body .helpdesk-sla-badge.blue{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
body .helpdesk-sla-badge.warn{border-color:#fed7aa;background:#fff7ed;color:#c2410c}
body .helpdesk-sla-badge.bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
body .helpdesk-sla-badge.ok{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
body .helpdesk-sla-badge.gray{border-color:#e2e8f0;background:#f8fafc;color:#64748b}
body .helpdesk-due-stack{display:grid;gap:5px;justify-items:start}
body .ticket-subject-button .helpdesk-request-type-note,body .ticket-subject-button .helpdesk-incident-note{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:700;line-height:1.25}
body .ticket-subject-button .helpdesk-incident-note{color:#7c3aed}
body .helpdesk-presence-strip{display:flex;align-items:center;gap:7px;margin:8px 0;padding:8px 10px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:800}
body .helpdesk-presence-strip svg{width:15px;height:15px;flex:0 0 auto}
body .helpdesk-csat-panel{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid #e5edf7;border-radius:8px;background:#f8fafc}
body .helpdesk-csat-panel h3{margin:0;font-size:15px;letter-spacing:0}
body .helpdesk-csat-form{display:grid;gap:9px}
body .helpdesk-csat-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body .helpdesk-csat-rating label{display:inline-flex;align-items:center;gap:0;margin:0}
body .helpdesk-csat-rating input{position:absolute;opacity:0;pointer-events:none}
body .helpdesk-csat-rating span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-weight:900}
body .helpdesk-csat-rating input:checked+span{border-color:#2563eb;background:#2563eb;color:#fff}
body .helpdesk-advanced-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body .helpdesk-advanced-settings section{display:grid;gap:8px;align-content:start;padding:14px;border:1px solid #e5edf7;border-radius:8px;background:#f8fafc}
body .helpdesk-advanced-settings h3{margin:0;font-size:15px;letter-spacing:0}
body .helpdesk-advanced-settings textarea{min-height:130px}
@media(max-width:900px){
  body .helpdesk-advanced-settings{grid-template-columns:1fr}
}

/* Tiptap editor chrome: intentionally distinct from the legacy contenteditable toolbar. */
body .message-toolbar.helpdesk-tiptap-toolbar,
body .message-toolbar.helpdesk-tiptap-toolbar.kb-rich-toolbar,
body .message-toolbar.helpdesk-tiptap-toolbar.portal-request-toolbar,
body .message-toolbar.helpdesk-tiptap-toolbar.student-request-toolbar{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:4px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
  border:1px solid #cbd8e6!important;
  border-bottom:0!important;
  border-radius:9px 9px 0 0!important;
  background:#f6f9fd!important;
  padding:6px!important;
  box-shadow:inset 0 -1px 0 rgba(15,23,42,.04)!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar button{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  border:1px solid #c9d6e6!important;
  border-radius:7px!important;
  background:#ffffff!important;
  color:#24314d!important;
  padding:0 7px!important;
  font-size:11.5px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar button:hover{
  border-color:#8fb6ff!important;
  background:#eef5ff!important;
  color:#174ea6!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar .ui-icon{
  width:14px!important;
  height:14px!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar .toolbar-divider{
  width:1px!important;
  height:22px!important;
  flex:0 0 1px!important;
  background:#d3dde9!important;
  margin:0 1px!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar .kb-article-toolbar-btn,
body .message-toolbar.helpdesk-tiptap-toolbar .attachment-toolbar-btn,
body .message-toolbar.helpdesk-tiptap-toolbar .screen-capture-toolbar-btn{
  border-color:#b8cbed!important;
  background:#eef5ff!important;
  color:#174ea6!important;
  padding:0 8px!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar .kb-article-toolbar-btn:hover,
body .message-toolbar.helpdesk-tiptap-toolbar .attachment-toolbar-btn:hover,
body .message-toolbar.helpdesk-tiptap-toolbar .screen-capture-toolbar-btn:hover{
  border-color:#8fb6ff!important;
  background:#ffffff!important;
  color:#0f4f76!important;
}
body .message-toolbar.helpdesk-tiptap-toolbar+.helpdesk-rich-editor,
body .message-toolbar.helpdesk-tiptap-toolbar~.helpdesk-rich-editor,
body .message-toolbar.helpdesk-tiptap-toolbar+.kb-editor-body,
body .message-toolbar.helpdesk-tiptap-toolbar~.kb-editor-body{
  border-top:0!important;
  border-radius:0 0 9px 9px!important;
}
#newHelpdeskTicketModal .message-toolbar.helpdesk-tiptap-toolbar,
.helpdesk-ticket-modal .message-toolbar.helpdesk-tiptap-toolbar{
  flex-wrap:wrap!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  row-gap:5px!important;
  min-width:0!important;
  white-space:normal!important;
}
#newHelpdeskTicketModal .message-toolbar.helpdesk-tiptap-toolbar button,
.helpdesk-ticket-modal .message-toolbar.helpdesk-tiptap-toolbar button{
  flex:0 1 auto!important;
  max-width:100%!important;
}
#newHelpdeskTicketModal .message-toolbar.helpdesk-tiptap-toolbar .kb-article-toolbar-btn,
#newHelpdeskTicketModal .message-toolbar.helpdesk-tiptap-toolbar .attachment-toolbar-btn,
#newHelpdeskTicketModal .message-toolbar.helpdesk-tiptap-toolbar .screen-capture-toolbar-btn,
.helpdesk-ticket-modal .message-toolbar.helpdesk-tiptap-toolbar .kb-article-toolbar-btn,
.helpdesk-ticket-modal .message-toolbar.helpdesk-tiptap-toolbar .attachment-toolbar-btn,
.helpdesk-ticket-modal .message-toolbar.helpdesk-tiptap-toolbar .screen-capture-toolbar-btn{
  min-width:0!important;
}

.helpdesk-inline-image-modal .document-upload-icon{
  width:40px!important;
  height:40px!important;
  border-radius:10px!important;
  background:#eef5ff!important;
  color:#174ea6!important;
  display:grid!important;
  place-items:center!important;
  font-size:11px!important;
  font-weight:950!important;
}
.helpdesk-inline-image-dropzone.is-dragging{
  border-color:#8fb6ff!important;
  background:#f0f6ff!important;
}
.helpdesk-inline-image-preview{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:12px;
}
.helpdesk-inline-image-preview:empty{
  display:none;
}
.helpdesk-inline-image-preview img{
  width:96px;
  height:72px;
  object-fit:contain;
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
}
.helpdesk-inline-image-preview strong,
.helpdesk-inline-image-preview small{
  display:block;
}
.helpdesk-inline-image-preview strong{
  color:#172033;
  overflow-wrap:anywhere;
}
.helpdesk-inline-image-preview small{
  color:#64748b;
  font-weight:700;
  margin-top:3px;
}

.asset-device-usage-tab .section-head{
  align-items:flex-start;
}
.asset-usage-telemetry-form{
  margin:0;
}
.asset-usage-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
.asset-usage-metric,
.asset-usage-panel{
  border:1px solid #dbe5f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.asset-usage-metric{
  min-height:118px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.asset-usage-metric small,
.asset-usage-health-grid small{
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
}
.asset-usage-metric b{
  color:#172033;
  font-size:20px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.asset-usage-metric span,
.asset-usage-health-grid span{
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.asset-usage-match{
  border-left:4px solid #94a3b8;
}
.asset-usage-match.is-good{
  border-left-color:#0f766e;
}
.asset-usage-match.is-warning{
  border-left-color:#d97706;
}
.asset-usage-match.is-danger{
  border-left-color:#dc2626;
}
.jamf-device-usage-tab .asset-usage-metric,
.jamf-device-usage-tab .asset-usage-panel{
  border-color:#cdebdc;
}
.jamf-usage-alert-grid{
  grid-template-columns:1fr!important;
}
.asset-usage-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);
  gap:14px;
  margin-bottom:14px;
}
.asset-usage-panel{
  padding:14px;
}
.asset-usage-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.asset-usage-panel-head h4{
  margin:0;
  color:#172033;
  font-size:15px;
}
.asset-usage-panel-head span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.asset-usage-chart{
  width:100%;
  height:310px;
}
.asset-usage-chart.small{
  height:310px;
}
.asset-usage-empty{
  min-height:220px;
  display:grid;
  place-items:center;
  text-align:center;
  color:#64748b;
  font-weight:800;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  background:#f8fafc;
}
.asset-usage-health-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.asset-usage-health-grid>div{
  min-height:72px;
  border:1px solid #e5edf7;
  border-radius:8px;
  padding:10px;
  background:#f8fafc;
}
.asset-usage-health-grid b{
  display:block;
  margin-top:4px;
  color:#172033;
  font-size:14px;
  overflow-wrap:anywhere;
}
.asset-usage-mini-table-wrap{
  max-height:260px;
  overflow:auto;
}
.asset-usage-mini-table td,
.asset-usage-history-table td{
  vertical-align:top;
}
.asset-usage-history-table td small{
  display:block;
  color:#64748b;
  font-weight:700;
  margin-top:2px;
}
@media (max-width:1100px){
  .asset-usage-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .asset-usage-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .asset-usage-summary-grid,
  .asset-usage-health-grid{
    grid-template-columns:1fr;
  }
  .asset-usage-chart,
  .asset-usage-chart.small{
    height:260px;
  }
}
.event-layout-editor-body{margin:0;background:#eef2f7;color:#0f172a}
.event-layout-editor-body.event-layout-editor-embedded{height:100vh;overflow:hidden}
.event-layout-editor-page{min-height:100vh;display:flex;flex-direction:column}
.event-layout-editor-embedded .event-layout-editor-page{height:100vh;min-height:0;overflow:hidden}
.event-layout-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#ffffff;border-bottom:1px solid #d9e2ec;box-shadow:0 10px 24px rgba(15,23,42,.08);position:relative;z-index:4}
.event-layout-editor-embedded .event-layout-editor-head{padding:10px 14px;box-shadow:none}
.event-layout-editor-title{display:flex;align-items:center;gap:12px;min-width:0}
.event-layout-editor-title>span{width:42px;height:42px;border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center;flex:0 0 auto}
.event-layout-editor-embedded .event-layout-editor-title>span{width:36px;height:36px}
.event-layout-editor-title h1{font-size:20px;line-height:1.15;margin:0}
.event-layout-editor-embedded .event-layout-editor-title h1{font-size:17px}
.event-layout-editor-title p{margin:3px 0 0;color:#64748b;font-size:13px}
.event-layout-editor-actions{display:flex;gap:8px;align-items:center}
.event-layout-editor-fields{display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(260px,2fr) 96px 120px minmax(180px,.8fr);gap:10px;align-items:end;padding:12px 18px;background:#f8fafc;border-bottom:1px solid #d9e2ec;position:relative;z-index:3}
.event-layout-editor-embedded .event-layout-editor-fields{grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr) 88px 104px minmax(170px,.7fr);padding:10px 14px}
.event-layout-editor-fields label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#334155}
.event-layout-editor-fields input{height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 10px;font:inherit}
.event-layout-editor-check{height:38px;flex-direction:row!important;align-items:center;gap:8px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px}
.event-layout-editor-check input{height:auto}
.event-layout-editor-preview{height:42px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;display:flex;align-items:center;gap:8px;padding:4px 8px;color:#64748b;font-size:12px;overflow:hidden}
.event-layout-editor-preview img{width:54px;height:32px;object-fit:contain;object-position:center;box-sizing:border-box;padding:2px;border-radius:6px;border:1px solid #e2e8f0;background:#fff}
.event-layout-archive-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff7ed;border-bottom:1px solid #fed7aa;color:#7c2d12}
.event-layout-archive-banner>span{width:34px;height:34px;border-radius:8px;background:#fed7aa;color:#9a3412;display:grid;place-items:center;flex:0 0 auto}
.event-layout-archive-banner div{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}
.event-layout-archive-banner strong{font-size:13px}
.event-layout-archive-banner p{margin:0;font-size:12px;color:#9a3412}
.event-layout-editor-root{min-height:0;flex:1;display:flex}
.event-layout-editor-embedded .event-layout-editor-root{overflow:hidden}
.event-layout-editor-shell{height:calc(100vh - 139px);display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;min-height:0;flex:1}
.event-layout-editor-embedded .event-layout-editor-shell{height:auto;min-height:0}
.event-layout-editor-canvas{min-height:420px;background:#fff}
.event-layout-editor-embedded .event-layout-editor-canvas{min-height:0}
.event-layout-editor-canvas .excalidraw{height:100%}
.event-layout-editor-status{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:#0f172a;color:#e2e8f0;font-size:13px}
.event-room-layouts-modal{width:min(1080px,calc(100vw - 40px));height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column}
.event-room-layout-editor-modal{width:min(1180px,calc(100vw - 36px));height:min(960px,calc(100vh - 12px));display:flex;flex-direction:column;overflow:hidden}
.event-room-layout-editor-modal iframe{width:100%;border:0;flex:1;min-height:0;background:#eef2f7}
.event-room-layout-editor-modal .modal-actions{border-top:1px solid #d9e2ec;background:#fff;justify-content:space-between}
.event-room-layout-photo-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:flex;flex-direction:column}
.event-room-layout-photo-body{padding:14px;display:grid;gap:8px;min-height:0;overflow:auto}
.event-room-layout-photo-body img{display:block;width:100%;max-height:calc(100vh - 190px);object-fit:contain;border:1px solid #d9e2ec;border-radius:8px;background:#fff}
.event-room-layout-photo-body small{color:#64748b;font-weight:700}
.event-layout-editor-embedded .excalidraw .FixedSideContainer,
.event-layout-editor-embedded .excalidraw .App-toolbar-container{display:flex!important;visibility:visible!important;opacity:1!important}
.event-layout-editor-embedded .excalidraw .App-toolbar-container{pointer-events:auto!important;z-index:12}
.event-layout-editor-embedded button[aria-label="Menu"],
.event-layout-editor-embedded button[aria-label="Main menu"],
.event-layout-editor-embedded button[title="Menu"],
.event-layout-editor-embedded .main-menu-trigger,
.event-layout-editor-embedded [data-testid="main-menu-trigger"]{display:none!important}
.event-layout-editor-embedded .excalidraw button[aria-label="Help"],
.event-layout-editor-embedded .excalidraw button[title="Help"],
.event-layout-editor-embedded .excalidraw button[aria-label="Library"],
.event-layout-editor-embedded .excalidraw button[title="Library"],
.event-layout-editor-embedded .excalidraw .help-icon,
.event-layout-editor-embedded .excalidraw .layer-ui__sidebar,
.event-layout-editor-embedded .excalidraw .sidebar-trigger,
.event-layout-editor-embedded .excalidraw .default-sidebar{display:none!important}
.event-layout-editor-embedded .excalidraw .HintViewer{display:none!important}
.event-layout-editor-embedded a[href*="excalidraw.com"],
.event-layout-editor-embedded a[href*="libraries.excalidraw.com"],
.event-layout-editor-embedded a[href*="github.com/excalidraw"],
.event-layout-editor-embedded a[href*="discord.gg"],
.event-layout-editor-embedded a[href*="twitter.com/excalidraw"],
.event-layout-editor-embedded a[href*="x.com/excalidraw"],
.event-layout-editor-embedded [role="menuitem"]:has(a[href*="excalidraw.com"]),
.event-layout-editor-embedded [role="menuitem"]:has(a[href*="github.com/excalidraw"]),
.event-layout-editor-embedded [role="menuitem"]:has(a[href*="discord.gg"]),
.event-layout-editor-embedded li:has(a[href*="excalidraw.com"]),
.event-layout-editor-embedded li:has(a[href*="github.com/excalidraw"]),
.event-layout-editor-embedded li:has(a[href*="discord.gg"]){display:none!important}
.event-room-layouts-body{display:grid;grid-template-columns:260px 1fr;gap:16px;min-height:0;flex:1;padding:16px;overflow:hidden}
.event-room-layouts-room{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.event-room-layouts-room img,.event-room-layouts-room>span{width:100%;aspect-ratio:4/3;border-radius:8px;border:1px solid #d9e2ec;background:#fff;object-fit:cover;display:grid;place-items:center;color:#64748b}
.event-room-layouts-room b{font-size:16px}
.event-room-layouts-room small{color:#64748b;line-height:1.35}
.event-room-layout-assets{border-top:1px solid #d9e2ec;margin-top:4px;padding-top:10px;display:grid;gap:8px;min-width:0}
.event-room-layout-assets>div{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.event-room-layout-assets>div b{font-size:13px}.event-room-layout-assets>div small{font-size:12px}
.event-room-layout-assets article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:7px;min-width:0}
.event-room-layout-assets article>span{width:30px;height:30px;border-radius:8px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center}.event-room-layout-assets article .ui-icon{width:16px;height:16px}
.event-room-layout-assets article b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-room-layout-assets article em{font-style:normal;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;font-weight:900;padding:3px 7px;white-space:nowrap}
.event-room-layout-assets-empty{border-top:1px solid #d9e2ec;margin-top:4px;padding-top:10px;display:flex;align-items:center;gap:8px;color:#64748b}
.event-room-layout-assets-empty span{width:30px;height:30px;border-radius:8px;background:#eef2ff;color:#3730a3;display:grid;place-items:center;flex:0 0 auto}.event-room-layout-assets-empty small{font-size:12px}
.event-room-layouts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.event-room-layouts-toolbar div{display:flex;flex-direction:column;gap:2px}
.event-room-layouts-toolbar small{color:#64748b}
.event-room-layouts-list{display:grid;gap:10px;max-height:100%;overflow:auto;padding-right:4px}
.event-room-layout-row{display:grid;grid-template-columns:118px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #d9e2ec;border-radius:8px;background:#fff;padding:10px}
.event-room-layout-row.is-archived{background:#f8fafc;border-color:#cbd5e1}
.event-room-layout-row.is-archived>img,.event-room-layout-row.is-archived>span{opacity:.72;filter:saturate(.75)}
.event-room-layout-row>img,.event-room-layout-row>span{width:118px;height:78px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;object-fit:contain;display:grid;place-items:center;color:#64748b}
.event-room-layout-row section{display:flex;flex-direction:column;gap:3px;min-width:0}
.event-room-layout-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-room-layout-row small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-room-layout-row em{font-style:normal;background:#dcfce7;color:#166534;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}
.event-room-layout-row em.inactive{background:#f1f5f9;color:#64748b}
.event-room-layout-row>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.event-room-layout-row form{margin:0}
.event-room-layouts-empty{min-height:220px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;display:grid;place-items:center;text-align:center;padding:24px;color:#64748b}
.event-room-layouts-empty span{width:52px;height:52px;border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center;margin-bottom:8px}
.event-room-assets-modal{width:min(1040px,calc(100vw - 40px));height:min(740px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden}
.event-room-assets-modal form{display:flex;flex-direction:column;min-height:0;flex:1}
.event-room-assets-body{display:grid;grid-template-columns:260px 1fr;gap:16px;min-height:0;flex:1;padding:16px;overflow:hidden}
.event-room-assets-room{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.event-room-assets-room img,.event-room-assets-room>span{width:100%;aspect-ratio:4/3;border-radius:8px;border:1px solid #d9e2ec;background:#fff;object-fit:cover;display:grid;place-items:center;color:#64748b}
.event-room-assets-room b{font-size:16px}.event-room-assets-room small{color:#64748b;line-height:1.35}
.event-room-assets-editor{min-height:0;display:flex;flex-direction:column}
.event-room-assets-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.event-room-assets-toolbar div{display:flex;flex-direction:column;gap:2px}.event-room-assets-toolbar small{color:#64748b}
.event-room-assets-list{display:grid;gap:10px;overflow:auto;min-height:0;padding-right:4px}
.event-room-asset-editor-row{display:grid;grid-template-columns:46px minmax(180px,1fr) 90px minmax(160px,1fr) 86px 34px;gap:10px;align-items:end;border:1px solid #d9e2ec;border-radius:8px;background:#fff;padding:10px}
.event-room-asset-editor-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:#334155}
.event-room-asset-editor-row input{height:36px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 10px;font:inherit}
.event-room-asset-icon-button{width:42px;height:42px;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;cursor:pointer;position:relative}
.event-room-asset-icon-button>span{display:grid;place-items:center}.event-room-asset-icon-button>i{position:absolute;right:-5px;bottom:-5px;width:18px;height:18px;border-radius:999px;background:#0f172a;color:#fff;display:grid;place-items:center;border:2px solid #fff}.event-room-asset-icon-button>i .ui-icon{width:10px;height:10px}
.event-room-asset-icon-button:hover{background:#dbeafe;border-color:#93c5fd}
.event-room-asset-active{height:36px;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:0 8px}
.event-room-asset-active input{height:auto;width:auto}.event-room-assets-empty{min-height:220px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;display:grid;place-items:center;text-align:center;padding:24px;color:#64748b}
.event-room-assets-empty span{width:52px;height:52px;border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center;margin-bottom:8px}
.event-room-asset-icon-modal{width:min(760px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden}
.event-room-asset-icon-search{margin:14px 14px 0;display:flex;align-items:center;gap:8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 10px;color:#64748b}
.event-room-asset-icon-search input{height:40px;border:0;outline:0;flex:1;font:inherit}
.event-room-asset-icon-grid{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;overflow:auto}
.event-room-asset-icon-grid button{border:1px solid #d9e2ec;border-radius:8px;background:#fff;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#334155;cursor:pointer}
.event-room-asset-icon-grid button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.event-room-asset-icon-grid span{width:34px;height:34px;border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center}
.event-room-assets-request-panel{margin-top:14px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;display:grid;gap:10px}
.event-room-assets-request-head{display:flex;align-items:center;gap:10px}.event-room-assets-request-head>span{width:38px;height:38px;border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center;flex:0 0 auto}
.event-room-assets-request-head div{display:flex;flex-direction:column;gap:2px}.event-room-assets-request-head small{color:#64748b}
.event-room-asset-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.event-room-asset-chip{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d9e2ec;border-radius:8px;background:#fff;padding:10px;min-width:0}
.event-room-asset-chip>span{width:38px;height:38px;border-radius:8px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center}.event-room-asset-chip div{min-width:0;display:flex;flex-direction:column;gap:2px}
.event-room-asset-chip b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-room-asset-chip small{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-room-asset-chip em{font-style:normal;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:900;padding:4px 8px}
.event-room-assets-none{grid-column:1/-1;min-height:120px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;display:grid;place-items:center;text-align:center;padding:18px;color:#64748b}
.event-room-assets-none span{width:42px;height:42px;border-radius:8px;background:#e0f2fe;color:#075985;display:grid;place-items:center;margin-bottom:6px}
.event-room-details-modal{width:min(920px,calc(100vw - 40px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden}
.event-room-details-body{padding:16px;display:grid;gap:14px;overflow:auto;min-height:0}
.event-room-details-hero{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:stretch;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}
.event-room-details-hero img,.event-room-details-hero>span{width:100%;height:150px;border-radius:8px;border:1px solid #d9e2ec;background:#fff;object-fit:cover;display:grid;place-items:center;color:#64748b}
.event-room-details-hero div{display:flex;flex-direction:column;gap:6px;min-width:0}.event-room-details-hero b{font-size:18px}.event-room-details-hero small{color:#64748b}.event-room-details-hero p{margin:4px 0;color:#334155;line-height:1.4}
.event-room-details-hero nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.event-room-details-hero nav a{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1f3b57;text-decoration:none;padding:7px 10px;font-weight:800;font-size:13px}
.event-room-details-card{border:1px solid #d9e2ec;border-radius:8px;background:#fff;padding:12px;display:grid;gap:10px}.event-room-details-card h3{margin:0;font-size:15px}
.event-room-details-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0}.event-room-details-kv div{border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:10px}
.event-room-details-kv dt{font-size:11px;font-weight:900;color:#64748b;text-transform:uppercase}.event-room-details-kv dd{margin:4px 0 0;font-weight:800;color:#0f172a}
@media (max-width:760px){
  .event-room-assets-modal,.event-room-details-modal{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px)}
  .event-room-assets-body,.event-room-details-hero{grid-template-columns:1fr;overflow:auto}
  .event-room-assets-room{display:none}
  .event-room-asset-editor-row{grid-template-columns:42px minmax(0,1fr) 80px 34px;align-items:end}
  .event-room-asset-editor-row label:nth-of-type(3),.event-room-asset-active{grid-column:2/4}
  .event-room-details-hero img,.event-room-details-hero>span{height:170px}
}
.event-layout-template-preview{border:1px solid #bfdbfe;background:#eff6ff;border-radius:8px;padding:10px;display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:center}
.event-layout-template-preview>div{height:104px;border-radius:8px;background:#fff;border:1px solid #dbeafe;overflow:hidden;display:grid;place-items:center;color:#2563eb}
.event-layout-template-preview img{display:block;width:auto;height:auto;max-width:132px;max-height:82px;object-fit:contain;object-position:center;box-sizing:border-box;background:#fff}
.event-layout-template-preview section{display:flex;flex-direction:column;gap:4px;min-width:0}
.event-layout-template-preview b{font-size:14px;color:#0f172a}
.event-layout-template-preview small{color:#475569;line-height:1.35}
.event-layout-template-empty{width:44px;height:44px;border-radius:8px;background:#dbeafe;display:grid;place-items:center}
.event-room-layout-link.selected{border-color:#93c5fd;background:#eff6ff}
.event-packet-layout img{display:block;max-width:100%;max-height:420px;object-fit:contain;border:1px solid #d9e2ec;border-radius:8px;background:#fff;margin-top:10px}
@media (max-width:900px){
  .event-layout-editor-head,.event-layout-editor-fields{grid-template-columns:1fr;display:grid}
  .event-layout-editor-head{align-items:stretch}
  .event-layout-editor-fields{grid-template-columns:1fr}
  .event-layout-editor-shell{height:calc(100vh - 360px)}
  .event-layout-editor-embedded .event-layout-editor-shell{height:100%;min-height:0}
  .event-layout-editor-embedded .event-layout-editor-canvas{min-height:0}
  .event-room-layouts-modal{width:calc(100vw - 20px);height:calc(100vh - 20px)}
  .event-room-layout-editor-modal{width:calc(100vw - 20px);height:calc(100vh - 20px)}
  .event-room-layouts-body{grid-template-columns:1fr;overflow:auto}
  .event-room-layouts-room{display:none}
  .event-room-layout-row{grid-template-columns:92px minmax(0,1fr);align-items:start}
  .event-room-layout-row>img,.event-room-layout-row>span{width:92px;height:68px}
  .event-room-layout-row em,.event-room-layout-row>div{grid-column:2}
  .event-layout-template-preview{grid-template-columns:1fr}
}

#eventPublicAccountModal{
  padding:12px!important;
}
#eventPublicAccountModal .event-public-account-shell{
  width:min(920px,calc(100vw - 24px))!important;
  height:min(820px,calc(100vh - 24px))!important;
  max-width:none!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
}
#eventPublicAccountModal .event-public-account-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
}
#eventPublicAccountModal .event-public-account-head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 20px;
  border-bottom:1px solid #dbe4ef;
  background:linear-gradient(135deg,#f8fafc 0%,#eef6ff 100%);
}
#eventPublicAccountModal .event-public-account-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
#eventPublicAccountModal .event-public-account-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#1d4ed8;
  background:#dbeafe;
}
#eventPublicAccountModal .event-public-account-icon svg{
  width:21px;
  height:21px;
}
#eventPublicAccountModal .event-public-account-title h2{
  margin:0;
  color:#0f172a;
  font-size:20px;
  line-height:1.18;
}
#eventPublicAccountModal .event-public-account-title p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  line-height:1.35;
}
#eventPublicAccountModal .event-public-account-head .icon-btn{
  flex:0 0 auto;
}
#eventPublicAccountModal .event-public-account-body{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  gap:12px;
  overflow:auto;
  padding:16px 20px 18px;
  background:#f8fafc;
}
#eventPublicAccountModal .event-public-account-section{
  display:grid;
  gap:12px;
  min-width:0;
  padding:14px;
  border:1px solid #dbe4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#eventPublicAccountModal .event-public-account-section h3{
  margin:0;
  padding-bottom:9px;
  border-bottom:1px solid #eef2f7;
  color:#1e293b;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
}
#eventPublicAccountModal .event-public-account-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  min-width:0;
}
#eventPublicAccountModal .event-public-account-field{
  min-width:0;
  display:grid!important;
  gap:6px;
  margin:0!important;
  color:#334155;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
}
#eventPublicAccountModal .event-public-account-field-wide{
  grid-column:1/-1;
}
#eventPublicAccountModal .event-public-account-field input,
#eventPublicAccountModal .event-public-account-field select,
#eventPublicAccountModal .event-public-account-field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:600;
  outline:none;
  box-shadow:none;
}
#eventPublicAccountModal .event-public-account-field input,
#eventPublicAccountModal .event-public-account-field select{
  height:40px;
  padding:0 10px;
}
#eventPublicAccountModal .event-public-account-field textarea{
  min-height:98px;
  resize:vertical;
  padding:10px;
  line-height:1.35;
}
#eventPublicAccountModal .event-public-account-field input:focus,
#eventPublicAccountModal .event-public-account-field select:focus,
#eventPublicAccountModal .event-public-account-field textarea:focus{
  border-color:#3b82f6;
  box-shadow:0 0 0 3px rgba(59,130,246,.14);
}
#eventPublicAccountModal .event-public-account-field small{
  margin:0;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}
#eventPublicAccountModal .event-public-account-options-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
#eventPublicAccountModal .event-public-account-option{
  min-height:74px;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:10px;
  margin:0!important;
  padding:12px!important;
  border:1px solid #dbe4ef;
  border-radius:10px;
  background:#f8fafc;
  color:#0f172a;
  cursor:pointer;
}
#eventPublicAccountModal .event-public-account-option:hover{
  border-color:#bfdbfe;
  background:#eff6ff;
}
#eventPublicAccountModal .event-public-account-option:has(input:checked){
  border-color:#93c5fd;
  background:#eff6ff;
}
#eventPublicAccountModal .event-public-account-option input[type=checkbox]{
  width:16px;
  height:16px;
  margin:2px 0 0;
}
#eventPublicAccountModal .event-public-account-option span{
  min-width:0;
  display:grid;
  gap:3px;
}
#eventPublicAccountModal .event-public-account-option b{
  color:#0f172a;
  font-size:13px;
  line-height:1.25;
}
#eventPublicAccountModal .event-public-account-option small{
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}
#eventPublicAccountModal .event-public-account-note{
  margin:0;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
}
#eventPublicAccountModal .event-public-account-footer{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:14px 20px 18px;
  border-top:1px solid #dbe4ef;
  background:#fff;
}
#eventPublicAccountModal .event-public-account-footer button{
  min-width:124px;
  min-height:40px;
}
@media (max-width:760px){
  #eventPublicAccountModal{
    padding:8px!important;
  }
  #eventPublicAccountModal .event-public-account-shell{
    width:calc(100vw - 16px)!important;
    height:calc(100vh - 16px)!important;
  }
  #eventPublicAccountModal .event-public-account-head{
    padding:14px 16px;
  }
  #eventPublicAccountModal .event-public-account-body{
    padding:14px 16px 16px;
  }
  #eventPublicAccountModal .event-public-account-grid,
  #eventPublicAccountModal .event-public-account-options-grid{
    grid-template-columns:1fr;
  }
  #eventPublicAccountModal .event-public-account-footer{
    padding:12px 16px 16px;
  }
  #eventPublicAccountModal .event-public-account-footer button{
    flex:1 1 0;
    min-width:0;
  }
}

body .avatar.presence-online,
body .avatar.small.presence-online,
body .avatar.tiny.presence-online,
body .clean-user-menu .avatar.presence-online,
body .topbar-user .avatar.presence-online,
body .user-menu-head .avatar.presence-online{
  border:0!important;
  box-shadow:none!important;
}

/* Profile appearance themes must win after all final sidebar polish rules. */
body.theme-sidebar-default:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(15,31,51,.98),rgba(18,38,63,.98) 56%,rgba(11,23,39,.98)),
    radial-gradient(circle at 30% 0%,rgba(96,165,250,.16),transparent 42%)!important;
}
body.theme-sidebar-midnight:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(3,7,18,.98),rgba(15,23,42,.98) 58%,rgba(2,6,23,.98)),
    radial-gradient(circle at 30% 0%,rgba(148,163,184,.14),transparent 42%)!important;
}
body.theme-sidebar-slate:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(30,41,59,.98),rgba(51,65,85,.98) 58%,rgba(15,23,42,.98)),
    radial-gradient(circle at 30% 0%,rgba(203,213,225,.13),transparent 42%)!important;
}
body.theme-sidebar-blue:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(11,61,145,.98),rgba(29,78,216,.98) 58%,rgba(30,64,175,.98)),
    radial-gradient(circle at 30% 0%,rgba(191,219,254,.22),transparent 42%)!important;
}
body.theme-sidebar-green:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(6,78,59,.98),rgba(4,120,87,.98) 58%,rgba(6,95,70,.98)),
    radial-gradient(circle at 30% 0%,rgba(167,243,208,.18),transparent 42%)!important;
}
body.theme-sidebar-purple:not(.student-shell) .sidebar{
  background:
    linear-gradient(180deg,rgba(59,7,100,.98),rgba(109,40,217,.98) 58%,rgba(88,28,135,.98)),
    radial-gradient(circle at 30% 0%,rgba(221,214,254,.20),transparent 42%)!important;
}
.ticket-summary-profile-link{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  color:#172033!important;
  font-weight:950!important;
  text-decoration:none!important;
  border-bottom:1px solid transparent!important;
}
.ticket-summary-profile-link:hover,
.ticket-summary-profile-link:focus-visible{
  color:#1d4ed8!important;
  border-bottom-color:#93c5fd!important;
}

/* Quiet sidebar current-state indicators. */
body:not(.student-shell) .sidebar nav a,
body:not(.student-shell) .sidebar .nav-group > summary,
body:not(.student-shell) .sidebar .nav-subgroup > summary{
  position:relative!important;
  transition:
    background-color .18s ease,
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease!important;
}
body:not(.student-shell) .sidebar nav a > .ui-icon,
body:not(.student-shell) .sidebar .nav-group > summary > .ui-icon,
body:not(.student-shell) .sidebar .nav-subgroup > summary > .ui-icon{
  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease!important;
}
body:not(.student-shell) .sidebar nav a:hover,
body:not(.student-shell) .sidebar .nav-group > summary:hover,
body:not(.student-shell) .sidebar .nav-subgroup > summary:hover{
  transform:translateX(2px)!important;
}
body:not(.student-shell) .sidebar nav a.active,
body:not(.student-shell) .sidebar nav a[aria-current="page"]{
  background:transparent!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:none!important;
  font-weight:850!important;
}
body:not(.student-shell) .sidebar nav a.active::after,
body:not(.student-shell) .sidebar nav a[aria-current="page"]::after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:7px;
  height:7px;
  padding:0;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 4px rgba(255,255,255,.10);
  transform:translateY(-50%);
}
body:not(.student-shell) .sidebar nav a.active:has(> b:not([hidden]))::after,
body:not(.student-shell) .sidebar nav a[aria-current="page"]:has(> b:not([hidden]))::after{
  content:"";
  right:44px;
  width:7px;
  height:7px;
  padding:0;
  box-shadow:0 0 0 4px rgba(255,255,255,.10);
}
body:not(.student-shell) .sidebar nav a.active > .ui-icon,
body:not(.student-shell) .sidebar nav a[aria-current="page"] > .ui-icon{
  color:#fff!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body:not(.student-shell) .sidebar .nav-group:has(> a.active) > summary,
body:not(.student-shell) .sidebar .nav-group:has(> a[aria-current="page"]) > summary,
body:not(.student-shell) .sidebar .nav-group.has-active-child > summary,
body:not(.student-shell) .sidebar .nav-subgroup:has(> a.active) > summary,
body:not(.student-shell) .sidebar .nav-subgroup:has(> a[aria-current="page"]) > summary,
body:not(.student-shell) .sidebar .nav-subgroup.has-active-child > summary{
  background:rgba(255,255,255,.05)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
body:not(.student-shell) .sidebar .nav-group:has(> a.active) > summary > .ui-icon,
body:not(.student-shell) .sidebar .nav-group:has(> a[aria-current="page"]) > summary > .ui-icon,
body:not(.student-shell) .sidebar .nav-group.has-active-child > summary > .ui-icon,
body:not(.student-shell) .sidebar .nav-subgroup:has(> a.active) > summary > .ui-icon,
body:not(.student-shell) .sidebar .nav-subgroup:has(> a[aria-current="page"]) > summary > .ui-icon,
body:not(.student-shell) .sidebar .nav-subgroup.has-active-child > summary > .ui-icon{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.14)!important;
}
body.nav-collapsed:not(.student-shell) .sidebar nav a.active,
body.nav-collapsed:not(.student-shell) .sidebar nav a[aria-current="page"]{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.nav-collapsed:not(.student-shell) .sidebar nav a.active::after,
body.nav-collapsed:not(.student-shell) .sidebar nav a[aria-current="page"]::after{
  content:"";
  right:5px;
  top:8px;
  width:7px;
  height:7px;
  padding:0;
  transform:none;
}
body.nav-collapsed:not(.student-shell) .sidebar .nav-group:has(> a.active) > summary,
body.nav-collapsed:not(.student-shell) .sidebar .nav-group:has(> a[aria-current="page"]) > summary,
body.nav-collapsed:not(.student-shell) .sidebar .nav-group.has-active-child > summary{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
.hr-detail-grid>.hr-lifecycle-card{grid-column:1 / -1!important;grid-row:auto!important}
.hr-detail-grid>.hr-supervisor-ack-card{grid-column:1 / -1!important;grid-row:auto!important}
.hr-detail-grid>.hr-asset-recovery-card{grid-column:1 / -1!important;grid-row:auto!important}
.hr-detail-grid>.hr-employee-card{grid-column:1!important;grid-row:auto!important}
.hr-detail-grid>.hr-tasks-card{grid-column:1 / -1!important;grid-row:auto!important}
.hr-detail-grid>.hr-checklist-card{grid-column:1!important;grid-row:auto!important}
.hr-detail-grid>.hr-activity-card{grid-column:2!important;grid-row:auto!important}
.hr-tasks-card .person-cell b,.hr-tasks-card .hr-completed-by b{font-weight:400!important}
.hr-task-asset-watch{display:grid;gap:8px;margin-top:8px;padding:9px;border:1px solid #dbe7f7;border-radius:8px;background:#f8fbff}
.hr-task-asset-watch strong{font-size:11px;color:#334155}
.hr-tasks-card .hr-table td:first-child{font-weight:400!important}
.hr-tasks-card .hr-table td:first-child small{font-weight:400!important}
.hr-task-asset-watch-item{display:grid!important;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;margin:0!important;color:#1f2d44!important}
.hr-task-asset-thumb{width:54px;height:46px;border:1px solid #dbe5f2;border-radius:8px;background:#fff;display:grid;place-items:center;padding:3px;cursor:pointer}
.hr-task-asset-thumb img{max-width:48px;max-height:38px;object-fit:contain}
.hr-task-asset-thumb .asset-no-image,.hr-task-asset-thumb .asset-icon-image{width:46px;height:38px;display:grid;place-items:center;color:#2458d3}
.hr-task-asset-thumb .asset-icon-image svg{width:34px!important;height:34px!important}
.hr-task-asset-watch-item>span{display:grid!important;gap:2px;min-width:0}
.hr-task-asset-watch-item a{font-size:12px;font-weight:400;color:#2458d3;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-task-asset-watch-item a:hover{text-decoration:underline}
.hr-task-asset-watch-item small{font-size:11px!important;font-weight:500!important;color:#64748b!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-lifecycle-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.hr-lifecycle-timeline span{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:10px 12px;color:#53657f;font-weight:900}
.hr-lifecycle-timeline i{width:12px;height:12px;border-radius:50%;background:#cbd5e1}
.hr-lifecycle-timeline span.done{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.hr-lifecycle-timeline span.done i{background:#22c55e}
.hr-lifecycle-timeline span.current{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.hr-lifecycle-timeline span.current i{background:#2f6ff2;box-shadow:0 0 0 4px #dbeafe}
.hr-position-template-list,.hr-timeline-config,.hr-asset-recovery-list,.hr-setup-simple-grid{display:grid;gap:12px}
.hr-position-template-row{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr) auto;gap:12px;align-items:start;border:1px solid #dbe5f2;border-radius:8px;background:#fbfdff;padding:12px}
.hr-position-template-row>label,.hr-setup-simple-grid>label:not(.settings-toggle){display:grid;gap:6px;color:#53657f;font-size:12px;font-weight:900}
.hr-template-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hr-timeline-config section{border:1px solid #dbe5f2;border-radius:8px;background:#fbfdff;padding:12px}
.hr-timeline-config h4{margin:0;color:#172033}
.hr-asset-recovery-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(140px,.35fr) minmax(180px,.6fr);gap:10px;align-items:center;border:1px solid #e5ecf5;border-radius:8px;background:#fbfdff;padding:10px}
.hr-asset-recovery-row b,.hr-asset-recovery-row small{display:block}
.hr-asset-recovery-row small{color:#64748b;font-weight:800}
.hr-asset-recovery-row select,.hr-asset-recovery-row input,.hr-position-template-row select,.hr-setup-simple-grid select{height:40px;border:1px solid #cfdaea;border-radius:7px;background:#fff;color:#263348;font-weight:800;padding:8px 10px}
.inline-actions{border-top:0;margin-top:10px;padding-top:0}
.settings-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.settings-summary-grid article{border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:14px;display:grid;gap:4px}
.settings-summary-grid b{font-size:24px;color:#0f172a}
.settings-summary-grid span{color:#64748b;font-weight:850}
@media(max-width:900px){.hr-position-template-row,.hr-asset-recovery-row,.hr-template-resource-grid{grid-template-columns:1fr!important}}
@media(max-width:900px){.settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* HR lifecycle list hero */
.hr-lifecycle-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:20px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%)!important;
  box-shadow:0 12px 32px rgba(15,23,42,.08)!important;
}
.hr-lifecycle-hero-copy{min-width:0!important}
.hr-lifecycle-hero h1{
  margin:2px 0 6px!important;
  color:#0f172a!important;
  font-size:28px!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}
.hr-lifecycle-hero p{
  margin:0!important;
  max-width:780px!important;
  color:#64748b!important;
  font-weight:750!important;
}
.hr-lifecycle-hero-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(82px,1fr))!important;
  gap:8px!important;
  min-width:min(460px,42vw)!important;
}
.hr-lifecycle-hero-summary span{
  display:grid!important;
  gap:2px!important;
  min-height:68px!important;
  align-content:center!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.78)!important;
}
.hr-lifecycle-hero-summary b{
  color:#0f172a!important;
  font-size:22px!important;
  line-height:1!important;
}
.hr-lifecycle-hero-summary small{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.hr-lifecycle-hero-actions{
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
}
.hr-lifecycle-hero-actions .toolbar-icon-btn{
  min-height:38px!important;
}
@media(max-width:1180px){
  .hr-lifecycle-hero{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .hr-lifecycle-hero-summary{
    width:100%!important;
    min-width:0!important;
  }
  .hr-lifecycle-hero-actions{
    justify-content:flex-start!important;
  }
}
@media(max-width:720px){
  .hr-lifecycle-hero{
    padding:16px!important;
  }
  .hr-lifecycle-hero h1{
    font-size:24px!important;
  }
  .hr-lifecycle-hero-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* HR Temporary Notice select values should not read as labels. */
#hrRequestWizard .hr-temporary-notice-field select,
#hrRequestWizard [data-hr-notice-task-assignment] select,
#hrRequestWizard .hr-temporary-notice-field select option,
#hrRequestWizard [data-hr-notice-task-assignment] select option,
#hrRequestWizard [data-hr-notice-task-assignment] select optgroup{
  font-weight:400!important;
}

/* Asset detail assignment employee card alignment and field/value weight. */
.assignment-d3-card .assignment-clean-static{
  margin-top:2px!important;
}
.assignment-d3-card .assignment-person-subtitle,
.assignment-d3-card .assignment-detail-value{
  color:#475569!important;
  font-weight:500!important;
}
.assignment-d3-card .assignment-detail-label,
.assignment-d3-card .assignment-due-line > span:first-of-type{
  color:#334155!important;
  font-weight:900!important;
}
.assignment-d3-card .assignment-detail-value-line{
  display:flex!important;
  align-items:baseline!important;
  gap:5px!important;
  min-width:0!important;
}
.assignment-d3-card .assignment-detail-value-line .assignment-detail-value{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}

.assignment-d3-card .assignment-clean-static{
  align-items:start!important;
}
.assignment-d3-card .assignment-clean-static .avatar.lg{
  align-self:start!important;
  justify-self:start!important;
}
.assignment-d3-card .assignment-clean-static .assignment-clean-copy{
  align-self:start!important;
}

.assignment-d3-card{
  gap:10px!important;
}
.assignment-d3-card .assignment-clean-title{
  padding-bottom:8px!important;
}

/* Asset TEST/Brian-style employee assignment card: align with warranty coverage block. */
body:not(.student-shell) .asset-design3-shell .assignment-d3-card{
  gap:0!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .asset-d3-card-title.assignment-clean-title{
  margin-bottom:12px!important;
  padding-bottom:12px!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-clean-static{
  margin-top:0!important;
  min-height:0!important;
  align-items:start!important;
  align-content:start!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-clean-static .avatar.lg{
  align-self:start!important;
  justify-self:start!important;
  margin:0!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-clean-static .assignment-clean-copy{
  align-self:start!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-detail-list .assignment-detail-value-line{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:baseline!important;
  gap:5px!important;
  text-align:left!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-detail-list .assignment-detail-label{
  color:#334155!important;
  font-weight:900!important;
  flex:0 0 auto!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-detail-list .assignment-detail-value-line > .assignment-detail-value{
  display:inline!important;
  width:auto!important;
  color:#475569!important;
  font-weight:500!important;
}
body:not(.student-shell) .asset-design3-shell .assignment-d3-card .assignment-person-subtitle{
  color:#475569!important;
  font-weight:500!important;
}


/* Local premade asset icon library */
.asset-icon-image{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#eef6ff,#f8fbff)!important;
  color:#2563eb!important;
  overflow:hidden!important;
}
.asset-icon-image .ui-icon{
  width:56%!important;
  height:56%!important;
  stroke-width:1.9!important;
}
.asset-thumb .asset-icon-image,
.loan-asset-thumb .asset-icon-image,
.loan-detail-asset-thumb .asset-icon-image,
.helpdesk-asset-thumb .asset-icon-image{
  width:calc(100% - 8px)!important;
  height:calc(100% - 8px)!important;
}
.asset-directory-table .asset-thumb.asset-thumb-lg .asset-icon-image{
  width:48px!important;
  height:48px!important;
}
.add-asset-preview-visual{
  width:100%!important;
  height:112px!important;
  display:grid!important;
  place-items:center!important;
  background:#f7f9fc!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  overflow:hidden!important;
}
.add-asset-preview-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:14px!important;
  background:transparent!important;
  border:0!important;
}
.add-asset-preview-visual .asset-icon-image{
  border-radius:8px!important;
}
.add-asset-preview-visual .asset-icon-image .ui-icon{
  width:48px!important;
  height:48px!important;
}
.modal-head-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.asset-icon-library-modal{
  width:min(840px,calc(100vw - 36px))!important;
}
.asset-icon-library-body{
  display:grid!important;
  gap:12px!important;
}
.asset-icon-search{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:0 12px!important;
}
.asset-icon-search .ui-icon{
  width:18px!important;
  height:18px!important;
  color:#667085!important;
  flex:0 0 auto!important;
}
.asset-icon-search input{
  border:0!important;
  box-shadow:none!important;
  padding:12px 0!important;
  min-height:0!important;
  width:100%!important;
}
.asset-icon-category-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  padding-bottom:2px!important;
}
.asset-icon-category{
  border:1px solid #dbe5f2!important;
  background:#fff!important;
  color:#475569!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  min-height:0!important;
}
.asset-icon-category.active{
  border-color:#93c5fd!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
.asset-icon-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(126px,1fr))!important;
  gap:10px!important;
  max-height:52vh!important;
  overflow:auto!important;
  padding:2px!important;
}
.asset-icon-option{
  display:grid!important;
  grid-template-rows:74px auto auto!important;
  gap:5px!important;
  align-items:center!important;
  justify-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  padding:10px!important;
  text-align:center!important;
  min-height:0!important;
}
.asset-icon-option:hover,
.asset-icon-option:focus-visible{
  border-color:#93c5fd!important;
  box-shadow:0 8px 20px rgba(30,64,175,.12)!important;
  transform:translateY(-1px)!important;
}
.asset-icon-option span{
  width:62px!important;
  height:62px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  background:#eff6ff!important;
  color:#2563eb!important;
}
.asset-icon-option .ui-icon{
  width:32px!important;
  height:32px!important;
}
.asset-icon-option b,
.asset-icon-option small{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.asset-icon-option b{
  font-size:12px!important;
  line-height:1.2!important;
}
.asset-icon-option small{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
}
.asset-icon-empty{
  border:1px dashed #cbd5e1!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  padding:18px!important;
  text-align:center!important;
  font-weight:850!important;
}
.asset-image-upload-preview .asset-image-upload-icon-preview{
  width:150px!important;
  height:150px!important;
  border:1px solid #dbe5f2!important;
}
.asset-media-image-stage .asset-icon-image{
  width:100%!important;
  height:100%!important;
}
.asset-media-image-stage .asset-icon-image .ui-icon{
  width:88px!important;
  height:88px!important;
}
.asset-media-image-tile .asset-icon-image .ui-icon{
  width:42px!important;
  height:42px!important;
}
.asset-d3-visual .asset-icon-image,
.print-summary-head .asset-icon-image{
  width:82%!important;
  height:82%!important;
}
.asset-d3-visual .asset-icon-image .ui-icon,
.print-summary-head .asset-icon-image .ui-icon{
  width:58%!important;
  height:58%!important;
}
@media(max-width:700px){
  .asset-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .asset-icon-library-modal{width:min(100%,calc(100vw - 22px))!important;}
}


/* Add to Repair Intake modal: keep header and footer fixed while duplicate warnings scroll. */
body:not(.student-shell) .asset-repair-intake-modal{
  max-height:calc(100vh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.student-shell) .asset-repair-intake-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e2e8f0!important;
  background:#fff!important;
}
body:not(.student-shell) .asset-repair-intake-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .asset-repair-intake-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:16px 18px!important;
}
body:not(.student-shell) .asset-repair-intake-form>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.06)!important;
}
body:not(.student-shell) .asset-repair-intake-body>.asset-repair-intake-options:last-child{
  margin-bottom:0!important;
}
@media(max-width:700px){
  body:not(.student-shell) .asset-repair-intake-modal{
    max-height:calc(100vh - 18px)!important;
    width:min(100%,calc(100vw - 18px))!important;
  }
  body:not(.student-shell) .asset-repair-intake-modal>.modal-head,
  body:not(.student-shell) .asset-repair-intake-body,
  body:not(.student-shell) .asset-repair-intake-form>.modal-actions{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* Keep catalog/asset icon picker artwork contained inside each card. */
.asset-icon-grid{
  align-items:stretch!important;
}
.asset-icon-option{
  grid-template-rows:64px minmax(16px,auto) minmax(14px,auto)!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:126px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.asset-icon-option > span{
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  align-self:center!important;
  justify-self:center!important;
}
.asset-icon-option > span > svg,
.asset-icon-option > span .ui-icon{
  width:32px!important;
  height:32px!important;
  max-width:32px!important;
  max-height:32px!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.asset-icon-option b,
.asset-icon-option small{
  width:100%!important;
  min-width:0!important;
  line-height:1.15!important;
}
.catalog-icon-library-modal .asset-icon-grid{
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
}


/* Keep Choose Catalog Icon modal size stable while category/search filters change. */
.catalog-icon-library-modal{
  height:min(760px,calc(100vh - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.catalog-icon-library-modal>.modal-head,
.catalog-icon-library-modal>.modal-actions{
  flex:0 0 auto!important;
}
.catalog-icon-library-modal .asset-icon-library-body{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.catalog-icon-library-modal .asset-icon-search,
.catalog-icon-library-modal .asset-icon-category-row{
  flex:0 0 auto!important;
}
.catalog-icon-library-modal .asset-icon-grid{
  flex:1 1 auto!important;
  min-height:360px!important;
  max-height:none!important;
  overflow:auto!important;
  align-content:start!important;
}
.catalog-icon-library-modal .asset-icon-empty{
  flex:1 1 auto!important;
  min-height:360px!important;
  display:grid!important;
  place-items:center!important;
}
.catalog-icon-library-modal .asset-icon-empty[hidden]{
  display:none!important;
}
@media(max-height:720px){
  .catalog-icon-library-modal{height:calc(100vh - 20px)!important;}
  .catalog-icon-library-modal .asset-icon-grid,
  .catalog-icon-library-modal .asset-icon-empty{min-height:260px!important;}
}


/* Upload image previews should show the entire selected image, not crop it. */
.catalog-image-upload-preview img,
.asset-image-upload-preview img,
.event-file-upload-preview img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  box-sizing:border-box!important;
  padding:14px!important;
  background:#fff!important;
  border:0!important;
  border-radius:8px!important;
  transform:none!important;
}
.asset-image-upload-preview,
.event-file-upload-preview,
.catalog-image-upload-preview{
  overflow:hidden!important;
}


/* Premade icons in upload-preview modals should read large, while photos stay contained. */
.asset-image-upload-preview .asset-image-upload-icon-preview,
.catalog-image-upload-preview .asset-icon-image,
.event-file-upload-preview .asset-icon-image{
  width:min(176px,70%)!important;
  height:min(176px,70%)!important;
  max-width:176px!important;
  max-height:176px!important;
  padding:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#eef6ff,#fff)!important;
}
.asset-image-upload-preview .asset-image-upload-icon-preview .ui-icon,
.catalog-image-upload-preview .asset-icon-image .ui-icon,
.event-file-upload-preview .asset-icon-image .ui-icon{
  width:86px!important;
  height:86px!important;
  max-width:86px!important;
  max-height:86px!important;
  stroke-width:1.85!important;
}
.catalog-image-upload-preview img[src^="data:image/svg+xml"],
.asset-image-upload-preview img[src^="data:image/svg+xml"],
.event-file-upload-preview img[src^="data:image/svg+xml"]{
  padding:28px!important;
}


/* Moderate premade icon size in upload-preview modals. */
.asset-image-upload-preview .asset-image-upload-icon-preview,
.catalog-image-upload-preview .asset-icon-image,
.event-file-upload-preview .asset-icon-image{
  width:132px!important;
  height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
}
.asset-image-upload-preview .asset-image-upload-icon-preview .ui-icon,
.catalog-image-upload-preview .asset-icon-image .ui-icon,
.event-file-upload-preview .asset-icon-image .ui-icon{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
}
.catalog-image-upload-preview img[src^="data:image/svg+xml"],
.asset-image-upload-preview img[src^="data:image/svg+xml"],
.event-file-upload-preview img[src^="data:image/svg+xml"]{
  padding:42px!important;
}


/* Upload Image modal preview: show the full selected image inside the preview window. */
.catalog-image-upload-modal .catalog-image-upload-preview img[data-catalog-image-upload-preview],
.asset-image-upload-modal [data-asset-image-modal-preview] > img,
.event-file-upload-modal [data-event-file-upload-preview] > img{
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 28px)!important;
  max-height:calc(100% - 28px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:auto!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.catalog-image-upload-modal .catalog-image-upload-preview,
.asset-image-upload-modal [data-asset-image-modal-preview],
.event-file-upload-modal [data-event-file-upload-preview]{
  display:grid!important;
  place-items:center!important;
}


/* Upload Image modal preview: keep selected artwork comfortably smaller inside the preview box. */
.catalog-image-upload-modal .catalog-image-upload-preview img[data-catalog-image-upload-preview],
.asset-image-upload-modal [data-asset-image-modal-preview] > img,
.event-file-upload-modal [data-event-file-upload-preview] > img{
  width:auto!important;
  height:auto!important;
  max-width:72%!important;
  max-height:72%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:auto!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
}
.asset-image-upload-preview .asset-image-upload-icon-preview,
.catalog-image-upload-preview .asset-icon-image,
.event-file-upload-preview .asset-icon-image{
  width:108px!important;
  height:108px!important;
  max-width:108px!important;
  max-height:108px!important;
}
.asset-image-upload-preview .asset-image-upload-icon-preview .ui-icon,
.catalog-image-upload-preview .asset-icon-image .ui-icon,
.event-file-upload-preview .asset-icon-image .ui-icon{
  width:52px!important;
  height:52px!important;
  max-width:52px!important;
  max-height:52px!important;
}


/* Catalog Upload Image modal: built-in icon previews are SVG images, so keep them thumbnail-sized. */
#catalogImageUploadModal .catalog-image-upload-preview img[data-catalog-image-upload-preview][src^="data:image/svg+xml"]{
  width:96px!important;
  height:96px!important;
  max-width:96px!important;
  max-height:96px!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:auto!important;
  display:block!important;
}


/* Catalog Upload Image modal: uploaded raster images should fill the preview area only within safe padding. */
#catalogImageUploadModal .catalog-image-upload-preview img[data-catalog-image-upload-preview]:not([src^="data:image/svg+xml"]){
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 32px)!important;
  max-height:calc(100% - 32px)!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:auto!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}


/* Edit Asset image source controls. */
.asset-image-control{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fbfcff!important;
  padding:12px!important;
}
.asset-image-control-preview{
  width:96px!important;
  height:76px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#fff!important;
}
.asset-image-control-preview img{
  max-width:82px!important;
  max-height:62px!important;
  object-fit:contain!important;
}
.asset-image-control-preview .asset-icon-image{
  width:62px!important;
  height:62px!important;
}
.asset-image-control-main{
  display:grid!important;
  gap:8px!important;
  min-width:0!important;
}
.asset-image-control-main strong,
.asset-image-control-main small{
  display:block!important;
}
.asset-image-control-main strong{
  font-size:14px!important;
}
.asset-image-control-main small{
  color:#667085!important;
  font-weight:700!important;
}
.asset-image-control-main label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  font-weight:700!important;
}
.asset-image-control-main .asset-edit-model-image-choice{
  display:grid!important;
  gap:6px!important;
  align-items:start!important;
}
.asset-image-control-main .asset-edit-model-image-choice select{
  width:min(100%,360px)!important;
}
.asset-image-control-main input[type=radio]{
  width:16px!important;
  height:16px!important;
  flex:0 0 auto!important;
}
.asset-image-upload-inline{
  flex-wrap:wrap!important;
}
.asset-image-upload-inline input[type=file]{
  flex:1 1 220px!important;
  min-width:180px!important;
}
@media(max-width:720px){
  .asset-image-control{grid-template-columns:1fr!important}
}


/* Empty inherited asset image state. */
.asset-no-image{
  width:100%!important;
  height:100%!important;
  min-width:36px!important;
  min-height:36px!important;
  display:grid!important;
  place-items:center!important;
  color:#94a3b8!important;
  background:#f8fafc!important;
  border:1px dashed #cbd5e1!important;
  border-radius:8px!important;
}
.asset-no-image .ui-icon{
  width:46%!important;
  height:46%!important;
  stroke-width:1.8!important;
}
.asset-media-image-stage.is-empty{
  position:relative!important;
}
.asset-media-empty-state{
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:8px!important;
  color:#64748b!important;
  text-align:center!important;
  min-height:150px!important;
}
.asset-media-empty-state .ui-icon{
  width:44px!important;
  height:44px!important;
  color:#94a3b8!important;
}
.asset-media-empty-state strong{
  color:#334155!important;
  font-size:15px!important;
}
.asset-media-empty-state span{
  font-weight:700!important;
}


/* Asset Media modal polish: avoid clipped toolbar buttons and skinny empty-image states. */
#assetMediaModal .asset-media-modal{
  height:auto!important;
  max-height:calc(100vh - 36px)!important;
  overflow:hidden!important;
}
#assetMediaModal .asset-media-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:12px 18px!important;
  border-top:1px solid #eef2f7!important;
  border-bottom:1px solid #dbe5f2!important;
  overflow:visible!important;
}
#assetMediaModal .asset-media-tabs button{
  min-height:38px!important;
  height:auto!important;
  line-height:1!important;
  padding:9px 12px!important;
  flex:0 0 auto!important;
}
#assetMediaModal .asset-media-upload-btn{
  margin-left:auto!important;
}
#assetMediaModal .asset-media-panel{
  overflow:visible!important;
  padding:14px 18px 18px!important;
}
#assetMediaModal .asset-media-image-stage{
  height:220px!important;
  min-height:190px!important;
  max-height:34vh!important;
}
#assetMediaModal .asset-media-image-grid{
  margin-top:12px!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,150px))!important;
}
#assetMediaModal .asset-media-image-tile{
  min-height:0!important;
  overflow:visible!important;
}
#assetMediaModal .asset-media-image-tile .document-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  overflow:visible!important;
}
#assetMediaModal .asset-media-image-tile .document-actions .btn,
#assetMediaModal .asset-media-image-tile .document-actions button{
  min-height:28px!important;
  height:auto!important;
  line-height:1!important;
}
.asset-d3-visual .asset-no-image,
.asset-image-control-preview .asset-no-image,
.asset-media-image-tile .asset-no-image,
.asset-thumb .asset-no-image{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  background:linear-gradient(180deg,#f8fafc,#eef2f7)!important;
  border:1px dashed #b8c4d6!important;
  color:#64748b!important;
}
.asset-d3-visual .asset-no-image{
  width:136px!important;
  height:104px!important;
  border-radius:12px!important;
}
.asset-image-control-preview .asset-no-image{
  width:76px!important;
  height:58px!important;
}
.asset-media-image-tile .asset-no-image{
  border-radius:7px!important;
}
.asset-d3-visual .asset-no-image .ui-icon{
  width:42px!important;
  height:42px!important;
}
.asset-media-empty-state{
  min-width:min(360px,100%)!important;
  min-height:160px!important;
  padding:22px!important;
  border:1px dashed #b8c4d6!important;
  border-radius:12px!important;
  background:#fff!important;
}
.asset-media-empty-state .ui-icon{
  width:54px!important;
  height:54px!important;
}
@media(max-width:760px){
  #assetMediaModal .asset-media-upload-btn{margin-left:0!important}
  #assetMediaModal .asset-media-tabs{padding:10px 14px!important}
  #assetMediaModal .asset-media-panel{padding:12px 14px 14px!important}
}


/* No-image asset table and quick preview states. */
.asset-table td[data-col="asset"] .asset-thumb.asset-thumb-lg .asset-no-image,
.asset-directory-table .asset-thumb.asset-thumb-lg .asset-no-image{
  width:calc(100% - 8px)!important;
  height:calc(100% - 8px)!important;
  min-width:0!important;
  min-height:0!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#f8fafc,#eef2f7)!important;
  border:1px dashed #b8c4d6!important;
  color:#64748b!important;
}
.asset-table td[data-col="asset"] .asset-thumb.asset-thumb-lg .asset-no-image .ui-icon,
.asset-directory-table .asset-thumb.asset-thumb-lg .asset-no-image .ui-icon{
  width:24px!important;
  height:24px!important;
}
.asset-quick-preview-image.is-empty{
  position:relative!important;
}
.asset-quick-preview-image.is-empty::before{
  content:"";
  width:min(180px,72%)!important;
  height:128px!important;
  display:block!important;
  border:1px dashed #b8c4d6!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fff,#f1f5f9)!important;
}
.asset-quick-preview-image.is-empty::after{
  content:"No Image";
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  color:#64748b!important;
  font-weight:900!important;
  font-size:13px!important;
}
.asset-quick-preview-image.is-empty img{
  display:none!important;
}


/* Asset table no-image thumbnail: use a fuller tile so it does not read as thin. */
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg{
  display:grid!important;
  place-items:center!important;
}
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image{
  width:48px!important;
  height:40px!important;
  max-width:48px!important;
  max-height:40px!important;
  border-radius:9px!important;
  border:1px dashed #94a3b8!important;
  background:linear-gradient(180deg,#ffffff,#e8eef6)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)!important;
}
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image .ui-icon{
  width:26px!important;
  height:26px!important;
}


/* Asset table no-image thumbnail final: fill the Asset column thumbnail area. */
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image{
  width:60px!important;
  height:46px!important;
  max-width:60px!important;
  max-height:46px!important;
  min-width:60px!important;
  min-height:46px!important;
  border-radius:10px!important;
  border:1px solid #b8c4d6!important;
  background:#eef3f8!important;
  box-shadow:inset 0 0 0 1px #fff!important;
}
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image .ui-icon{
  width:31px!important;
  height:31px!important;
  stroke-width:2.2!important;
  color:#52627a!important;
}


/* Asset directory no-image thumbnail: target every Assets table variant and enlarge parent + child. */
.asset-directory-card td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg,
.asset-inventory-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg,
.asset-directory-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg,
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg{
  width:72px!important;
  height:54px!important;
  min-width:72px!important;
  min-height:54px!important;
  max-width:72px!important;
  max-height:54px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
.asset-directory-card td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image,
.asset-inventory-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image,
.asset-directory-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image,
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image{
  width:66px!important;
  height:48px!important;
  min-width:66px!important;
  min-height:48px!important;
  max-width:66px!important;
  max-height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  border:1px solid #94a3b8!important;
  background:#e9eff6!important;
  color:#475569!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85)!important;
}
.asset-directory-card td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image .ui-icon,
.asset-inventory-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image .ui-icon,
.asset-directory-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image .ui-icon,
.asset-table td[data-col="asset"] .asset-preview-trigger.asset-thumb.asset-thumb-lg .asset-no-image .ui-icon{
  width:34px!important;
  height:34px!important;
  stroke-width:2.25!important;
}


/* Master Search no-image asset result tiles. */
.global-search-result[data-type="asset"] img.global-search-visual{
  width:42px!important;
  height:34px!important;
  min-width:42px!important;
  min-height:34px!important;
  border-radius:8px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:3px!important;
}
.global-search-result .global-search-visual.asset-no-image,
.advanced-search-result .advanced-search-result-visual.asset-no-image{
  width:42px!important;
  height:34px!important;
  min-width:42px!important;
  min-height:34px!important;
  border-radius:8px!important;
  border:1px solid #94a3b8!important;
  background:#e9eff6!important;
  color:#475569!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:0!important;
}
.global-search-result .global-search-visual.asset-no-image .ui-icon,
.advanced-search-result .advanced-search-result-visual.asset-no-image .ui-icon{
  width:22px!important;
  height:22px!important;
  stroke-width:2.25!important;
}


/* Asset media upload primary-image option. */
.asset-primary-upload-option{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:10px 12px!important;
  color:#24344d!important;
  font-weight:800!important;
}
.asset-primary-upload-option input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0!important;
  accent-color:#2563eb!important;
}
.asset-primary-upload-option span{
  font-size:13px!important;
  line-height:1.25!important;
}


/* Damage fee modal: keep header and footer fixed while the form scrolls. */
.billing-fee-modal{
  width:min(1040px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.billing-fee-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-radius:12px 12px 0 0!important;
  border-bottom:1px solid #d8e3f0!important;
  background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 68%,#eef2ff 100%)!important;
}
.billing-fee-modal>.billing-fee-form{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  align-content:start!important;
  gap:14px!important;
  padding:16px 18px 0!important;
}
.billing-fee-modal>.billing-fee-form>.modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  margin:2px -18px 0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
  box-shadow:0 -14px 28px rgba(15,23,42,.08)!important;
}
@media(max-width:760px){
  .billing-fee-modal{
    max-height:calc(100vh - 18px)!important;
  }
  .billing-fee-modal>.billing-fee-form{
    padding:14px 14px 0!important;
  }
  .billing-fee-modal>.billing-fee-form>.modal-actions{
    margin:2px -14px 0!important;
    padding:12px 14px!important;
  }
}


/* Asset detail image frame and compact Asset Media card actions. */
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-visual{
  grid-template-rows:158px auto!important;
  gap:12px!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button{
  width:min(192px,100%)!important;
  height:152px!important;
  padding:14px!important;
  border:1px solid #d6e2f0!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.16), inset 0 0 0 1px rgba(255,255,255,.9)!important;
  overflow:hidden!important;
  transition:border-color .15s ease, box-shadow .15s ease!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button:hover,
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button:focus-visible{
  border-color:#a9bfdd!important;
  box-shadow:0 22px 44px rgba(15,23,42,.2), 0 0 0 4px rgba(37,99,235,.08), inset 0 0 0 1px rgba(255,255,255,.9)!important;
  transform:none!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button img{
  max-width:164px!important;
  max-height:124px!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 12px 18px rgba(15,23,42,.18))!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button .asset-no-image{
  border-style:dashed!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
#assetMediaModal .asset-media-image-grid{
  grid-template-columns:repeat(auto-fill,minmax(126px,146px))!important;
  align-items:start!important;
}
#assetMediaModal .asset-media-image-tile{
  position:relative!important;
  gap:6px!important;
  padding:7px!important;
}
#assetMediaModal .asset-media-card-actions{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:0!important;
  min-height:30px!important;
}
#assetMediaModal .asset-media-action-menu{
  position:relative!important;
  width:100%!important;
  display:block!important;
}
#assetMediaModal .asset-media-action-summary{
  width:100%!important;
  min-height:30px!important;
  height:30px!important;
  padding:0 9px!important;
  justify-content:center!important;
  font-size:11px!important;
  list-style:none!important;
}
#assetMediaModal .asset-media-action-summary::-webkit-details-marker{
  display:none!important;
}
#assetMediaModal .asset-media-action-summary .ui-icon{
  width:13px!important;
  height:13px!important;
}
#assetMediaModal .asset-media-action-menu .table-action-menu-panel{
  right:0!important;
  top:calc(100% + 5px)!important;
  min-width:156px!important;
  z-index:100500!important;
  padding:5px!important;
  border-radius:8px!important;
}
#assetMediaModal .asset-media-action-menu .table-action-menu-panel a,
#assetMediaModal .asset-media-action-menu .table-action-menu-panel button{
  min-height:30px!important;
  height:auto!important;
  padding:8px 9px!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.15!important;
}
#assetMediaModal .asset-media-action-menu .table-action-menu-panel form{
  margin:0!important;
}


/* Asset document rename modal keeps the extension locked visually. */
.asset-document-rename-modal{
  width:min(560px,calc(100vw - 32px))!important;
}
.asset-document-rename-modal form{
  display:grid!important;
  gap:14px!important;
}
.asset-document-rename-field{
  display:grid!important;
  gap:7px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
}
.asset-document-rename-input{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  border:1px solid #cfdced!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.asset-document-rename-input input{
  border:0!important;
  border-radius:0!important;
  min-width:0!important;
  height:42px!important;
  font-weight:850!important;
}
.asset-document-rename-input b{
  display:grid!important;
  place-items:center!important;
  align-self:stretch!important;
  padding:0 12px!important;
  border-left:1px solid #e2e8f0!important;
  background:#f8fafc!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:950!important;
}
.asset-document-rename-field small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}


/* Asset detail image: flat presentation, no frame or shadow. */
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button{
  width:min(170px,100%)!important;
  height:136px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transition:none!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button:hover,
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button:focus-visible{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  outline:none!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button img{
  max-width:154px!important;
  max-height:118px!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  box-shadow:none!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button .asset-icon-image{
  width:132px!important;
  height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%)!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-d3-image-button .asset-icon-image .ui-icon{
  width:76px!important;
  height:76px!important;
  stroke-width:2.15!important;
}

.asset-tools-equipment-toggle{
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#334155!important;
  padding:0 10px!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.asset-tools-equipment-toggle input{
  width:15px!important;
  height:15px!important;
  margin:0!important;
  accent-color:#2563eb!important;
}
.asset-tools-equipment-toggle .ui-icon{
  width:15px!important;
  height:15px!important;
  color:#2563eb!important;
}
.asset-tools-equipment-toggle b{
  font-size:12px!important;
  font-weight:850!important;
}
.asset-tools-equipment-toggle:has(input:checked){
  border-color:#93c5fd!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}


/* Asset Media card Actions menu: explicit open state. */
#assetMediaModal .asset-media-image-tile.has-open-actions,
#assetMediaModal .asset-media-image-tile:has(.asset-media-action-menu.open){
  z-index:30!important;
}
#assetMediaModal .asset-media-action-menu{
  position:relative!important;
  width:100%!important;
  display:block!important;
}
#assetMediaModal .asset-media-action-menu .table-action-menu-panel{
  display:none!important;
  position:absolute!important;
  right:0!important;
  top:calc(100% + 5px)!important;
  min-width:164px!important;
  z-index:100600!important;
  background:#fff!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  box-shadow:0 18px 44px rgba(13,25,43,.18)!important;
  padding:5px!important;
}
#assetMediaModal .asset-media-action-menu.open .table-action-menu-panel{
  display:grid!important;
}
#assetMediaModal .asset-media-action-menu .table-action-menu-panel a,
#assetMediaModal .asset-media-action-menu .table-action-menu-panel button{
  display:flex!important;
  width:100%!important;
  justify-content:flex-start!important;
  border:0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#172033!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
#assetMediaModal .asset-media-action-menu .table-action-menu-panel .danger-menu-action{
  color:#b42318!important;
}


/* Asset overview card header: match Warranty and Assignment title treatment. */
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-overview-title{
  grid-column:1 / -1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:42px!important;
  padding-bottom:12px!important;
  margin:0 0 2px!important;
  border-bottom:1px solid #e5edf6!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-overview-title h3{
  margin:0!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:0!important;
}
body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-overview-title .d3-icon{
  flex:0 0 30px!important;
}
@media(max-width:760px){
  body:not(.student-shell) .asset-design3-shell .asset-d3-main-card .asset-overview-title{
    margin-bottom:6px!important;
  }
}


/* Stable location people search and reusable People Directory profile modal shell. */
.location-people-modal{
  height:min(760px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
}
.location-people-modal-body{
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
.location-people-list{
  height:100%!important;
  max-height:none!important;
}
.profile-shell-modal{
  height:min(860px,calc(100vh - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:16px!important;
}
.profile-shell-modal>.modal-head{
  flex:0 0 auto!important;
  margin:-16px -16px 0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #d8e3f0!important;
}
.profile-shell-modal>.profile-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:16px 2px 16px 0!important;
}
.profile-shell-modal>.profile-modal-footer{
  flex:0 0 auto!important;
  margin:0 -16px -16px!important;
  padding:13px 16px!important;
  border-top:1px solid #e1e8f2!important;
  background:#fbfdff!important;
}
.profile-shell-modal>.profile-modal-footer .primary,
.profile-shell-modal>.profile-modal-footer .btn{
  min-height:38px!important;
}
@media(max-width:760px){
  .location-people-modal,
  .profile-shell-modal{
    height:calc(100vh - 18px)!important;
    max-height:calc(100vh - 18px)!important;
  }
}


/* Wider profile header detail grid with persistent empty cells. */
.profile-shell-modal.person-profile-modal,
.profile-shell-modal.student-profile-modal{
  width:min(1160px,calc(100vw - 32px))!important;
}
.profile-shell-modal .student-profile-id-table{
  align-self:stretch!important;
  background:#fff!important;
}
.profile-shell-modal .student-profile-id-table div{
  min-height:56px!important;
  background:#fff!important;
}
.profile-shell-modal .student-profile-id-table .profile-grid-filler{
  display:block!important;
  background:#fbfdff!important;
}
.profile-shell-modal .student-profile-id-table b{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(min-width:1101px){
  .profile-shell-modal .refined-student-profile-head{
    grid-template-columns:64px minmax(140px,.32fr) minmax(680px,1.55fr)!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .profile-shell-modal .student-profile-title{
    align-self:center!important;
    min-width:0!important;
  }
  .profile-shell-modal .student-profile-id-table{
    grid-template-columns:repeat(4,minmax(150px,1fr))!important;
  }
  .profile-shell-modal .student-profile-id-table div:nth-child(3n){
    border-right:1px solid #e2e8f0!important;
  }
  .profile-shell-modal .student-profile-id-table div:nth-child(4n){
    border-right:0!important;
  }
  .profile-shell-modal .student-profile-id-table div:nth-last-child(-n+4){
    border-bottom:0!important;
  }
}


/* Tighten profile modal spacing so metric cards sit closer to the header. */
.profile-shell-modal>.profile-modal-body{
  padding-top:8px!important;
}
.profile-shell-modal .student-profile-metrics{
  margin:6px 0 16px!important;
}


/* Align profile title text with the avatar in profile modal headers. */
.profile-shell-modal .student-profile-title{
  align-self:start!important;
  padding-top:3px!important;
}
.profile-shell-modal .student-profile-title h2{
  line-height:1.08!important;
}
@media(min-width:1101px){
  .profile-shell-modal .student-profile-title{
    align-self:start!important;
  }
}


/* Stronger top alignment for profile avatar and title block. */
.profile-shell-modal .refined-student-profile-head{
  align-items:start!important;
}
.profile-shell-modal .refined-student-profile-head>.avatar,
.profile-shell-modal .refined-student-profile-head>.avatar.xl{
  align-self:start!important;
  margin-top:0!important;
}
.profile-shell-modal .student-profile-title{
  align-self:start!important;
  padding-top:0!important;
  margin-top:-2px!important;
  transform:translateY(-2px)!important;
}
.profile-shell-modal .student-profile-title span{
  margin-top:0!important;
}
.profile-shell-modal .student-profile-title h2{
  margin-top:0!important;
}


/* Professional profile intelligence sections. */
.profile-open-items{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  margin:4px 0 14px!important;
}
.profile-open-items article{
  min-width:0!important;
  min-height:68px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:2px 9px!important;
  padding:10px!important;
}
.profile-open-items article>span{
  grid-row:1 / 3!important;
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef4ff!important;
  color:#2458d3!important;
}
.profile-open-items article b{
  min-width:0!important;
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-open-items article small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
.profile-open-items article.ok>span{background:#ecfdf3!important;color:#168957!important;}
.profile-open-items article.warn>span{background:#fff7e6!important;color:#b45309!important;}
.profile-open-items article.bad>span{background:#fff1f2!important;color:#be123c!important;}
.profile-insight-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 16px!important;
}
.profile-insight-card{
  min-width:0!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:12px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}
.profile-insight-card h3{
  margin:0 0 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:0!important;
}
.profile-insight-card h3 .ui-icon{
  color:#2458d3!important;
}
.profile-insight-card dl{
  margin:0!important;
  display:grid!important;
  gap:8px!important;
}
.profile-insight-card dl div{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  border-bottom:1px solid #edf2f7!important;
  padding-bottom:7px!important;
}
.profile-insight-card dl div:last-child{border-bottom:0!important;padding-bottom:0!important;}
.profile-insight-card dt{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
.profile-insight-card dd{
  margin:0!important;
  min-width:0!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.profile-asset-summary{
  display:grid!important;
  gap:8px!important;
}
.profile-asset-summary span{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid #edf2f7!important;
  border-radius:7px!important;
  background:#fbfdff!important;
  padding:8px 10px!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
}
.profile-asset-summary b{
  color:#0f172a!important;
  font-size:14px!important;
}
.profile-recent-card,
.profile-actions-card{
  grid-column:span 2!important;
}
.profile-recent-list{
  display:grid!important;
  gap:7px!important;
}
.profile-recent-list a,
.profile-recent-list>div{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  border:1px solid #edf2f7!important;
  border-radius:7px!important;
  background:#fbfdff!important;
  color:#172033!important;
  padding:8px!important;
  text-decoration:none!important;
}
.profile-recent-list a:hover{border-color:#b8c8f3!important;background:#f7faff!important;}
.profile-recent-list span{
  width:30px!important;
  height:30px!important;
  border-radius:7px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef4ff!important;
  color:#2458d3!important;
}
.profile-recent-list b,
.profile-recent-list small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-recent-list b{font-size:12px!important;color:#172033!important;}
.profile-recent-list small{font-size:11px!important;color:#64748b!important;font-weight:850!important;}
.profile-quick-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.profile-quick-actions .btn,
.profile-quick-actions button,
.profile-quick-actions a{
  min-height:34px!important;
  border-radius:7px!important;
  text-decoration:none!important;
}
.profile-muted-note{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
}
@media(max-width:1180px){
  .profile-open-items{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .profile-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  .profile-open-items,
  .profile-insight-grid{grid-template-columns:1fr!important;}
  .profile-recent-card,
  .profile-actions-card{grid-column:auto!important;}
  .profile-insight-card dl div{grid-template-columns:1fr!important;gap:3px!important;}
}


/* Profile cleanup after action-card redesign. */
.profile-insight-grid.profile-insight-grid-compact{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.profile-assets-card{grid-column:1!important;grid-row:1!important;}
.profile-account-card{grid-column:2!important;grid-row:1!important;}
.profile-recent-card{grid-column:1!important;grid-row:2!important;}
.profile-actions-card{grid-column:2!important;grid-row:2!important;}
.profile-account-card dd{
  font-weight:600!important;
  color:#334155!important;
}
.profile-account-card dt{
  font-weight:800!important;
}
.profile-action-modal{
  width:min(720px,calc(100vw - 32px))!important;
}
.profile-action-form{
  gap:12px!important;
}
.profile-action-person{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#f8fbff!important;
  padding:10px 12px!important;
}
.profile-action-person b,
.profile-action-person small{
  display:block!important;
}
.profile-action-person b{
  color:#172033!important;
  font-weight:900!important;
}
.profile-action-person small{
  color:#64748b!important;
  font-weight:750!important;
}
.profile-action-body{
  display:grid!important;
  gap:12px!important;
}
.profile-action-modal .modal-actions .primary.btn{
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:900px){
  .profile-insight-grid.profile-insight-grid-compact{grid-template-columns:1fr!important;}
  .profile-assets-card,.profile-account-card,.profile-recent-card,.profile-actions-card{grid-column:auto!important;grid-row:auto!important;}
}


/* Compact asset log inside the profile Assigned Assets card. */
.profile-asset-log{
  display:grid!important;
  gap:7px!important;
  margin-top:10px!important;
}
.profile-asset-log a,
.profile-asset-log>div{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  border:1px solid #edf2f7!important;
  border-radius:7px!important;
  background:#fbfdff!important;
  color:#172033!important;
  padding:8px!important;
  text-decoration:none!important;
}
.profile-asset-log a:hover{
  border-color:#b8c8f3!important;
  background:#f7faff!important;
}
.profile-asset-log-thumb{
  width:42px!important;
  height:34px!important;
  border-radius:6px!important;
  border:1px solid #e2e8f0!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.profile-asset-log-thumb img,
.profile-asset-log-thumb svg{
  max-width:36px!important;
  max-height:28px!important;
  object-fit:contain!important;
  display:block!important;
}
.profile-asset-log b,
.profile-asset-log small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-asset-log b{
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.profile-asset-log a>span:not(.profile-asset-log-thumb),
.profile-asset-log>div>span:not(.profile-asset-log-thumb){
  min-width:0!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.25!important;
}
.profile-asset-log small{
  margin-top:2px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:750!important;
}


/* Make asset assignment due dates more visible without bolding the date. */
body:not(.student-shell) .assignment-d3-card .assignment-due-line{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:6px!important;
  padding:7px 10px!important;
  border:1px solid #bfdbfe!important;
  border-radius:8px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-weight:800!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-due-line .ui-icon{
  display:block!important;
  width:15px!important;
  height:15px!important;
  color:#2563eb!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-due-line > span:first-of-type{
  color:#1e40af!important;
  font-weight:900!important;
}
body:not(.student-shell) .assignment-d3-card .assignment-due-line .assignment-detail-value{
  color:#1e3a8a!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

/* Keep asset label dialogs usable on shorter screens. */
body:not(.student-shell) .asset-label-modal{
  width:min(1040px,calc(100vw - 32px))!important;
  height:min(820px,calc(100vh - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .asset-label-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .asset-label-modal>.asset-label-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  gap:14px!important;
  align-content:start!important;
  padding:16px 18px!important;
  background:#fff!important;
}
body:not(.student-shell) .asset-label-modal>.asset-label-modal-body>.form-grid{
  margin:0!important;
}
body:not(.student-shell) .asset-label-modal .label-preview-stage{
  min-height:420px!important;
  margin:0!important;
}
body:not(.student-shell) .asset-label-modal>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .selected-asset-label-modal{
  height:min(820px,calc(100vh - 32px))!important;
  max-height:calc(100vh - 32px)!important;
}
body:not(.student-shell) .selected-asset-label-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .selected-asset-label-modal>.selected-asset-label-controls{
  flex:0 0 auto!important;
  padding:14px 18px!important;
  border-bottom:1px solid #e5edf7!important;
  background:#fff!important;
}
body:not(.student-shell) .selected-asset-label-modal>#selectedAssetLabelPreviewForm{
  flex:0 0 auto!important;
  margin:0!important;
}
body:not(.student-shell) .selected-asset-label-modal>.label-print-preview-frame-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  border-top:0!important;
}
body:not(.student-shell) .selected-asset-label-modal>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
}
@media(max-width:760px){
  body:not(.student-shell) .asset-label-modal,
  body:not(.student-shell) .selected-asset-label-modal{
    width:calc(100vw - 20px)!important;
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }
  body:not(.student-shell) .asset-label-modal>.asset-label-modal-body,
  body:not(.student-shell) .selected-asset-label-modal>.selected-asset-label-controls{
    padding:12px!important;
  }
}

/* Make the accessory linker a search-first picker instead of a long asset wall. */
body:not(.student-shell) .accessory-link-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .accessory-link-modal form>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .accessory-link-layout{
  padding:14px 18px!important;
  background:#f8fafc!important;
}
body:not(.student-shell) .accessory-picker-list.search-empty [data-accessory-option],
body:not(.student-shell) .accessory-picker-list [data-accessory-option][hidden]{
  display:none!important;
}
body:not(.student-shell) .accessory-picker-search-prompt,
body:not(.student-shell) .accessory-picker-no-results{
  border:1px dashed #cbd5e1!important;
  border-radius:10px!important;
  background:#f8fafc!important;
}
body:not(.student-shell) .accessory-picker-search-prompt[hidden],
body:not(.student-shell) .accessory-picker-no-results[hidden]{
  display:none!important;
}
body:not(.student-shell) .accessory-picker-option{
  grid-template-columns:46px minmax(0,1fr) minmax(210px,280px)!important;
  min-height:64px!important;
}
body:not(.student-shell) .accessory-picker-option .asset-thumb{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
}
body:not(.student-shell) .accessory-option-main,
body:not(.student-shell) .accessory-option-meta{
  min-width:0!important;
}
body:not(.student-shell) .accessory-option-main b,
body:not(.student-shell) .accessory-option-main span,
body:not(.student-shell) .accessory-option-main small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .accessory-option-meta{
  grid-template-columns:68px minmax(0,1fr)!important;
}
body:not(.student-shell) .accessory-option-meta small,
body:not(.student-shell) .accessory-option-meta b{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .accessory-option-meta small{
  min-width:64px!important;
}
@media(max-width:900px){
  body:not(.student-shell) .accessory-link-layout{
    padding:12px!important;
  }
  body:not(.student-shell) .accessory-picker-option{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  body:not(.student-shell) .accessory-option-meta{
    grid-column:2!important;
  }
}

/* Center the parent asset thumbnail in the accessory link card. */
body:not(.student-shell) .accessory-parent-card .asset-thumb{
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:hidden!important;
}
body:not(.student-shell) .accessory-parent-card .asset-thumb img,
body:not(.student-shell) .accessory-parent-card .asset-thumb svg{
  display:block!important;
  margin:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}

/* Configurable accessory relationship controls. */
body:not(.student-shell) .accessory-relationship-field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 40px!important;
  gap:8px!important;
  align-items:end!important;
}
body:not(.student-shell) .accessory-relationship-field label{
  min-width:0!important;
}
body:not(.student-shell) .accessory-relationship-manage{
  width:40px!important;
  height:40px!important;
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#475569!important;
}
body:not(.student-shell) .accessory-relationship-manage:hover{
  background:#f8fbff!important;
  border-color:#bfdbfe!important;
  color:#2563eb!important;
}
body:not(.student-shell) .accessory-relationship-modal{
  width:min(560px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .accessory-relationship-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .accessory-relationship-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.student-shell) .accessory-relationship-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  gap:14px!important;
  align-content:start!important;
  padding:16px 18px!important;
  background:#fff!important;
}
body:not(.student-shell) .accessory-relationship-list{
  display:grid!important;
  gap:8px!important;
}
body:not(.student-shell) .accessory-relationship-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 36px!important;
  gap:8px!important;
  align-items:center!important;
}
body:not(.student-shell) .accessory-relationship-row input,
body:not(.student-shell) .accessory-relationship-add-row input{
  height:38px!important;
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#25324a!important;
  font-weight:750!important;
  padding:8px 10px!important;
}
body:not(.student-shell) .accessory-relationship-add-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:end!important;
  border-top:1px solid #e5ecf5!important;
  padding-top:12px!important;
}
body:not(.student-shell) .accessory-relationship-add-row label{
  display:grid!important;
  gap:6px!important;
  color:#25324a!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .accessory-relationship-modal .modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
}

/* Inline linked-accessory management without an Actions dropdown. */
body:not(.student-shell) .linked-accessory-inline-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
body:not(.student-shell) .linked-accessory-inline-actions form{
  margin:0!important;
  display:inline-flex!important;
}
body:not(.student-shell) .linked-accessory-inline-actions .btn{
  min-height:30px!important;
  height:30px!important;
  padding:0 10px!important;
  border-radius:7px!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .linked-accessory-inline-actions .danger-outline{
  border-color:#fecdd3!important;
  background:#fff1f2!important;
  color:#b42318!important;
}
body:not(.student-shell) .accessory-link-edit-modal{
  width:min(560px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body:not(.student-shell) .accessory-link-edit-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
body:not(.student-shell) .accessory-link-edit-form{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.student-shell) .accessory-link-edit-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  padding:16px 18px!important;
  background:#fff!important;
}
body:not(.student-shell) .accessory-link-edit-body .accessory-parent-card,
body:not(.student-shell) .accessory-link-edit-body .full{
  grid-column:1/-1!important;
}
body:not(.student-shell) .accessory-link-edit-body label{
  display:grid!important;
  gap:7px!important;
  color:#25324a!important;
  font-size:12px!important;
  font-weight:900!important;
}
body:not(.student-shell) .accessory-link-edit-body select,
body:not(.student-shell) .accessory-link-edit-body textarea{
  border:1px solid #cfdaea!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#25324a!important;
  font-weight:750!important;
  padding:9px 11px!important;
}
body:not(.student-shell) .accessory-link-edit-body textarea{
  resize:vertical!important;
}
body:not(.student-shell) .accessory-link-edit-modal .modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
}
@media(max-width:640px){
  body:not(.student-shell) .accessory-link-edit-body{
    grid-template-columns:1fr!important;
  }
}

/* Linked accessory rows and parent asset callout. */
body:not(.student-shell) .linked-accessory-asset-main{
  align-items:flex-start!important;
  min-width:0!important;
}
body:not(.student-shell) .linked-accessory-table .asset-title{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body:not(.student-shell) .linked-accessory-table .asset-title b,
body:not(.student-shell) .linked-accessory-table .asset-title span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .linked-accessory-table .asset-title .linked-accessory-model-subline{
  display:block!important;
  max-width:320px!important;
  margin-top:1px!important;
  color:#667085!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}
body:not(.student-shell) .linked-parent-panel{
  margin-top:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  padding:12px!important;
}
body:not(.student-shell) .linked-parent-panel-head{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
body:not(.student-shell) .linked-parent-panel-head>span{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #bfdbfe!important;
  border-radius:8px!important;
  background:#eff6ff!important;
  color:#2563eb!important;
  flex:0 0 auto!important;
}
body:not(.student-shell) .linked-parent-panel-head h4,
body:not(.student-shell) .linked-parent-panel-head p{
  margin:0!important;
}
body:not(.student-shell) .linked-parent-panel-head h4{
  color:#172033!important;
  font-size:14px!important;
}
body:not(.student-shell) .linked-parent-panel-head p{
  margin-top:2px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}
body:not(.student-shell) .linked-parent-card-list{
  display:grid!important;
  gap:8px!important;
}
body:not(.student-shell) .linked-parent-card{
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:10px!important;
  color:#172033!important;
  text-decoration:none!important;
}
body:not(.student-shell) .linked-parent-card:hover{
  border-color:#bfdbfe!important;
  background:#f8fbff!important;
}
body:not(.student-shell) .linked-parent-card-copy{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body:not(.student-shell) .linked-parent-card-copy b,
body:not(.student-shell) .linked-parent-card-copy span,
body:not(.student-shell) .linked-parent-card-copy small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.student-shell) .linked-parent-card-copy b{
  color:#172033!important;
  font-size:14px!important;
  font-weight:950!important;
}
body:not(.student-shell) .linked-parent-card-copy span{
  color:#334155!important;
  font-size:13px!important;
  font-weight:850!important;
}
body:not(.student-shell) .linked-parent-card-copy small{
  color:#667085!important;
  font-size:11px!important;
  font-weight:750!important;
}

/* Keep default asset images contained inside Add/Duplicate Asset previews. */
body:not(.student-shell) .add-asset-preview-visual{
  width:100%!important;
  height:112px!important;
  min-height:112px!important;
  display:grid!important;
  place-items:center!important;
  padding:10px!important;
  background:#f7f9fc!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  overflow:hidden!important;
}
body:not(.student-shell) .add-asset-preview-visual>img,
body:not(.student-shell) .add-asset-preview-visual img[data-add-asset-preview-image],
body:not(.student-shell) .add-asset-preview-visual img[data-duplicate-asset-preview-image]{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  padding:0!important;
  margin:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  display:block!important;
}
body:not(.student-shell) .add-asset-preview-visual .asset-icon-image,
body:not(.student-shell) .add-asset-preview-visual .asset-no-image{
  width:100%!important;
  height:100%!important;
  max-width:92px!important;
  max-height:92px!important;
  display:grid!important;
  place-items:center!important;
  margin:auto!important;
}
body:not(.student-shell) .add-asset-preview-visual .asset-icon-image .ui-icon,
body:not(.student-shell) .add-asset-preview-visual .asset-no-image .ui-icon{
  width:58px!important;
  height:58px!important;
}

/* Hard containment for images selected from the Default Image dropdown. */
body:not(.student-shell) .add-asset-preview{
  overflow:hidden!important;
}
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  padding:12px!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img.add-asset-preview-image-fit,
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img[data-add-asset-preview-image],
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img[data-duplicate-asset-preview-image]{
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 2px)!important;
  max-height:calc(100% - 2px)!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:auto!important;
  padding:0!important;
  transform:none!important;
}
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img[src$=".svg"],
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img[src*="data:image/svg"]{
  max-width:78px!important;
  max-height:78px!important;
}

/* Final Add/Duplicate Asset preview sizing: keep selected default images as thumbnails. */
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual{
  box-sizing:border-box!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  padding:12px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual>img,
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img.add-asset-preview-image-fit,
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img[data-add-asset-preview-image],
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual img[data-duplicate-asset-preview-image]{
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
}
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual .asset-icon-image,
body:not(.student-shell) .add-asset-preview .add-asset-preview-visual .asset-no-image{
  box-sizing:border-box!important;
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  display:grid!important;
  place-items:center!important;
  margin:auto!important;
}

/* Report Wizard premade/source cards: keep every text line left aligned. */
body:not(.student-shell) .report-template-card,
body:not(.student-shell) .report-template-card *{
  text-align:left!important;
}
body:not(.student-shell) .report-template-card{
  justify-items:start!important;
}
body:not(.student-shell) .report-template-card > span,
body:not(.student-shell) .report-template-card > b,
body:not(.student-shell) .report-template-card > small,
body:not(.student-shell) .report-source-card > em{
  display:block!important;
  width:100%!important;
  justify-self:start!important;
}

/* Report Wizard iframe loading state and hard card alignment. */
body:not(.student-shell) .report-wizard-modal-frame{
  position:relative!important;
}
body:not(.student-shell) .report-wizard-frame-loading{
  position:absolute!important;
  inset:62px 0 0!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef4fb 100%)!important;
  color:#172033!important;
}
body:not(.student-shell) .report-wizard-frame-loading[hidden]{
  display:none!important;
}
body:not(.student-shell) .report-wizard-frame-loading span{
  display:grid!important;
  gap:9px!important;
  justify-items:center!important;
  width:min(360px,calc(100% - 48px))!important;
  border:1px solid #dbe5f2!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:20px 24px!important;
  box-shadow:0 18px 38px rgba(15,23,42,.14)!important;
}
body:not(.student-shell) .report-wizard-frame-loading b{
  font-size:15px!important;
}
body:not(.student-shell) .report-wizard-frame-loading small{
  color:#64748b!important;
  font-weight:700!important;
}
body:not(.student-shell) .report-wizard-progress{
  display:block!important;
  position:relative!important;
  width:min(280px,100%)!important;
  height:9px!important;
  margin-top:4px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#e2e8f0!important;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.2)!important;
}
body:not(.student-shell) .report-wizard-progress em{
  display:block!important;
  width:46%!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#2563eb 0%,#0f9f7a 100%)!important;
  animation:reportWizardProgress 1.15s ease-in-out infinite!important;
}
@keyframes reportWizardProgress{
  0%{transform:translateX(-115%);}
  100%{transform:translateX(235%);}
}
html body.report-embed-body .report-template-grid .report-template-card,
html body.report-embed-body .report-template-grid .report-template-card > span,
html body.report-embed-body .report-template-grid .report-template-card > b,
html body.report-embed-body .report-template-grid .report-template-card > small{
  text-align:left!important;
  justify-self:start!important;
}

/* Report Wizard premade report cards: use the full grid column width consistently. */
body:not(.student-shell) .report-template-grid,
html body.report-embed-body .report-template-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  justify-items:stretch!important;
  align-items:stretch!important;
}
body:not(.student-shell) .report-template-grid .report-template-card,
html body.report-embed-body .report-template-grid .report-template-card{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  justify-self:stretch!important;
}
body:not(.student-shell) .report-template-grid .report-template-card > span,
body:not(.student-shell) .report-template-grid .report-template-card > b,
body:not(.student-shell) .report-template-grid .report-template-card > small,
html body.report-embed-body .report-template-grid .report-template-card > span,
html body.report-embed-body .report-template-grid .report-template-card > b,
html body.report-embed-body .report-template-grid .report-template-card > small{
  min-width:0!important;
  max-width:100%!important;
}

/* Report Wizard tables: use content-driven column widths instead of equal fixed columns. */
body:not(.student-shell) .report-table-scroll,
html body.report-embed-body .report-table-scroll{
  overflow:auto!important;
}
body:not(.student-shell) .report-preview-table,
html body.report-embed-body .report-preview-table{
  width:max-content!important;
  min-width:100%!important;
  table-layout:auto!important;
}
body:not(.student-shell) .report-preview-table.fit-page-width,
html body.report-embed-body .report-preview-table.fit-page-width{
  width:100%!important;
  min-width:0!important;
}
body:not(.student-shell) .report-preview-table th,
body:not(.student-shell) .report-preview-table td,
html body.report-embed-body .report-preview-table th,
html body.report-embed-body .report-preview-table td{
  width:auto!important;
  max-width:none!important;
}
body:not(.student-shell) .report-preview-table:not(.wrap-text) th,
body:not(.student-shell) .report-preview-table:not(.wrap-text) td,
html body.report-embed-body .report-preview-table:not(.wrap-text) th,
html body.report-embed-body .report-preview-table:not(.wrap-text) td{
  white-space:nowrap!important;
}
body:not(.student-shell) .report-image-head,
body:not(.student-shell) .report-image-cell,
html body.report-embed-body .report-image-head,
html body.report-embed-body .report-image-cell{
  width:1%!important;
  min-width:88px!important;
  white-space:nowrap!important;
}

/* Report Wizard asset image column: left aligned with explicit no-image state. */
body:not(.student-shell) .report-image-head,
html body.report-embed-body .report-image-head{
  text-align:left!important;
}
body:not(.student-shell) .report-image-cell,
html body.report-embed-body .report-image-cell{
  text-align:left!important;
  vertical-align:middle!important;
}
body:not(.student-shell) .report-image-cell img,
html body.report-embed-body .report-image-cell img{
  margin:0 0 4px 0!important;
}
body:not(.student-shell) .report-image-cell > span,
html body.report-embed-body .report-image-cell > span{
  text-align:left!important;
}
body:not(.student-shell) .report-image-cell > .report-no-image-tile,
html body.report-embed-body .report-image-cell > .report-no-image-tile{
  width:44px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #dbe5f2!important;
  border-radius:7px!important;
  background:#f8fafc!important;
  color:#94a3b8!important;
  margin:0 0 4px 0!important;
}
body:not(.student-shell) .report-no-image-tile .ui-icon,
html body.report-embed-body .report-no-image-tile .ui-icon{
  width:22px!important;
  height:22px!important;
}

/* Report Wizard column-count guardrail. */
.report-column-guardrail{
  margin-top:10px;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid #fde68a;
  background:#fffbeb;
  color:#92400e;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.report-column-guardrail.danger{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}
.report-column-guardrail[hidden]{
  display:none!important;
}

/* HR onboarding details: regular-weight Employee Information values. */
.modal-backdrop:not(.open){
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
}
.modal-backdrop.open{
  pointer-events:auto!important;
  visibility:visible!important;
}
.hr-employee-card .hr-info-grid dd,
.hr-employee-card .hr-info-grid dd span:not(.hr-confidential-access-note),
.hr-employee-card .hr-info-grid dd small{
  font-weight:500!important;
}

/* HR welcome email modal: static header/footer with scrollable body. */
#hrWelcomeEmailModal .hr-email-modal{
  width:min(960px,calc(100vw - 36px))!important;
  height:min(860px,calc(100vh - 36px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
#hrWelcomeEmailModal .hr-email-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
#hrWelcomeEmailModal .hr-email-modal form{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
}
#hrWelcomeEmailModal .hr-welcome-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:18px 20px!important;
}
#hrWelcomeEmailModal .hr-email-modal form>.modal-actions{
  flex:0 0 auto!important;
  margin:0!important;
  padding:14px 20px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.06)!important;
}
@media(max-width:720px){
  #hrWelcomeEmailModal .hr-email-modal{height:calc(100vh - 20px)!important;width:calc(100vw - 20px)!important;}
  #hrWelcomeEmailModal .hr-email-modal form>.modal-actions{display:grid!important;grid-template-columns:1fr!important;}
  #hrWelcomeEmailModal .hr-email-modal form>.modal-actions .btn,
  #hrWelcomeEmailModal .hr-email-modal form>.modal-actions .primary{width:100%!important;}
}

/* HR employee edit modal: static header/footer with scrollable body. */
#hrEmployeeEditModal .hr-employee-edit-modal{
  width:min(920px,calc(100vw - 36px))!important;
  height:min(760px,calc(100vh - 36px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
  background:#fff!important;
}
#hrEmployeeEditModal .hr-employee-edit-modal>.modal-head{
  flex:0 0 auto!important;
  margin:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid #dbe5f2!important;
  background:#fff!important;
}
#hrEmployeeEditModal .hr-employee-edit-form{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}
#hrEmployeeEditModal .hr-employee-edit-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:18px 20px!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#hrEmployeeEditModal .hr-employee-edit-body>label{
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#hrEmployeeEditModal .hr-employee-edit-body>.full{
  grid-column:1/-1!important;
}
#hrEmployeeEditModal .hr-employee-edit-body textarea{
  min-height:86px!important;
  max-height:none!important;
  resize:vertical!important;
}
#hrEmployeeEditModal .hr-employee-edit-form>.modal-actions{
  flex:0 0 auto!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:14px 20px!important;
  border-top:1px solid #dbe5f2!important;
  background:#fff!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.06)!important;
}
#hrEmployeeEditModal .hr-employee-edit-form>.modal-actions .btn,
#hrEmployeeEditModal .hr-employee-edit-form>.modal-actions .primary{
  min-height:38px!important;
}
@media(max-width:720px){
  #hrEmployeeEditModal .hr-employee-edit-modal{height:calc(100vh - 20px)!important;width:calc(100vw - 20px)!important;}
  #hrEmployeeEditModal .hr-employee-edit-body{grid-template-columns:1fr!important;}
  #hrEmployeeEditModal .hr-employee-edit-form>.modal-actions{display:grid!important;grid-template-columns:1fr!important;}
  #hrEmployeeEditModal .hr-employee-edit-form>.modal-actions .btn,
  #hrEmployeeEditModal .hr-employee-edit-form>.modal-actions .primary{width:100%!important;}
}

/* HR onboarding wizard: inline guardrail messages for required step selections. */
.hr-step-inline-error{
  display:block!important;
  margin-top:8px!important;
  color:#b42318!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.hr-field-invalid .hr-supervisor-multi-trigger,
.hr-field-invalid.hr-access-step-head{
  border-color:#fca5a5!important;
  box-shadow:0 0 0 3px rgba(244,63,94,.12)!important;
}

/* HR offboarding wizard: required handoff fields and source-based access lock. */
#hrRequestWizard [data-hr-offboarding-extra] input[name="email_forward_to"],
#hrRequestWizard [data-hr-offboarding-extra] input[name="file_handoff_to"],
#hrRequestWizard [data-hr-offboarding-extra] select[name="out_of_office"],
#hrRequestWizard [data-hr-offboarding-extra] input[name="email_forward_to"]::placeholder,
#hrRequestWizard [data-hr-offboarding-extra] input[name="file_handoff_to"]::placeholder{
  font-weight:400!important;
}
#hrRequestWizard [data-hr-offboarding-extra] .settings-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:max-content!important;
  min-height:32px!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:800!important;
}
#hrRequestWizard [data-hr-offboarding-extra] .settings-toggle input[type="checkbox"]{
  margin:0!important;
}
#hrRequestWizard .hr-access-step-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#hrRequestWizard .hr-access-override,
#hrRequestWizard .hr-access-select-all{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:850!important;
}
#hrRequestWizard .hr-access-list.hr-access-locked{
  background:#f8fbff!important;
  border-color:#cfe0ff!important;
}
#hrRequestWizard .hr-access-list.hr-access-locked label{
  background:#f8fbff!important;
  cursor:not-allowed!important;
}
#hrRequestWizard .hr-access-list.hr-access-locked input[type="checkbox"]{
  cursor:not-allowed!important;
}
.tools-equipment-page{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.tools-equipment-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  padding:22px;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:8px;
  box-shadow:var(--shadow);
}
.tools-equipment-hero h1{
  margin:4px 0 6px;
  font-size:28px;
}
.tools-equipment-hero p{
  margin:0;
  color:var(--muted);
}
.tools-equipment-tiles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.tools-equipment-hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.tools-equipment-gear-btn{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
}
.tools-equipment-tile-card{
  position:relative;
  min-width:0;
}
.tools-equipment-tile{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:148px;
  padding:24px;
  border:1px solid var(--line);
  background:var(--card);
  color:inherit;
  text-decoration:none;
  border-radius:8px;
  box-shadow:var(--shadow);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.tools-equipment-tile-gear{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  background:#fff;
  color:#3346d3;
  border-color:#dbe5f5;
  box-shadow:0 8px 18px rgba(30,45,80,.12);
}
.tools-equipment-tile-gear:hover{
  background:#eef4ff;
}
.tools-equipment-tile:hover{
  transform:translateY(-2px);
  border-color:#93c5fd;
  box-shadow:0 12px 28px rgba(30,45,80,.11);
}
.tools-equipment-tile>span{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#e8f2ff;
  color:#1d4ed8;
}
.tools-equipment-tile .ui-icon{
  width:30px;
  height:30px;
}
.tools-equipment-tile h2{
  margin:0 0 6px;
  font-size:22px;
}
.tools-equipment-tile p{
  margin:0;
  color:var(--muted);
}
.tools-equipment-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.tools-equipment-search{
  flex:1 1 280px;
  min-width:240px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--card);
}
.tools-equipment-search input{
  border:0;
  outline:0;
  background:transparent;
  width:100%;
  font:inherit;
}
.tools-equipment-filter-pair{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  white-space:nowrap;
}
.tools-equipment-filter-pair .filter{
  min-width:155px;
}
.tools-equipment-filter-pair select{
  margin:0;
}
.tools-equipment-sheet{
  border:1px solid var(--line);
  background:var(--card);
  border-radius:8px;
  box-shadow:var(--shadow);
  overflow:auto;
}
.tools-equipment-sheet-head,
.tools-equipment-row{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) 128px minmax(170px,1fr) minmax(180px,1fr) 120px minmax(190px,1fr) 120px 220px;
  min-width:1380px;
}
.tools-equipment-sheet-head{
  position:sticky;
  top:0;
  z-index:1;
  background:#f7f9fc;
  border-bottom:1px solid var(--line);
  font-weight:700;
  color:#334155;
}
.tools-equipment-sheet-head span,
.tools-equipment-row>div{
  padding:12px 14px;
  border-right:1px solid #e5e7eb;
  min-width:0;
}
.tools-equipment-sheet-head span:last-child,
.tools-equipment-row>div:last-child{
  border-right:0;
}
.tools-equipment-row{
  align-items:center;
  border-bottom:1px solid #edf0f5;
}
.tools-equipment-row:last-child{
  border-bottom:0;
}
.tools-equipment-row:hover{
  background:#f9fbff;
}
.tools-equipment-row b,
.tools-equipment-row small{
  display:block;
}
.tools-equipment-row small{
  margin-top:2px;
  color:var(--muted);
  font-weight:400;
}
.tools-equipment-item-cell,
.tools-equipment-person{
  display:flex;
  align-items:center;
  gap:10px;
}
.tools-equipment-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tools-equipment-empty{
  min-width:620px;
  display:grid;
  place-items:center;
  gap:8px;
  padding:44px;
  text-align:center;
}
.tools-equipment-empty>span{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#eef6ff;
  color:#2563eb;
}
.tools-equipment-empty h2,
.tools-equipment-empty p{
  margin:0;
}
.tools-equipment-empty p{
  color:var(--muted);
}
.tools-equipment-shell-modal{
  padding:0!important;
  display:flex;
  flex-direction:column;
  overflow:hidden!important;
  max-height:min(90vh,860px);
}
.tools-equipment-shell-modal>.modal-head{
  flex:0 0 auto;
  margin:0!important;
  padding:24px 28px 20px!important;
  min-height:82px!important;
  border-bottom:1px solid var(--line)!important;
  background:#fff!important;
}
.tools-equipment-shell-modal>.tools-equipment-modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  margin:0!important;
  padding:22px 28px 26px!important;
}
.tools-equipment-shell-modal>.tools-equipment-modal-footer{
  flex:0 0 auto;
  margin:0!important;
  padding:18px 28px 24px!important;
  min-height:74px!important;
  border-top:1px solid var(--line)!important;
  background:#fff!important;
  align-items:center!important;
}
.tools-equipment-modal:not(.tools-equipment-shell-modal) .modal-actions{
  position:sticky;
  bottom:0;
  background:var(--card);
}
.tools-equipment-selected-person{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
}
.tools-equipment-selected-person[hidden]{
  display:none;
}
.tools-equipment-selected-person b,
.tools-equipment-selected-person small{
  display:block;
}
.tools-equipment-selected-person small{
  color:var(--muted);
}
.tools-equipment-person-picker{
  position:relative;
  z-index:5;
}
.tools-equipment-person-results{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:20;
  display:grid;
  gap:6px;
  max-height:278px;
  overflow:auto;
  padding:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(30,45,80,.12);
}
.tools-equipment-person-results[hidden]{
  display:none;
}
.tools-equipment-person-result{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:54px;
  padding:8px 10px;
  border:1px solid #e5eaf2;
  border-radius:8px;
  background:#f8fafc;
  color:#172033;
  text-align:left;
}
.tools-equipment-person-result:hover{
  background:#eef4ff;
  border-color:#bfdbfe;
  box-shadow:none;
}
.tools-equipment-person-result b,
.tools-equipment-person-result small{
  display:block;
}
.tools-equipment-person-result small{
  color:var(--muted);
  font-weight:500;
}
.tools-equipment-modal .repair-icon-picker{
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
}
.tools-equipment-modal .repair-icon-picker-card{
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:12px;
}
.tools-equipment-modal .repair-icon-picker-copy{
  gap:4px;
}
.tools-equipment-modal .repair-icon-picker-copy small{
  white-space:normal;
  line-height:1.25;
}
.tools-equipment-image-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.tools-equipment-icon-library-modal .asset-icon-library-toolbar{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr);
  gap:10px!important;
}
.tools-equipment-icon-library-modal{
  width:min(980px,calc(100vw - 42px))!important;
  max-height:min(820px,calc(100vh - 44px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.tools-equipment-icon-library-modal>.modal-head{
  flex:0 0 auto!important;
}
.tools-equipment-icon-library-modal>.asset-icon-library-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:18px!important;
}
.tools-equipment-icon-library-modal .asset-icon-grid{
  max-height:none!important;
  min-height:0!important;
  overflow:auto!important;
}
.tools-equipment-icon-library-modal>.modal-actions{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  border-top:1px solid #e2e8f0!important;
  padding:14px 18px!important;
}
.tools-equipment-icon-library-modal .asset-icon-category-row button{
  border:1px solid #dbe5f2!important;
  background:#fff!important;
  color:#475569!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  min-height:0!important;
}
.tools-equipment-icon-library-modal .asset-icon-category-row button.active{
  border-color:#93c5fd!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
.maintenance-icon-library-modal{
  width:min(980px,calc(100vw - 42px))!important;
  max-height:min(820px,calc(100vh - 44px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.maintenance-icon-library-modal>.modal-head{
  flex:0 0 auto!important;
}
.maintenance-icon-library-modal>.asset-icon-library-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:18px!important;
}
.maintenance-icon-library-modal .asset-icon-library-toolbar{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr)!important;
  gap:10px!important;
}
.maintenance-icon-library-modal .asset-icon-grid{
  max-height:none!important;
  min-height:0!important;
  overflow:auto!important;
}
.maintenance-icon-library-modal>.modal-actions{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  border-top:1px solid #e2e8f0!important;
  padding:14px 18px!important;
}
.tools-equipment-image-upload-modal{
  width:min(560px,calc(100vw - 32px))!important;
  overflow:hidden!important;
}
.tools-equipment-image-upload-modal>.modal-head,
.tools-equipment-image-upload-modal>.modal-actions{
  flex:0 0 auto!important;
}
.tools-equipment-upload-body{
  padding:16px 18px!important;
}
.tools-equipment-upload-body .document-dropzone{
  min-height:160px;
}
@media(max-width:760px){
  .tools-equipment-modal .repair-icon-picker-card{
    grid-template-columns:54px minmax(0,1fr);
  }
  .tools-equipment-image-actions{
    grid-column:1 / -1;
    justify-content:stretch;
  }
  .tools-equipment-image-actions .btn{
    flex:1 1 150px;
  }
}
@media(max-width:820px){
  .tools-equipment-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .tools-equipment-tiles{
    grid-template-columns:1fr;
  }
  .tools-equipment-filter-pair{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .tools-equipment-filter-pair .filter{
    min-width:0;
    width:100%;
  }
}

/* Tools & Equipment assets with restricted section access should still use the full detail width. */
body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr)!important;
}
body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty .asset-d3-main-card,
body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty .assignment-d3-card{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty .assignment-clean-person{
  max-width:none!important;
  margin-inline:0!important;
}
body:not(.student-shell) .main:has(.asset-design3-tools-equipment.asset-design3-no-warranty) > .card{
  width:100%!important;
  max-width:none!important;
}
@media(min-width:1020px){
  body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty > .asset-d3-main-card,
  body:not(.student-shell) .asset-design3-shell.asset-design3-tools-equipment.asset-design3-no-warranty > .assignment-d3-card{
    grid-column:1 / -1!important;
  }
}

/* Bulk Edit Assets modal: fixed header/footer with scrollable field body. */
#bulkAssetModal .asset-bulk-edit-modal{
  width:min(980px,calc(100vw - 34px))!important;
  max-height:min(860px,calc(100vh - 30px))!important;
  padding:0!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
#bulkAssetModal .asset-bulk-edit-modal>.modal-head{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  margin:0!important;
  padding:18px 20px 14px!important;
  border-bottom:1px solid #e2e8f0!important;
  background:#fbfdff!important;
}
#bulkAssetModal .asset-bulk-edit-body{
  min-height:auto!important;
  overflow:visible!important;
  padding:16px 20px 18px!important;
}
#bulkAssetModal .bulk-tech-catalog-section.is-disabled{
  background:#f8fafc;
  border-color:#cbd5e1;
}
#bulkAssetModal .bulk-tech-catalog-section.is-disabled [data-bulk-tech-catalog-field]{
  opacity:.68;
}
#bulkAssetModal .bulk-tech-catalog-warning{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:.9rem;
  line-height:1.35;
}
#bulkAssetModal .asset-bulk-edit-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  margin:0!important;
  padding:14px 20px!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
  box-shadow:0 -8px 18px rgba(15,23,42,.06)!important;
}
@media(max-width:760px){
  #bulkAssetModal .asset-bulk-edit-body{
    padding:14px 14px 0!important;
  }
  #bulkAssetModal .asset-bulk-edit-modal>.modal-head,
  #bulkAssetModal .asset-bulk-edit-actions{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}

/* Final Homeroom scroll ownership: normal mode uses only the document scrollbar. */
html:has(body.checkout-homeroom-mode:not(.checkout-kiosk-mode)){
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
body.checkout-homeroom-mode:not(.checkout-kiosk-mode){
  height:auto!important;
  max-height:none!important;
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .layout,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .main,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .circulation-shell,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-roster-panel,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-roster-card,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-table-wrap{
  height:auto!important;
  max-height:none!important;
  overflow-y:visible!important;
}
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .main{
  overflow-x:hidden!important;
}
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-table-wrap{
  overflow:visible!important;
}

/* Events Requests uses a dedicated grid list so global table rules cannot clip actions. */
.events-requests-list{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  overflow:visible;
}
.events-requests-head,
.events-request-row{
  display:grid;
  grid-template-columns:minmax(180px,1.35fr) minmax(210px,1.4fr) minmax(145px,.8fr) minmax(150px,.78fr) 112px;
  gap:0;
  align-items:stretch;
}
.events-requests-head{
  background:#f8fbff;
  color:#475569;
  font-size:11px;
  font-weight:900;
}
.events-requests-head span,
.events-request-row>div{
  min-width:0;
  padding:11px 12px;
}
.events-request-row{
  position:relative;
  cursor:pointer;
  border-bottom:1px solid var(--line);
}
.events-requests-head{
  border-bottom:1px solid var(--line);
}
.events-request-row:last-child{
  border-bottom:0;
}
.events-request-row:hover>div{
  background:#f8fbff;
}
.events-request-row b,
.events-request-row small{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.events-request-row b{
  color:var(--text);
  font-size:12px;
  line-height:1.25;
}
.events-request-row small{
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
  margin-top:3px;
}
.events-request-schedule .events-calendar-chip{
  margin-top:6px;
  max-width:100%;
}
.events-request-requester{
  display:flex;
  align-items:center;
  gap:9px;
}
.events-request-requester .avatar{
  width:30px;
  height:30px;
  min-width:30px;
  flex:0 0 30px;
  font-size:10px;
}
.events-request-requester>span:last-child{
  min-width:0;
  display:block;
}
.events-request-state{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-content:flex-start;
}
.events-request-state .badge,
.events-request-state .events-need-pill{
  min-height:18px!important;
  margin:0!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.events-request-actions{
  display:flex;
  justify-content:flex-end;
  overflow:visible;
  position:relative;
}
.events-request-actions .events-action-menu{
  width:100%;
  display:flex;
  justify-content:flex-end;
}
.events-request-actions .events-action-menu>.table-action{
  width:96px;
  min-width:0;
  padding-inline:8px;
  justify-content:center;
}
@media(max-width:1180px){
  .events-requests-head{
    display:none;
  }
  .events-request-row{
    grid-template-columns:minmax(0,1fr) 108px;
    gap:0;
  }
  .events-request-row>div{
    border-bottom:0;
  }
  .events-request-main,
  .events-request-schedule,
  .events-request-requester,
  .events-request-state{
    grid-column:1;
  }
  .events-request-actions{
    grid-column:2;
    grid-row:1 / span 4;
    align-items:start;
  }
}

/* Kiosk Homeroom is the opposite: page locked, roster owns the one vertical scrollbar. */
html:has(body.checkout-kiosk-mode.checkout-homeroom-mode),
body.checkout-kiosk-mode.checkout-homeroom-mode,
body.checkout-kiosk-mode.checkout-homeroom-mode .layout,
body.checkout-kiosk-mode.checkout-homeroom-mode .main,
body.checkout-kiosk-mode.checkout-homeroom-mode .circulation-shell,
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-roster-panel,
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-roster-card{
  overflow:hidden!important;
}
body.checkout-kiosk-mode.checkout-homeroom-mode .homeroom-table-wrap{
  overflow-y:auto!important;
  overflow-x:auto!important;
}

/* Homeroom normal mode: do not split overflow axes, because overflow-x hidden can create a second vertical scroller. */
html:has(body.checkout-homeroom-mode:not(.checkout-kiosk-mode)){
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
body.checkout-homeroom-mode:not(.checkout-kiosk-mode),
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .layout,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .main,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .circulation-shell,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-roster-panel,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-roster-card,
body.checkout-homeroom-mode:not(.checkout-kiosk-mode) .homeroom-table-wrap{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
