*{box-sizing:border-box}body{color:#1f2933;background:#eef2f6;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:360px;padding:32px 28px;display:flex;box-shadow:0 4px 20px #0f1e3214}.login-card h1{color:#0b4f8a;margin:0;font-size:1.4rem}.subtitle{color:#52606d;margin:4px 0 24px}.login-card label{margin-bottom:6px;font-size:.9rem;font-weight:600}.login-card input{border:1px solid #cbd2d9;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:1rem}.login-card input:focus{border-color:#0000;outline:2px solid #0b4f8a}.login-card button{color:#fff;cursor:pointer;background:#0b4f8a;border:none;border-radius:8px;padding:11px;font-size:1rem;font-weight:600}.login-card button:hover{background:#093f6f}.login-card button:disabled{opacity:.6;cursor:wait}.notice{color:#8a4b00;background:#fff4e5;border-radius:8px;margin:16px 0 0;padding:10px 12px;font-size:.9rem}.hint{color:#52606d;margin:20px 0 0;font-size:.85rem}.hint+button{margin-top:20px}.hint.first{margin:0 0 16px}.login-card .link-button.forgot{color:#0b4f8a;background:0 0;align-self:flex-start;margin-top:14px;padding:0;font-weight:400}.login-card .link-button.forgot:hover{background:0 0;text-decoration:underline}.login-card .success+.hint,.login-card .notice+.link-button{margin-top:14px}.muted{color:#7b8794}.app-header{color:#fff;background:#0b4f8a}.app-header-inner{flex-wrap:wrap;align-items:center;gap:8px 24px;max-width:1280px;min-height:56px;margin:0 auto;padding:0 16px;display:flex}.brand{color:#fff;font-weight:700;text-decoration:none}.app-nav{flex:1;gap:4px;display:flex}.app-nav a{color:#d9e6f2;border-radius:6px;padding:8px 12px;font-size:.95rem;text-decoration:none}.app-nav a:hover{background:#ffffff1a}.app-nav a.active{color:#fff;background:#ffffff2e;font-weight:600}.app-user{align-items:center;gap:12px;padding:8px 0;font-size:.9rem;display:flex}.app-user-role{background:#ffffff2e;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.8rem}.button-secondary{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:6px;padding:6px 12px;font-size:.85rem}.button-secondary:hover{background:#ffffff1a}.app-main{max-width:1280px;margin:0 auto;padding:24px 16px 48px}.page h1{margin:0 0 16px;font-size:1.5rem}.page h2{margin:0 0 12px;font-size:1.05rem}.panel{background:#fff;border-radius:10px;margin-top:16px;padding:16px 20px;box-shadow:0 1px 4px #0f1e320f}.tabs{border-bottom:1px solid #cbd2d9;flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs a{color:#52606d;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;text-decoration:none}.tabs a:hover{color:#0b4f8a}.tabs a.active{color:#0b4f8a;border-bottom-color:#0b4f8a;font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.filters input,.filters select{background:#fff;border:1px solid #cbd2d9;border-radius:6px;padding:7px 10px;font-size:.9rem}.filters .hint{margin:0}.summary{flex-wrap:wrap;gap:8px;margin:0 0 4px;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem;display:inline-block}.badge-ok{color:#1b6b3a;background:#e3f4e8}.badge-muted{color:#52606d;background:#e4e7eb}.success{color:#1b6b3a;background:#e3f4e8;border-radius:8px;margin:12px 0;padding:10px 12px;font-size:.9rem}.warn-text{color:#b44d00}.button-primary,.button-small{cursor:pointer;border-radius:6px;padding:7px 14px;font-size:.9rem}.button-primary{color:#fff;background:#0b4f8a;border:none;font-weight:600}.button-primary:hover{background:#093f6f}.button-small{color:#1f2933;background:#fff;border:1px solid #cbd2d9}.button-small:hover{color:#0b4f8a;border-color:#0b4f8a}.button-primary:disabled,.button-small:disabled{opacity:.6;cursor:wait}.help{background:#fff;border-radius:10px;margin-bottom:12px;padding:10px 16px;font-size:.9rem}.help summary{cursor:pointer;color:#0b4f8a;font-weight:600}.help ol{margin:8px 0 0;padding-left:20px}.data-table tr.editing,.data-table tr.editing:hover{background:#f5f9fd}.edit-form p{margin:0 0 12px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.form-grid label{color:#52606d;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;display:flex}.form-grid input,.form-grid select{color:#1f2933;background:#fff;border:1px solid #cbd2d9;border-radius:6px;padding:7px 10px;font-size:.9rem;font-weight:400}.scope{border:1px solid #e4e7eb;border-radius:8px;margin:12px 0 0;padding:8px 12px}.scope legend{color:#52606d;font-size:.8rem;font-weight:600}label.inline{align-items:center;gap:6px;margin-right:16px;font-size:.9rem;display:inline-flex}.pool-checks{border-top:1px dashed #e4e7eb;margin-top:8px;padding-top:8px}.form-actions{gap:8px;margin-top:12px;display:flex}.table-scroll{background:#fff;border-radius:10px;overflow-x:auto}.panel .table-scroll{border-radius:0}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e4e7eb;padding:8px 10px}.data-table th{color:#52606d;white-space:nowrap;background:#f5f7fa;font-size:.8rem}.data-table tbody tr:hover{background:#f9fbfd}.data-table .nowrap{white-space:nowrap}.data-table .strong{font-weight:600}.data-table .note{color:#52606d;min-width:200px;font-size:.85rem}.sort-button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-button:hover{color:#0b4f8a}.sort-icon{color:#9aa5b1;font-size:.7rem}.sort-icon.active{color:#0b4f8a}.panel-head{justify-content:space-between;align-items:baseline;display:flex}.panel-head a{color:#0b4f8a;font-size:.9rem}details.panel summary{cursor:pointer}details.panel[open] summary{margin-bottom:12px}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{border-bottom:1px solid #e4e7eb;padding:8px 0}.audit-list li:last-child{border-bottom:none}.audit-line{align-items:baseline;gap:12px;display:flex}.audit-when{color:#7b8794;white-space:nowrap;flex:0 0 150px;font-size:.85rem}.audit-text{flex:1}.link-button{color:#0b4f8a;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.audit-detail{margin:8px 0 4px 162px;font-size:.85rem}.audit-detail p{margin:0 0 6px}.audit-detail .raw{word-break:break-all;max-width:360px;font-family:ui-monospace,Consolas,monospace;font-size:.75rem}.audit-scroll{max-height:70vh;overflow-y:auto}.load-more{margin:12px auto 4px;display:block}@media (width<=640px){.audit-line{flex-wrap:wrap}.audit-when{flex-basis:100%}.audit-detail{margin-left:0}}.badge+.badge{margin-left:4px}.badge-info{color:#0b4f8a;background:#e3effa}.badge-warn{color:#8a4b00;background:#fff4e5}.badge-danger{color:#a11b1b;background:#fde8e8}.data-table tr.clickable{cursor:pointer}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;font-size:.9rem;display:grid}.facts{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.facts dt{color:#7b8794}.facts dd{margin:0}.facts .raw{font-family:ui-monospace,Consolas,monospace;font-size:.8rem}ul.plain{margin:4px 0 12px;padding:0;list-style:none}ul.plain li{padding:2px 0}ul.plain.columns{columns:4 160px}ul.history li.current{background:#fff4e5;border-radius:4px;padding:2px 6px}.hint.tight{margin:2px 0 0;font-size:.8rem}.fleet-table .count,.fleet-table th:not(:first-child){text-align:center}.fleet-table tr.total td{background:#f5f7fa;font-weight:600}.count-button{cursor:pointer;border:none;border-radius:999px;min-width:44px;padding:4px 10px;font-weight:600}.count-button.inPool{color:#1b6b3a;background:#e3f4e8}.count-button.out{color:#0b4f8a;background:#e3effa}.count-button.stale{color:#8a4b00;background:#fff4e5}.fleet-list{background:#f5f9fd;border-radius:8px;margin-top:12px;padding:12px}.badge-button{cursor:pointer;font:inherit;border:none;font-size:.8rem}.data-table.inner{background:#fff;margin-top:6px}.due-list li{border-bottom:1px solid #e4e7eb;padding:4px 0}.crash pre{white-space:pre-wrap;background:#fff;border-radius:6px;padding:8px;font-size:.8rem}.access-table th:not(:first-child),.access-table .flag{text-align:center;color:#0b4f8a}.audit-table th,.audit-table td{font-size:.8rem;text-align:left!important}.audit-table .value{text-overflow:ellipsis;max-width:160px;overflow:hidden}.status{color:#9aa5b1;margin:8px 0 0;font-size:.8rem}
