:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#12141c;color:#e5e7eb;--bg: #12141c;--panel: #1a1d29;--line: #2b3040;--muted: #9ca3af;--green: #10b981;--red: #ef4444;--yellow: #f59e0b;--blue: #3b82f6;--purple: #8b5cf6;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-emphasis: 15px;--text-title: 20px;--radius-sm: 6px;--radius-md: 8px;--weight-strong: 700;--weight-heavy: 800}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);font-size:var(--text-base);line-height:1.4}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#12141c;color:#f3f4f6;min-height:40px;padding:9px 10px;outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}textarea{min-height:92px;resize:vertical}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#12141c;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase}.app-shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border-bottom:1px solid var(--line);background:var(--panel);box-shadow:0 10px 24px #0003}.brand{display:flex;gap:12px;align-items:center}.brand h1{margin:0;color:#f3f4f6;font-size:16px;line-height:1.25;letter-spacing:0}.brand-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgb(59 130 246 / .45);border-radius:6px;background:#3b82f629;color:#bfdbfe;font-size:13px;font-weight:var(--weight-heavy)}.role-select{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;white-space:nowrap}.header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.user-label{color:#f3f4f6;font-size:13px;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.login-card{display:grid;gap:18px;width:min(420px,100%);padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.login-brand h1{font-size:22px}.error-text{color:var(--red);font-size:13px}.role-select select{width:auto;color:var(--green);font-size:12px;font-weight:700}.main-content{width:min(1400px,calc(100% - 32px));margin:0 auto;padding:28px 0}.stack{display:grid;gap:22px}.stack.compact{gap:14px}.muted{color:var(--muted)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.admin-menu-wrap{max-width:560px;margin:0 auto}.menu-card{display:grid;gap:10px;width:100%;min-height:170px;padding:24px;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit;transition:border-color .15s ease,transform .15s ease}.menu-card:hover{transform:translateY(-1px)}.menu-card.accent-green:hover{border-color:color-mix(in srgb,var(--green),transparent 45%)}.menu-card.accent-yellow:hover{border-color:color-mix(in srgb,var(--yellow),transparent 45%)}.menu-card.accent-red:hover{border-color:color-mix(in srgb,var(--red),transparent 45%)}.menu-card.accent-blue:hover{border-color:color-mix(in srgb,var(--blue),transparent 45%)}.menu-card.accent-purple:hover{border-color:color-mix(in srgb,var(--purple),transparent 45%)}.menu-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:6px;background:#12141cb3;color:#f3f4f6;font-size:22px;font-weight:var(--weight-heavy)}.menu-title{color:#f3f4f6;font-size:18px;font-weight:var(--weight-heavy)}.menu-text{color:var(--muted);font-size:var(--text-base);line-height:1.55}.back-button{justify-self:start;border:0;background:transparent;color:var(--muted);padding:0}.back-button:hover{color:#f3f4f6}.page-title{margin:0;padding-bottom:14px;border-bottom:1px solid var(--line);color:#f3f4f6;font-size:var(--text-title)}.panel{display:grid;gap:16px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.panel-title{display:flex;gap:8px;align-items:baseline;margin:0;font-size:var(--text-base);font-weight:var(--weight-heavy);text-transform:uppercase}.panel-title span{color:var(--muted);font-size:11px;font-weight:500}.accent-text-green{color:var(--green)}.accent-text-yellow{color:var(--yellow)}.accent-text-red{color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid.one-column{grid-template-columns:1fr}.profile-fill-row{display:flex;justify-content:flex-start}.field{display:grid;gap:6px;min-width:0}.field span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-strong);text-transform:uppercase}.terminal-row,.transfer-row{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#12141c8c}.transfer-row{align-items:start}.terminal-row{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(220px,auto) auto;align-items:end}.terminal-row.remove-row{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(220px,auto) minmax(220px,auto) auto}.ownership-field{display:grid;gap:6px;min-width:0}.ownership-field>span{color:var(--muted);font-size:var(--text-sm);font-weight:700;text-transform:uppercase}.ownership-toggle{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:40px;border:1px solid var(--line);border-radius:6px;background:#12141c}.ownership-toggle label{display:grid;cursor:pointer}.ownership-toggle label+label{border-left:1px solid var(--line)}.ownership-toggle input{position:absolute;width:1px;height:1px;opacity:0}.ownership-toggle span{display:grid;place-items:center;padding:8px 10px;color:var(--muted);font-size:11px;font-weight:800}.ownership-toggle input:checked+span{background:#3b82f633;color:#bfdbfe}.ownership-toggle input:focus-visible+span{outline:2px solid var(--blue);outline-offset:-2px}.mini-panel{display:grid;gap:10px;padding:14px;border-radius:8px;border:1px solid var(--line);background:#12141c80}.mini-panel strong{font-size:12px}.mini-panel.red{border-color:#ef444447}.mini-panel.red strong{color:var(--red)}.mini-panel.green{border-color:#10b98147}.mini-panel.green strong{color:var(--green)}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.upper{text-transform:uppercase}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:#202433;color:#f3f4f6}.icon-button.danger{color:var(--red)}@media(max-width:1100px){.terminal-row.remove-row{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-row.remove-row .icon-button{width:100%}}.secondary-button,.primary-button,.action{border:0;border-radius:6px;min-height:40px;padding:9px 14px;font-size:var(--text-sm);font-weight:var(--weight-strong)}.secondary-button{justify-self:start;background:#262b3a;color:#d1d5db}.primary-button{color:#111827}.primary-button.accent-green,.action.green{background:var(--green)}.primary-button.accent-yellow{background:var(--yellow)}.primary-button.accent-red,.action.red{background:var(--red);color:#fff}.primary-button.accent-blue,.action.blue{background:var(--blue);color:#fff}.primary-button.accent-purple{background:var(--purple);color:#fff}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.notification-wrap{position:relative}.notification-bell{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#262b3a;color:#f3f4f6;font-size:15px;transition:border-color .14s ease,background .14s ease,color .14s ease}.notification-bell:hover,.notification-bell.open{border-color:#3b82f68c;background:#3b82f62e;color:#bfdbfe}.notification-bell.has-unread:not(.open){border-color:#ef444466}.notification-badge{position:absolute;top:-5px;right:-6px;min-width:18px;height:18px;padding:0 5px;border:2px solid var(--panel);border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:800;line-height:14px}.notification-panel{position:absolute;z-index:70;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 20px 60px #00000080}.notification-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.notification-head button{border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:800}.notification-list{max-height:min(430px,65vh);overflow-y:auto}.notification-item{display:grid;gap:5px;width:100%;padding:13px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#3b82f61a}.notification-item:hover{background:#3b82f629}.notification-title{color:#f3f4f6;font-size:var(--text-xs);font-weight:var(--weight-strong);font-weight:800}.notification-message{color:#d1d5db;font-size:12px;line-height:1.45}.notification-item time,.notification-empty{color:var(--muted);font-size:10px}.notification-empty{margin:0;padding:24px 14px;text-align:center}.request-table{table-layout:fixed}.request-table tr{transition:background .12s ease}.request-table tbody tr:hover{background:#ffffff04}.request-table .select-cell{width:44px}.request-table .request-cell{width:230px}.request-table .applicant-cell{width:300px}.request-table .terminal-cell{width:auto}.request-table .status-cell{width:150px}.request-table td{overflow-wrap:anywhere;font-size:var(--text-base);line-height:1.35}.request-table td>strong,.applicant-primary{font-size:var(--text-emphasis);font-weight:var(--weight-strong);line-height:1.35}.request-title{display:block;color:#f3f4f6}.request-meta{display:grid;gap:2px;margin-top:6px;color:var(--muted);font-size:var(--text-sm);line-height:1.35}.strong{font-weight:800}.subline{display:block;margin-top:4px;color:var(--muted);font-size:var(--text-sm)}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid;border-radius:999px;font-size:var(--text-sm);font-weight:var(--weight-strong)}.status-pill.submitted{border-color:#f59e0b59;background:#f59e0b1f;color:var(--yellow)}.status-pill.approved{border-color:#10b98159;background:#10b9811f;color:var(--green)}.status-pill.needs_revision{border-color:#3b82f659;background:#3b82f61f;color:var(--blue)}.status-pill.rejected{border-color:#ef444459;background:#ef44441f;color:var(--red)}.review-comment{margin:7px 0 0;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#12141c73;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.operation-history{display:grid;gap:8px;min-width:230px}.history-modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow-y:auto}.history-modal-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.history-modal-head h3{margin-top:4px}.current-operation{display:grid;gap:7px;padding:14px;border:1px solid rgb(139 92 246 / .4);border-radius:8px;background:#8b5cf614;color:var(--muted);font-size:var(--text-sm)}.current-operation strong{color:#f3f4f6;overflow-wrap:anywhere}.history-section-title{margin:4px 0 0}.modal-operation-history{min-width:0}.operation-history-item{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#12141c73;font-size:var(--text-sm)}.operation-history-item strong{color:#f3f4f6}.operation-history-item>span:not(.history-status){color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.history-status{font-weight:var(--weight-strong)}.history-status.approved{color:var(--green)}.history-status.rejected{color:var(--red)}.history-status.needs_revision{color:var(--blue)}.history-status.submitted,.no-history{color:var(--muted);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}.toolbar span{margin-right:8px;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-strong);text-transform:uppercase}.applicant-primary{display:block;overflow-wrap:anywhere}.terminal-data>.mono{display:block;overflow-wrap:anywhere}.terminal-list{display:grid;gap:8px}.terminal-flow{display:grid;gap:8px;align-items:center}.terminal-flow.transfer{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.terminal-summary{display:grid;gap:2px;min-width:0;color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--text-sm);line-height:1.32}.terminal-summary strong{color:#f3f4f6;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--text-sm);line-height:1.25}.terminal-summary span,.terminal-summary b{min-width:0;overflow-wrap:anywhere}.terminal-summary b{color:#f3f4f6;font-weight:var(--weight-heavy)}.terminal-summary.lost-destroyed b{color:var(--red)}.identifier-line{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:4px}.identifier-line>span{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px;min-width:0;overflow-wrap:anywhere}.terminal-label{color:var(--muted);font-weight:var(--weight-strong)}.copy-button{width:20px;height:20px;border:0;border-radius:4px;background:transparent;color:var(--blue);padding:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700}.copy-button:hover{background:#3b82f61f}.copy-button:disabled{display:none}.terminal-summary .terminal-ownership{color:var(--muted);font-weight:400}.terminal-summary .terminal-current-state{color:var(--red);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:var(--weight-strong)}.terminal-arrow{color:var(--muted);font-size:15px;text-align:center}.detail-button{margin-top:8px;border:0;border-radius:var(--radius-sm);background:#262b3a;color:#d1d5db;padding:6px 8px;font-size:var(--text-sm);font-weight:var(--weight-strong)}.edit-button{margin-left:6px;background:#3b82f62e;color:#bfdbfe}.audit-timeline{display:grid;gap:0}.audit-event{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:4px;column-gap:14px;padding:0 0 14px;color:var(--muted);font-size:var(--text-sm)}.audit-event:before{content:"";position:relative;z-index:1;grid-column:1;grid-row:1;justify-self:center;margin-top:3px;width:10px;height:10px;border-radius:50%;background:var(--purple)}.audit-event:after{content:"";position:relative;z-index:0;grid-column:1;grid-row:1 / span 10;justify-self:center;width:2px;min-height:calc(100% + 14px);background:var(--line)}.audit-event:last-child:after{display:none}.audit-event strong{grid-column:2;color:#f3f4f6}.audit-event span,.audit-event p{grid-column:2}.audit-event p{margin:2px 0 0}.filter-toolbar{align-items:end}.filter-field{display:grid;gap:6px;min-width:190px}.filter-field span{margin:0}.filter-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.filter-head b{color:#c7d2fe;font-size:var(--text-xs);font-weight:var(--weight-heavy);white-space:nowrap}.filter-field select,.filter-field input{min-height:36px}.filter-field.search-field{flex:1 1 340px}.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;color:var(--muted);font-size:12px}.pagination-size{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-strong);text-transform:uppercase}.pagination-size select{width:auto;min-height:32px;padding:5px 24px 5px 8px}.toast-viewport{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:10px;width:min(360px,calc(100% - 36px))}.toast{padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-md);background:#202433;box-shadow:0 14px 40px #0006;font-size:var(--text-base);font-weight:700}.toast.success{border-color:#10b98173;color:#a7f3d0}.toast.error{border-color:#ef444473;color:#fecaca}.mobile-select-all{display:none}.action{color:#111827}.select-cell{width:52px;text-align:center}.select-cell input{width:auto}.empty-state{padding:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);text-align:center}.empty-state.error{color:var(--red)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#000000c2}.modal-card{display:grid;gap:14px;width:min(460px,100%);padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 24px 80px #00000073}.modal-card.narrow{width:min(380px,100%)}.modal-card h3{margin:0}.modal-head{text-align:center}.modal-head span{font-size:34px}.modal-head h3{margin:8px 0 4px}.modal-head p{margin:0;color:var(--muted);font-size:12px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions.right{display:flex;justify-content:flex-end}@media(max-width:760px){.topbar,.role-select{align-items:stretch;flex-direction:column}.role-select select{width:100%}.menu-grid,.form-grid,.two-column,.terminal-row,.terminal-row.remove-row,.transfer-row{grid-template-columns:1fr;align-items:stretch}.terminal-row .icon-button,.terminal-row.remove-row .icon-button{width:100%}th,td{padding:12px}.main-content{width:min(100% - 20px,1400px);padding:18px 0}.topbar{padding:12px}.header-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px;align-items:center}.header-actions .user-label{grid-column:1 / -1}.header-actions .secondary-button{width:100%}.notification-wrap{grid-column:2;grid-row:2 / span 2;align-self:stretch}.notification-bell{width:100%;height:100%;min-height:40px}.notification-panel{position:fixed;top:72px;right:10px;left:10px;width:auto}.menu-card,.panel{padding:16px}.menu-card{min-height:140px}.page-title{font-size:20px}.toolbar{display:grid;align-items:stretch}.toolbar .action,.filter-field{width:100%}.filter-head{flex-wrap:wrap}.pagination{display:grid;grid-template-columns:1fr 1fr}.pagination>span{grid-column:1 / -1;grid-row:1;text-align:center}.pagination-size{grid-column:1 / -1;justify-content:center}.mobile-select-all{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.mobile-select-all input{width:auto}.request-table thead{display:none}.request-table,.request-table tbody,.request-table tr,.request-table td{display:block;width:100%}.request-table .request-cell,.request-table .applicant-cell,.request-table .terminal-cell,.request-table .status-cell{width:100%}.request-table tr{padding:9px 10px;border-bottom:1px solid var(--line)}.request-table tr:last-child{border-bottom:0}.request-table td{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:5px 0;border:0}.request-table td:before{content:attr(data-label);grid-column:1;grid-row:1 / span 10;color:var(--muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800;text-transform:uppercase}.request-meta{margin-top:4px}.detail-button{margin-top:6px}.subline{margin-top:2px}.request-table td>*{grid-column:2}.request-table td.select-cell{display:grid;width:100%;text-align:left}.request-table td.select-cell input{justify-self:start}.applicant-primary{white-space:normal}.terminal-data{overflow-wrap:anywhere}.terminal-flow.transfer{grid-template-columns:1fr}.terminal-arrow{justify-self:center;transform:rotate(90deg)}.terminal-row>.icon-button,.transfer-row>.icon-button{width:100%}.modal-actions,.modal-actions.right{display:grid;grid-template-columns:1fr}}
