:root{--navy:#0b3558;--deep:#082943;--aqua:#24b7ca;--aqua-soft:#dff6f8;--ink:#102a3a;--muted:#637784;--line:#d8e2e8;--paper:#fff;--wash:#f3f7f9;--amber:#e7a62b;--red:#d44b4b;--green:#288664;--shadow:0 14px 38px rgba(16,42,58,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash);font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px}.topbar{height:72px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 3vw;gap:28px;position:sticky;top:0;z-index:5;box-shadow:0 4px 20px rgba(5,28,45,.18)}.brand{display:flex;align-items:center;gap:11px;font-weight:760;letter-spacing:-.01em;white-space:nowrap}.drop{color:#73d8e7;transform:rotate(45deg);font-size:18px}.tabs{display:flex;align-self:stretch;align-items:center;gap:4px;margin-left:auto}.tab{background:transparent;border:0;color:#b9ccd8;font:inherit;font-size:.9rem;padding:10px 14px;border-radius:8px;cursor:pointer}.tab:hover,.tab.active{color:#fff;background:rgba(255,255,255,.1)}button,input,select,textarea{font:inherit}.button{border:1px solid #c7d5dd;background:#fff;color:var(--navy);border-radius:9px;padding:9px 14px;font-weight:700;font-size:.88rem;cursor:pointer;white-space:nowrap}.button:hover{border-color:#8ca5b3;transform:translateY(-1px)}.button.primary{background:var(--aqua);border-color:var(--aqua);color:#062f40}.button.danger{color:#a83434}.topbar>.button{border-color:rgba(255,255,255,.32);background:#fff}main{max-width:1440px;margin:0 auto;padding:38px 4vw 70px}.view{display:none}.view.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading.compact{align-items:center}.page-heading h1{margin:2px 0 6px;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.08;color:var(--deep)}.heading-actions{display:flex;gap:10px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#30899a;margin:0 0 7px}.muted{color:var(--muted);margin:0;line-height:1.5}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.summary-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:19px 20px;display:flex;justify-content:space-between;align-items:center}.summary-card strong{display:block;font-size:2rem;line-height:1;color:var(--deep)}.summary-card span{display:block;color:var(--muted);font-size:.83rem;margin-top:7px}.status-symbol{width:11px;height:11px;border-radius:50%}.overdue .status-symbol{background:var(--red)}.soon .status-symbol{background:var(--amber)}.scheduled .status-symbol{background:var(--aqua)}.current .status-symbol{background:var(--green)}.dashboard-grid{display:grid;grid-template-columns:1.65fr .8fr;gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.next-panel,.system-card,.stage-health,.preset-panel,.form-panel,.schedule-panel{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-head h2,.panel h2{font-size:1.2rem;letter-spacing:-.02em;margin:0;color:var(--deep)}.text-button{border:0;background:none;color:#147a8c;font-weight:750;cursor:pointer}.event-row{display:grid;grid-template-columns:78px 1fr auto;gap:18px;align-items:center;padding:17px 0;border-top:1px solid #e8eef1}.date-block{border-left:4px solid var(--aqua);padding-left:13px}.date-block strong,.date-block span{display:block}.date-block strong{font-size:1.35rem}.date-block span{font-size:.75rem;text-transform:uppercase;color:var(--muted);font-weight:750}.event-row h3{margin:0 0 4px;font-size:1rem}.event-row p{margin:0;color:var(--muted);font-size:.86rem}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:var(--aqua-soft);color:#166879;font-size:.72rem;font-weight:800}.chip.evaluate{background:#fff1d3;color:#8b6112}.system-card{display:grid;grid-template-columns:auto 1fr;gap:18px;background:linear-gradient(145deg,var(--deep),#0e496f);color:#fff;border:0}.system-card h2{color:#fff}.system-card .eyebrow{color:#7bdcea}.system-mark{width:70px;height:82px;border-radius:12px;border:1px solid rgba(255,255,255,.23);display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.08)}.system-mark span{font-size:2rem;font-weight:800}.system-mark small{text-transform:uppercase;letter-spacing:.1em}.system-card dl{margin:18px 0 0}.system-card dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#8db7ca;margin-top:11px}.system-card dd{margin:3px 0 0;color:#fff;font-size:.9rem}.stage-health{margin-top:18px}.stage-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.stage-tile{border:1px solid var(--line);border-radius:11px;padding:14px;min-width:0}.stage-tile .num{color:#33899a;font-weight:800;font-size:.75rem}.stage-tile h3{font-size:.9rem;margin:8px 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-tile time{font-size:.78rem;color:var(--muted)}.preset-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.preset-row{display:flex;gap:8px;flex-wrap:wrap}.preset-button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;text-align:left;cursor:pointer;color:var(--ink)}.preset-button.active{border-color:var(--aqua);box-shadow:0 0 0 2px rgba(36,183,202,.15)}.preset-button strong,.preset-button small{display:block}.preset-button small{color:var(--muted);margin-top:3px}.form-panel{box-shadow:none;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.form-grid label,.stage-fields label,dialog label{font-size:.77rem;font-weight:800;color:#405967;display:flex;flex-direction:column;gap:7px}.form-grid .wide{grid-column:span 3}.form-grid input,.form-grid select,.form-grid textarea,.stage-fields input,.stage-fields select,.stage-fields textarea,dialog input,dialog textarea,.export-bar select{border:1px solid #bdced7;border-radius:8px;padding:10px 11px;color:var(--ink);background:#fff;min-width:0}.stages-heading{margin:30px 2px 14px}.stage-editor{display:grid;gap:12px}.stage-edit-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:0 6px 20px rgba(16,42,58,.04)}.stage-edit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.stage-edit-head h3{margin:0;font-size:1rem}.stage-fields{display:grid;grid-template-columns:80px 1.15fr 1fr 1fr 1fr;gap:13px}.stage-fields .span2{grid-column:span 2}.stage-fields .span3{grid-column:span 3}.stage-fields textarea{resize:vertical}.remove-stage{border:0;background:none;color:#9b3b3b;cursor:pointer;font-weight:700}.export-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin-bottom:16px;box-shadow:none}.export-group{display:flex;align-items:center;gap:8px}.export-group strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:4px}.schedule-panel{padding:0;overflow:hidden}.schedule-table{width:100%;border-collapse:collapse}.schedule-table th{background:#edf4f6;color:#3f5968;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:13px 18px}.schedule-table td{padding:15px 18px;border-top:1px solid #e4ecef;font-size:.88rem;vertical-align:top}.schedule-table tr:hover td{background:#f8fbfc}.task-list{display:flex;gap:6px;flex-wrap:wrap}.due-cell strong,.due-cell small{display:block}.due-cell small{color:var(--muted);margin-top:3px}dialog{border:0;border-radius:16px;box-shadow:0 30px 90px rgba(3,24,38,.3);width:min(560px,calc(100vw - 32px));padding:25px;color:var(--ink)}dialog::backdrop{background:rgba(5,25,38,.58)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:0 0 18px}.icon-button{border:0;background:#edf3f5;border-radius:50%;width:34px;height:34px;font-size:1.5rem;cursor:pointer}.dialog-head+.dialog-label{}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}fieldset{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:12px}legend{font-weight:800;font-size:.8rem;padding:0 6px}.check-row{display:flex;align-items:center;gap:9px;padding:8px;font-size:.9rem}.check-row input{width:17px;height:17px}#toast{position:fixed;right:24px;bottom:24px;background:var(--deep);color:#fff;padding:12px 16px;border-radius:9px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:none}#printSheet{display:none}
@media(max-width:980px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:13px 20px;gap:10px}.tabs{order:3;width:100%;overflow:auto}.topbar>.button{margin-left:auto}.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.stage-strip{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .wide{grid-column:span 2}.stage-fields{grid-template-columns:repeat(3,1fr)}.stage-fields .span3{grid-column:span 3}.export-bar{align-items:flex-start;flex-direction:column}}@media(max-width:620px){main{padding:26px 16px 55px}.brand{font-size:.9rem}.topbar>.button{font-size:.78rem;padding:8px}.page-heading{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:1fr 1fr}.summary-card{padding:15px}.dashboard-grid{display:block}.system-card{margin-top:14px}.stage-strip{grid-template-columns:repeat(2,1fr)}.section-head{align-items:flex-start}.stage-health .section-head span{display:none}.preset-panel{align-items:flex-start;flex-direction:column}.form-grid,.stage-fields{grid-template-columns:1fr}.form-grid .wide,.stage-fields .span2,.stage-fields .span3{grid-column:span 1}.event-row{grid-template-columns:60px 1fr}.event-row>.chip{grid-column:2}.export-group{flex-wrap:wrap}.schedule-panel{overflow:auto}.schedule-table{min-width:720px}}
@media print{body{background:#fff}.topbar,main,dialog,#toast{display:none!important}#printSheet{display:block!important;color:#111;font-family:Arial,sans-serif;padding:.15in}.print-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #183e58;padding-bottom:10px}.print-title h1{margin:0;font-size:20pt;color:#183e58}.print-title p{margin:4px 0 0;font-size:9pt}.print-badge{border:2px solid #183e58;padding:6px 10px;font-weight:bold}.print-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:7.5pt}.print-table th{background:#183e58;color:white;padding:5px;border:1px solid #183e58}.print-table td{border:1px solid #9eabb2;padding:4px;text-align:center;height:20px}.print-table td:first-child{text-align:left;font-weight:bold;white-space:nowrap}.print-section{margin-top:12px;break-inside:avoid}.print-section h2{font-size:10pt;color:#183e58;margin:0 0 5px}.procedure-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;font-size:7.5pt}.procedure-grid p{margin:0}.tds-table{border-collapse:collapse;width:100%;font-size:8pt}.tds-table td,.tds-table th{border:1px solid #9eabb2;padding:5px}.tds-table th{background:#e8f0f3}.print-foot{font-size:6.5pt;color:#555;margin-top:8px}@page{size:letter portrait;margin:.35in}}

.account-area{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;padding-left:14px;border-left:1px solid rgba(255,255,255,.22);font-size:.72rem;line-height:1.25;white-space:nowrap}.account-area span{color:#91dce7}.account-area strong{font-size:.76rem;max-width:180px;overflow:hidden;text-overflow:ellipsis}.account-area .account-provider{grid-column:1;color:#7bdcea;font-weight:750}.account-button{border:0;background:none;padding:0;text-align:left;font:inherit;cursor:pointer}.account-button:hover{text-decoration:underline}.account-area a{grid-column:2;color:#c7dce7;text-decoration:none}.account-area a:hover{text-decoration:underline}.loading-state{display:none;min-height:100vh;place-items:center;color:var(--muted);font-weight:700}.app-loading .loading-state{display:grid}.app-loading .topbar,.app-loading main{display:none}.import-summary{margin-top:18px;border:1px solid var(--line);border-radius:10px;background:var(--wash);padding:14px}.import-summary strong,.import-summary span{display:block}.import-summary span{color:var(--muted);font-size:.85rem;margin-top:4px}.sync-warning{color:#ffd38a!important}
.account-link{grid-column:1/-1;border:0;background:none;color:#7bdcea;padding:2px 0 0;text-align:right;font:inherit;cursor:pointer}.account-link:hover{text-decoration:underline}
.account-providers{display:grid;gap:10px;margin-top:20px}.provider-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:11px;padding:13px 14px}.provider-row strong,.provider-row span{display:block}.provider-row span{color:var(--muted);font-size:.78rem;margin-top:3px}.provider-row .provider-state{color:var(--green);font-weight:800;margin:0}.provider-row .provider-state.unavailable{color:var(--muted);font-weight:600}.link-conflict{margin-top:20px}.link-conflict h3{color:var(--deep);font-size:1rem;margin:0 0 7px}.link-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.schedule-choice{border:2px solid var(--line);border-radius:12px;background:#fff;padding:15px;text-align:left;color:var(--ink);cursor:pointer}.schedule-choice:hover{border-color:var(--aqua);background:#f7fcfd}.schedule-choice strong,.schedule-choice span,.schedule-choice small{display:block}.schedule-choice span{margin:8px 0;color:var(--ink);line-height:1.4}.schedule-choice small{color:var(--muted)}.account-status{min-height:1.4em;color:#a03737;font-size:.84rem;margin:14px 0 0}@media(max-width:560px){.link-choices{grid-template-columns:1fr}.provider-row{align-items:flex-start}}
.admin-link{display:inline-block;margin-top:14px;color:#147a8c;font-weight:750;text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-link[hidden]{display:none}.admin-loading .topbar,.admin-loading main,.admin-loading dialog{visibility:hidden}.admin-topbar{justify-content:space-between}.admin-topbar>strong{margin-right:auto}.admin-main{max-width:1220px}.admin-panel{padding:22px}.admin-status{color:var(--muted);margin-bottom:14px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:840px}.admin-table th{text-align:left;background:#edf4f6;color:#3f5968;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding:12px}.admin-table td{padding:14px 12px;border-top:1px solid #e4ecef;vertical-align:top}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{color:var(--muted);font-size:.72rem;margin-top:4px}.admin-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-actions .button{padding:7px 10px}.admin-state{display:inline-block;border-radius:999px;padding:4px 8px;background:#e2f3ea;color:#21684d;text-transform:capitalize;font-size:.75rem;font-weight:800}.admin-state.disabled{background:#fff0d3;color:#845c14}.admin-state.deleted{background:#f8dddd;color:#8c3030}.admin-protected{color:var(--muted);font-size:.78rem}.admin-confirm-phrase{margin-top:18px}.admin-confirm-phrase[hidden]{display:none!important}
.stage-tone-1{--stage-bg:#f6e8bd;--stage-fg:#6d4b12;--stage-line:#d9ba5d}.stage-tone-2{--stage-bg:#e4e9ec;--stage-fg:#273944;--stage-line:#94a3ab}.stage-tone-3{--stage-bg:#f9dfcc;--stage-fg:#843d16;--stage-line:#e39c66}.stage-tone-4{--stage-bg:#dcecff;--stage-fg:#174f86;--stage-line:#80b4e7}.stage-tone-5{--stage-bg:#d9f1ef;--stage-fg:#17655e;--stage-line:#78c5be}.stage-tone-6{--stage-bg:#def1df;--stage-fg:#28652e;--stage-line:#82c188}.stage-tone-7{--stage-bg:#eadffc;--stage-fg:#5b3786;--stage-line:#b295d8}.stage-tag{display:inline-flex;align-items:center;border:1px solid var(--stage-line);border-radius:999px;background:var(--stage-bg);color:var(--stage-fg);padding:4px 9px;font-size:.74rem;font-weight:800;line-height:1.2;white-space:nowrap}.stage-tag-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.stage-tile[class*="stage-tone-"]{border-top:3px solid var(--stage-line);background:linear-gradient(180deg,var(--stage-bg) 0,white 34%)}.stage-tile[class*="stage-tone-"] .num{color:var(--stage-fg)}.stage-edit-card[class*="stage-tone-"]{border-left:4px solid var(--stage-line)}.stage-edit-head .stage-tag{margin-right:7px;vertical-align:1px}.check-row .stage-tag{margin-right:2px}.chip.stage-tag{background:var(--stage-bg);color:var(--stage-fg);border-color:var(--stage-line)}
.system-diagram{grid-column:1/-1;align-self:end;display:flex;align-items:flex-end;justify-content:center;min-height:425px;margin:0 -10px -12px;overflow:hidden}.system-diagram[hidden]{display:none}.system-diagram img{display:block;width:100%;height:455px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 14px rgba(2,20,33,.22))}
.auth-page{min-height:100vh;background:radial-gradient(circle at 50% 18%,#e1f4f7 0,#f3f7f9 42%,#e8f0f4 100%);display:grid;place-items:center;padding:24px}.auth-shell{width:min(520px,100%);margin:0;padding:0}.auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(8,41,67,.16);padding:42px;text-align:center}.auth-mark{width:58px;height:58px;margin:0 auto 22px;border-radius:16px;display:grid;place-items:center;background:var(--navy);color:#73d8e7;font-size:1.25rem;transform:none}.auth-card h1{margin:3px 0 14px;color:var(--deep);font-size:2rem;letter-spacing:-.035em}.auth-card>p:not(.eyebrow){margin:0 auto;color:var(--muted);line-height:1.6;max-width:390px}.auth-button{display:inline-block;text-decoration:none;margin:26px 0 18px;padding:12px 20px}.auth-card .auth-note{font-size:.82rem;max-width:420px}
.provider-buttons{display:grid;gap:10px;margin:0 auto 18px;max-width:280px}.provider-buttons:empty{display:none}.provider-buttons .auth-button{margin:0;background:#fff}.auth-status{min-height:1.4em;color:#a03737!important;font-size:.84rem}.auth-status:empty{display:none}
@media(max-width:560px){.auth-card{padding:32px 22px}.auth-card h1{font-size:1.7rem}}
@media(max-width:1120px){.account-area{grid-template-columns:1fr;padding-left:10px}.account-area a{grid-column:1}.account-area strong{display:none}}
@media(max-width:760px){.account-area{order:2;margin-left:auto}.tabs{order:4}.topbar>.button{order:3}.account-area span{display:none}}
.brand{width:182px;height:48px;justify-content:center;flex:none;background:#fff;border-radius:10px;padding:2px 8px;box-shadow:0 3px 12px rgba(2,20,33,.18);overflow:hidden}.brand-logo{display:block;width:168px;height:auto}.auth-logo{display:block;width:min(330px,90%);height:auto;margin:0 auto 22px}.app-footer{max-width:1440px;margin:0 auto;padding:0 4vw 26px;color:var(--muted);font-size:.78rem;text-align:center}.app-footer a,.auth-note a{color:#147a8c}.app-footer a:hover,.auth-note a:hover{color:var(--deep)}.app-loading .app-footer{display:none}.auth-footer{margin-top:20px;padding:0;color:#58707d}@media(max-width:760px){.brand{width:160px;height:44px}.brand-logo{width:148px}}
