:root{--color-bg: #0f172a;--color-bg-elev: #111827;--color-bg-card: #1f2937;--color-border: rgba(148, 163, 184, .16);--color-border-strong:rgba(148, 163, 184, .32);--color-text: #e5e7eb;--color-text-muted: #94a3b8;--color-text-faint: #64748b;--color-primary: #22d3ee;--color-primary-soft: rgba(34, 211, 238, .12);--color-success: #34d399;--color-warning: #fbbf24;--color-danger: #f87171;--color-accent: #a78bfa;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .32);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .45);--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--duration-fast: .12s;--duration-base: .2s;--header-height: 56px;--tabbar-height: 64px;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=light]{--color-bg: #f8fafc;--color-bg-elev: #ffffff;--color-bg-card: #ffffff;--color-border: rgba(15, 23, 42, .08);--color-border-strong:rgba(15, 23, 42, .18);--color-text: #0f172a;--color-text-muted: #475569;--color-text-faint: #94a3b8;--color-primary: #0891b2;--color-primary-soft: rgba(8, 145, 178, .12);--color-success: #059669;--color-warning: #d97706;--color-danger: #dc2626;--color-accent: #7c3aed;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 48px rgba(15, 23, 42, .12)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{font-family:var(--font-mono);font-size:15px;line-height:1.45;color:var(--terminal-text);background:var(--terminal-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media (pointer: coarse){input,select,textarea,.input,.select,.textarea{font-size:16px}}#app{display:flex;flex-direction:column;min-height:100dvh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 var(--space-3);font-weight:600;letter-spacing:-.01em}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1.05rem}p{margin:0 0 var(--space-3);color:var(--color-text-muted)}input,select,textarea,button{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0;color:inherit}img,svg{max-width:100%;display:block}code,pre{font-family:var(--font-mono);font-size:.9em}.app-shell{display:flex;flex-direction:column;flex:1;width:100%;max-width:none;margin:0;padding:0}.app-main{flex:1;padding:var(--space-4) 0 calc(var(--tabbar-height) + var(--safe-area-bottom) + var(--space-4))}@media (min-width: 720px){.app-main{padding-bottom:var(--space-6)}}@media print{.appbar,.tabbar{display:none!important}.app-main{padding:0}.app-shell{max-width:none;padding:0}.no-print{display:none!important}.sheet{max-width:720px;margin:0 auto;padding:24px}.sheet h1,.sheet h2,.sheet h3{break-after:avoid}}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.stack-2{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.row{display:flex;align-items:center;gap:var(--space-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.grow{flex:1;min-width:0}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint);font-size:.85em}.mono{font-family:var(--font-mono)}.icon{width:1em;height:1em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.15em}.icon-sm{width:.875em;height:.875em}.icon-lg{width:1.25em;height:1.25em}.icon-xl{width:1.5em;height:1.5em}.icon-faint{color:var(--color-text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 16px;border-radius:var(--radius-md);font-weight:500;background:var(--color-bg-elev);border:1px solid var(--color-border-strong);transition:background var(--duration-fast),border-color var(--duration-fast)}.btn:hover{background:var(--color-bg-card)}.btn-primary{background:var(--color-primary);color:#001218;border-color:var(--color-primary)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:transparent;border-color:var(--color-border)}.btn-block{width:100%}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn .icon{width:1em;height:1em}.btn-icon{padding:8px;width:36px;height:36px;border-radius:999px}.btn-icon .icon{width:18px;height:18px}.input,.select,.textarea{width:100%;padding:10px 12px;background:var(--color-bg-elev);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.select-compact{width:auto;padding:4px 8px;font-size:.85em}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:.85em;color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.75em;font-weight:500;background:var(--color-primary-soft);color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em}.badge-success{background:#34d39924;color:var(--color-success)}.badge-warning{background:#fbbf2424;color:var(--color-warning)}.badge-danger{background:#f8717124;color:var(--color-danger)}.badge-muted{background:var(--color-border);color:var(--color-text-muted)}.tabbar{position:sticky;bottom:0;display:flex;background:var(--color-bg-elev);border-top:1px solid var(--color-border);height:calc(var(--tabbar-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);z-index:10}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.7em;color:var(--color-text-muted);text-decoration:none;transition:color var(--duration-fast)}.tabbar a .icon{width:22px;height:22px;stroke-width:1.75}.tabbar a.active{color:var(--color-primary)}.tabbar a:hover{color:var(--color-text)}.appbar{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg);z-index:5}.appbar h1{font-size:1.05rem;margin:0}.appbar-brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);text-decoration:none}.appbar-brand:hover{color:var(--color-text)}.appbar-logo{width:28px;height:28px;display:block;flex-shrink:0}.user-menu{position:relative;display:none}@media (min-width: 720px){.user-menu.is-authed{display:inline-flex}}.user-menu-trigger{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;color:var(--color-text)}.avatar-initials{width:32px;height:32px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.78rem;letter-spacing:.5px}.user-menu-trigger:hover .avatar-initials,.user-menu-trigger:focus-visible .avatar-initials{outline:2px solid var(--color-primary);outline-offset:2px}.user-menu-panel{position:absolute;right:0;top:calc(100% + var(--space-2));min-width:240px;background:var(--color-bg-elev);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20;overflow:hidden}.user-menu-header{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);word-break:break-word}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:0;cursor:pointer;color:var(--color-text);font:inherit;text-align:left}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--color-primary-soft)}.show-mobile-only{display:block}@media (min-width: 720px){.show-mobile-only{display:none}}.list{display:flex;flex-direction:column;gap:var(--space-2)}.list-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.list-item>.grow,.list-item>.stack-2.grow{flex:1 1 60%;min-width:0}.list-leading{width:20px;height:20px}.list-item-details>summary{cursor:pointer;list-style:none}.list-item-details>summary::-webkit-details-marker{display:none}.list-item-details[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.doc-items{padding:var(--space-3) var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border);border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md);font-size:.9em}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-faint);font-size:.85em;text-decoration:none;width:fit-content}.back-link:hover{color:var(--color-text)}.period{display:inline-flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.error-banner{padding:var(--space-3) var(--space-4);background:#f871711f;color:var(--color-danger);border:1px solid rgba(248,113,113,.4);border-radius:var(--radius-md);font-size:.9em}.error-text{color:var(--color-danger);font-size:.85em}.warn-banner{padding:var(--space-3) var(--space-4);background:#fbbf241f;color:var(--color-warning);border:1px solid rgba(251,191,36,.4);border-radius:var(--radius-md);font-size:.9em;display:flex;flex-direction:column;gap:var(--space-1)}.warn-banner strong{color:var(--color-warning)}.timeline{display:flex;flex-direction:column;gap:var(--space-2);border-left:2px solid var(--color-border-strong);padding-left:var(--space-4)}.timeline-item{position:relative;padding-bottom:var(--space-3)}.timeline-item:before{content:"";position:absolute;left:-22px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.toggle{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none}.toggle input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;flex-shrink:0;width:40px;height:22px;background:var(--color-bg-elev);border:1px solid var(--color-border-strong);border-radius:999px;transition:background var(--duration-fast),border-color var(--duration-fast)}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--color-text-muted);border-radius:50%;transition:transform var(--duration-fast),background var(--duration-fast)}.toggle input:checked+.toggle-track{background:var(--color-primary);border-color:var(--color-primary)}.toggle input:checked+.toggle-track:after{transform:translate(18px);background:#001218}.toggle input:focus-visible+.toggle-track{box-shadow:0 0 0 3px var(--color-primary-soft)}.toggle input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.toggle.toggle-block{display:flex;justify-content:space-between;width:100%}.toggle-label{display:flex;flex-direction:column;gap:2px;min-width:0}.toggle-label .faint{font-size:.85em}.sheet{--sheet-ink: var(--color-text);--sheet-muted: var(--color-text-muted);--sheet-faint: var(--color-text-faint);--sheet-line: var(--color-border);--sheet-bg: var(--color-bg-card);--sheet-accent: var(--color-primary);--sheet-accent-soft: var(--color-primary-soft);color:var(--sheet-ink);print-color-adjust:exact;-webkit-print-color-adjust:exact}.sheet h1,.sheet h2,.sheet h3,.sheet p,.sheet div,.sheet span,.sheet strong{color:inherit}.sheet .muted{color:var(--sheet-muted)}.sheet .faint{color:var(--sheet-faint)}.sheet-page{width:100%;max-width:190mm;margin:0 auto;padding:8mm 10mm 6mm;display:grid;grid-template-rows:auto 1fr auto;row-gap:6mm;background:var(--sheet-bg);border:1px solid var(--sheet-line);border-radius:var(--radius-lg)}.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--sheet-line);padding-bottom:3mm}.sheet-brand{font-weight:700;letter-spacing:.04em;font-size:11pt}.sheet-meta{font-size:9pt;color:var(--sheet-muted)}.sheet-hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-4)}.sheet-eyebrow{font-size:10pt;letter-spacing:.18em;text-transform:uppercase;color:var(--sheet-accent);font-weight:700}.sheet-headline{font-size:28pt;line-height:1.05;font-weight:800;letter-spacing:-.01em;margin:2mm 0 1mm}.sheet-sub{font-size:11pt;color:var(--sheet-muted)}.price-pill{border:2px solid var(--sheet-accent);border-radius:999px;padding:3mm 6mm;text-align:center;white-space:nowrap;background:var(--sheet-accent-soft)}.price-pill .label{font-size:8pt;letter-spacing:.16em;text-transform:uppercase;color:var(--sheet-accent)}.price-pill .value{font-size:16pt;font-weight:800;color:var(--sheet-ink)}.sheet-features{display:grid;grid-template-columns:repeat(2,1fr);gap:3mm 8mm;font-size:11pt}.sheet-features .feat{display:flex;gap:3mm;align-items:baseline}.sheet-features .feat:before{content:"•";color:var(--sheet-accent);font-weight:700}.sheet-desc{font-size:10.5pt;line-height:1.5;white-space:pre-line;color:var(--sheet-muted)}.sheet-qr-row{display:grid;grid-template-columns:38mm 1fr;gap:6mm;align-items:center;border:1px dashed var(--sheet-line);border-radius:var(--radius-md);padding:4mm}.sheet-qr-row [data-qr] svg{width:38mm;height:38mm;display:block}.sheet-qr-copy .eyebrow{font-size:9pt;letter-spacing:.16em;text-transform:uppercase;color:var(--sheet-accent);font-weight:700}.sheet-qr-copy .head{font-size:13pt;font-weight:700;margin:1mm 0}.sheet-qr-copy .url{font-family:var(--font-mono);font-size:10pt;word-break:break-all}.sheet-qr-copy .contact{font-size:9.5pt;color:var(--sheet-muted);margin-top:1mm}.sheet-b2b{background:var(--sheet-accent-soft);color:var(--sheet-ink);border:1px solid var(--sheet-accent);border-left:4px solid var(--sheet-accent);border-radius:var(--radius-md);padding:4mm 5mm;display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-4)}.sheet-b2b .eyebrow{font-size:8pt;letter-spacing:.18em;text-transform:uppercase;color:var(--sheet-accent);font-weight:700}.sheet-b2b .head{font-size:12pt;font-weight:700;margin:1mm 0;color:var(--sheet-ink)}.sheet-b2b .body{font-size:9.5pt;color:var(--sheet-muted)}.sheet-b2b .cta{border:1.5px solid var(--sheet-accent);border-radius:999px;padding:2mm 5mm;font-weight:700;font-size:10pt;white-space:nowrap;color:var(--sheet-accent);background:var(--sheet-bg)}@media print{.sheet{--sheet-ink: #0f172a;--sheet-muted: #475569;--sheet-faint: #94a3b8;--sheet-line: #e2e8f0;--sheet-bg: #ffffff;--sheet-accent: #0891b2;--sheet-accent-soft: #ecfeff;padding:0}.sheet-page{border:none;padding:0;max-width:none;background:#fff}}.multiline{white-space:pre-line}.contracts-toolbar{display:grid;grid-template-columns:1fr;gap:var(--space-2);align-items:center}.contracts-toolbar .contracts-sort{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.role-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-bg-card);color:var(--color-text);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.role-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.role-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.contracts-sort .btn-sm{padding:4px 10px;font-size:.85em;display:inline-flex;align-items:center;gap:var(--space-1)}.contracts-sort .btn.is-active{background:var(--color-primary-soft);color:var(--color-primary)}@media (max-width: 640px){.contracts-toolbar{grid-template-columns:1fr}}.contracts-group{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.contracts-group-header{display:flex;align-items:baseline;gap:var(--space-2);font-size:.78em;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.contracts-group-header .group-title{font-weight:600;color:var(--color-text);letter-spacing:.06em}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1000}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg, 0 8px 32px rgba(0,0,0,.4));width:min(560px,100%);max-height:calc(100vh - 2 * var(--space-4));display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1.05em}.modal-body{padding:var(--space-4);overflow:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.toast-host{position:fixed;right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);z-index:1100;pointer-events:none;max-width:360px}.toast{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border-strong);border-left-width:4px;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-md, 0 4px 16px rgba(0,0,0,.2));pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.toast-show{opacity:1;transform:translateY(0)}.toast-hide{opacity:0;transform:translateY(8px)}.toast-success{border-left-color:var(--color-success, #22c55e)}.toast-error{border-left-color:var(--color-danger, #ef4444)}.toast-warn{border-left-color:var(--color-warning, #f59e0b)}.toast-info{border-left-color:var(--color-primary)}.empty-card{padding:var(--space-5);text-align:center}.empty-card .empty-icon{font-size:2em;opacity:.4;margin-bottom:var(--space-2)}.notif-bell{position:relative}.notif-bell .badge-count{position:absolute;top:-4px;right:-4px;background:var(--color-danger, #ef4444);color:#fff;font-size:.7em;line-height:1;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.notif-list .notif-row{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.notif-list .notif-row.unread{background:var(--color-primary-soft, rgba(34,211,238,.08))}.notif-list .notif-row .notif-title{font-weight:600}.notif-list .notif-row .notif-time{color:var(--color-text-muted);font-size:.85em}.requirement-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.requirement-row+.requirement-row{margin-top:var(--space-2)}.requirement-row .req-status{font-size:.85em}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.78em;font-weight:600}.status-NEW{background:var(--color-bg-elev);color:var(--color-text-muted)}.status-PENDING{background:#f59e0b26;color:#b45309}.status-SUBMITTED{background:var(--color-primary-soft, rgba(34,211,238,.15));color:var(--color-primary)}.status-APPROVED,.status-VERIFIED,.status-ACCEPTED{background:#22c55e2e;color:#15803d}.status-REJECTED,.status-WITHDRAWN{background:#ef444426;color:#b91c1c}.progress-bar{background:var(--color-bg-elev);border-radius:999px;height:8px;overflow:hidden}.progress-bar>.progress-fill{background:var(--color-primary);height:100%;transition:width .2s}.login-terminal,.admin-terminal{--terminal-bg: #1a1612;--terminal-text: #d4b483;--terminal-dim: #8b7355;--terminal-highlight: #e6d2a8;--terminal-accent: #ff7b4f;--terminal-error: #ff6b6b;--terminal-selection: rgba(212, 180, 131, .15);font-family:var(--font-mono);background:var(--terminal-bg);color:var(--terminal-text);min-height:100vh;width:100%;max-width:none;margin:0;padding:0;outline:none}.admin-terminal{padding:var(--space-4)}.login-terminal{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:none;margin:0 auto;padding:var(--space-8)}.login-header{margin-bottom:var(--space-4)}.login-logo{font-family:monospace;font-size:8px;line-height:1.1;color:var(--terminal-highlight);margin:0}.login-subtitle{color:var(--terminal-dim);font-size:.9em;margin-bottom:var(--space-6)}.login-error{color:var(--terminal-error);border:1px solid var(--terminal-error);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);width:100%}.login-form{width:100%}.form-line{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--terminal-dim)}.form-prompt{color:var(--terminal-accent)}.form-label{color:var(--terminal-highlight)}.form-cursor{animation:blink 1s infinite}.form-field{margin-bottom:var(--space-3)}.field-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);color:var(--terminal-dim);font-size:.9em}.field-prompt{color:var(--terminal-accent);font-size:1.2em}.field-colon{color:var(--terminal-text)}.terminal-input,.terminal-select{width:100%;background:transparent;border:1px solid var(--terminal-dim);color:var(--terminal-text);font-family:var(--font-mono);font-size:1em;padding:var(--space-2) var(--space-3);outline:none}.terminal-input:focus,.terminal-select:focus{border-color:var(--terminal-highlight)}.terminal-input::placeholder{color:var(--terminal-dim)}.terminal-select{cursor:pointer}.terminal-select option{background:var(--terminal-bg);color:var(--terminal-text)}.form-actions{margin-top:var(--space-4)}.terminal-btn{width:100%;background:transparent;border:1px solid var(--terminal-highlight);color:var(--terminal-highlight);font-family:var(--font-mono);font-size:1em;padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--duration-fast)}.terminal-btn:hover,.terminal-btn:focus{background:var(--terminal-highlight);color:var(--terminal-bg)}.terminal-btn:disabled{opacity:.5;cursor:not-allowed}.login-switch{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--terminal-dim)}.switch-prompt{color:var(--terminal-accent)}.switch-btn{background:transparent;border:none;color:var(--terminal-dim);font-family:var(--font-mono);cursor:pointer;padding:var(--space-1) 0}.switch-btn:hover{color:var(--terminal-highlight);text-decoration:underline}.login-footer{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--terminal-dim);width:100%}.footer-hint{color:var(--terminal-dim);font-size:.8em}.admin-terminal:focus{outline:none}.admin-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--terminal-dim);margin-bottom:var(--space-4)}.admin-prompt{color:var(--terminal-accent);font-weight:700;font-size:1.2em}.admin-title{color:var(--terminal-highlight);font-weight:700;letter-spacing:2px}.admin-hint{color:var(--terminal-dim);font-size:.8em;margin-left:auto}.admin-toolbar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.admin-tab{padding:var(--space-2) var(--space-3);cursor:pointer;border:1px solid var(--terminal-dim);transition:all var(--duration-fast)}.admin-tab:hover{border-color:var(--terminal-highlight)}.admin-tab.active{background:var(--terminal-highlight);color:var(--terminal-bg)}.admin-search{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.search-prompt{color:var(--terminal-accent)}.admin-search-bar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--terminal-dim)}.search-select{background:transparent;border:1px solid var(--terminal-dim);color:var(--terminal-highlight);font-family:var(--font-mono);font-size:.9em;padding:var(--space-1) var(--space-2);cursor:pointer}.search-select option{background:var(--terminal-bg)}.search-input{background:transparent;border:none;color:var(--terminal-text);font-family:var(--font-mono);font-size:1em;flex:1;padding:var(--space-2);outline:none;min-width:200px}.search-input:focus{outline:none}.search-input::placeholder{color:var(--terminal-dim)}.admin-error{color:var(--terminal-error);padding:var(--space-2);margin-bottom:var(--space-4);border:1px solid var(--terminal-error)}.admin-loading{color:var(--terminal-dim);padding:var(--space-2)}.admin-list{display:flex;flex-direction:column;gap:1px;margin-bottom:var(--space-4)}.admin-empty{color:var(--terminal-dim);padding:var(--space-4);text-align:center}.admin-item{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3);cursor:pointer;transition:background var(--duration-fast)}.admin-item:hover{background:var(--terminal-selection)}.admin-item.selected{background:var(--terminal-selection);border-left:3px solid var(--terminal-highlight)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.dashboard-card{border:1px solid var(--terminal-dim);padding:var(--space-4);background:#ffffff05}.card-header{color:var(--terminal-dim);font-size:.85em;margin-bottom:var(--space-2)}.card-value{font-size:2.5em;font-weight:700;color:var(--terminal-highlight);line-height:1;margin-bottom:var(--space-2)}.card-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.85em}.meta-item{color:var(--terminal-dim)}.dashboard-chart{border:1px solid var(--terminal-dim);padding:var(--space-4)}.chart-header{color:var(--terminal-dim);font-size:.85em;margin-bottom:var(--space-4)}.chart-bar{display:flex;align-items:flex-end;justify-content:space-between;height:150px;gap:var(--space-2);padding:var(--space-4) 0}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.chart-bar-fill{width:100%;background:var(--terminal-highlight);min-height:4px;transition:height .3s ease}.chart-label{color:var(--terminal-dim);font-size:.75em}.chart-value{color:var(--terminal-text);font-size:.75em;font-weight:700}.chart-legend{margin-top:var(--space-3);text-align:center}.legend-item{color:var(--terminal-dim);font-size:.8em}.item-id{color:var(--terminal-accent);min-width:50px}.item-name{color:var(--terminal-highlight);flex:1}.item-role{padding:0 var(--space-2);font-size:.85em}.role-landlord{color:#fa0}.role-tenant{color:#0af}.role-agent{color:#a0f}.role-admin{color:red}.status-active{color:#0f0}.status-pending{color:#fa0}.status-new{color:#ff6b6b}.status-answered{color:#0af}.item-fullname,.item-status{color:var(--terminal-dim);font-size:.85em}.item-label{color:var(--terminal-text)}.item-sender{color:#0af}.item-meta{color:var(--terminal-dim)}.item-value{color:var(--terminal-highlight);font-size:1.2em;font-weight:700}.admin-detail{border:1px solid var(--terminal-dim);padding:var(--space-4);margin-top:var(--space-4)}.detail-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--terminal-dim);margin-bottom:var(--space-3)}.detail-close{cursor:pointer;color:var(--terminal-dim)}.detail-close:hover{color:var(--terminal-highlight)}.detail-content{display:grid;gap:var(--space-2)}.detail-row{display:flex;gap:var(--space-3)}.detail-key{color:var(--terminal-accent);min-width:120px}.detail-value{color:var(--terminal-text);word-break:break-all}.detail-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--terminal-dim)}.btn-action{background:transparent;border:1px solid var(--terminal-dim);color:var(--terminal-text);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);cursor:pointer;transition:all var(--duration-fast)}.btn-action:hover{background:var(--terminal-highlight);color:var(--terminal-bg)}.admin-footer{display:flex;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--terminal-dim);margin-top:var(--space-4);color:var(--terminal-dim);font-size:.85em}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.admin-prompt:after{content:"_";animation:blink 1s infinite}@media (max-width: 640px){.admin-header{flex-direction:column;align-items:flex-start}.admin-hint{margin-left:0;font-size:.7em}.admin-toolbar{overflow-x:auto;flex-wrap:nowrap}.admin-tab{white-space:nowrap}.admin-item{flex-wrap:wrap}.detail-key{min-width:100px}}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--terminal-dim);background:var(--terminal-bg)}.terminal-brand{display:flex;align-items:center;gap:var(--space-3)}.brand-icon{color:var(--terminal-highlight);font-size:1.4em}.brand-title{color:var(--terminal-highlight);font-weight:700;letter-spacing:2px}.brand-version{color:var(--terminal-dim);font-size:.8em}.terminal-status{display:flex;align-items:center;gap:var(--space-4);font-size:.85em}.status-time{color:var(--terminal-dim)}.status-item{display:flex;align-items:center;gap:var(--space-2)}.user-prompt{color:var(--terminal-accent)}.user-email{color:var(--terminal-text)}.terminal-btn-logout{background:transparent;border:1px solid var(--terminal-dim);color:var(--terminal-dim);font-family:var(--font-mono);font-size:.85em;padding:var(--space-1) var(--space-2);cursor:pointer}.terminal-btn-logout:hover{border-color:var(--terminal-error);color:var(--terminal-error)}
