@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{--paper:#f7f7f5;--surface:#fff;--surface-2:#f1f1ee;--ink:#111;--muted:#73736f;--faint:#a5a5a0;--line:#e2e2de;--line-strong:#cdcdc7;--accent:#e7e5de;--cream:#ebe6d7;--positive:#36795b;--positive-bg:#e6f0e9;--warning:#927027;--warning-bg:#f6eed9;--danger:#a14d49;--danger-bg:#f5e5e3;--shadow:0 18px 60px #16161214;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,Noto Sans KR,ui-sans-serif,system-ui,sans-serif}:root[data-theme=dark]{--paper:#121212;--surface:#1b1b1a;--surface-2:#242422;--ink:#f4f4ef;--muted:#a2a29b;--faint:#73736c;--line:#31312e;--line-strong:#464641;--accent:#292927;--cream:#34312b;--positive:#8dccaa;--positive-bg:#1d3027;--warning:#e1bd6b;--warning-bg:#352e1d;--danger:#e0928c;--danger-bg:#372321;--shadow:0 18px 60px #00000047}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink)}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:20;border-right:1px solid var(--line);background:var(--surface);flex-direction:column;width:250px;padding:26px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand,.brand-lockup,.mobile-brand{align-items:center;gap:11px;display:flex}.sidebar-brand{padding:0 12px 42px}.sidebar-close,.mobile-nav-backdrop{display:none}.sidebar-brand strong,.mobile-brand strong{letter-spacing:-.02em;font-size:14px;display:block}.sidebar-brand span,.brand-lockup span{color:var(--muted);letter-spacing:.02em;margin-top:3px;font-size:10px;display:block}.sidebar-section-label{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;padding:0 12px 10px;font-family:DM Mono,monospace;font-size:9px}.admin-label{margin-top:28px}.sidebar-nav{gap:3px;display:grid}.sidebar-nav button,.locked-nav{width:100%;color:var(--muted);text-align:left;background:0 0;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;transition:all .2s;display:flex}.sidebar-nav button:hover{background:var(--surface-2);color:var(--ink)}.sidebar-nav button.active{background:var(--ink);color:var(--paper)}.sidebar-nav button.active .nav-arrow{opacity:.65;margin-left:auto}.sidebar-access-hint{color:var(--faint);gap:5px;margin:8px 12px 0;font-size:9px;line-height:1.45;display:grid}.sidebar-access-hint button{color:var(--muted);background:0 0;justify-self:start;padding:0;font-size:9px;text-decoration:underline}.sidebar-access-hint button:hover{color:var(--ink)}.locked-nav{color:var(--faint)}.lock-dot{background:var(--line-strong);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:0 4px}.help-box{border:1px solid var(--line);color:var(--muted);border-radius:11px;align-items:center;gap:9px;padding:12px 10px;display:flex}.help-box div{flex:1}.help-box strong,.help-box span{display:block}.help-box strong{color:var(--ink);font-size:10px}.help-box span{margin-top:4px;font-size:9px}.sidebar-version{color:var(--faint);margin:17px 8px 0;font-family:DM Mono,monospace;font-size:9px;display:block}.app-main{width:calc(100% - 250px);margin-left:250px}.topbar{z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;height:72px;padding:0 45px;display:flex;position:sticky;top:0}.mobile-brand{display:none}.topbar-context{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.topbar-context span{color:var(--faint)}.topbar-context strong{color:var(--ink);font-size:12px}.department-switcher{color:var(--ink);align-items:center;display:inline-flex;position:relative}.department-switcher select{appearance:none;min-width:120px;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;padding:2px 19px 2px 0;font-size:12px;font-weight:600}.department-switcher svg{pointer-events:none;color:var(--muted);position:absolute;right:0}.mobile-department-select{display:none}.topbar-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.connection-state{color:var(--muted);align-items:center;gap:6px;margin-right:10px;font-size:10px;display:inline-flex}.connection-dot{background:var(--positive);border-radius:50%;width:6px;height:6px;display:block}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:9px;place-items:center;transition:all .2s;display:grid;position:relative}.icon-button:hover{background:var(--surface-2);color:var(--ink)}.profile-wrap{position:relative}.profile-button{color:var(--ink);background:0 0;border-radius:10px;align-items:center;gap:8px;padding:4px 2px 4px 4px;display:flex}.profile-button:hover{background:var(--surface-2)}.avatar{background:var(--cream);width:27px;height:27px;color:var(--ink);border-radius:8px;place-items:center;font-size:11px;font-weight:700;display:grid}.profile-name{font-size:12px}.profile-menu{border:1px solid var(--line);background:var(--surface);width:210px;box-shadow:var(--shadow);border-radius:12px;padding:8px;position:absolute;top:43px;right:0}.profile-menu-head{padding:9px 10px 12px}.profile-menu-head strong,.profile-menu-head span{display:block}.profile-menu-head strong{font-size:12px}.profile-menu-head span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.profile-menu button{width:100%;color:var(--muted);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:11px;display:flex}.profile-menu button:hover{background:var(--surface-2);color:var(--ink)}.mobile-menu{display:none}.content-wrap{width:min(1160px,100% - 90px);margin:0 auto;padding:58px 0 90px}.page{animation:.35s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-heading{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:36px;display:flex}.hero-heading{align-items:center;margin-bottom:45px}.eyebrow{color:var(--faint);letter-spacing:.12em;font-family:DM Mono,monospace;font-size:9px;display:block}.page-heading h1{letter-spacing:-.065em;margin:10px 0 8px;font-size:clamp(29px,4vw,44px);line-height:1.1}.page-heading p{color:var(--muted);margin:0;font-size:13px}.hero-heading h1{font-size:clamp(31px,4vw,48px)}.wave{color:var(--warning);font-size:.75em}.date-stamp{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.intro-actions{align-items:center;gap:9px;display:flex}.search-box{border:1px solid var(--line);background:var(--surface);width:200px;color:var(--faint);border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.search-box input::placeholder{color:var(--faint)}.secondary-button,.primary-button,.text-button{border-radius:9px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:10px 13px}.secondary-button:hover{border-color:var(--line-strong);color:var(--ink)}.primary-button{background:var(--ink);color:var(--paper);padding:11px 15px}.primary-button:hover{opacity:.82}.primary-button.full{width:100%;margin-top:3px;padding:13px}.text-button,.panel-link{color:var(--muted);background:0 0;padding:0}.text-button:hover,.panel-link:hover{color:var(--ink)}.policy-chip,.admin-role{border:1px solid var(--line);color:var(--muted);border-radius:99px;align-items:center;gap:6px;padding:8px 11px;font-size:10px;display:inline-flex}.service-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.service-card{border-radius:15px;flex-direction:column;min-height:280px;padding:25px;display:flex;position:relative;overflow:hidden}.service-card.is-disabled{opacity:1}.service-card.is-disabled .service-card-foot button{color:inherit;opacity:1}.policy-sanction-notice{border:1px solid color-mix(in srgb, var(--warning,#9a6b00) 32%, var(--line));background:color-mix(in srgb, var(--warning,#9a6b00) 8%, var(--paper));color:var(--ink);border-radius:12px;align-items:flex-start;gap:11px;margin:0 0 16px;padding:13px 15px;display:flex}.policy-sanction-notice>svg{color:var(--warning,#9a6b00);flex:none;margin-top:1px}.policy-sanction-notice>div{gap:3px;display:grid}.policy-sanction-notice strong{font-size:12px}.policy-sanction-notice span,.policy-sanction-notice small{color:var(--muted);font-size:10px;line-height:1.5}.policy-sanction-notice small{color:var(--warning,#9a6b00)}.service-card.ink{background:var(--ink);color:var(--paper)}.service-card.cream{border:1px solid var(--line);background:var(--cream);color:var(--ink)}.service-card-top,.service-card-foot{align-items:center;display:flex}.service-card-top{gap:10px}.service-card-top>svg{opacity:.55;margin-left:auto}.service-icon{opacity:.86;border:1px solid;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.service-kicker{letter-spacing:.13em;opacity:.6;font-family:DM Mono,monospace;font-size:9px}.service-card-content{max-width:390px;margin:auto 0 35px}.service-card h2{letter-spacing:-.06em;margin:0 0 9px;font-size:24px}.service-card p{color:inherit;opacity:.62;margin:0;font-size:12px;line-height:1.7}.service-card-foot{opacity:.9;border-top:1px solid;justify-content:space-between;padding-top:14px}.service-card-foot>div{align-items:baseline;gap:7px;display:flex}.service-card-foot strong{letter-spacing:-.05em;font-size:22px}.service-card-foot span{opacity:.62;font-size:10px}.service-card-foot button{cursor:pointer;color:inherit;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:10px;font-weight:600;display:inline-flex}.service-card-foot button:hover{opacity:.72}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px;display:grid}.stat-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:12px;padding:16px;display:flex}.stat-icon{background:var(--surface-2);width:30px;height:30px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.stat-copy>span{color:var(--muted);font-size:10px;display:block}.stat-copy>div{align-items:baseline;gap:4px;margin-top:6px;display:flex}.stat-copy strong{letter-spacing:-.06em;font-size:21px}.stat-copy small{color:var(--muted);font-size:10px}.stat-copy em{color:var(--faint);align-items:center;gap:3px;margin-top:6px;font-size:9px;font-style:normal;display:inline-flex}.stat-copy em.positive{color:var(--positive)}.dashboard-lower{grid-template-columns:1.42fr 1fr;gap:15px;margin-top:15px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:22px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;display:flex}.panel-header h2{letter-spacing:-.04em;margin:0;font-size:15px}.panel-link{align-items:center;gap:5px;font-size:10px;display:inline-flex}.schedule-list{display:grid}.schedule-item{border-top:1px solid var(--line);align-items:center;gap:14px;padding:15px 0;display:flex}.schedule-item:first-child{border-top:0;padding-top:0}.schedule-date{background:var(--surface-2);border-radius:8px;flex:none;place-items:center;width:40px;padding:6px 3px;display:grid}.schedule-date strong{letter-spacing:-.06em;font-size:16px}.schedule-date span{color:var(--muted);font-size:8px}.schedule-main{flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.schedule-main strong,.schedule-main span{display:block}.schedule-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.schedule-main span{color:var(--muted);margin-top:5px;font-size:10px}.muted-icon{color:var(--faint);flex:none}.status-pill{white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;display:inline-flex}.status-pill>span{background:currentColor;border-radius:50%;width:5px;height:5px}.status-positive{color:var(--positive);background:var(--positive-bg)}.status-warning{color:var(--warning);background:var(--warning-bg)}.status-neutral{color:var(--muted);background:var(--surface-2)}.status-danger{color:var(--danger);background:var(--danger-bg)}.guide-panel{background:var(--ink);color:var(--paper)}.guide-panel h2{letter-spacing:-.06em;margin:10px 0 8px;font-size:20px}.guide-panel>p{max-width:270px;color:var(--paper);opacity:.6;margin:0;font-size:11px;line-height:1.65}.guide-steps{gap:9px;margin:25px 0 22px;display:grid}.guide-step{border-top:1px solid #fff3;align-items:center;gap:10px;padding-top:9px;display:flex}.guide-step span{color:var(--paper);opacity:.45;font-family:DM Mono,monospace;font-size:9px}.guide-step strong{font-size:10px;font-weight:500}.guide-panel .text-button{color:var(--paper);opacity:.72}.sub-heading{align-items:center}.filter-row{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.filter-tabs{gap:5px;display:flex}.filter-tabs button{color:var(--muted);background:0 0;border-radius:99px;padding:7px 11px;font-size:10px}.filter-tabs button:hover{background:var(--surface-2)}.filter-tabs button.selected{background:var(--ink);color:var(--paper)}.filter-tabs span{opacity:.6;margin-left:4px}.result-count{color:var(--faint);font-size:10px}.equipment-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.equipment-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;min-height:286px;display:flex;overflow:hidden}.equipment-visual{background:var(--surface-2);width:37%;min-width:135px;color:var(--muted);align-content:center;place-items:center;gap:9px;display:grid;position:relative}.equipment-visual span{letter-spacing:.08em;font-family:DM Mono,monospace;font-size:9px}.equipment-visual button{color:var(--faint);background:0 0;position:absolute;top:13px;right:12px}.equipment-body{flex-direction:column;flex:1;min-width:0;padding:20px;display:flex}.equipment-meta{color:var(--faint);justify-content:space-between;align-items:center;font-family:DM Mono,monospace;font-size:9px;display:flex}.equipment-meta .available,.equipment-meta .unavailable{align-items:center;gap:4px;font-family:Inter,sans-serif;font-size:9px;display:inline-flex}.equipment-meta i{background:currentColor;border-radius:50%;width:5px;height:5px}.available{color:var(--positive)}.unavailable{color:var(--danger)}.equipment-body h3{letter-spacing:-.05em;margin:15px 0 7px;font-size:17px}.equipment-body p{min-height:33px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.65;display:-webkit-box;overflow:hidden}.availability-row{margin-top:auto;padding-top:20px}.availability-row>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.availability-row span{color:var(--muted);font-size:9px}.availability-row strong{font-size:14px}.availability-row small{color:var(--faint);font-size:9px;font-weight:400}.availability-bar{background:var(--surface-2);border-radius:99px;height:4px;margin-top:8px;overflow:hidden}.availability-bar i{border-radius:inherit;background:var(--positive);height:100%;display:block}.card-action{border-top:1px solid var(--line);width:100%;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;margin-top:17px;padding:12px 0 0;font-size:10px;font-weight:600;display:flex}.equipment-card.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.card-action:disabled{cursor:not-allowed;color:var(--faint);opacity:.6}.equipment-stock-hint{color:var(--warning,#9a6b00)!important;margin:9px 0 0!important;font-size:10px!important;line-height:1.5!important}.loan-extension-form{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:9px;width:100%;margin-top:12px;padding-top:12px;display:grid}.loan-extension-form label{color:var(--muted);gap:5px;font-size:9px;display:grid}.loan-extension-form input{border:1px solid var(--line);background:var(--paper);min-height:34px;color:var(--ink);font:inherit;border-radius:7px;padding:0 9px}.loan-extension-form label em{color:var(--faint);font-style:normal}.loan-extension-form>div{gap:6px;display:flex}.loan-extension-form .primary-button,.loan-extension-form .secondary-button{min-height:34px;padding:0 11px;font-size:9px}.extension-pending{color:var(--warning,#9a6b00);font-size:9px}.equipment-extension-admin-row{border-top:1px dashed var(--line);color:var(--warning,#9a6b00);grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;font-size:9px;display:flex}.equipment-extension-admin-row>div{gap:8px;display:flex}.equipment-issue-form{border-top:1px solid var(--line);grid-column:1/-1;gap:10px;margin-top:10px;padding-top:11px;display:grid}.issue-form-heading{color:var(--ink);justify-content:space-between;align-items:center;font-size:10px;display:flex}.issue-form-heading .icon-button{width:25px;height:25px}.issue-form-fields{grid-template-columns:150px minmax(0,1fr);gap:9px;display:grid}.issue-form-fields label{color:var(--muted);gap:5px;font-size:9px;display:grid}.issue-form-fields input,.issue-form-fields select,.issue-form-fields textarea{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;border-radius:7px;padding:8px 9px}.issue-form-fields textarea{resize:vertical}.issue-form-actions{justify-content:flex-end;gap:6px;display:flex}.issue-form-actions .primary-button,.issue-form-actions .secondary-button{min-height:33px;padding:0 11px;font-size:9px}.equipment-issues-list{display:grid}.equipment-issue-history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.equipment-issue-history-row>div{gap:3px;min-width:0;display:grid}.equipment-issue-history-row strong{font-size:10px}.equipment-issue-history-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.equipment-issue-admin-panel{margin-top:15px}.equipment-issue-admin-list{display:grid}.equipment-issue-admin-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.equipment-issue-admin-row>div:first-child{gap:3px;min-width:0;display:grid}.equipment-issue-admin-row strong{font-size:10px}.equipment-issue-admin-row span,.equipment-issue-admin-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.equipment-issue-admin-row small{color:var(--faint)}.equipment-issue-admin-actions{gap:8px;display:flex}.equipment-compensations-history,.equipment-compensation-admin-panel{margin-top:15px}.equipment-compensation-list,.equipment-compensation-admin-list,.equipment-compensation-create-list{display:grid}.equipment-compensation-row,.equipment-compensation-admin-row,.equipment-compensation-create-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.equipment-compensation-row>div,.equipment-compensation-admin-row>div:first-child,.equipment-compensation-create-row>div{gap:3px;min-width:0;display:grid}.equipment-compensation-row strong,.equipment-compensation-admin-row strong,.equipment-compensation-create-row strong{font-size:10px}.equipment-compensation-row span,.equipment-compensation-row small,.equipment-compensation-admin-row span,.equipment-compensation-admin-row small,.equipment-compensation-create-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.equipment-compensation-row small,.equipment-compensation-admin-row small{color:var(--faint)}.equipment-compensation-admin-actions{gap:8px;display:flex}.equipment-compensation-create-row{background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto;padding:11px 12px}.equipment-compensation-create-list:empty{display:none}.equipment-empty-state{margin-top:15px}.equipment-guide-panel{background:var(--surface-2);margin-top:15px}.equipment-guide-panel .panel-header{align-items:flex-start}.equipment-guide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.equipment-guide-grid>div{border:1px solid var(--line);background:var(--surface);border-radius:9px;gap:5px;padding:11px;display:grid}.equipment-guide-grid strong{font-size:10px}.equipment-guide-grid span{color:var(--muted);font-size:9px;line-height:1.55}.equipment-guide-doc-note{color:var(--muted);align-items:center;gap:6px;margin:11px 0 0;font-size:9px;display:flex}.policy-guidance-notice{background:var(--surface-2);margin-bottom:15px}.policy-guidance-notice .panel-header{align-items:flex-start;margin-bottom:10px}.policy-guidance-notice-text{color:var(--ink);white-space:pre-line;margin:0;font-size:10px;line-height:1.7}.policy-guidance-notice-section{border-top:1px solid var(--line);margin-top:11px;padding-top:10px}.policy-guidance-notice-section strong{margin-bottom:5px;font-size:10px;display:block}.policy-guidance-notice-section p,.policy-guidance-notice-section ul{color:var(--muted);white-space:pre-line;margin:0;font-size:9px;line-height:1.7}.policy-guidance-notice-section ul{padding-left:17px}.policy-guidance-editor{gap:12px;display:grid}.policy-guidance-field{color:var(--muted);gap:6px;font-size:9px;display:grid}.policy-guidance-field>span{align-items:baseline;gap:7px;font-weight:600;display:flex}.policy-guidance-field>span small{color:var(--faint);font-size:8px;font-weight:400}.policy-guidance-field textarea,.policy-chip-editor input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:7px;padding:9px;font-size:10px;line-height:1.55}.policy-chip-editor{gap:7px;display:flex}.policy-chip-editor input{flex:1;min-width:0}.policy-guidance-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.policy-guidance-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:9px;display:inline-flex}.policy-guidance-chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.policy-guidance-chip button:hover{color:var(--ink)}.equipment-loan-panel,.equipment-loans-history{margin-top:15px}.equipment-loan-panel .panel-header{align-items:flex-start}.selected-equipment-banner{background:var(--surface-2);color:var(--muted);border-radius:9px;align-items:center;gap:9px;padding:11px;display:flex}.selected-equipment-banner div{min-width:0}.selected-equipment-banner strong,.selected-equipment-banner span{display:block}.selected-equipment-banner strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.selected-equipment-banner span{margin-top:4px;font-size:9px}.equipment-loan-form{gap:13px;margin-top:17px;display:grid}.equipment-loan-form label>span{color:var(--muted);margin-bottom:6px;font-size:10px;display:block}.equipment-loan-form input,.equipment-loan-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;outline:0;padding:10px;font-family:inherit;font-size:11px}.equipment-loan-form textarea{resize:vertical;line-height:1.5}.equipment-loan-form input:focus,.equipment-loan-form textarea:focus{border-color:var(--ink)}.equipment-loan-list{gap:0;display:grid}.equipment-loan-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.equipment-loan-main{align-items:center;gap:9px;min-width:0;display:flex}.mini-equipment-icon{background:var(--surface-2);width:31px;height:31px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.equipment-loan-main strong,.equipment-loan-main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.equipment-loan-main strong{font-size:10px}.equipment-loan-main span{color:var(--muted);margin-top:4px;font-size:9px}.date-strip{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:15px;display:grid}.date-strip button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;justify-items:center;gap:7px;padding:10px;display:grid}.date-strip button:hover{border-color:var(--line-strong)}.date-strip button.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.date-strip span{font-family:DM Mono,monospace;font-size:9px}.date-strip strong{letter-spacing:-.05em;font-size:17px}.date-picker-row{align-items:flex-end;gap:10px;margin-bottom:15px;display:flex}.date-picker-row .date-strip{flex:1;margin-bottom:0}.date-picker-control{color:var(--muted);flex:none;gap:6px;font-size:9px;display:grid}.date-picker-control input{border:1px solid var(--line);background:var(--surface);min-height:39px;color:var(--ink);border-radius:10px;outline:0;padding:0 10px;font:10px DM Mono,monospace}.date-picker-control input:focus{border-color:var(--ink)}.room-schedule-panel{min-width:0;margin-bottom:15px}.schedule-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin:-4px 0 10px;font-size:9px;display:flex}.schedule-legend span{align-items:center;gap:5px;display:inline-flex}.legend-dot{background:var(--positive-bg);border-radius:2px;width:7px;height:7px;display:inline-block}.legend-dot.pending{background:var(--warning)}.legend-dot.reserved{background:var(--danger)}.legend-dot.past{background:var(--faint)}.legend-dot.closed{background:var(--line-strong)}.legend-dot.selected{background:var(--ink)}.schedule-help{color:var(--faint);margin:0 0 14px;font-size:9px;line-height:1.55}.schedule-error{margin:-4px 0 10px}.room-timetable-scroll{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}.room-timetable{min-width:1572px;display:grid}.room-timetable-header{z-index:1;border-bottom:1px solid var(--line);background:var(--surface);color:var(--faint);text-align:center;padding:9px 4px;font-family:DM Mono,monospace;font-size:8px;position:sticky;top:0}.room-timetable-header:first-child{z-index:2;text-align:left;padding-left:11px;position:sticky;left:0}.room-timetable-room{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);min-height:52px;color:var(--ink);text-align:left;flex-direction:column;justify-content:center;gap:4px;padding:7px 11px;display:flex}.room-timetable-room:hover,.room-timetable-room.selected{background:var(--surface-2)}.room-timetable-room strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.room-timetable-room span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:DM Mono,monospace;font-size:8px;overflow:hidden}.time-slot{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--positive-bg);min-height:52px;color:var(--positive);padding:0;font-size:7px;font-weight:600}.time-slot:hover:not(:disabled){outline:2px solid var(--positive);outline-offset:-2px}.time-slot.pending{background:var(--warning-bg);color:var(--warning)}.time-slot.reserved{background:var(--danger-bg);color:var(--danger)}.time-slot.past,.time-slot.early{background:var(--surface-2);color:var(--faint);cursor:not-allowed;opacity:.72}.time-slot.closed{background:repeating-linear-gradient(135deg, var(--surface-2), var(--surface-2) 5px, var(--line) 5px, var(--line) 6px);color:var(--faint);cursor:not-allowed}.time-slot.end-option{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}.time-slot.selected{background:var(--ink);color:var(--paper)}.time-slot.boundary{background:var(--surface);color:var(--paper);border-right:0}.time-slot.boundary.selected{background:var(--ink);color:var(--paper)}.selected-slot-banner{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:9px;align-items:center;gap:9px;margin-top:11px;padding:11px;display:flex}.selected-slot-banner svg{color:var(--positive);flex:none}.selected-slot-banner strong,.selected-slot-banner span{display:block}.selected-slot-banner strong{color:var(--ink);font-size:10px}.selected-slot-banner span{margin-top:4px;font-size:9px}.room-layout{grid-template-columns:1.2fr .8fr;gap:15px;display:grid}.room-list .panel-header{margin-bottom:11px}.room-cards{gap:5px;display:grid}.room-card{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:11px;padding:11px 9px;transition:all .2s;display:flex}.room-card:hover{background:var(--surface-2)}.room-card.selected{border-color:var(--line-strong);background:var(--surface-2)}.room-card-icon{background:var(--cream);width:34px;height:34px;color:var(--ink);border-radius:8px;flex:none;place-items:center;display:grid}.room-card-info{flex:1;min-width:0}.room-card-info strong,.room-card-info span,.room-card-info small{display:block}.room-card-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.room-card-info strong span{color:var(--muted);font-weight:400;display:inline}.room-card-info small{color:var(--muted);align-items:center;gap:4px;margin-top:5px;font-size:9px;display:flex}.selected-check{color:var(--positive)}.booking-form .panel-header{align-items:flex-start}.booking-form .panel-header h2{margin-top:7px}.selected-room-banner{background:var(--surface-2);color:var(--muted);border-radius:9px;align-items:center;gap:9px;padding:11px;display:flex}.selected-room-banner div{min-width:0}.selected-room-banner strong,.selected-room-banner span{display:block}.selected-room-banner strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.selected-room-banner span{margin-top:4px;font-size:9px}.booking-form form{gap:13px;margin-top:17px;display:grid}.booking-form label>span{color:var(--muted);margin-bottom:6px;font-size:10px;display:block}.booking-form label em{color:var(--faint);font-size:9px;font-style:normal}.form-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.booking-form input,.booking-form textarea,.booking-form select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;outline:0;padding:10px;font-family:inherit;font-size:11px}.booking-form textarea{resize:vertical;line-height:1.5}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--ink)}.checkbox-field{align-items:center;gap:8px;display:flex}.booking-form label.checkbox-field>span{color:var(--ink);margin:0}.booking-form input[type=checkbox]{width:15px;height:15px;accent-color:var(--ink)}.form-error{color:var(--danger);margin:0;font-size:10px}.number-input{position:relative}.number-input small{color:var(--faint);font-size:9px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.number-input input{padding-right:75px}.form-note{color:var(--muted);align-items:center;gap:6px;font-size:9px;line-height:1.5;display:flex}.reservation-summary{grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:15px;display:grid}.reservation-summary>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:flex-end;padding:15px;display:flex}.reservation-summary span{color:var(--muted);font-size:10px}.reservation-summary strong{letter-spacing:-.06em;font-size:23px}.reservation-summary small{color:var(--muted);margin-left:2px;font-size:9px;font-weight:400}.filter-select{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.reservation-table{border-top:1px solid var(--line)}.table-head,.reservation-row{grid-template-columns:1.5fr 1.1fr .85fr .7fr;align-items:center;gap:16px;display:grid}.table-head{color:var(--faint);letter-spacing:.04em;padding:11px 0;font-family:DM Mono,monospace;font-size:8px}.reservation-row{border-top:1px solid var(--line);padding:15px 0}.reservation-purpose,.reservation-time{align-items:center;gap:9px;min-width:0;display:flex}.mini-room-icon{background:var(--surface-2);width:31px;height:31px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.reservation-purpose>div:last-child,.reservation-time{min-width:0}.reservation-purpose strong,.reservation-purpose small,.reservation-time strong,.reservation-time span{display:block}.reservation-purpose strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.reservation-purpose strong span{color:var(--muted);font-weight:400}.reservation-purpose small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.reservation-time{display:block}.reservation-time strong{font-size:10px}.reservation-time span{color:var(--muted);margin-top:4px;font-size:9px}.reservation-actions{justify-content:flex-end;gap:5px;display:flex}.qr-button,.cancel-button{border-radius:7px;align-items:center;gap:5px;padding:7px 8px;font-size:9px;display:inline-flex}.qr-button{background:var(--ink);color:var(--paper)}.cancel-button{color:var(--muted);background:0 0}.cancel-button:hover{color:var(--danger)}.rejection-reason{color:var(--danger);margin-top:6px;font-size:8px;display:block}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a098f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.qr-modal{background:var(--surface);text-align:center;width:min(100%,390px);box-shadow:var(--shadow);border-radius:17px;padding:31px;position:relative}.modal-close{background:var(--surface-2);width:29px;height:29px;color:var(--muted);border-radius:8px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.qr-modal h2{letter-spacing:-.06em;margin:11px 0 7px;font-size:20px}.qr-modal>p{color:var(--muted);margin:0;font-size:10px}.qr-frame{border:1px solid var(--line);background:var(--paper);border-radius:13px;place-items:center;width:244px;height:244px;margin:23px auto 17px;display:grid}.qr-window{color:var(--positive);align-items:center;gap:5px;font-size:9px;display:inline-flex}.qr-warning{color:var(--faint);margin-top:18px;font-size:9px;line-height:1.6;display:block}.resource-edit-modal{background:var(--surface);width:min(100%,640px);max-height:min(760px,100vh - 40px);box-shadow:var(--shadow);border-radius:17px;padding:24px;position:relative;overflow:auto}.resource-edit-form{gap:12px;display:grid}.resource-edit-form>label,.resource-edit-form .resource-form-grid>label{gap:5px;display:grid}.resource-edit-form label>span{color:var(--muted);font-size:9px}.resource-edit-form input,.resource-edit-form select,.resource-edit-form textarea{width:100%}.resource-edit-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.admin-grid{grid-template-columns:1.15fr .85fr;gap:15px;display:grid}.admin-service-panel,.admin-stat-panel,.policy-panel,.admin-review-panel{min-height:190px}.admin-service-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:13px 0;display:flex}.admin-service-row:first-of-type{border-top:0;padding-top:0}.admin-service-icon{background:var(--surface-2);width:31px;height:31px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.admin-service-row>div:nth-child(2){flex:1}.admin-service-row strong,.admin-service-row span,.admin-service-row small{display:block}.admin-service-row strong{font-size:11px}.admin-service-row span{color:var(--muted);margin-top:3px;font-size:9px}.admin-service-row small{color:var(--muted);font-size:9px}.admin-service-row .toggle.on+small{color:var(--positive)}.service-status-help{border-top:1px dashed var(--line);margin-bottom:0;padding-top:10px}.audit-log-panel{margin-top:15px}.audit-toolbar{align-items:center;gap:7px;display:flex}.audit-toolbar select{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink);border-radius:7px;padding:0 8px;font-size:9px}.audit-log-list{display:grid}.audit-log-row{border-top:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;padding:11px 0;display:grid}.audit-log-row>div{gap:3px;min-width:0;display:grid}.audit-log-row strong{font-size:10px}.audit-log-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.audit-log-time{font-family:DM Mono,monospace;color:var(--faint)!important}.toggle{background:var(--line-strong);border-radius:99px;width:28px;height:16px;display:block;position:relative}.toggle i{background:var(--surface);border-radius:50%;width:10px;height:10px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--positive)}.toggle.on i{left:15px}.admin-stat-list{gap:10px;display:grid}.admin-stat{border-top:1px solid var(--line);align-items:center;gap:10px;padding-top:10px;display:flex}.admin-stat:first-child{border-top:0;padding-top:0}.admin-stat>span{background:var(--surface-2);width:28px;height:28px;color:var(--muted);border-radius:7px;place-items:center;display:grid}.admin-stat small,.admin-stat strong{display:block}.admin-stat small{color:var(--muted);font-size:9px}.admin-stat strong{margin-top:3px;font-size:13px}.admin-review-panel{min-height:210px}.review-title{justify-content:space-between;align-items:flex-start;display:flex}.review-title h2{letter-spacing:-.04em;margin:7px 0 0;font-size:15px}.review-count{background:var(--surface-2);width:25px;height:25px;color:var(--muted);border-radius:7px;place-items:center;font-size:10px;display:grid}.review-empty{color:var(--faint);text-align:center;justify-items:center;gap:7px;margin-top:30px;display:grid}.review-empty svg{color:var(--positive)}.review-empty strong{color:var(--muted);font-size:11px}.review-empty span{font-size:9px}.policy-panel{grid-column:span 2}.policy-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.policy-symbol{background:var(--ink);width:29px;height:29px;color:var(--paper);border-radius:7px;place-items:center;font-family:DM Mono,monospace;font-size:11px;display:grid}.policy-row>div:nth-child(2){flex:1}.policy-row strong,.policy-row span{display:block}.policy-row strong{font-size:10px}.policy-row span{color:var(--muted);margin-top:4px;font-size:9px}.version-tag{background:var(--positive-bg);border-radius:99px;padding:5px 8px;color:var(--positive)!important;font-size:8px!important}.admin-policy-panel{margin-top:15px;margin-bottom:15px}.admin-resource-panel{margin-bottom:15px}.policy-management-panel{min-width:0}.policy-service-tabs{gap:5px;display:flex}.policy-service-tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:7px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;display:inline-flex}.policy-service-tabs button.selected{border-color:var(--ink);background:var(--ink);color:var(--paper)}.policy-editor-toolbar{color:var(--faint);justify-content:space-between;align-items:center;margin:7px 0;font-size:9px;display:flex}.policy-editor-toolbar .text-button{color:var(--muted)}.policy-json-editor{resize:vertical;border:1px solid var(--line);background:var(--paper);width:100%;min-height:330px;color:var(--ink);border-radius:9px;outline:none;padding:13px;font-family:DM Mono,monospace;font-size:10px;line-height:1.65;display:block}.policy-json-editor:focus{border-color:var(--ink);box-shadow:0 0 0 2px var(--line)}.policy-editor-actions{justify-content:flex-end;margin-top:9px;display:flex}.policy-form{gap:17px;display:grid}.policy-form-section{border-top:1px solid var(--line);padding-top:15px}.application-field-list{gap:9px;display:grid}.application-field-row{border:1px solid var(--line);background:var(--paper);border-radius:9px;align-items:flex-start;gap:10px;padding:10px;display:flex}.application-field-row-main{flex:1;min-width:0}.application-field-inputs{grid-template-columns:1.1fr .9fr 1fr;gap:8px;display:grid}.application-field-row label{min-width:0;color:var(--muted);gap:5px;font-size:8px;display:grid}.application-field-row label>span{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.application-field-row label>span small,.application-field-row label>small{color:var(--faint);font-size:8px}.application-field-row input,.application-field-row select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:7px;padding:8px;font-size:9px}.application-field-row input:disabled,.application-field-row select:disabled{color:var(--muted);opacity:.75}.application-field-row-actions{white-space:nowrap;align-items:center;gap:8px;padding-top:17px;display:flex}.application-field-row-actions .admin-checkbox{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:inline-flex}.application-field-row-actions .admin-checkbox input{width:14px;height:14px}.application-field-options{margin-top:8px}.application-field-add{margin-top:9px}.policy-section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:11px;display:flex}.policy-section-heading strong{font-size:11px}.policy-section-heading span{color:var(--muted);font-size:9px}.policy-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.policy-field{min-width:0;color:var(--muted);gap:6px;font-size:9px;display:grid}.policy-field>span{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.policy-field>span small{color:var(--faint);font-size:8px}.policy-field input,.policy-field select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:9px 10px;font-size:10px}.policy-field select{appearance:auto}.policy-toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:39px;padding:8px 10px;display:flex}.policy-toggle input{width:15px;height:15px;accent-color:var(--ink)}.policy-toggle>span{gap:3px;display:grid}.policy-toggle strong{color:var(--ink);font-size:10px;font-weight:600}.policy-toggle small{color:var(--muted);font-size:8px}.policy-toggle i{display:none}.academic-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.academic-status-option{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:46px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.academic-status-option.selected{border-color:var(--ink);background:var(--surface-2)}.academic-status-option input{width:15px;height:15px;accent-color:var(--ink)}.academic-status-option>span{gap:3px;min-width:0;display:grid}.academic-status-option strong{color:var(--ink);font-size:10px;font-weight:600}.academic-status-option small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.academic-status-option i{display:none}.policy-form-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding-top:15px;display:flex}.resource-management-panel{min-width:0}.room-schedule-manager{gap:12px;display:grid}.schedule-room-picker{gap:6px;max-width:430px;display:grid}.schedule-room-picker span{color:var(--muted);font-size:10px;font-weight:600}.schedule-admin-forms,.schedule-admin-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-admin-form{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:13px}.schedule-admin-form .resource-table-subheading{margin-bottom:10px}.schedule-form-actions{align-items:center;gap:8px;display:flex}.schedule-admin-list{gap:6px;display:grid}.schedule-admin-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.schedule-admin-row span{gap:3px;min-width:0;display:grid}.schedule-admin-row strong{color:var(--ink);font-size:10px}.schedule-admin-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.schedule-row-actions{flex-shrink:0;align-items:center;gap:7px;display:flex}.resource-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:5px 0 11px;font-size:9px;display:flex}.resource-toolbar>div{gap:6px;display:flex}.resource-import-button{cursor:pointer}.resource-import-button input{display:none}.resource-content{gap:15px;display:grid}.resource-database-card{overflow:hidden}.resource-database-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:13px;display:flex}.resource-database-heading .policy-section-heading{margin-bottom:0}.resource-database-heading .admin-help{margin:6px 0 0}.resource-search{border:1px solid var(--line);background:var(--surface);min-width:170px;color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:7px 9px;display:flex}.resource-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;font-size:10px}.resource-table-stack{gap:16px;display:grid}.resource-table-wrap{border-top:1px solid var(--line);overflow-x:auto}.resource-table{border-collapse:collapse;width:100%;min-width:650px;font-size:9px}.resource-table th,.resource-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:10px 8px}.resource-table th{color:var(--faint);letter-spacing:.03em;font-size:8px;font-weight:600}.resource-table td{color:var(--muted)}.resource-table td strong,.resource-table td small{display:block}.resource-table td strong{color:var(--ink);font-size:10px}.resource-table td small{max-width:240px;color:var(--faint);text-overflow:ellipsis;margin-top:3px;overflow:hidden}.resource-table .mono-cell{color:var(--ink);font-family:DM Mono,monospace;font-size:8px}.resource-table-subheading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:0 8px 8px;display:flex}.resource-table-subheading strong{color:var(--ink);font-size:10px}.resource-table-subheading span{color:var(--muted);font-size:9px}.database-status{background:var(--positive-bg);color:var(--positive);cursor:pointer;border:0;border-radius:99px;padding:5px 8px;font-size:8px}.database-status.is-hidden{background:var(--surface-2);color:var(--muted)}.resource-forms{grid-template-columns:1fr 1fr;gap:12px;display:grid}.resource-form-card,.resource-list-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:15px}.resource-form{gap:10px;display:grid}.resource-form label{color:var(--muted);gap:6px;font-size:9px;display:grid}.resource-form input,.resource-form select,.resource-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:9px 10px;font-size:10px}.resource-form textarea{resize:vertical;line-height:1.5}.resource-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form-hint{color:var(--faint);font-size:8px}.document-template-panel{margin-top:15px}.document-template-empty{margin:0}.document-template-list,.document-admin-rows{gap:0;display:grid}.document-template-row,.document-admin-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:11px 0;display:flex}.document-template-row:first-child,.document-admin-row:first-child{border-top:0;padding-top:0}.document-template-row:last-child,.document-admin-row:last-child{padding-bottom:0}.document-template-row>div:nth-child(2),.document-admin-row-main{flex:1;min-width:0}.document-template-row strong,.document-template-row span,.document-template-row small,.document-admin-row strong,.document-admin-row span,.document-admin-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.document-template-row strong,.document-admin-row strong{color:var(--ink);font-size:10px}.document-template-row span,.document-admin-row span{color:var(--muted);margin-top:3px;font-size:9px}.document-template-row small,.document-admin-row small{color:var(--faint);margin-top:3px;font-size:8px}.document-template-icon{background:var(--surface-2);width:29px;height:29px;color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}.document-template-row .text-button{flex:none;align-items:center;gap:3px;display:inline-flex}.document-admin-card{margin-top:2px}.document-upload-form{margin-bottom:15px}.document-upload-form input[type=file]{padding:7px}.document-upload-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.document-admin-list{border-top:1px solid var(--line);padding-top:11px}.document-admin-row.is-archived{opacity:.58}.document-admin-row-actions{flex:none;align-items:center;gap:9px;display:flex}.danger-text{color:var(--danger)!important}.resource-list{gap:0;display:grid}.resource-item{border-top:1px solid var(--line);padding:11px 0}.resource-item:first-child{border-top:0;padding-top:0}.resource-item-main{align-items:center;gap:9px;min-width:0;display:flex}.resource-item-main>div:last-child{flex:1;min-width:0}.resource-item-icon{background:var(--surface-2);width:29px;height:29px;color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}.resource-item-main strong,.resource-item-main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.resource-item-main strong{font-size:10px}.resource-item-main span{color:var(--muted);margin-top:3px;font-size:9px}.resource-item>.text-button{float:right;margin-top:-26px}.resource-asset-list{gap:4px;margin:9px 0 0 38px;display:grid}.resource-asset-row{background:var(--surface-2);color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-family:DM Mono,monospace;font-size:8px;display:flex}.asset-status{background:var(--positive-bg);color:var(--positive);border-radius:99px;padding:3px 6px;font-family:inherit}.asset-maintenance,.asset-allocated{background:var(--warning-bg);color:var(--warning)}.asset-lost,.asset-retired{background:var(--danger-bg);color:var(--danger)}.policy-version-list{border-top:1px solid var(--line);margin-top:18px}.policy-version-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.policy-version-row>div:first-child{min-width:0}.policy-version-row strong,.policy-version-row span{display:block}.policy-version-row strong{font-size:10px}.policy-version-row span{color:var(--muted);margin-top:3px;font-size:9px}.policy-version-row .version-tag{margin-top:0;display:inline-block}.version-tag.retired{background:var(--surface-2);color:var(--muted)!important}.admin-overview-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px;display:grid}.admin-overview-card{align-items:center;gap:11px;min-height:82px;display:flex}.admin-overview-card>span{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.admin-overview-card small,.admin-overview-card strong{display:block}.admin-overview-card small{color:var(--muted);font-size:9px}.admin-overview-card strong{letter-spacing:-.06em;margin-top:4px;font-size:20px}.academic-term-panel{margin-bottom:15px}.academic-term-form{border-top:1px solid var(--line);grid-template-columns:1fr 1.4fr .9fr 1fr 1fr auto;align-items:end;gap:8px;padding:13px 0;display:grid}.academic-term-form label{color:var(--muted);gap:5px;font-size:9px;display:grid}.academic-term-form input,.academic-term-form select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:34px;color:var(--ink);font:inherit;border-radius:8px;outline:0;padding:8px 9px;font-size:10px}.academic-term-form input:focus,.academic-term-form select:focus{border-color:var(--ink)}.academic-term-form-actions{white-space:nowrap;align-items:center;gap:7px;min-height:34px;display:flex}.academic-term-table-wrap{margin-top:2px}.academic-term-table-wrap .resource-table{min-width:690px}.admin-console-grid{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px;display:grid}.admin-console-grid .panel{min-width:0}.admin-create-form{grid-template-columns:.7fr 1.3fr auto;gap:7px;margin-bottom:14px;display:grid}.admin-create-form input,.admin-settings-form input,.inline-admin-form input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:10px 11px;font-size:10px}.admin-department-list,.admin-member-list,.admin-review-list{gap:5px;display:grid}.admin-department-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;padding:10px;display:flex}.admin-department-item:hover,.admin-department-item.selected{border-color:var(--line);background:var(--surface-2)}.admin-department-item strong,.admin-department-item span{display:block}.admin-department-item strong{font-size:11px}.admin-department-item span{color:var(--muted);margin-top:3px;font-size:9px}.admin-settings-form{gap:12px;display:grid}.admin-settings-form label{color:var(--muted);gap:6px;font-size:9px;display:grid}.admin-checkbox{grid-template-columns:auto 1fr;align-items:center;gap:7px!important;display:flex!important}.admin-checkbox input{width:auto}.admin-service-toggles{grid-template-columns:1fr 1fr;gap:7px;display:grid}.admin-toggle-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;border-radius:8px;align-items:center;gap:6px;padding:10px;font-size:10px;display:flex}.admin-toggle-button span{color:var(--muted);margin-left:auto;font-size:9px}.admin-alias-section{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.admin-subtitle{color:var(--muted);margin-bottom:8px;font-size:9px}.alias-chip-list{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.alias-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:99px;align-items:center;gap:5px;padding:5px 7px 5px 9px;font-size:9px;display:inline-flex}.alias-chip button{color:var(--faint);background:0 0;place-items:center;display:grid}.inline-admin-form{gap:7px;display:flex}.inline-admin-form input{flex:1}.admin-help,.admin-muted{color:var(--muted);margin:8px 0 13px;font-size:9px;line-height:1.5;display:block}.admin-muted{color:var(--faint);text-align:center}.admin-member-row,.admin-review-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.admin-member-row:first-child,.admin-review-row:first-child{border-top:0}.admin-member-row strong,.admin-member-row span,.admin-review-row strong,.admin-review-row span{display:block}.admin-member-row strong,.admin-review-row strong{font-size:10px}.admin-member-row span,.admin-review-row span{color:var(--muted);margin-top:3px;font-size:9px}.admin-member-row-actions{flex:none;align-items:center;gap:9px;display:flex}.admin-member-row-actions .version-tag{margin-top:0}.member-edit-form{border-top:1px solid var(--line);gap:11px;margin-top:13px;padding-top:14px;display:grid}.member-edit-form .admin-subtitle{margin-bottom:0}.member-edit-form select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;outline:0;padding:9px;font-family:inherit;font-size:10px}.member-edit-form select:focus{border-color:var(--ink)}.overdue-sanction-editor{border-top:1px solid var(--line)}.overdue-sanction-list{gap:7px;display:grid}.overdue-sanction-row{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;grid-template-columns:24px minmax(90px,1fr) 12px minmax(90px,1fr) minmax(90px,1fr) auto;align-items:end;gap:7px;padding:9px;display:grid}.overdue-sanction-index{background:var(--ink);width:22px;height:22px;color:var(--paper);border-radius:50%;place-items:center;font:9px DM Mono,monospace;display:grid}.overdue-sanction-row label{gap:4px;display:grid}.overdue-sanction-row label>span{color:var(--muted);font-size:9px}.overdue-sanction-row label small{color:var(--faint);font-size:8px}.overdue-sanction-row input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:7px;outline:0;padding:8px;font:10px DM Mono,monospace}.overdue-sanction-row input:focus{border-color:var(--ink)}.overdue-range-separator{color:var(--faint);text-align:center;align-self:center;padding-top:15px}.overdue-days-input{align-items:center;gap:5px;display:flex}.overdue-days-input small{color:var(--muted);font-size:9px}.policy-empty-inline{border:1px dashed var(--line-strong);color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:11px;font-size:9px;display:flex}.admin-member-list.compact{border-top:1px solid var(--line);max-height:150px;margin-top:12px;overflow:auto}.member-search{border:1px solid var(--line);background:var(--surface);color:var(--faint);border-radius:8px;align-items:center;gap:7px;margin-top:12px;padding:8px 10px;display:flex}.member-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-family:inherit;font-size:10px}.admin-review-row>div:first-child{flex:1;min-width:0}.admin-review-row>div:first-child span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-review-row>div:last-child{gap:6px;display:flex}.room-reservation-admin-panel{margin-top:15px}.room-reservation-admin-list{display:grid}.room-reservation-admin-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.room-reservation-admin-row:first-child{border-top:0}.room-reservation-admin-row .reservation-purpose,.room-reservation-admin-row .reservation-purpose>div:last-child{min-width:0}.room-reservation-admin-row .reservation-purpose strong,.room-reservation-admin-row .reservation-purpose small{display:block}.room-reservation-admin-row .reservation-purpose strong{font-size:10px}.room-reservation-admin-row .reservation-purpose strong span{color:var(--muted);margin-left:5px;font-size:9px;font-weight:400}.room-reservation-admin-row .reservation-purpose small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.room-reservation-admin-actions{gap:8px;display:flex}.checkin-device-admin-panel{margin-top:15px}.checkin-device-admin-panel .panel-header{align-items:flex-start}.checkin-device-admin-panel .audit-toolbar select{max-width:230px}.checkin-device-form{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;padding:13px 0;display:grid}.checkin-device-form label{gap:5px;display:grid}.checkin-device-form label span{color:var(--muted);font-size:9px}.checkin-device-form input{min-height:34px}.checkin-device-form .primary-button{white-space:nowrap;min-height:34px}.device-credential-callout{border:1px solid var(--positive);background:var(--positive-bg);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 13px;padding:12px;display:flex}.device-credential-callout>div{min-width:0}.device-credential-callout strong,.device-credential-callout code,.device-credential-callout small{display:block}.device-credential-callout strong{color:var(--positive);font-size:10px}.device-credential-callout code{color:var(--ink);white-space:nowrap;margin:6px 0;font-family:DM Mono,monospace;font-size:10px;overflow:auto}.device-credential-callout small{color:var(--muted);font-size:8px;line-height:1.45}.checkin-device-list{display:grid}.checkin-device-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:11px 0;display:grid}.checkin-device-row>div{min-width:0}.checkin-device-row strong,.checkin-device-row span,.checkin-device-row small{display:block}.checkin-device-row strong{font-size:10px}.checkin-device-row span{color:var(--muted);margin-top:3px;font-family:DM Mono,monospace;font-size:8px}.checkin-device-row small{color:var(--faint);margin-top:3px;font-size:8px}.sanction-admin-panel{margin-top:15px}.sanction-admin-list{display:grid}.sanction-admin-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;display:grid}.sanction-admin-row>div{min-width:0}.sanction-admin-row strong,.sanction-admin-row span,.sanction-admin-row small{display:block}.sanction-admin-row strong{font-size:10px}.sanction-admin-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.sanction-admin-row small{color:var(--faint);margin-top:3px;font-size:8px}.text-button{color:var(--positive);background:0 0;padding:5px;font-size:9px}.text-button.danger{color:var(--danger)}.admin-global-admins{margin-bottom:15px}.notice{z-index:60;border:1px solid var(--line);background:var(--surface);max-width:390px;box-shadow:var(--shadow);color:var(--muted);border-radius:11px;align-items:center;gap:9px;padding:12px 13px;font-size:10px;display:flex;position:fixed;bottom:24px;right:24px}.access-warning{border:1px solid color-mix(in srgb, var(--warning) 35%, var(--line));background:var(--warning-bg);color:var(--warning);border-radius:12px;align-items:flex-start;gap:10px;margin:0 0 15px;padding:14px 16px;display:flex}.access-warning>svg{flex:none;margin-top:1px}.access-warning>div{gap:4px;display:grid}.access-warning strong{color:var(--ink);font-size:11px}.access-warning span{color:var(--muted);font-size:10px;line-height:1.6}.notice>svg{color:var(--positive);flex:none}.notice span{flex:1}.notice button{color:var(--faint);background:0 0;place-items:center;display:grid}.loading-screen{background:var(--paper);min-height:100vh;color:var(--muted);align-content:center;place-items:center;gap:15px;font-size:11px;display:grid}.loading-line{background:var(--line);width:100px;height:2px;overflow:hidden}.loading-line:after{background:var(--ink);content:"";width:40%;height:100%;animation:1.1s ease-in-out infinite loading;display:block}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(280%)}}.login-page{background:var(--paper);place-items:center;min-height:100vh;padding:35px 20px;display:grid;position:relative;overflow:hidden}.login-card{z-index:1;border:1px solid var(--line);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow);border-radius:18px;padding:39px;position:relative}.brand-lockup strong{letter-spacing:-.03em;font-size:14px;display:block}.login-copy{margin:80px 0 39px}.login-copy h1{letter-spacing:-.085em;margin:12px 0 13px;font-size:42px;line-height:1.1}.login-copy h1 em{color:var(--muted);font-style:normal}.login-copy p{max-width:315px;color:var(--muted);margin:0;font-size:12px;line-height:1.75}.google-login{background:var(--ink);width:100%;color:var(--paper);border-radius:10px;align-items:center;gap:10px;padding:14px 15px;font-size:11px;font-weight:600;display:flex}.google-login>span:nth-child(2){text-align:left;flex:1}.google-g{background:var(--paper);border-radius:6px;flex:none;width:21px;height:21px;padding:3px}.login-rule{color:var(--faint);align-items:center;gap:8px;margin:21px 0 0;display:flex}.login-rule span{background:var(--line);flex:1;height:1px}.login-rule small{font-size:9px}.login-footnote,.login-notice{color:var(--faint);text-align:center;margin:20px 0 0;font-size:9px;line-height:1.5}.login-notice{color:var(--danger)}.login-copyright{color:var(--faint);font-family:DM Mono,monospace;font-size:9px;position:absolute;bottom:21px}.login-orbit{border:1px solid var(--line);opacity:.7;border-radius:50%;position:absolute}.orbit-one{width:650px;height:650px;transform:translate(-40%,10%)}.orbit-two{width:430px;height:430px;transform:translate(72%,-52%)}.kiosk-page{background:var(--paper);min-height:100vh;color:var(--ink)}.kiosk-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:22px clamp(20px,5vw,72px);display:flex}.kiosk-header strong,.kiosk-header span{display:block}.kiosk-header strong{letter-spacing:-.03em;font-size:14px}.kiosk-header>div:first-child span{color:var(--faint);letter-spacing:.12em;margin-top:4px;font-family:DM Mono,monospace;font-size:8px}.kiosk-header-actions{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.kiosk-online-dot{background:var(--warning);border-radius:50%;width:7px;height:7px}.kiosk-online-dot.ready{background:var(--positive)}.kiosk-settings-button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin-left:12px;padding:8px 11px;font-size:10px}.kiosk-settings-button:hover{border-color:var(--line-strong);color:var(--ink)}.kiosk-main{width:min(1100px,100% - 40px);margin:0 auto;padding:clamp(38px,7vw,80px) 0 55px}.kiosk-intro{max-width:620px;margin-bottom:32px}.kiosk-intro h1{letter-spacing:-.09em;margin:12px 0 13px;font-size:clamp(34px,5vw,58px);line-height:1.08}.kiosk-intro h1 em{color:var(--muted);font-style:normal}.kiosk-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.kiosk-setup{margin-bottom:16px}.kiosk-setup-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.kiosk-setup-form label,.kiosk-token-label{color:var(--muted);gap:6px;font-size:10px;display:grid}.kiosk-setup-form input,.kiosk-token-label input{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--ink);font:inherit;border-radius:8px;outline:none;padding:0 11px}.kiosk-setup-form input:focus,.kiosk-token-label input:focus{border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb, var(--ink) 10%, transparent)}.kiosk-setup-form>div{gap:7px;display:flex}.kiosk-scan-grid{grid-template-columns:1.08fr .92fr;gap:16px;display:grid}.kiosk-camera-card,.kiosk-input-card{min-height:390px}.kiosk-video-wrap{background:var(--surface-2);border-radius:10px;place-items:center;min-height:270px;display:grid;position:relative;overflow:hidden}.kiosk-video-wrap video{object-fit:cover;width:100%;height:100%;min-height:270px;display:none}.kiosk-video-wrap.is-running video{display:block}.kiosk-video-wrap.is-running .kiosk-video-placeholder{display:none}.kiosk-video-placeholder{color:var(--faint);text-align:center;place-items:center;gap:12px;padding:30px;display:grid}.kiosk-video-placeholder span{max-width:240px;font-size:11px;line-height:1.6}.kiosk-input-card>p{color:var(--muted);margin:0 0 22px;font-size:11px;line-height:1.7}.kiosk-input-card form{gap:11px;display:grid}.kiosk-input-card .primary-button{min-height:44px}.kiosk-security-note{align-items:center;gap:6px;display:flex;color:var(--faint)!important;margin-top:22px!important;font-size:9px!important}.kiosk-result{border:1px solid;border-radius:12px;align-items:center;gap:14px;margin-top:16px;padding:18px 20px;display:flex}.kiosk-result-icon{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.kiosk-result>div:last-child{gap:3px;display:grid}.kiosk-result>div:last-child span,.kiosk-result>div:last-child small{color:var(--muted);letter-spacing:.06em;font-family:DM Mono,monospace;font-size:9px}.kiosk-result>div:last-child strong{letter-spacing:-.04em;font-size:16px}.kiosk-result-success{border-color:color-mix(in srgb, var(--positive) 35%, var(--line));background:var(--positive-bg);color:var(--positive)}.kiosk-result-success .kiosk-result-icon{background:color-mix(in srgb, var(--positive) 18%, transparent)}.kiosk-result-warning{border-color:color-mix(in srgb, var(--warning) 35%, var(--line));background:var(--warning-bg);color:var(--warning)}.kiosk-result-warning .kiosk-result-icon{background:color-mix(in srgb, var(--warning) 18%, transparent)}.kiosk-result-danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--line));background:var(--danger-bg);color:var(--danger)}.kiosk-result-danger .kiosk-result-icon{background:color-mix(in srgb, var(--danger) 18%, transparent)}.kiosk-result strong{color:var(--ink)}.kiosk-notice{color:var(--danger);margin:15px 0 0;font-size:11px;line-height:1.6}.kiosk-footer{border-top:1px solid var(--line);width:min(1100px,100% - 40px);color:var(--faint);letter-spacing:.04em;justify-content:space-between;margin:0 auto;padding:18px 0 25px;font-family:DM Mono,monospace;font-size:8px;display:flex}@media (width<=760px){.kiosk-header{align-items:flex-start;gap:14px;padding:18px 20px}.kiosk-header-actions{flex-wrap:wrap;justify-content:flex-end}.kiosk-main{width:calc(100% - 36px);padding-top:42px}.kiosk-scan-grid{grid-template-columns:1fr}.kiosk-camera-card,.kiosk-input-card{min-height:auto}.kiosk-setup-form{grid-template-columns:1fr}.kiosk-setup-form>div{justify-content:flex-end}.kiosk-footer{width:calc(100% - 36px)}}@media (width<=1020px){.sidebar{width:218px}.app-main{width:calc(100% - 218px);margin-left:218px}.topbar{padding:0 28px}.content-wrap{width:min(100% - 56px,900px)}.service-card{min-height:260px}}@media (width<=760px){.mobile-nav-backdrop{z-index:30;background:#1111115c;display:block;position:fixed;inset:0}.sidebar{display:none}.sidebar.mobile-open{z-index:40;width:min(86vw,300px);animation:.2s both mobile-nav-in;display:flex;box-shadow:18px 0 48px #11111129}.sidebar.mobile-open .sidebar-brand{justify-content:space-between}.sidebar.mobile-open .sidebar-close{flex:none;display:grid}@keyframes mobile-nav-in{0%{opacity:.6;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.app-main{width:100%;margin-left:0}.topbar{height:62px;padding:0 18px}.mobile-brand{display:flex}.mobile-department-select{border:1px solid var(--line);background:var(--surface);max-width:132px;color:var(--ink);border-radius:7px;outline:0;padding:5px 7px;font-size:10px;display:block}.topbar-context,.connection-state,.profile-name{display:none}.mobile-menu{display:grid}.content-wrap{width:calc(100% - 36px);padding:38px 0 65px}.page-heading,.hero-heading{flex-direction:column;align-items:flex-start;margin-bottom:27px}.hero-heading{gap:18px}.date-stamp{align-self:flex-end}.page-heading h1,.hero-heading h1{font-size:31px}.sub-heading{gap:16px}.intro-actions{width:100%}.search-box{flex:1;width:auto}.service-grid,.dashboard-lower,.room-layout,.admin-grid,.admin-console-grid,.resource-forms{grid-template-columns:1fr}.admin-overview-grid,.academic-term-form{grid-template-columns:1fr 1fr}.academic-term-form-actions{grid-column:1/-1;justify-content:flex-end}.stats-grid{grid-template-columns:1fr 1fr}.equipment-grid{grid-template-columns:1fr}.equipment-guide-grid{grid-template-columns:1fr 1fr}.date-strip{gap:3px}.date-strip button{padding:8px 3px}.date-strip span{font-size:8px}.date-strip strong{font-size:14px}.date-picker-row{flex-direction:column;align-items:stretch;gap:7px}.date-picker-control{justify-content:space-between;align-items:center;display:flex}.date-picker-control input{min-height:34px}.reservation-summary{grid-template-columns:1fr 1fr}.table-head{display:none}.reservation-row{grid-template-columns:1fr auto;gap:11px}.reservation-time{grid-area:2/1}.reservation-row>div:nth-child(3){grid-area:1/2;justify-self:end}.reservation-actions{grid-area:2/2}.policy-panel{grid-column:auto}.policy-form-grid{grid-template-columns:1fr}.overdue-sanction-row{grid-template-columns:24px 1fr 12px 1fr}.overdue-sanction-row label:nth-of-type(3){grid-column:2/-1}.overdue-sanction-row>.text-button{grid-column:2/-1;justify-self:end}.academic-status-grid{grid-template-columns:1fr 1fr}.application-field-row{flex-direction:column}.application-field-inputs{grid-template-columns:1fr}.application-field-row-actions{justify-content:space-between;width:100%;padding-top:0}.policy-section-heading{flex-direction:column;align-items:flex-start;gap:4px}.resource-toolbar{flex-direction:column;align-items:flex-start}.resource-toolbar>div{width:100%}.resource-toolbar .secondary-button{flex:1}.resource-database-heading{flex-direction:column}.resource-search{width:100%}.equipment-loan-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.equipment-loan-row .status-pill{justify-self:end}.equipment-loan-row .rejection-reason{grid-column:1/-1}.equipment-loan-row .cancel-button{grid-area:2/2}.loan-extension-form{grid-template-columns:1fr}.loan-extension-form>div{justify-content:flex-end}.issue-form-fields{grid-template-columns:1fr}.equipment-issue-history-row{flex-direction:column;align-items:flex-start;gap:7px}.equipment-issue-admin-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.equipment-issue-admin-row>.status-pill{grid-area:1/2}.equipment-issue-admin-actions{grid-column:1/-1;justify-content:flex-end}.room-reservation-admin-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.room-reservation-admin-row>.status-pill{grid-area:1/2}.room-reservation-admin-actions,.room-reservation-admin-row>.rejection-reason{grid-column:1/-1;justify-content:flex-end}.checkin-device-form{grid-template-columns:1fr}.checkin-device-form .primary-button{width:100%}.checkin-device-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.checkin-device-row>.text-button{grid-column:2;justify-self:end}.checkin-device-row>.text-button:not(.danger){grid-row:2}.checkin-device-row>.text-button.danger{grid-row:3}.sanction-admin-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.sanction-admin-row>.text-button{grid-area:2/2;justify-self:end}.equipment-compensation-row,.equipment-compensation-admin-row,.equipment-compensation-create-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.equipment-compensation-row>.status-pill,.equipment-compensation-admin-row>.status-pill{grid-area:1/2}.equipment-compensation-admin-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}.audit-toolbar{flex-direction:column;align-items:flex-end}.audit-log-row{grid-template-columns:1fr;gap:4px}.schedule-admin-forms,.schedule-admin-lists{grid-template-columns:1fr}.schedule-legend{gap:8px}.room-timetable{min-width:1400px}.login-card{padding:29px 23px}.login-copy{margin:65px 0 32px}.login-copy h1{font-size:36px}}@media (width<=430px){.service-card{min-height:270px;padding:20px}.service-card h2{font-size:22px}.stats-grid{gap:7px}.stat-card{gap:8px;padding:12px}.stat-copy strong{font-size:18px}.equipment-card{display:block}.equipment-visual{width:100%;min-height:125px}.equipment-body{min-height:240px}.filter-row{display:block}.filter-tabs{padding-bottom:7px;overflow-x:auto}.result-count{margin-top:5px;display:block}.admin-overview-grid{gap:7px}.admin-overview-card{min-height:72px;padding:12px}.admin-create-form,.admin-service-toggles,.academic-term-form{grid-template-columns:1fr}.academic-term-form-actions{grid-column:auto;justify-content:stretch}.academic-term-form-actions .primary-button{flex:1}.resource-form-grid{grid-template-columns:1fr}}
