:root{--navy:#08285b;--navy-deep:#061b3f;--navy-soft:#123d73;--paper:#f4f8fb;--card:#fffdf8;--ivory:#fff8e9;--ink:#18304c;--muted:#66788c;--gold:#b77a24;--gold-soft:#d8ad68;--line:#d6e0e8;--green:#679b83}*{box-sizing:border-box}html{background:#e8eef3;scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Georgia,Times New Roman,serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:radial-gradient(circle at 80% 3%,rgba(216,173,104,.2),transparent 28rem),linear-gradient(135deg,#f8fbfd,#edf4f8 50%,#f7f2e7)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 70% 15%,rgba(216,173,104,.2),transparent 28rem),linear-gradient(145deg,#eaf2f7,#f8f3e8)}.login-card{width:min(760px,100%);padding:54px;border:1px solid rgba(183,122,36,.45);border-radius:34px;background:rgba(255,253,248,.97);box-shadow:0 28px 80px rgba(6,27,63,.14);text-align:center}.transition-mark{width:74px;height:74px;display:grid;place-items:center;margin:auto;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);font-size:32px;box-shadow:inset 0 0 0 8px #f8f1e4}.eyebrow,.kicker{color:var(--gold);font:700 11px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.login-card h1{margin:14px 0 5px;color:var(--navy);font-size:58px;font-weight:400}.login-card .lead{max-width:610px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.55}.formula{margin:25px 0;padding:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--navy-soft);font-style:italic}.login-card form{display:grid;gap:15px;max-width:560px;margin:24px auto;text-align:left}.login-card label{font-weight:700}.login-card input{display:block;width:100%;margin-top:7px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:white;outline:none}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(183,122,36,.1)}.login-card form button{padding:16px;border:0;border-radius:999px;background:var(--navy);color:white;font-weight:700}.login-card>small{color:var(--muted);font:11px/1.5 Arial,sans-serif}.error{color:#a23535!important}.topbar{position:sticky;top:0;z-index:40;min-height:76px;justify-content:space-between;gap:20px;padding:10px 3vw;color:white;background:linear-gradient(105deg,var(--navy-deep),var(--navy));border-bottom:1px solid rgba(216,173,104,.55);box-shadow:0 10px 32px rgba(6,27,63,.2)}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.brand>span{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ecc778;border-radius:50%;color:#ecc778}.brand b{font-size:21px}.brand small{display:block;margin-top:2px;color:#b9c9d9;font:9px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.account{display:flex;align-items:center;justify-content:flex-end;gap:10px;font:12px Arial,sans-serif}.account>small{color:#b8c9d9}.account a,.account button{padding:9px 12px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:transparent;color:white;text-decoration:none}.menu-button{display:none;border:0;background:transparent;color:white;font-size:24px}.app-layout{display:grid;grid-template-columns:275px minmax(0,900px);gap:34px;width:min(1240px,calc(100% - 36px));margin:0 auto;padding:32px 0 70px;align-items:start}.route-panel{position:sticky;top:104px;max-height:calc(100vh - 124px);overflow:auto;border:1px solid rgba(183,122,36,.25);border-radius:20px;background:rgba(255,253,248,.96);box-shadow:0 18px 48px rgba(23,52,82,.08)}.route-head{align-items:center;padding:20px 18px 10px}.route-head,.route-head>div{display:flex;justify-content:space-between}.route-head>div{align-items:baseline;width:100%}.route-head p{margin:0;color:var(--navy);font-weight:700}.route-head strong{color:var(--gold);font-size:20px}.route-head>button{display:none;border:0;background:transparent;font-size:28px}.progress-track{height:4px;margin:0 18px 15px;background:#dce7ef;border-radius:99px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#e2be79)}.route-panel>button{width:calc(100% - 16px);display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;margin:3px 8px;padding:9px;border:0;border-radius:12px;background:transparent;text-align:left}.route-panel>button:hover:not(:disabled){background:#f1f6f9}.route-panel>button.active{color:white;background:linear-gradient(100deg,var(--navy),var(--navy-soft));box-shadow:0 8px 18px rgba(8,40,91,.18)}.route-panel>button:disabled{opacity:.42;cursor:default}.route-panel i{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);font-style:normal;font-size:12px}.route-panel .active i{color:#f3ce84;border-color:#f3ce84}.route-panel button span{display:flex;flex-direction:column;font-size:13px;line-height:1.18}.route-panel button small{margin-bottom:2px;color:var(--muted);font:8px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.route-panel .active small{color:#bacadb}.route-panel button>b{color:var(--muted);font:9px Arial,sans-serif}.route-panel .active>b{color:#f3ce84}.route-tools{display:grid;gap:4px;margin-top:14px;padding:15px 20px;border-top:1px solid var(--line)}.route-tools button{padding:7px 0;border:0;background:transparent;color:var(--navy-soft);font:11px Arial,sans-serif;text-align:left}.work-area{min-width:0}.section-intro{position:relative;margin-bottom:18px;padding:28px 32px;border:1px solid rgba(183,122,36,.35);border-radius:24px;background:rgba(255,253,248,.78)}.section-intro h1{margin:4px 0 10px;color:var(--navy);font-size:clamp(38px,5vw,58px);font-weight:400}.section-intro>div>p,.section-intro>p:not(.eyebrow){max-width:700px;color:var(--muted);line-height:1.6}.section-intro blockquote{margin:20px 0 0;padding:15px 18px;border-left:3px solid var(--gold-soft);background:#f2f7fa;color:var(--navy-soft);font-style:italic;line-height:1.55}.section-intro.day{display:grid;grid-template-columns:1fr 86px;gap:16px}.section-intro.day blockquote{grid-column:1/-1}.day-emblem{width:78px;height:78px;display:grid;place-items:center;align-self:center;border:1px solid var(--gold-soft);border-radius:50%;background:var(--navy);color:#f2cd82;font-size:28px;box-shadow:inset 0 0 0 7px rgba(255,255,255,.1)}.section-label{display:flex;align-items:baseline;gap:15px;margin:24px 4px 12px}.section-label>span{color:var(--gold);font:700 11px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.section-label p{margin:0;color:var(--muted);font:11px/1.5 Arial,sans-serif}.workbook-fields{display:grid;gap:14px}.field-card{position:relative;display:grid;grid-template-columns:44px 1fr;gap:6px 12px;padding:22px;border:1px solid #d9e2e9;border-radius:18px;background:rgba(255,253,248,.96);box-shadow:0 12px 34px rgba(23,52,82,.055)}.field-card.keep,.field-card.step,.field-card.summary{border-color:rgba(183,122,36,.45);background:linear-gradient(120deg,#fffdf8,#fff8e9)}.field-number{width:38px;height:38px;display:grid;place-items:center;grid-row:1/3;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);font:11px Arial,sans-serif}.field-card strong{align-self:center;color:var(--navy);font-size:19px;font-weight:400}.field-card textarea{grid-column:2;width:100%;min-height:125px;padding:15px;border:1px solid #cbd8e2;border-radius:12px;resize:vertical;outline:none;background:white;color:var(--ink);font:16px/1.65 Georgia,serif}.field-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(183,122,36,.1)}.field-card small{grid-column:2;color:#8a98a5;font:9px Arial,sans-serif;text-align:right}.field-card.step textarea{min-height:95px}.bank-section{margin-top:34px;padding:26px;border:1px solid rgba(183,122,36,.4);border-radius:24px;background:linear-gradient(rgba(255,253,248,.96),rgba(255,253,248,.96)),repeating-linear-gradient(45deg,transparent 0 8px,rgba(183,122,36,.06) 8px 9px)}.bank-section>.section-label{margin-top:0}.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-grid button{display:flex;flex-direction:column;min-height:190px;padding:18px;border:1px solid var(--line);border-radius:15px;background:white;text-align:left}.bank-grid button:hover{border-color:var(--gold-soft);box-shadow:0 10px 26px rgba(23,52,82,.08)}.bank-grid span{color:var(--gold);font:700 9px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.bank-grid strong{margin:9px 0;color:var(--navy);font-size:17px;line-height:1.35}.bank-grid small{color:var(--muted);font:11px/1.5 Arial,sans-serif}.bank-grid b{margin-top:auto;padding-top:12px;color:var(--navy-soft);font:11px Arial,sans-serif}.bottom-nav{display:flex;justify-content:space-between;margin:26px 0}.bottom-nav button{padding:12px 18px;border:1px solid var(--gold-soft);border-radius:999px;background:var(--card);color:var(--navy)}.drawer-layer{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end}.drawer-scrim{position:absolute;inset:0;border:0;background:rgba(5,20,46,.58);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.example-drawer{position:relative;width:min(690px,94vw);height:100%;overflow:auto;padding:30px 34px 50px;background:var(--card);box-shadow:-20px 0 60px rgba(4,20,48,.22)}.example-drawer header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.example-drawer h2{margin:0;color:var(--navy);font-size:28px;font-weight:400;line-height:1.25}.example-drawer header button{border:0;background:transparent;color:var(--navy);font-size:32px}.drawer-notice{margin:18px 0;padding:14px;border:1px solid rgba(183,122,36,.35);border-radius:12px;background:var(--ivory);color:var(--muted);font:12px/1.6 Arial,sans-serif}.access-note{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px;color:var(--navy);font:12px Arial,sans-serif}.access-note span{color:var(--muted);text-align:right}.example-search{display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid #cbd8e2;border-radius:999px;background:white}.example-search span{color:var(--gold);font-size:20px}.example-search input{width:100%;padding:12px 0;border:0;outline:none;background:transparent;font:13px Arial,sans-serif}.example-list{display:grid;gap:10px;margin-top:18px}.example-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:15px;border:1px solid #dce5ec;border-radius:12px;background:white}.example-list article>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);font:10px Arial,sans-serif}.example-list p{margin:3px 0 0;font-size:14px;line-height:1.55}.load-more{width:100%;margin-top:15px;padding:12px;border:1px solid var(--gold-soft);border-radius:999px;background:transparent;color:var(--navy)}.empty,.loading{padding:28px;color:var(--muted);text-align:center}footer{max-width:1240px;margin:0 auto;padding:30px;color:var(--muted);border-top:1px solid var(--line);font:11px/1.55 Arial,sans-serif}.admin{max-width:1120px;margin:auto;padding:30px}.admin>header{position:static;display:flex;align-items:center;justify-content:space-between;padding:0;background:transparent;color:var(--ink)}.admin>header a{color:var(--navy)}.adminCard{margin:20px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.adminCard form,.person{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.admin input,.admin select{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:white}.admin button{padding:12px 16px;border:0;border-radius:999px;background:var(--navy);color:white}.newCode{padding:16px;border-radius:10px;background:#fff0c8}.person{padding:12px 0;border-top:1px solid var(--line)}.admin small{color:var(--muted);font:10px Arial,sans-serif}.bank-controls{display:grid;grid-template-columns:180px 1fr 260px;gap:14px}.bank-controls label{font-weight:700}.bank-controls input,.bank-controls select{display:block;margin-top:7px}.full-example-list{display:grid;gap:8px}.full-example-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px}.full-example-list article b{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);font:10px Arial,sans-serif}.full-example-list p{margin:3px 0;line-height:1.5}@media(max-width:820px){.topbar{position:static;padding:11px 14px}.menu-button{display:block}.brand>span{display:none}.brand b{font-size:17px}.account>small,.account>span{display:none}.account a{padding:7px;font-size:0}.account a:first-letter{font-size:12px}.app-layout{display:block;width:min(100% - 22px,760px);padding-top:16px}.route-panel{position:fixed;inset:0 auto 0 0;z-index:100;width:min(340px,90vw);max-height:none;border-radius:0 20px 20px 0;transform:translateX(-105%);transition:transform .22s ease}.route-panel.open{transform:translateX(0)}.route-head>button{display:block}.route-scrim{position:fixed;inset:0;z-index:90;border:0;background:rgba(5,20,46,.5)}.section-intro{padding:22px}.section-intro h1{font-size:38px}.field-card{grid-template-columns:36px 1fr;padding:16px}.field-number{width:32px;height:32px}.field-card strong{font-size:17px}.field-card textarea{grid-column:1/-1;min-height:140px}.field-card small{grid-column:1/-1}.bank-grid{grid-template-columns:1fr}.bank-grid button{min-height:0}.section-label{display:block}.section-label p{margin-top:7px}.example-drawer{width:100%;padding:24px 18px 40px}.login-card{padding:32px 22px}.login-card h1{font-size:42px}.adminCard form,.person{grid-template-columns:1fr}.section-intro.day{grid-template-columns:1fr 65px}.day-emblem{width:60px;height:60px;font-size:22px}}@media(max-width:520px){.account a,.brand small{display:none}.section-intro.day{display:block}.day-emblem{display:none}.section-intro h1{font-size:33px}.bank-section{padding:16px}.bottom-nav button{padding:10px;font-size:12px}.example-drawer h2{font-size:23px}.access-note{display:block}.access-note span{display:block;margin-top:5px;text-align:left}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}