:root,:root[data-palette=harbor]{color-scheme:light;--primary: #0e3a45;--primary-2: #115e6b;--primary-dark: #082a33;--primary-deep: #052129;--primary-text: #0e3a45;--accent: #2dd4bf;--accent-ink: #08302a;--ground: #f2f7f6;--shell-ink: #f2f7f6;--ink: #14323b;--ink-soft: #4a6570;--line: #d5e2df;--line-soft: #e2edea;--badge-bg: #dcebe7;--page-bg: #062128;--on-primary-soft: #bcd8d4;--on-primary-faint: #7fa8a0;--switch-off: #c4d6d2;--danger: #b3372f;--field-bg: #ffffff}:root[data-palette=spruce]{color-scheme:light;--primary: #17503a;--primary-2: #1b5a41;--primary-dark: #0c3222;--primary-deep: #082619;--primary-text: #17503a;--accent: #f0a22e;--accent-ink: #23180a;--ground: #f6f4ee;--shell-ink: #f6f4ee;--ink: #2b3440;--ink-soft: #5a6572;--line: #ddd8cb;--line-soft: #efead9;--badge-bg: #e8e2d2;--page-bg: #0a1f16;--on-primary-soft: #c9ded1;--on-primary-faint: #8faf9c;--switch-off: #d8d2c0;--danger: #b3372f;--field-bg: #ffffff}:root[data-theme=dark],:root[data-palette=harbor][data-theme=dark]{color-scheme:dark;--primary: #1a6a7d;--primary-2: #176377;--primary-dark: #0d3d4a;--primary-deep: #072630;--primary-text: #63b7c9;--accent: #2dd4bf;--accent-ink: #08302a;--ground: #0b2831;--shell-ink: #eef6f4;--ink: #e8f1ef;--ink-soft: #a9c0bb;--line: #1d4753;--line-soft: #14333d;--badge-bg: #14343f;--page-bg: #04161b;--on-primary-soft: #c3ded9;--on-primary-faint: #8fb5ad;--switch-off: #4d7681;--danger: #e08a83;--field-bg: #10333d}:root[data-palette=spruce][data-theme=dark]{color-scheme:dark;--primary: #1f7a52;--primary-2: #1e6a4a;--primary-dark: #0f3d29;--primary-deep: #082418;--primary-text: #63bd8d;--accent: #f0a22e;--accent-ink: #23180a;--ground: #12241b;--shell-ink: #f2f3ec;--ink: #e9f0e9;--ink-soft: #abc2b2;--line: #274434;--line-soft: #1b3327;--badge-bg: #1d3a2a;--page-bg: #04120c;--on-primary-soft: #cfe3d4;--on-primary-faint: #97bda4;--switch-off: #52755c;--danger: #e08a83;--field-bg: #183527}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--page-bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}a{color:var(--primary-text)}.shell{min-height:100dvh;display:flex;flex-direction:column;max-width:430px;margin:0 auto;position:relative;background:linear-gradient(168deg,var(--primary-2) 0%,var(--primary) 34%,var(--primary-dark) 78%,var(--primary-deep) 100%);box-shadow:0 0 60px #00000080}.shell-scroll{flex:1;overflow-y:auto;padding:4px 18px 24px;position:relative;z-index:1}.shell-scroll.has-dock{padding-bottom:96px}.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;flex:none}.topbar .back{color:var(--shell-ink);font-size:14.5px;font-weight:600;text-decoration:none;background:none;border:none;cursor:pointer;padding:4px 0}.topbar .spacer{width:52px}.wordmark{font-size:27px;font-weight:800;letter-spacing:-1.4px;color:var(--shell-ink);line-height:1;font-family:Arial Rounded MT Bold,Helvetica Rounded,-apple-system,Segoe UI,Roboto,sans-serif}.wordmark.on-light{color:var(--primary)}.wordmark .loop{position:relative}.wordmark .dot{position:absolute;width:5.5px;height:5.5px;border-radius:50%;background:var(--accent);top:4px;right:1px;box-shadow:0 0 0 2px var(--primary)}.wordmark.on-light .dot{box-shadow:0 0 0 2px var(--ground)}.modebtn{width:34px;height:34px;border-radius:50%;background:#ffffff24;border:1px solid rgba(255,255,255,.28);color:var(--shell-ink);display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer;padding:0}.card{background:var(--ground);border-radius:20px;padding:18px;box-shadow:0 10px 30px #00000047;margin-bottom:14px}.card h2{font-size:20px;font-weight:800;letter-spacing:-.3px;color:var(--ink)}.card .sub{font-size:13.5px;color:var(--ink-soft);margin-top:4px;line-height:1.45}.sect{font-size:11px;font-weight:800;letter-spacing:.9px;color:var(--ink-soft);margin:16px 0 4px}.sect:first-child{margin-top:0}.notice{background:#fdf3e3;border:1px solid #ecd9ae;color:#6d5518;border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.45;margin-bottom:14px}.error-note{background:#fbeae8;border:1px solid #efc4c0;color:var(--danger);border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.45;margin-bottom:14px}.btn-accent{width:100%;padding:15px;border:none;border-radius:14px;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-size:16.5px;font-weight:700;box-shadow:0 8px 22px #00000059}.btn-accent:disabled{opacity:.55;cursor:default}.btn-outline{width:100%;padding:14px;border-radius:14px;cursor:pointer;background:transparent;border:1.6px solid rgba(242,247,246,.45);color:var(--shell-ink);font-size:15px;font-weight:700}.btn-quiet{background:none;border:none;color:var(--primary-text);font-size:14.5px;font-weight:700;cursor:pointer;padding:6px 2px}.btn-danger-quiet{background:none;border:none;color:var(--danger);font-size:14.5px;font-weight:700;cursor:pointer;padding:6px 2px}.dock{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:14px 22px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--primary-deep) 72%,transparent) 32%,color-mix(in srgb,var(--primary-deep) 92%,transparent) 100%)}.dock.above-tabs{bottom:64px}.tabbar{position:relative;z-index:6;flex:none;padding:10px 26px calc(14px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--primary-deep) 62%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:space-around}.tab{font-size:11px;font-weight:700;color:var(--on-primary-faint);text-align:center;text-decoration:none;background:none;border:none;cursor:pointer;padding:2px 6px}.tab .ic{display:block;margin-bottom:2px}.tab.on{color:var(--shell-ink)}.tab.on .ic{color:var(--accent)}.field{margin-bottom:14px}.flabel{display:block;font-size:11px;font-weight:800;letter-spacing:.7px;color:var(--ink-soft);margin:0 0 6px 2px}.inputbox{width:100%;background:var(--field-bg);border:1.4px solid var(--line);border-radius:12px;padding:12.5px 14px;font-size:15.5px;color:var(--ink);display:flex;align-items:center;gap:10px}.inputbox input{flex:1;border:none;outline:none;font-size:15.5px;color:var(--ink);background:transparent;min-width:0}.inputbox input::placeholder{color:#9aa1a8}.inputbox.filled{cursor:pointer}.inputbox.filled .addr{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15.5px;font-weight:600}.inputbox.filled .time{flex:none;font-size:14px;font-weight:700;color:var(--primary-text)}.inputbox select{flex:1;border:none;outline:none;font-size:15.5px;color:var(--ink);background:transparent;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gps-btn{flex:none;width:30px;height:30px;border-radius:50%;border:none;background:var(--line-soft);color:var(--primary-text);display:flex;align-items:center;justify-content:center;cursor:pointer}.gps-btn:disabled{opacity:.5}.suggest{margin-top:8px;background:var(--field-bg);border:1.4px solid var(--line);border-radius:12px;overflow:hidden}.suggest .row{display:flex;align-items:center;gap:11px;padding:10px 14px;width:100%;background:none;border:none;text-align:left;cursor:pointer}.suggest .row+.row{border-top:1px solid var(--line-soft)}.suggest .row:active{background:var(--ground)}.suggest .pin{flex:none;display:flex;align-items:center;color:var(--primary-text)}.suggest .lines{min-width:0}.suggest .l1{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest .l2{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}textarea.notes{width:100%;min-height:74px;resize:none;padding:12px 14px;font-size:15px;color:var(--ink);background:var(--field-bg);border:1.4px solid var(--line);border-radius:12px;outline:none}textarea.notes::placeholder{color:#9aa1a8}.triple{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;width:100%}.triple .field{flex:1 1 0;min-width:0;margin-bottom:4px}.triple .inputbox{padding:12.5px 10px}.triple .inputbox input{width:100%;font-size:14.5px}.edited-flag{font-size:10.5px;font-weight:700;color:var(--ink-soft);margin-left:5px}.switchrow{display:flex;align-items:center;justify-content:space-between;padding:8px 2px}.switchrow .lbl{font-size:16px;font-weight:650;color:var(--ink);letter-spacing:-.2px}.switch{flex:none;width:58px;height:33px;border-radius:999px;border:none;cursor:pointer;background:var(--switch-off);position:relative;transition:background .2s;padding:0}.switch .knob{position:absolute;top:3px;left:3px;width:27px;height:27px;border-radius:50%;background:linear-gradient(180deg,#fff,#eff1ec);box-shadow:0 2px 6px #00000059,inset 0 -1px 2px #00000014;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:13px;font-weight:900;transition:left .18s}.switch.on{background:linear-gradient(135deg,var(--primary-2) 0%,var(--primary) 60%,var(--primary-dark) 100%);box-shadow:inset 0 1px 2px #ffffff40,inset 0 -2px 4px #00000040,0 4px 12px #0000004d}.switch.on .knob{left:28px}.dayhead{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 0;margin-bottom:10px}.dayhead .day{font-size:19px;font-weight:800;color:var(--shell-ink)}.dayhead .nav{display:flex;gap:6px}.dayhead .nav button{width:34px;height:34px;border-radius:50%;border:1.4px solid rgba(242,247,246,.4);background:#f2f7f61a;color:var(--shell-ink);font-size:16px;cursor:pointer}.entry{display:flex;align-items:center;gap:10px;padding:11px 0}.entry[role=button]{cursor:pointer}.entry-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none}.entry.commute .entry-dot{background:var(--switch-off)}.entry-addr{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;font-weight:600;color:var(--ink)}.entry-addr .tag{color:var(--ink-soft);font-weight:500;font-size:12px}.entry.commute .entry-addr{color:var(--ink-soft);font-weight:500}.entry-time{flex:none;font-size:13.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.legline{display:flex;align-items:center;gap:8px;padding-left:4px}.legline-line{width:1.5px;height:13px;background:var(--line);margin-left:3.5px;flex:none}.legline-mi{font-size:11.5px;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums}.legline-clip{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;color:var(--primary-text);font-weight:700}.badge{font-size:9px;font-weight:800;letter-spacing:.5px;padding:1.5px 5px;border-radius:5px;background:var(--badge-bg);color:var(--ink-soft);vertical-align:2px;margin-left:6px}.totals-bar{background:var(--primary);color:#fff;border-radius:14px;padding:13px 16px;display:flex;align-items:baseline;justify-content:space-between;box-shadow:0 10px 26px #0000004d;margin-bottom:14px}.totals-bar .b{font-size:16px;font-weight:800}.totals-bar .p{font-size:12.5px;color:var(--on-primary-soft);font-weight:600}.totals-bar .amt{font-size:19px;font-weight:800;color:var(--accent)}.month-btn{background:#f2f7f624;color:var(--shell-ink);border:1.4px solid rgba(242,247,246,.5);font-size:13.5px;font-weight:700;padding:7px 13px;border-radius:999px;cursor:pointer}.daycard-head{display:flex;align-items:baseline;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0 0 9px;border-bottom:1px solid var(--line);margin-bottom:4px;text-align:left}.daycard-head .d{font-size:15.5px;font-weight:800;color:var(--ink)}.daycard-head .t{font-size:12.5px;font-weight:700;color:var(--primary-text);white-space:nowrap}.daycard-head .t span{color:var(--ink-soft);font-weight:600}.daycard-head .chev{color:var(--ink-soft);font-size:13px;margin-left:9px}.daycard.collapsed .daycard-head{border-bottom:none;padding-bottom:0;margin-bottom:0}.stoprow{display:flex;align-items:baseline;gap:10px;padding:8px 0;width:100%;background:none;border:none;text-align:left;cursor:pointer}.stoprow+.stoprow{border-top:1px dashed var(--line-soft)}.stoprow .time{flex:none;width:62px;font-size:12px;font-weight:700;color:var(--ink-soft)}.stoprow .main{flex:1;min-width:0}.stoprow .name{font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stoprow .addr{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stoprow .mi{flex:none;font-size:13px;font-weight:800;color:var(--ink)}.stoprow.personal .name{font-weight:600;color:var(--ink-soft)}.stoprow.personal .mi{color:var(--ink-soft);font-weight:600}.open-day{display:block;width:100%;text-align:right;font-size:12.5px;font-weight:700;color:var(--primary-text);background:none;border:none;cursor:pointer;padding:6px 0 2px}.hero-card{background:var(--ground);border-radius:20px;padding:16px 18px;margin-bottom:14px;box-shadow:0 10px 30px #00000047}.hero-card .lab{font-size:11px;font-weight:800;letter-spacing:.9px;color:var(--ink-soft)}.hero-card .big{font-size:29px;font-weight:800;color:var(--primary-text);letter-spacing:-.5px;margin-top:3px}.hero-card .sub{font-size:13px;color:var(--ink-soft);margin-top:2px}.hero-card .sub b{color:var(--ink)}.rpcard{background:var(--ground);border-radius:20px;padding:15px 18px 13px;margin-bottom:12px;box-shadow:0 10px 30px #00000047;cursor:pointer;width:100%;border:none;text-align:left}.rpcard .r1{display:flex;align-items:center;justify-content:space-between;gap:10px}.rpcard .per{font-size:15.5px;font-weight:800;color:var(--ink)}.rpcard .r2{display:flex;align-items:baseline;justify-content:space-between;margin-top:7px;font-size:13px;color:var(--ink-soft)}.rpcard .r2 .amt{font-size:16px;font-weight:800;color:var(--primary-text)}.status{font-size:9.5px;font-weight:800;letter-spacing:.6px;padding:3px 8px;border-radius:999px;flex:none;text-transform:uppercase}.status.draft{background:#f3e3c2;color:#7a5410}.status.submitted,.status.approved{background:#dce9f7;color:#2c4e7a}.status.paid{background:#d9eddd;color:var(--primary)}.status.rejected{background:#f6d9d5;color:var(--danger)}.srow{display:flex;align-items:center;gap:12px;padding:12px 0;width:100%;background:none;border:none;text-align:left}.srow+.srow{border-top:1px solid var(--line)}button.srow{cursor:pointer}.srow .grow{flex:1;min-width:0}.srow .lab{font-size:15px;font-weight:600;color:var(--ink)}.srow .val{font-size:13px;color:var(--ink-soft);white-space:nowrap}.srow .chev{color:#b9b29e;font-size:15px;font-weight:700}.profile-avatar{width:44px;height:44px;border-radius:50%;flex:none;background:var(--primary);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center}.pname{font-size:16px;font-weight:800;color:var(--ink)}.pemail{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding:24px 26px 34px;position:relative;z-index:1}.auth-brand{text-align:center;margin-bottom:8px}.auth-brand .wordmark{font-size:46px;letter-spacing:-2.2px}.auth-brand .wordmark .dot{width:8px;height:8px;top:6px;right:2px}.auth-tag{text-align:center;color:var(--accent);font-size:16px;font-weight:700;margin-top:8px}.auth-sub{text-align:center;color:var(--on-primary-soft);font-size:14px;line-height:1.5;margin:8px auto 26px;max-width:300px}.auth-btn{width:100%;padding:14.5px;border-radius:14px;font-size:15.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:11px;border:none}.auth-btn.apple{background:#000;color:#fff}.auth-btn.google{background:#fff;color:#1f1f1f}.auth-btn.signup{background:var(--accent);color:var(--accent-ink)}.auth-btn.email{background:transparent;color:var(--shell-ink);border:1.6px solid rgba(242,247,246,.55)}.auth-btn:disabled{opacity:.55;cursor:default}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--on-primary-faint);font-size:12px;font-weight:700;margin:8px 0 16px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#f2f7f640}.auth-fine{text-align:center;font-size:11.5px;color:var(--on-primary-faint);line-height:1.5;margin-top:14px}.auth-fine a{color:var(--on-primary-soft)}.auth-card{background:var(--ground);border-radius:22px;padding:22px 20px 20px;box-shadow:0 10px 30px #00000047}.auth-card h2{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.3px;margin-bottom:16px}.show-toggle{flex:none;background:none;border:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--primary-text);padding:4px 2px}.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink);line-height:1.45;margin:4px 0 14px;cursor:pointer}.checkrow input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin-top:1px}.landing{min-height:100dvh;background:var(--ground);color:var(--ink)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 34px;max-width:1200px;margin:0 auto}.landing-nav .links{display:flex;align-items:center;gap:26px;font-size:14.5px;font-weight:600}.landing-nav .links a{color:var(--ink-soft);text-decoration:none}.btn-signin{background:var(--primary);color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px}.landing-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--primary-2) 0%,var(--primary) 38%,var(--primary-dark) 80%,var(--primary-deep) 100%);color:var(--shell-ink)}.landing-hero-inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:56px 34px 64px;display:flex;gap:44px;align-items:center;justify-content:center;flex-wrap:wrap}.landing-hero h1{font-size:47px;font-weight:800;letter-spacing:-1.2px;line-height:1.08}.landing-hero h1 .amber{color:var(--accent)}.landing-hero p{font-size:17.5px;line-height:1.5;color:var(--on-primary-soft);margin-top:16px}.hero-text{max-width:480px}.waitlist{display:flex;gap:10px;margin-top:26px}.waitlist input{flex:1;min-width:0;padding:14px 16px;border-radius:13px;border:none;outline:none;font-size:15.5px;color:var(--ink);background:var(--field-bg)}.btn-join{flex:none;padding:14px 22px;border:none;border-radius:13px;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-size:15.5px;font-weight:700}.trust{margin-top:16px;font-size:13.5px;color:var(--on-primary-faint);display:flex;align-items:center;gap:8px}.trust .shield{color:var(--accent);display:inline-flex}.mini-phone{width:262px;flex:none;background:var(--ground);border-radius:26px;padding:16px 15px 13px;box-shadow:0 24px 50px #00000073;transform:rotate(2.5deg);color:var(--ink)}.mini-phone .mp-day{font-size:13px;font-weight:800;margin-bottom:9px}.mp-row{display:flex;align-items:center;gap:8px;padding:6.5px 0;font-size:12.5px}.mp-row+.mp-row{border-top:1px dashed var(--line-soft)}.mp-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex:none}.mp-dot.amber{background:var(--accent)}.mp-dot.grey{background:#c9c2ac}.mp-row .nm{flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-row .mi{font-weight:800;font-size:12px}.mp-row.personal .nm,.mp-row.personal .mi{color:var(--ink-soft);font-weight:600}.mp-total{margin-top:10px;background:var(--primary);color:#fff;border-radius:11px;padding:9px 12px;font-size:12.5px;font-weight:700;display:flex;justify-content:space-between}.mp-total .amt{color:var(--accent)}.landing-features{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;padding:44px 34px 8px;max-width:1120px;margin:0 auto}.fcard{flex:1 1 280px;max-width:350px;background:var(--field-bg);border:1px solid var(--line);border-radius:18px;padding:22px 20px}.fcard .ic{width:42px;height:42px;border-radius:12px;background:var(--line-soft);color:var(--primary-text);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.fcard h3{font-size:16.5px;font-weight:800;margin-bottom:6px}.fcard p{font-size:14px;line-height:1.55;color:var(--ink-soft)}.landing-pricing{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:stretch;padding:36px 34px 50px;max-width:1120px;margin:0 auto}.pcard{flex:1 1 260px;max-width:330px;background:var(--field-bg);border:1px solid var(--line);border-radius:18px;padding:24px 22px;position:relative}.pcard.pro{border:2px solid var(--primary)}.pcard .tag{position:absolute;top:-11px;left:22px;background:var(--accent);color:var(--accent-ink);font-size:10.5px;font-weight:800;letter-spacing:.5px;padding:3px 10px;border-radius:999px}.pcard h3{font-size:15px;font-weight:800;letter-spacing:.4px;color:var(--ink-soft)}.pcard .price{font-size:32px;font-weight:800;margin:8px 0 2px}.pcard .price span{font-size:14px;font-weight:600;color:var(--ink-soft)}.pcard p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin-top:8px}.landing-footer{background:var(--primary-deep);color:var(--on-primary-faint);padding:26px 34px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px}.landing-footer .wm{color:var(--shell-ink);font-weight:800;letter-spacing:-.6px;font-size:17px}.landing-footer a{color:var(--on-primary-faint);text-decoration:none;margin-left:20px}.report-scroll{overflow-x:auto;padding:4px 0 8px}.report-sheet{background:#fff;border-radius:14px;padding:22px 24px 18px;box-shadow:0 10px 30px #00000047;min-width:720px;color:var(--ink)}.report-sheet h2{font-size:19px;font-weight:800;letter-spacing:-.2px}.report-sheet .meta{font-size:12.5px;color:var(--ink-soft);line-height:1.55;margin-top:4px}.report-sheet .meta b{color:var(--ink)}table.report{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}table.report thead th{background:var(--primary);color:#fff;text-align:right;font-size:11px;font-weight:800;letter-spacing:.5px;padding:9px 11px;white-space:nowrap}table.report thead th:first-child{text-align:left;border-radius:8px 0 0}table.report thead th:last-child{border-radius:0 8px 0 0}table.report tbody td{padding:6.5px 11px;text-align:right;border-bottom:1px solid var(--line-soft);white-space:nowrap;font-variant-numeric:tabular-nums}table.report tbody td.d{text-align:left;font-weight:700}table.report tbody td.r{font-weight:700;color:var(--primary)}table.report tbody tr:nth-child(2n){background:#fbfaf5}table.report tbody tr{cursor:pointer}table.report tfoot td{padding:10px 11px;text-align:right;white-space:nowrap;background:var(--line-soft);border-top:2.4px solid var(--primary);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}table.report tfoot td.d{text-align:left;letter-spacing:.4px}table.report tfoot td.r{color:var(--primary)}.leg-detail{font-size:12.5px;color:var(--ink-soft);padding:8px 11px;line-height:1.6}.leg-detail .leg-line{display:flex;justify-content:space-between;gap:14px}.foot-note{font-size:12px;color:var(--ink-soft);margin-top:12px;line-height:1.5}.center-note{text-align:center;color:var(--on-primary-soft);font-size:14.5px;line-height:1.55;padding:30px 12px}.spinner{width:30px;height:30px;border-radius:50%;border:3.4px solid rgba(242,247,246,.3);border-top-color:var(--accent);animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.month-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.month-picker button{padding:10px 4px;border-radius:10px;border:1.4px solid var(--line);background:var(--field-bg);font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer}.month-picker button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.year-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.year-row .y{font-size:16px;font-weight:800}.year-row button{width:32px;height:32px;border-radius:50%;border:1.4px solid var(--line);background:var(--field-bg);font-size:15px;cursor:pointer;color:var(--ink)}.group-label{font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--on-primary-soft);margin:18px 2px 8px}.setrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 0;text-align:left;text-decoration:none}.setrow+.setrow{border-top:1px solid var(--line-soft)}button.setrow{background:none;border:none;font:inherit;cursor:pointer}.setrow .k{font-size:15px;font-weight:600;color:var(--ink)}.setrow .v{font-size:14.5px;color:var(--ink-soft);display:flex;align-items:center;gap:7px;min-width:0}.btn-signout{width:100%;padding:14px;border-radius:14px;background:#f2f7f61a;border:1.4px solid rgba(242,247,246,.35);color:var(--shell-ink);font-size:15px;font-weight:700;cursor:pointer}.rate-editor{padding:13px 0 4px;border-top:1px solid var(--line-soft)}.rate-affix{flex:none;font-size:15.5px;font-weight:700;color:var(--ink-soft)}.rate-error{font-size:13px;color:var(--danger);margin-top:7px;line-height:1.4}.rate-actions{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.rate-caption{font-size:12.5px;color:var(--ink-soft);line-height:1.5;padding:9px 0 11px}.picker-row{display:flex;gap:8px;align-items:center}.picker-row input[type=date]{flex:1;min-width:0;padding:11px 10px;border-radius:11px;border:1.4px solid var(--line);background:var(--field-bg);color:var(--ink);font-size:14px;font-family:inherit}.switch .end-ic{position:absolute;top:50%;transform:translateY(-50%);display:flex;pointer-events:none;color:var(--ink-soft)}.switch .end-ic.sun{left:7px}.switch .end-ic.moon{right:7px}.switch.on .end-ic{color:var(--on-primary-soft)}.switch.theme .knob{color:var(--primary)}.rep-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rep-hero .lbl{font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--ink-soft)}.rep-hero .big{font-size:29px;font-weight:800;color:var(--primary-text);letter-spacing:-.5px;margin-top:3px}.rep-hero .sub{font-size:13.5px;color:var(--ink-soft);margin-top:2px;line-height:1.45}.pill{font-size:9.5px;font-weight:800;letter-spacing:.6px;padding:3px 8px;border-radius:999px;flex:none;text-transform:uppercase;background:var(--badge-bg);color:var(--ink-soft)}.pill.draft{background:#f3e3c2;color:#7a5410}.pill.submitted,.pill.approved{background:#dce9f7;color:#2c4e7a}.pill.paid{background:#d9eddd;color:#17503a}.pill.rejected{background:#f6d9d5;color:#9e2b24}.rep-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:var(--ground);border:none;border-radius:20px;padding:16px 18px;margin-bottom:12px;box-shadow:0 10px 30px #00000047;cursor:pointer;text-align:left;font:inherit}.rep-row .t{display:block;font-size:15.5px;font-weight:800;color:var(--ink)}.rep-row .d{display:block;font-size:13px;color:var(--ink-soft);margin-top:2px}.report-sheet{color:#1b2732}.report-sheet .sub{color:#44586a}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table thead th{background:#16323c;color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px;padding:9px 11px;text-align:left;white-space:nowrap}.report-table thead th:first-child{border-radius:8px 0 0}.report-table thead th:last-child{border-radius:0 8px 0 0}.report-table th.num,.report-table td.num{text-align:right}.report-table tbody td{padding:7px 11px;border-bottom:1px solid #dde5e1;white-space:nowrap;font-variant-numeric:tabular-nums}.report-table tbody td:first-child{font-weight:700}.report-table tbody tr{cursor:pointer}.report-table .totals-row td{background:#e2eae7;color:#12212b;font-size:13.5px;font-weight:800;padding:10px 11px;border-top:2.4px solid #16323c;border-bottom:none}.report-table td.leg-cell{background:#f7f9f8;color:#44586a;font-size:12.5px;line-height:1.6;white-space:normal;font-weight:400}:root[data-theme=dark] .notice{background:#3a3114;border-color:#6b5518;color:#ecd9ae}:root[data-theme=dark] .error-note{background:#3d1a17;border-color:#6e352f;color:#f0b3ad}:root[data-theme=dark] .totals-bar,:root[data-theme=dark] .mp-total{background:var(--primary-dark)}@page{size:landscape;margin:12mm}@media print{body{background:#fff}.shell{max-width:none;box-shadow:none;background:#fff}.topbar,.tabbar,.dock,.no-print{display:none!important}.shell-scroll{overflow:visible;padding:0}.report-scroll{overflow:visible}.report-sheet{box-shadow:none;min-width:0;border-radius:0}}
