:root { --navy:#0b1628; --navy-soft:#172841; --page:#eef2f6; --line:#d7dee7; --green:#16734a; --green-soft:#e4f5ec; --amber:#ffc107; }
body { background:var(--page); color:#152238; min-height:100vh; }
.app-header { background:var(--navy); box-shadow:0 3px 14px rgba(0,0,0,.2); }
.brand-link { color:#fff; display:flex; flex-direction:column; line-height:1.05; text-decoration:none; }
.brand-kicker { color:#aebbd0; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.brand-title { font-size:1.15rem; font-weight:750; }
.header-user { color:#c4cfdf; font-size:.82rem; font-weight:700; }
.page-shell { max-width:980px; padding-bottom:3rem; padding-top:2rem; }
.page-heading { margin-bottom:1.5rem; }
.page-heading h1 { font-size:clamp(1.7rem,5vw,2.35rem); font-weight:750; margin-bottom:.25rem; }
.page-heading p { color:#64748b; margin:0; }
.eyebrow { display:block; font-size:.72rem; font-weight:800; letter-spacing:.12em; margin-bottom:.35rem; text-transform:uppercase; }
.form-card { border:0; max-width:620px; }
.handover-editor-layout { align-items:start; display:grid; gap:1rem; grid-template-columns:175px minmax(0,1fr); }
.handover-contents { background:#fff; border:1px solid var(--line); border-radius:.8rem; display:grid; gap:.25rem; padding:.9rem; position:sticky; top:82px; }
.handover-contents .eyebrow { margin:.1rem .35rem .45rem; }
.handover-contents-item { align-items:center; background:transparent; border:0; border-radius:.5rem; color:#52657d; display:flex; font-size:.84rem; font-weight:700; gap:.55rem; padding:.55rem .45rem; text-align:left; width:100%; }
.handover-contents-item:hover,.handover-contents-item.is-current { background:#eef4fb; color:#245789; }
.handover-contents-item.is-ready { color:#16734a; }
.handover-contents-state { align-items:center; border:1.5px solid #aeb9c7; border-radius:50%; display:inline-flex; flex:0 0 16px; height:16px; justify-content:center; width:16px; }
.handover-contents-item.is-ready .handover-contents-state { background:#16734a; border-color:#16734a; color:#fff; }
.handover-contents-item.is-ready .handover-contents-state::after { content:'✓'; font-size:.68rem; font-weight:850; }
.handover-contents-subitems { display:grid; gap:.05rem; margin:-.05rem 0 .3rem 1.45rem; }
.handover-contents-subitems button { background:transparent; border:0; color:#718096; font-size:.73rem; line-height:1.3; padding:.22rem .35rem; text-align:left; white-space:normal; }
.handover-contents-subitems .operational-count { display:inline; white-space:nowrap; }
.handover-contents-subitems button::before { color:#aeb9c7; content:'›'; display:inline-block; font-weight:850; margin-right:.35rem; }
.handover-contents-subitems button:hover { color:#245789; text-decoration:underline; }
.handover-contents-subitems button.is-ready { color:#16734a; font-weight:750; }
.handover-contents-subitems button.is-ready::before { color:#16734a; content:'✓'; }
.handover-contents-help { border-top:1px solid var(--line); color:#718096; font-size:.72rem; line-height:1.35; margin:.5rem 0 0; padding:.7rem .35rem 0; }
.handover-loading { align-items:center; background:rgba(11,22,40,.52); display:flex; inset:0; justify-content:center; padding:1rem; position:fixed; transition:opacity 220ms ease,visibility 220ms ease; z-index:1100; }
.handover-loading[hidden] { display:none !important; }
.handover-loading.is-complete { opacity:0; pointer-events:none; visibility:hidden; }
.handover-loading-card { background:#fff; border-radius:1rem; box-shadow:0 16px 42px rgba(0,0,0,.28); max-width:420px; padding:1.5rem; width:100%; }
.handover-loading-card h2 { font-size:1.25rem; font-weight:800; margin:0 0 1rem; }
.handover-loading-list { display:grid; gap:.55rem; list-style:none; margin:0; padding:0; }
.handover-loading-list li { align-items:center; color:#52657d; display:flex; font-size:.92rem; gap:.65rem; }
.handover-loading-list li::before { border:3px solid #b9cbe0; border-radius:50%; border-top-color:#245789; content:''; height:18px; width:18px; animation:awn-spin .8s linear infinite; }
.handover-loading-list li.is-ready { color:#16734a; }
.handover-loading-list li.is-ready::before { animation:none; background:#16734a; border-color:#d7f0e3; }
.handover-loading-list li.is-error { color:#9a3412; }
.handover-loading-list li.is-error::before { animation:none; background:#dc2626; border-color:#fee2e2; }
.handover-thursday-prompt { border-top:1px solid var(--line); margin-top:1.2rem; padding-top:1.1rem; }
.handover-thursday-prompt h3 { font-size:1.08rem; font-weight:800; margin:0 0 .35rem; }
.handover-thursday-prompt p { color:#52657d; margin:0 0 1rem; }
.awn-prompt-actions { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.awn-prompt-actions .btn { min-height:44px; }
.hero-card { align-items:center; background:linear-gradient(130deg,var(--navy),var(--navy-soft)); border-radius:1rem; color:#fff; display:flex; gap:2rem; justify-content:space-between; padding:clamp(1.5rem,5vw,2.5rem); }
.hero-card .eyebrow { color:#fbd55c; }
.hero-card h2 { font-size:clamp(1.5rem,5vw,2rem); font-weight:750; }
.hero-card p { color:#c4cfdf; margin:0; max-width:650px; }
.hero-action { flex:0 0 auto; font-weight:750; min-height:52px; }
.history-list { display:grid; gap:.75rem; }
.history-card { align-items:center; background:#fff; border:1px solid var(--line); border-radius:.85rem; display:flex; gap:.75rem; padding:.6rem; transition:border-color 120ms ease,transform 120ms ease; }
.history-card:hover { border-color:#8aa5c5; transform:translateY(-1px); }
.history-card-link { align-items:center; color:inherit; display:grid; flex:1; gap:1rem; grid-template-columns:50px 1fr auto; min-width:0; padding:.4rem; text-decoration:none; }
.history-card-link:hover { color:inherit; }
.history-delete { flex:0 0 auto; margin:0; }
.history-date { align-items:center; background:#e8eef6; border-radius:.65rem; display:flex; flex-direction:column; padding:.45rem; }
.history-date strong { font-size:1.2rem; line-height:1; }
.history-date span { color:#596b82; font-size:.7rem; font-weight:750; text-transform:uppercase; }
.history-main { display:flex; flex-direction:column; min-width:0; }
.history-meta { color:#66758a; font-size:.84rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.history-chevron { color:#718096; font-size:2rem; }
.status-pill { border-radius:999px; display:inline-flex; font-size:.72rem; font-weight:750; padding:.28rem .55rem; white-space:nowrap; }
.status-pill.completed { background:var(--green-soft); color:#11613e; }
.status-pill.draft { background:#fff4cf; color:#775b00; }
.handover-section { border:1px solid var(--line); box-shadow:none!important; margin-bottom:.75rem; }
.section-header { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:0; }
.section-panel[hidden] { display:none !important; }
.section-toggle { flex:0 0 auto; min-width:72px; }
.section-title { align-items:center; display:flex; gap:.75rem; margin-bottom:1.25rem; }
.section-header .section-title { margin-bottom:0; }
.section-title>span { align-items:center; background:#e8eef6; border-radius:999px; color:#39516f; display:flex; flex:0 0 30px; font-size:.72rem; font-weight:850; height:30px; justify-content:center; }
.section-title h2 { font-size:1.05rem; font-weight:800; margin:0; }
.section-title p { color:#718096; font-size:.78rem; margin:0; }
.subsection-details { margin-top:1.25rem; }
.subsection-details>summary { color:#334155; cursor:pointer; font-size:.82rem; font-weight:750; }
.subsection-details[open]>summary { color:#245789; }
.operational-field.subsection-details { padding-top:.1rem; }
.operational-count { color:#718096; font-size:.72rem; font-weight:700; white-space:nowrap; }
.form-label { color:#334155; font-size:.82rem; font-weight:750; }
.field-heading { align-items:center; display:flex; gap:.75rem; justify-content:space-between; margin-bottom:.35rem; }
.field-heading .form-label { margin:0; }
.official-status { color:#64748b; font-size:.76rem; min-height:1.2rem; padding-top:.3rem; }
.official-status.loading { color:#7a5d00; }
.official-status.success { color:#11613e; }
.official-status.error { color:#b42318; font-weight:700; }
.official-updated { color:#64748b; display:block; font-weight:500; margin-top:.12rem; }
.field-help { color:#64748b; font-size:.76rem; }
.notam-selector { display:grid; gap:.5rem; margin-top:.65rem; }
.notam-option { align-items:flex-start; background:#f8fafc; border:1px solid var(--line); border-radius:.7rem; cursor:pointer; display:grid; gap:.7rem; grid-template-columns:24px minmax(0,1fr); padding:.75rem; transition:background 120ms ease,border-color 120ms ease; }
.notam-option:hover { border-color:#8aa5c5; }
.notam-option.is-selected { background:var(--green-soft); border-color:#9bcfb4; }
.notam-option.is-new { box-shadow:inset 4px 0 0 #e6a700; }
.notam-option.is-new:not(.is-selected) { background:#fff9df; border-color:#e8cf75; }
.notam-option .form-check-input { height:1.25rem; margin:.12rem 0 0; width:1.25rem; }
.notam-content { min-width:0; }
.notam-heading { align-items:baseline; display:flex; flex-wrap:wrap; gap:.35rem .6rem; }
.notam-heading strong { color:var(--navy); flex:0 0 auto; }
.notam-summary { font-size:.88rem; font-weight:700; overflow-wrap:anywhere; }
.notam-new-badge { background:#ffc107; border-radius:999px; color:#4d3b00; font-size:.64rem; font-weight:850; letter-spacing:.05em; padding:.15rem .4rem; text-transform:uppercase; }
.notam-option details { color:#52657d; font-size:.75rem; margin-top:.35rem; }
.notam-option details summary { cursor:pointer; font-weight:750; }
.notam-option pre { background:#fff; border:1px solid var(--line); border-radius:.45rem; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.7rem; margin:.45rem 0 0; max-height:240px; overflow:auto; padding:.6rem; white-space:pre-wrap; }
.notam-loading,.notam-empty { background:#f8fafc; border:1px dashed #aeb9c7; border-radius:.7rem; color:#64748b; padding:1rem; text-align:center; }
.operational-field { border-bottom:1px solid var(--line); margin-bottom:1rem; padding-bottom:1rem; }
.operational-field:last-of-type { border-bottom:0; }
.operational-selector { display:grid; gap:.45rem; margin-top:.55rem; }
.operational-option { align-items:flex-start; background:#f8fafc; border:1px solid var(--line); border-radius:.65rem; cursor:pointer; display:grid; gap:.65rem; grid-template-columns:24px minmax(0,1fr); padding:.7rem; transition:background 120ms ease,border-color 120ms ease; }
.operational-option:hover { border-color:#8aa5c5; }
.operational-option.is-selected { background:var(--green-soft); border-color:#9bcfb4; }
.operational-option.is-new { box-shadow:inset 4px 0 0 #e6a700; }
.operational-option.is-new:not(.is-selected),.operational-option.is-new-entry:not(.is-selected) { background:#fff9df; border-color:#e8cf75; }
.operational-option.is-future { background:#eef4fb; border-color:#b9cbe0; cursor:default; }
.operational-option.is-expired { background:#f3f4f6; color:#7b8794; cursor:default; opacity:.8; }
.operational-option .form-check-input { height:1.2rem; margin:.12rem 0 0; width:1.2rem; }
.operational-content { display:flex; flex-direction:column; min-width:0; }
.operational-heading { align-items:center; display:flex; flex-wrap:wrap; gap:.35rem .55rem; overflow-wrap:anywhere; }
.operational-entry-text { min-width:0; overflow-wrap:anywhere; }
.edit-operational-entry { margin-left:auto; padding:.05rem .3rem; }
.delete-operational-entry,.remove-adhoc-work { padding:.05rem .3rem; }
.operational-schedule { color:#64748b; font-size:.72rem; margin-top:.2rem; }
.future-badge,.expired-badge { border-radius:999px; font-size:.64rem; font-weight:850; letter-spacing:.04em; padding:.15rem .4rem; text-transform:uppercase; }
.future-badge { background:#dce9f7; color:#274e78; }
.expired-badge { background:#e5e7eb; color:#596270; }
.operational-empty { background:#f8fafc; border:1px dashed #aeb9c7; border-radius:.65rem; color:#64748b; font-size:.82rem; padding:.75rem; text-align:center; }
.operational-entry-editor { background:#f5f8fc; border:1px solid #b9c8d9; border-radius:.7rem; margin-top:.55rem; padding:.8rem; }
.edit-entry-editor { margin:0 0 .2rem 2.1rem; }
.edit-entry-status.error { color:#a12c2c; }
.edit-entry-status.success { color:#18734a; }
.entry-schedule-fields { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:.2rem 0 .75rem; }
.entry-schedule-fields label { color:#52657d; font-size:.72rem; font-weight:750; }
.entry-schedule-fields .form-control { margin-top:.2rem; }
.entry-editor-actions { display:flex; gap:.5rem; justify-content:flex-end; margin-top:.55rem; }
.remove-new-entry { margin-left:auto; padding:.05rem .25rem; }
.awn-upload-form { align-items:end; display:grid; gap:.8rem; grid-template-columns:minmax(0,1fr) auto; }
.awn-management-list,.awn-handover-list { display:grid; gap:.5rem; }
.awn-work-row,.awn-handover-row { align-items:center; background:#f8fafc; border:1px solid var(--line); border-radius:.7rem; display:grid; gap:.7rem; grid-template-columns:46px minmax(0,1fr) minmax(235px,.9fr); padding:.75rem; }
.awn-handover-row { grid-template-columns:46px minmax(0,1fr); }
.awn-handover-row.awn-selectable { cursor:pointer; grid-template-columns:24px minmax(0,1fr); transition:background 120ms ease,border-color 120ms ease; }
.awn-handover-row.awn-selectable.is-selected { background:var(--green-soft); border-color:#9bcfb4; }
.awn-selectable>.form-check-input { height:1.2rem; margin:0; width:1.2rem; }
.awn-work-number { align-items:center; background:var(--navy); border-radius:.55rem; color:#fff; display:flex; font-size:.72rem; font-weight:850; height:36px; justify-content:center; width:40px; }
.awn-work-main,.awn-work-time { display:flex; flex-direction:column; min-width:0; }
.awn-work-main>span,.awn-work-time { color:#64748b; font-size:.76rem; }
.awn-work-main strong { overflow-wrap:anywhere; }
.awn-work-time { gap:.15rem; }
.awn-range { margin-top:.12rem; }
.awn-operating-days { margin-top:.1rem; }
.adhoc-work-list { display:grid; gap:.45rem; }
.adhoc-work-option { align-items:flex-start; background:#f8fafc; border:1px solid var(--line); border-radius:.65rem; cursor:pointer; display:grid; gap:.65rem; grid-template-columns:24px minmax(0,1fr) auto; padding:.7rem; }
.adhoc-work-option.is-selected { background:var(--green-soft); border-color:#9bcfb4; }
.adhoc-work-option>.form-check-input { height:1.2rem; margin:.1rem 0 0; width:1.2rem; }
.adhoc-work-option>span { overflow-wrap:anywhere; }
.adhoc-work-actions { display:flex; gap:.2rem; }
.adhoc-work-option.is-editing { align-items:center; }
.adhoc-work-editor { min-width:0; }
.notam-hide { margin-left:auto; padding:.05rem .3rem; }
.adhoc-work-adder { align-items:center; display:grid; gap:.55rem; grid-template-columns:minmax(0,1fr) auto; }
.awn-issue-list { display:grid; gap:.45rem; }
.awn-issue-list>div { align-items:center; border-top:1px solid var(--line); display:flex; justify-content:space-between; padding:.55rem 0; }
.awn-issue-list span { color:#64748b; font-size:.78rem; }
.awn-job-progress { align-items:center; background:#eef4fb; border:1px solid #b9cbe0; border-radius:.7rem; display:flex; gap:.75rem; padding:.8rem; }
.awn-job-progress.completed { background:var(--green-soft); border-color:#9bcfb4; }
.awn-job-progress.failed { background:#fff0ef; border-color:#efaaa4; }
.awn-progress-spinner { animation:awn-spin .8s linear infinite; border:3px solid #b9cbe0; border-radius:50%; border-top-color:#245789; flex:0 0 auto; height:26px; width:26px; }
.awn-job-progress.completed .awn-progress-spinner { animation:none; background:#16734a; border:6px solid #d7f0e3; }
.awn-job-progress.failed .awn-progress-spinner { animation:none; background:#b42318; border:6px solid #fbd7d4; }
.awn-job-status { border-radius:999px; font-weight:800; padding:.18rem .45rem; }
.awn-job-status.completed { background:var(--green-soft); color:#11613e; }
.awn-job-status.failed { background:#fff0ef; color:#a31b12; }
.awn-job-status.queued,.awn-job-status.processing { background:#eef4fb; color:#274e78; }
@keyframes awn-spin { to { transform:rotate(360deg); } }
textarea.form-control { line-height:1.45; resize:vertical; }
.code-field,.taf-output { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.86rem; }
.assignment-labels,.assignment-row { display:grid; gap:.55rem; grid-template-columns:1fr 100px 1.35fr 42px; }
.assignment-labels { color:#64748b; font-size:.72rem; font-weight:800; margin:0 0 .35rem; text-transform:uppercase; }
.assignment-row { margin-bottom:.5rem; }
.assignment-row .btn { font-size:1.3rem; padding:0; }
.form-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.65rem; justify-content:flex-end; margin-top:1.5rem; }
.summary-toolbar { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; margin-bottom:1rem; }
.handover-document { background:#fff; border-radius:1rem; box-shadow:0 4px 18px rgba(15,31,52,.08); overflow:hidden; padding:clamp(1.25rem,4vw,2.5rem); }
.document-header { align-items:center; border-bottom:3px solid var(--navy); display:grid; gap:1.25rem; grid-template-columns:78px 1fr auto; padding-bottom:1.25rem; }
.document-header img { height:70px; object-fit:contain; width:70px; }
.document-header h1 { font-size:clamp(1.6rem,5vw,2.3rem); font-weight:850; margin:0; }
.metadata-grid { background:#f4f7fa; border-radius:.75rem; display:grid; gap:1px; grid-template-columns:repeat(4,1fr); margin:1.5rem 0; overflow:hidden; padding:0; }
.metadata-grid div { background:#f4f7fa; padding:.9rem; }
.metadata-grid dt { color:#64748b; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.metadata-grid dd { font-weight:750; margin:.15rem 0 0; }
.document-section { margin-top:1.75rem; }
.document-section>h2 { border-bottom:1px solid var(--line); color:var(--navy); font-size:1.12rem; font-weight:850; margin-bottom:.8rem; padding-bottom:.45rem; }
.detail-block { break-inside:avoid; padding:.45rem 0; }
.detail-block h3 { color:#52657d; font-size:.76rem; font-weight:850; letter-spacing:.05em; margin:0 0 .2rem; text-transform:uppercase; }
.detail-block p { margin:0; white-space:normal; }
.handover-bullets { margin:.1rem 0; padding-left:1.2rem; }
.handover-bullets li { margin:.16rem 0; padding-left:.1rem; }
.works-bullets { font-weight:500; }
.assignment-table { border:1px solid var(--line); border-radius:.65rem; overflow:hidden; }
.assignment-table-head,.assignment-table-row { display:grid; gap:.75rem; grid-template-columns:1fr 100px 1.35fr; padding:.7rem .85rem; }
.assignment-table-head { background:var(--navy); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.assignment-table-row { border-top:1px solid var(--line); }
.document-footer { border-top:1px solid var(--line); color:#64748b; font-size:.72rem; margin-top:2rem; padding-top:.7rem; text-align:right; }
@media (max-width:650px) { .page-shell{padding-left:.75rem;padding-right:.75rem;padding-top:1.25rem}.hero-card{align-items:stretch;flex-direction:column;gap:1.25rem}.hero-action{width:100%}.handover-editor-layout{display:block}.handover-contents{display:flex;gap:.3rem;margin-bottom:.75rem;overflow-x:auto;padding:.55rem;position:static}.handover-contents .eyebrow,.handover-contents-help,.handover-contents-subitems{display:none}.handover-contents-item{flex:0 0 auto;font-size:.76rem;padding:.45rem}.section-header{align-items:stretch;flex-direction:column}.section-toggle{align-self:flex-end}.assignment-labels{display:none}.assignment-row{background:#f6f8fb;border:1px solid var(--line);border-radius:.65rem;grid-template-columns:1fr 82px 42px;padding:.55rem}.assignment-row input:nth-child(3){grid-column:1/3}.assignment-row button{grid-column:3;grid-row:1/3}.metadata-grid{grid-template-columns:repeat(2,1fr)}.document-header{grid-template-columns:58px 1fr}.document-header img{height:50px;width:50px}.document-header>.status-pill{grid-column:2}.assignment-table-head,.assignment-table-row{grid-template-columns:1fr 72px 1.2fr;font-size:.82rem;padding:.6rem}.entry-schedule-fields{grid-template-columns:1fr}.awn-upload-form{grid-template-columns:1fr}.awn-work-row{align-items:start;grid-template-columns:46px minmax(0,1fr)}.awn-work-time{grid-column:2}.awn-issue-list>div{align-items:flex-start;flex-direction:column}.adhoc-work-option{grid-template-columns:24px minmax(0,1fr)}.adhoc-work-actions{grid-column:2;justify-self:end}.history-card{align-items:stretch;flex-direction:column}.history-delete .btn{width:100%}.awn-prompt-actions{grid-template-columns:1fr}.form-actions .btn{flex:1 1 100%} }
@media print { @page{margin:10mm}.no-print,.app-header,body>footer{display:none!important}body{background:#fff;color:#000;font-size:10pt}.page-shell{max-width:none;padding:0}.handover-document{border-radius:0;box-shadow:none;padding:0}.document-header{gap:.7rem;padding-bottom:.7rem}.document-header img{height:52px;width:52px}.metadata-grid{margin:.75rem 0}.metadata-grid div{padding:.55rem}.document-section{break-inside:auto;margin-top:.85rem}.document-section>h2{margin-bottom:.35rem;padding-bottom:.25rem}.detail-block{padding:.2rem 0}.detail-block,.assignment-table-row{break-inside:avoid}.assignment-table-head,.assignment-table-row{padding:.4rem .55rem}.document-footer{margin-top:.8rem;padding-top:.4rem}.status-pill{border:1px solid currentColor}.document-header img{filter:grayscale(1)} }
