:root{--paper: #eeecf1;--paper-raised: #fbfafc;--ink: #1c1a22;--ink-muted: #6b6775;--rule: #d8d5e0;--carbon: #4b3f8c;--carbon-hover: #3a3070;--stamp-green: #2f6b4f;--stamp-green-bg: #e3ede8;--pen-red: #a13a2e;--pen-red-bg: #f3e4e1;--stamp-amber: #a6752c;--stamp-amber-bg: #f1e6d6;--radius: 3px;--shadow: 0 1px 2px rgba(28, 26, 34, .06), 0 1px 3px rgba(28, 26, 34, .08);--font-display: "IBM Plex Mono", "Courier New", monospace;--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-data: "IBM Plex Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);font-size:14px}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0 0 .5rem}h1{font-size:1.4rem}h2{font-size:1rem}a{color:var(--carbon)}.page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.eyebrow{font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .3rem}.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;align-items:end}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.8rem;font-weight:500;color:var(--ink-muted)}input,select,textarea{font:inherit;padding:.5rem .65rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--carbon);outline-offset:-1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius);padding:.5rem .9rem;font:inherit;font-weight:500;cursor:pointer;background:var(--paper-raised);border-color:var(--rule);color:var(--ink)}.btn:hover{background:var(--paper)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--carbon);border-color:var(--carbon);color:#fff}.btn-primary:hover{background:var(--carbon-hover)}.btn-danger{background:transparent;border-color:var(--pen-red);color:var(--pen-red)}.btn-danger:hover{background:var(--pen-red);color:#fff}.btn-sm{padding:.3rem .6rem;font-size:.8rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--rule);font-size:.9rem}th{color:var(--ink-muted);font-family:var(--font-display);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--ink)}tbody tr:hover{background:var(--paper)}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums}.stamp{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.stamp:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.stamp-draft,.stamp-withdrawn,.stamp-cancelled{color:var(--ink-muted)}.stamp-submitted,.stamp-pending,.stamp-cancellation_requested{color:var(--stamp-amber)}.stamp-approved,.stamp-reported{color:var(--stamp-green)}.stamp-rejected{color:var(--pen-red)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.error-text{color:var(--pen-red);font-size:.85rem;margin:.25rem 0 0}.empty-state{color:var(--ink-muted);padding:1.5rem 0;text-align:center}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:380px}.auth-card form{display:flex;flex-direction:column;gap:.9rem}.stack{display:flex;flex-direction:column;gap:1.5rem}.table-frame{position:relative;overflow-x:auto}.table-frame :is(a,button,input,select,textarea){scroll-margin-inline:.25rem}.record-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.record-card{min-width:0;padding:.75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}.record-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem}.record-card__title{margin:0;min-width:0;font-weight:500;overflow-wrap:anywhere}.record-card__facts{display:grid;gap:.35rem;margin:.6rem 0 0}.record-card__facts>div{display:flex;justify-content:space-between;gap:.75rem}.record-card__facts dt{font-size:.8rem;font-weight:500;color:var(--ink-muted);flex:none}.record-card__facts dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere}.record-card__facts>.record-card__fact--block{display:block}.record-card__facts .record-card__fact--block dd{text-align:left}.record-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.record-card__edit{margin-top:.75rem;padding:.75rem;background:var(--paper)}.record-card--focused{background:color-mix(in srgb,var(--carbon) 8%,var(--paper-raised));border-left:3px solid var(--carbon)}.record-card[aria-current=true]{background:var(--paper);border-left:3px solid var(--carbon)}.record-card[aria-current=true] .record-card__title{font-weight:600}.shell--narrow .card{padding:1rem}.shell--narrow .record-card .form-grid{grid-template-columns:minmax(0,1fr)}.shell--narrow .btn{min-height:2.75rem;min-width:2.75rem}.shell--narrow :is(input,select,textarea){min-height:2.75rem}.shell--narrow summary{min-height:2.75rem;padding-block:.75rem}.shell--narrow :is(input,select,textarea){font-size:1rem}.cal-grid .cal-day.cal-day--month-start,.cal-grid .cal-cell.cal-cell--month-start{box-shadow:inset 2px 0 0 var(--ink-muted)}.cal-grid .cal-day.cal-day--month-start.cal-day--today{box-shadow:inset 2px 0 0 var(--ink-muted),inset 0 -3px 0 var(--pen-red)}.cal-day__month{font-size:.75rem;font-weight:700;color:var(--ink)}.cal-frame{position:relative}.cal-loading{position:absolute;bottom:.5rem;z-index:6;margin:0;padding:.15rem .5rem;font:600 .75rem var(--font-data);color:var(--ink-muted);background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);pointer-events:none}.cal-loading--prev{left:calc(var(--unit-w) + .5rem)}.cal-loading--next{right:.5rem}.cal-grid .cal-cell.cal-sel--arrival,.cal-grid .cal-cell.cal-sel--night,.cal-grid .cal-cell.cal-sel--departure{background:color-mix(in srgb,var(--carbon) 10%,transparent)}.cal-grid .cal-cell[data-sel]:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-block:2px solid var(--carbon)}.cal-grid .cal-cell.cal-sel--arrival:before{border-left:2px solid var(--carbon)}.cal-grid .cal-cell.cal-sel--departure:before{border-right:2px solid var(--carbon)}.cal-sel-tag{position:absolute;bottom:.15rem;z-index:2;padding:0 .25rem;font:600 .65rem/1.3 var(--font-data);color:var(--paper-raised);background:var(--carbon);border-radius:var(--radius);pointer-events:none}.cal-sel-tag--arrival{right:.15rem}.cal-sel-tag--departure{left:.15rem}.cal-notice{margin:0 0 .75rem;padding:.5rem .75rem;border-left:3px solid var(--stamp-amber);background:var(--stamp-amber-bg)}
