:root{--tt-brand:#185fa5;--tt-brand-deep:#0d3d6e;--tt-brand-hover:#0d4a82;--tt-brand-tint:#e6f1fb;--tt-brand-border:#b5d4f4;--tt-surface:#fff;--tt-surface-page:#f5f7fa;--tt-surface-hover:#f0f4f8;--tt-border:#e2e8f0;--tt-border-mid:#c8d5e3;--tt-text:#1a202c;--tt-text-secondary:#64748b;--tt-text-muted:#94a3b8;--tt-success:#0f6e56;--tt-success-tint:#e1f5ee;--tt-warn:#854f0b;--tt-warn-tint:#faeeda;--tt-danger:#dc2626;--tt-danger-light:#fca5a5;--tt-danger-tint:#fee2e2;--tt-shadow-lift:0 6px 24px #0a1e3c1a;--ink:var(--tt-surface-page);--ink-mid:var(--tt-surface);--ink-light:var(--tt-border);--horizon:var(--tt-border-mid);--wake:var(--tt-brand);--wake-strong:var(--tt-brand-hover);--sea:#85b7eb;--foam:var(--tt-text-secondary);--sail:var(--tt-text);--white:#0c1420;--gold:#9f7b22;--gold-dim:#755915;--danger:var(--tt-danger);--success:var(--tt-success);--warning:var(--tt-warn);--font-display:Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Courier New", monospace;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius:6px;--radius-lg:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{background:var(--tt-surface-page);color:var(--tt-text);font-family:var(--font-body);min-height:100dvh;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--tt-surface-page)}::-webkit-scrollbar-thumb{background:var(--tt-border-mid);border-radius:2px}.mono{font-family:var(--font-mono)}.display{font-family:var(--font-display)}.muted{color:var(--tt-text-muted)}.gold{color:var(--gold)}.btn{border-radius:var(--radius);letter-spacing:.01em;border:1.5px solid #0000;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.985)}.btn.is-submitting{cursor:progress;opacity:.75}.btn-primary{background:var(--tt-brand);color:#fff;border-color:var(--tt-brand)}.btn-primary:hover{background:var(--tt-brand-hover);border-color:var(--tt-brand-hover)}.btn-secondary{color:var(--tt-brand);border-color:var(--tt-brand);background:0 0}.btn-secondary:hover{background:var(--tt-brand);color:#fff}.btn-ghost{color:var(--tt-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--tt-surface-hover);color:var(--tt-text);border-color:var(--tt-border)}.btn-danger{color:var(--tt-danger);border-color:var(--tt-danger-light);background:0 0}.btn-danger:hover{background:var(--tt-danger);color:#fff;border-color:var(--tt-danger)}.card{background:var(--tt-surface);border:.5px solid var(--tt-border);border-radius:var(--radius-lg);padding:20px 24px}.card-link{background:var(--tt-surface);border:.5px solid var(--tt-border);border-radius:var(--radius-lg);color:inherit;cursor:pointer;padding:20px 24px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:block}.card-link:hover{box-shadow:var(--tt-shadow-lift);border-color:var(--tt-brand-border);transform:translateY(-4px)}.input{background:var(--tt-surface);border:1px solid var(--tt-border-mid);border-radius:var(--radius);width:100%;color:var(--tt-text);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s}.input:focus{border-color:var(--tt-brand)}.input::placeholder{color:var(--tt-text-muted)}label{letter-spacing:.06em;text-transform:uppercase;color:var(--tt-text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.top-strip{border:.5px solid var(--tt-border);border-radius:var(--radius);background:var(--tt-surface);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.strip-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.strip-meta{color:var(--tt-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.strip-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.filter-tabs,.tabs{border-bottom:.5px solid var(--tt-border);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 16px;display:flex}.filter-tabs a,.filter-tabs button,.tabs a{min-height:36px;color:var(--tt-text-secondary);text-align:left;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:7px;margin-bottom:-1px;padding:8px 10px;font-size:13px;font-weight:500;display:inline-flex}.filter-tabs a:hover,.filter-tabs button:hover,.tabs a:hover{color:var(--tt-brand)}.filter-tabs a.active,.filter-tabs button.active,.filter-tabs button[aria-selected=true],.tabs a.active{color:var(--tt-brand);border-color:var(--tt-brand)}.filter-tabs .count,.filter-tabs .metric,.tabs .count{min-width:20px;font-family:var(--font-mono);background:var(--tt-brand-tint);color:var(--tt-brand);text-align:center;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.filter-tabs .tab-note{color:var(--tt-text-muted);margin-left:auto;padding:8px 0;font-size:11px}.page-header{margin-bottom:24px}.page-header h1{color:var(--tt-text);margin-bottom:4px;font-size:26px;font-weight:600}.page-header .header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.trip-detail-page .page-header{margin-bottom:32px}.trip-detail-page .back{margin-bottom:12px;font-size:13px;display:block}.trip-detail-page .header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.trip-detail-page h1{color:var(--tt-text);margin-bottom:2px;font-size:28px;font-weight:600}.trip-detail-page .dest{margin-top:2px;font-size:13px}.trip-detail-page .header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trip-detail-page .badge-warn{color:var(--gold);background:#f39c1226;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.trip-detail-page .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.trip-detail-page .span-2{grid-column:span 2}.trip-detail-page .span-3{grid-column:1/-1}.trip-detail-page .card-label{color:var(--tt-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:11px;font-weight:600}.trip-detail-page .detail-list{grid-template-columns:100px minmax(0,1fr);gap:8px 16px;font-size:13px;display:grid}.trip-detail-page dt{color:var(--tt-text-secondary)}.trip-detail-page dd{color:var(--tt-text);margin:0}.trip-detail-page .crew-stats{gap:24px;display:flex}.trip-detail-page .stat{flex-direction:column;align-items:center;gap:2px;display:flex}.trip-detail-page .stat-num{color:var(--tt-text);font-size:28px;font-weight:600}.trip-detail-page .stat-label{font-size:11px}.trip-detail-page .snapshot-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.trip-detail-page .snapshot-title{color:var(--tt-text);margin-bottom:4px;font-size:14px}.trip-detail-page .snapshot-meta{font-size:12px}.trip-detail-page .reg-table-wrap{overflow-x:auto}.trip-detail-page .reg-table{border-collapse:collapse;width:100%;font-size:12px}.trip-detail-page .reg-table th{text-align:center;color:var(--tt-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:0 6px 10px;font-size:10px;font-weight:600}.trip-detail-page .reg-table th.col-name{text-align:left;min-width:140px}.trip-detail-page .reg-table td{border-top:.5px solid var(--tt-border);text-align:center;vertical-align:middle;padding:8px 6px}.trip-detail-page .reg-table td.col-name{text-align:left}.trip-detail-page .reg-table td.col-action{text-align:right}.trip-detail-page .reg-table a{color:var(--tt-text);font-size:13px}.trip-detail-page .reg-table a:hover{color:var(--tt-brand)}.trip-detail-page .role{margin-top:1px;font-size:10px;display:block}.trip-detail-page .incomplete td{opacity:.85}.trip-detail-page .legend{color:var(--tt-text-secondary);gap:16px;margin-top:12px;font-size:11px;display:flex}.trip-detail-page .legend span{align-items:center;gap:4px;display:flex}.trip-detail-page .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.trip-detail-page .dot.green{background:var(--tt-success)}.trip-detail-page .dot.amber{background:var(--gold)}.trip-detail-page .dot.red{background:var(--tt-danger);opacity:.6}.trip-detail-page .table{border-collapse:collapse;width:100%;font-size:13px}.trip-detail-page .table th{text-align:left;color:var(--tt-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:0 12px 8px 0;font-size:11px}.trip-detail-page .table td{color:var(--tt-text);border-top:.5px solid var(--tt-border);padding:8px 12px 8px 0}.trip-detail-page .table a{color:var(--tt-text)}.trip-detail-page .table a:hover{color:var(--tt-brand)}.trip-detail-page .add-crew{margin-top:8px}.trip-detail-page .add-form{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.trip-detail-page .add-form .input{max-width:180px;padding:7px 10px;font-size:13px}.trip-detail-page .field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.trip-detail-page .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.trip-detail-page .field .input{padding:7px 10px;font-size:13px}.trip-detail-page .checkbox-label{color:var(--tt-text);text-transform:none;letter-spacing:0;cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}.trip-detail-page .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--tt-brand)}.trip-detail-page .form-actions{justify-content:flex-end;display:flex}.trip-detail-page .notice{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:13px}.trip-detail-page .notice.error{background:var(--tt-danger-tint);border:.5px solid var(--tt-danger-light);color:var(--tt-danger)}.trip-detail-page .notice.success{background:var(--tt-success-tint);border:.5px solid var(--tt-success);color:var(--tt-success)}.trip-detail-page .notice.warn{background:var(--tt-warn-tint);border:.5px solid var(--tt-warn);color:var(--tt-warn)}@media (width<=1000px){.trip-detail-page .detail-grid,.trip-detail-page .field-row{grid-template-columns:1fr}.trip-detail-page .span-2,.trip-detail-page .span-3{grid-column:auto}.trip-detail-page .header-row,.trip-detail-page .snapshot-row{flex-direction:column;align-items:stretch}}
