:root{--void:#05070e;--base:#080b16;--raise:#0d1120;--glass:#ffffff0b;--glass-hi:#ffffff13;--glass-lo:#ffffff06;--edge:#ffffff17;--edge-hi:#ffffff29;--sheen:inset 0 1px 0 #ffffff12;--blur:blur(22px) saturate(180%);--blur-lg:blur(40px) saturate(190%);--teal:#5ca89d;--teal-lit:#6fd4c4;--teal-glow:#6fd4c429;--teal-edge:#6fd4c44d;--indigo:#4d5da8;--text:#e9edf7;--text-2:#aab3cc;--text-3:#737e9c;--text-4:#4d5573;--amber:#e9a94e;--amber-bg:#e9a94e21;--green:#56cc9d;--green-bg:#56cc9d21;--red:#f2717d;--red-bg:#f2717d21;--violet:#a58bf0;--violet-bg:#a58bf021;--font-display:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r:8px;--r-lg:14px;--r-xl:20px;--sidebar-w:236px;--shadow:0 1px 2px #0006, 0 12px 32px -12px #000000b3;--shadow-pop:0 24px 70px -18px #000000d9, 0 2px 10px #00000080;--ease:cubic-bezier(.16, 1, .3, 1);--ink:var(--text);--ink-deep:var(--void);--ink-soft:var(--text-2);--ink-muted:var(--text-3);--ink-faint:var(--text-4);--teal-deep:var(--teal-lit);--teal-subtle:var(--teal-glow);--paper:var(--base);--paper-card:var(--raise);--paper-warm:#ffffff08;--paper-sunk:#00000047;--rule:var(--edge);--rule-strong:var(--edge-hi);--radius:var(--r);--radius-lg:var(--r-lg);--shadow-card:var(--shadow);--green-subtle:var(--green-bg);--amber-subtle:var(--amber-bg);--red-subtle:var(--red-bg);--violet-subtle:var(--violet-bg)}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);background:var(--void);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:14px;line-height:1.5;overflow:hidden}body:before{content:"";z-index:-2;background:radial-gradient(58rem 42rem at 12% -8%,#5ca89d2b,#0000 62%),radial-gradient(48rem 40rem at 92% 8%,#4d5da833,#0000 60%),radial-gradient(70rem 50rem at 68% 105%,#334e7826,#0000 65%),linear-gradient(178deg,#070a14 0%,#05070e 55%,#04060c 100%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em;color:#fff;margin:0;font-weight:600}h1{font-size:27px;line-height:1.15}h2{font-size:20px}h3{letter-spacing:-.015em;font-size:15px}a{color:var(--teal-lit);transition:color .14s var(--ease);text-decoration:none}a:hover{color:#9df0e2;text-decoration:none}.mono,.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.money{text-align:right;white-space:nowrap;letter-spacing:-.03em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.shell{grid-template-columns:var(--sidebar-w) 1fr;height:100%;display:grid}.sidebar{-webkit-backdrop-filter:var(--blur-lg);border-right:1px solid var(--edge);box-shadow:var(--sheen);z-index:10;background:linear-gradient(#ffffff0d,#ffffff04);flex-direction:column;padding:22px 0 14px;display:flex;position:relative}.sidebar-brand{flex-direction:column;gap:1px;padding:0 20px 24px;display:flex}.sidebar-brand .mark{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:18px;font-weight:700;line-height:1.15}.sidebar-brand .sub{text-transform:uppercase;letter-spacing:.2em;color:var(--teal-lit);font-size:9.5px;font-weight:600}.nav{flex-direction:column;flex:1;gap:2px;padding:0 12px;display:flex}.nav-item{border-radius:var(--r);color:var(--text-2);transition:background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease);border:1px solid #0000;align-items:center;gap:10px;padding:8px 11px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{background:var(--glass);color:var(--text)}.nav-item.active{background:linear-gradient(90deg, var(--teal-glow), #6fd4c40a);border-color:var(--teal-edge);color:#fff;box-shadow:var(--sheen)}.nav-item .badge{font-family:var(--font-mono);background:var(--teal-lit);color:#04120f;text-align:center;border-radius:20px;min-width:19px;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:700}.nav-item .badge.warn{background:var(--red);color:#200409}.nav-sep{background:var(--edge);height:1px;margin:12px 11px}.sidebar-foot{color:var(--text-4);border-top:1px solid var(--edge);margin:0 12px;padding:12px 20px 0;font-size:11px}.main{min-width:0;overflow-y:auto}.page{max-width:1240px;margin:0 auto;padding:32px 36px 84px}.page-head{border-bottom:1px solid var(--edge);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 18px;margin-bottom:24px;padding-bottom:18px;display:flex}.page-head .eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--text-3);margin-bottom:7px;font-size:10.5px;font-weight:600}.page-actions{align-items:center;gap:8px;display:flex}.btn{font-family:var(--font-ui);border-radius:var(--r);border:1px solid var(--edge);background:var(--glass);-webkit-backdrop-filter:var(--blur);color:var(--text);cursor:pointer;white-space:nowrap;box-shadow:var(--sheen);transition:background .14s var(--ease), border-color .14s var(--ease), transform .14s var(--ease), color .14s var(--ease);align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--glass-hi);border-color:var(--edge-hi);color:#fff}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.primary{color:#04120f;background:linear-gradient(#63bdaf,#3f8578);border-color:#6fd4c473;font-weight:600;box-shadow:inset 0 1px #ffffff38,0 6px 20px -6px #5ca89d8c}.btn.primary:hover:not(:disabled){color:#04120f;background:linear-gradient(#74cfc0,#4a978a)}.btn.ink{border-color:var(--edge-hi);color:#fff;background:#ffffff21}.btn.danger{color:var(--red);border-color:#f2717d4d}.btn.danger:hover:not(:disabled){background:var(--red-bg);color:#ff9aa3}.btn.ghost{-webkit-backdrop-filter:none;box-shadow:none;color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--glass);color:var(--text);border-color:#0000}.btn.sm{border-radius:6px;padding:4px 9px;font-size:12px}.btn.lg{padding:10px 20px;font-size:14px}input,textarea,select{font-family:var(--font-ui);color:var(--text);border:1px solid var(--edge);border-radius:var(--r);width:100%;transition:border-color .14s var(--ease), box-shadow .14s var(--ease), background .14s var(--ease);background:#00000047;padding:8px 10px;font-size:13.5px}input::placeholder,textarea::placeholder{color:var(--text-4)}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--edge-hi)}input:focus,textarea:focus,select:focus{border-color:var(--teal-edge);box-shadow:0 0 0 3px var(--teal-glow);background:#0006;outline:none}input:disabled,textarea:disabled,select:disabled{color:var(--text-2);background:#00000024}select option{color:var(--text);background:#10182b}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input.money-input{font-family:var(--font-mono);text-align:right}input[type=checkbox]{accent-color:var(--teal-lit);width:auto}label.field{margin-bottom:14px;display:block}label.field>.lbl,.lbl{text-transform:uppercase;letter-spacing:.13em;color:var(--text-3);margin-bottom:5px;font-size:10.5px;font-weight:600;display:block}.hint{color:var(--text-3);margin-top:4px;font-size:11.5px}.segmented{border:1px solid var(--edge);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);background:#0000004d;gap:2px;padding:3px;display:inline-flex}.segmented button{font-family:var(--font-ui);cursor:pointer;color:var(--text-3);white-space:nowrap;transition:background .14s var(--ease), color .14s var(--ease);background:0 0;border:none;border-radius:5px;padding:5px 11px;font-size:12px;font-weight:500}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button.on{color:#fff;box-shadow:var(--sheen);background:#ffffff1c}.segmented button:disabled{opacity:.4;cursor:not-allowed}.toggle{cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.toggle input{width:auto;margin:0}.card{background:var(--glass);-webkit-backdrop-filter:var(--blur);border:1px solid var(--edge);border-radius:var(--r-lg);box-shadow:var(--shadow), var(--sheen);overflow:hidden}.card-head{border-bottom:1px solid var(--edge);background:var(--glass-lo);justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;display:flex}.card-head h3{font-size:14.5px}.card-body{padding:17px}.card-body.flush{padding:0}.glass-panel{-webkit-backdrop-filter:var(--blur-lg);border:1px solid var(--edge-hi);border-radius:var(--r-xl);box-shadow:var(--shadow-pop), var(--sheen);background:#12182ab8}.scrim{-webkit-backdrop-filter:blur(6px);z-index:100;animation:fade .22s var(--ease) both;background:#03050b9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}table.data{border-collapse:collapse;width:100%;font-size:13.5px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.13em;color:var(--text-3);border-bottom:1px solid var(--edge);white-space:nowrap;background:#0003;padding:10px 15px;font-size:10px;font-weight:600}table.data th.num,table.data td.num{text-align:right}table.data td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:11px 15px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr.clickable{cursor:pointer;transition:background .12s var(--ease)}table.data tbody tr.clickable:hover{background:var(--glass)}.pill{letter-spacing:.03em;white-space:nowrap;text-transform:capitalize;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.pill.grey{color:var(--text-2);border-color:var(--edge);background:#ffffff12}.pill.teal{background:var(--teal-glow);color:var(--teal-lit);border-color:var(--teal-edge)}.pill.amber{background:var(--amber-bg);color:var(--amber);border-color:#e9a94e4d}.pill.green{background:var(--green-bg);color:var(--green);border-color:#56cc9d4d}.pill.red{background:var(--red-bg);color:var(--red);border-color:#f2717d4d}.pill.violet{background:var(--violet-bg);color:var(--violet);border-color:#a58bf04d}.pill.ink{color:var(--text);border-color:var(--edge-hi);background:#ffffff1c}.empty{text-align:center;color:var(--text-3);padding:46px 20px}.empty .big{font-family:var(--font-display);color:var(--text-2);margin-bottom:6px;font-size:18px}.banner{border-radius:var(--r);-webkit-backdrop-filter:var(--blur);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:18px;padding:11px 15px;font-size:12.5px;display:flex}.banner.amber{background:var(--amber-bg);color:#f2c078;border-color:#e9a94e47}.banner.teal{background:var(--teal-glow);border-color:var(--teal-edge);color:var(--teal-lit)}.banner.red{background:var(--red-bg);color:#ff97a1;border-color:#f2717d47}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.rise{animation:rise .45s var(--ease) both}.stack>*,.page>.card,.page>.grid-2>*{animation:rise .5s var(--ease) both}.stack>:first-child{animation-delay:20ms}.stack>:nth-child(2){animation-delay:70ms}.stack>:nth-child(3){animation-delay:.12s}.stack>:nth-child(4){animation-delay:.17s}.stack>:nth-child(5){animation-delay:.22s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.main::-webkit-scrollbar{width:11px;height:11px}div::-webkit-scrollbar{width:11px;height:11px}.main::-webkit-scrollbar-track{background:0 0}div::-webkit-scrollbar-track{background:0 0}.main::-webkit-scrollbar-thumb{background:#ffffff1c padding-box content-box;border:3px solid #0000;border-radius:20px}div::-webkit-scrollbar-thumb{background:#ffffff1c padding-box content-box;border:3px solid #0000;border-radius:20px}.main::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box content-box}div::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box content-box}.row{align-items:center;gap:10px;display:flex}.row.tight{gap:6px}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;gap:16px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pgrid{border:1px solid var(--edge);border-radius:var(--r-lg);-webkit-backdrop-filter:var(--blur);background:#0000003d;overflow:hidden;box-shadow:inset 0 1px 3px #00000073}.pgrid-head,.pgrid-row,.pgrid-total{grid-template-columns:20px 38px minmax(0,1.1fr) minmax(0,1.4fr) 64px 96px 28px;align-items:stretch;display:grid}.pgrid-head{border-bottom:1px solid var(--edge);background:#0000004d}.pgrid-head>div{text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);align-items:center;padding:8px;font-size:9.5px;font-weight:600;display:flex}.pgrid-head .pg-days,.pgrid-head .pg-cost{justify-content:flex-end}.pgrid-row{transition:background .12s var(--ease), opacity .14s var(--ease);border-bottom:1px solid #ffffff0d}.pgrid-row:hover{background:#ffffff09}.pgrid-row.dragging{opacity:.35}.pgrid-row.overlay input{color:var(--text-3);font-style:italic}.pgrid-row input{width:100%;min-width:0;color:var(--text);background:0 0;border:1px solid #0000;border-radius:0;padding:9px 6px;font-size:13px}.pgrid-row input:hover:not(:disabled){background:#ffffff0a}.pgrid-row input:focus{border-color:var(--teal-edge);box-shadow:inset 0 0 0 1px var(--teal-edge);z-index:1;background:#00000073;outline:none;position:relative}.pgrid-row input:disabled{color:var(--text-2);background:0 0}.pgrid-row .pg-no,.pgrid-row .pg-days,.pgrid-row .pg-cost{text-align:right}.pgrid-row .pg-no{text-align:center;color:var(--text-3);font-size:12px}.pgrid-row .pg-cost.derived{color:var(--text-4)}.pgrid-row .pg-cost.free{color:var(--green);font-style:italic}.pg-drag{color:var(--text-4);cursor:grab;justify-content:center;align-items:center;display:flex}.pg-drag:active{cursor:grabbing}.pg-act{justify-content:center;align-items:center;display:flex}.pg-btn{color:var(--text-4);cursor:pointer;opacity:0;transition:opacity .14s var(--ease), color .14s var(--ease), background .14s var(--ease);background:0 0;border:none;border-radius:4px;padding:3px;display:flex}.pgrid-row:hover .pg-btn{opacity:1}.pg-btn:hover{color:var(--red);background:var(--red-bg)}.pgrid-add{width:100%;font-family:var(--font-ui);color:var(--text-3);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;border-bottom:1px solid #ffffff0d;align-items:center;gap:6px;padding:10px 12px;font-size:12.5px;display:flex}.pgrid-add:hover{color:var(--text);background:#ffffff0b}.pgrid-total{border-top:1px solid var(--edge);background:#0000004d;font-weight:600}.pgrid-total>div{white-space:nowrap;color:var(--text);justify-content:flex-end;align-items:center;padding:10px 6px;font-size:13px;display:flex}.pgrid-total .spacer{grid-column:1/5}.paper{color:#1a1a1a;font-family:var(--font-ui);background:#fff;border-radius:3px;min-height:940px;padding:46px 48px 58px;font-size:12px;line-height:1.55;box-shadow:0 0 0 1px #ffffff0f,0 2px 6px #00000080,0 30px 70px -20px #000c}.paper .mono{color:inherit}.paper-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.paper-mark-name{font-family:var(--font-display);letter-spacing:-.02em;color:#14213d;font-size:15px;font-weight:700}.paper-from{text-align:right;color:#4a4a4a;font-size:10.5px;line-height:1.65}.paper-rule{border:none;border-top:1px solid #d8d6cc;margin:0 0 20px}.paper-title-block{margin-bottom:20px}.paper-title{font-family:var(--font-display);letter-spacing:-.02em;color:#14213d;font-size:21px;font-weight:700;line-height:1.15}.paper-subtitle{color:#5a5a5a;margin-top:3px;font-size:12.5px}.paper-meta{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 20px;font-size:11.5px;display:grid}.paper-meta dt{color:#333;font-weight:600}.paper-meta dd{color:#444;margin:0}.paper-pending{color:#a8a49a;font-style:italic}.paper-block{margin-bottom:20px}.paper-block.footer-note{color:#6a6a6a;border-top:1px solid #e8e6dc;margin-top:26px;padding-top:12px;font-size:10.5px;font-style:italic}.paper-h2{font-family:var(--font-display);color:#14213d;letter-spacing:-.01em;margin:0 0 8px;font-size:13px;font-weight:700}.paper-p{margin:0 0 8px}.paper-p:last-child{margin-bottom:0}.paper-address{line-height:1.5}.paper-table{border-collapse:collapse;width:100%;margin-bottom:6px;font-size:11px}.paper-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#3a3a3a;vertical-align:bottom;border-bottom:1.5px solid #14213d;padding:6px 8px;font-size:10px;font-weight:600}.paper-table td{vertical-align:top;border-bottom:1px solid #e8e6dc;padding:7px 8px}.paper-table th.r,.paper-table td.r{text-align:right}.paper-table tr.overlay td{color:#5a5a5a;font-style:italic}.paper-table tr.total td{border-top:1.5px solid #14213d;border-bottom:none;padding-top:8px}.paper-list{margin:0 0 8px;padding-left:18px}.paper-list.tight li{margin-bottom:1px}.paper-list li{margin-bottom:3px}.paper-sub{color:#5a5a5a;font-size:10.5px}.paper-sub-head{color:#333;margin:6px 0 3px;font-size:10.5px;font-weight:600}.paper-free{color:#2f6f4e;font-weight:500}.paper-milestone{border-left:2px solid #e0ddd2;margin-bottom:14px;padding:2px 0 2px 12px}.paper-milestone-head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:4px;display:flex}.paper-output{color:#4a4a4a;margin-top:4px;font-size:10.5px}.paper-inv-title{font-family:var(--font-ui);margin-bottom:14px;font-size:13px;font-weight:700}.paper-inv-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:11.5px}.paper-inv-table th,.paper-inv-table td{vertical-align:top;border:1px solid #333;padding:8px 10px}.paper-inv-table th{text-align:left;text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:700}.paper-inv-table th.r,.paper-inv-table td.r{text-align:right}.paper-inv-table tr.total td{font-weight:700}.paper-inv-sub{padding-left:0;display:block}.paper-inv-foot{font-size:11.5px;line-height:1.7}
