:root{--warm-white: #FBF7EF;--sand: #F2EAD9;--sand-deep: #E4D5B8;--sand-pale: #F8F2E6;--ink: #221B12;--muted: #7D7263;--accent: #96683B;--accent-light: #C9A876;--accent-deep: #6B4823;--reef: #4F7268;--reef-light: #8FB0A3;--reef-deep: #365049;--rust: #B0654A;--rust-light: #D9A88F;--rust-deep: #8A4A34;--slate: #6B7C93;--slate-light: #A9BACF;--slate-deep: #4E5D72;--tan: #A9997F;--tan-light: #D3C7AE;--tan-deep: #6E6350;--card: #FFFDF8;--sidebar: #F4ECDD;--border: color-mix(in srgb, var(--ink) 10%, transparent);--border-soft: color-mix(in srgb, var(--ink) 8%, transparent);--ink-55: color-mix(in srgb, var(--ink) 55%, transparent);--ink-50: color-mix(in srgb, var(--ink) 50%, transparent);--ink-45: color-mix(in srgb, var(--ink) 45%, transparent);--highlight: #FAF3E4;--highlight-strong: #F3E8D2;--font-heading: "Cormorant Garamond", serif;--font-body: "Jost", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 18px;--radius-pill: 999px}[data-theme=dark]{--warm-white: #14110B;--sand: #1E1911;--sand-deep: #2A2317;--sand-pale: #241E15;--ink: #EDE4D2;--muted: #96896F;--accent: #CBA06A;--accent-light: #96683B;--accent-deep: #E8C793;--reef: #8FB0A3;--reef-light: #4F7268;--reef-deep: #A9C4AA;--rust: #C9836A;--rust-light: #8A4A34;--rust-deep: #DBA38E;--slate: #8DA0B8;--slate-light: #4E5D72;--slate-deep: #A9BACF;--tan: #C2B196;--tan-light: #6E6350;--tan-deep: #CFC2AC;--card: #1B160E;--sidebar: #17130D;--highlight: #251F16;--highlight-strong: #2D2619;color-scheme:dark}.tone-green{--tone-dot: var(--reef);--tone-bg: color-mix(in srgb, var(--reef) 15%, transparent);--tone-text: var(--reef-deep)}.tone-brown{--tone-dot: var(--accent);--tone-bg: color-mix(in srgb, var(--accent) 16%, transparent);--tone-text: var(--accent-deep)}.tone-rust{--tone-dot: var(--rust);--tone-bg: color-mix(in srgb, var(--rust) 14%, transparent);--tone-text: var(--rust-deep)}.tone-slate{--tone-dot: var(--slate);--tone-bg: color-mix(in srgb, var(--slate) 15%, transparent);--tone-text: var(--slate-deep)}.tone-tan{--tone-dot: var(--tan);--tone-bg: color-mix(in srgb, var(--tan) 17%, transparent);--tone-text: var(--tan-deep)}.tone-ink{--tone-dot: color-mix(in srgb, var(--ink) 40%, transparent);--tone-bg: color-mix(in srgb, var(--ink) 7%, transparent);--tone-text: color-mix(in srgb, var(--ink) 60%, transparent)}[data-theme=dark] .tone-green{--tone-bg: color-mix(in srgb, var(--reef) 22%, transparent);--tone-text: var(--reef-deep)}[data-theme=dark] .tone-brown{--tone-bg: color-mix(in srgb, var(--accent) 22%, transparent);--tone-text: var(--accent-deep)}[data-theme=dark] .tone-rust{--tone-bg: color-mix(in srgb, var(--rust) 20%, transparent);--tone-text: var(--rust-deep)}[data-theme=dark] .tone-slate{--tone-bg: color-mix(in srgb, var(--slate) 20%, transparent);--tone-text: var(--slate-deep)}[data-theme=dark] .tone-tan{--tone-bg: color-mix(in srgb, var(--tan) 20%, transparent);--tone-text: var(--tan-deep)}*{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--accent-light);color:var(--ink)}html,body,#root{height:100%}body{font-family:var(--font-body);font-weight:400;color:var(--ink);background:var(--warm-white);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.1}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body);font-size:.95rem}a{color:inherit;text-decoration:none}.scroll::-webkit-scrollbar{width:7px;height:7px}.scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 14%,transparent);border-radius:4px}.scroll::-webkit-scrollbar-track{background:transparent}.hs::-webkit-scrollbar{height:0}.eyebrow{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:500}.app-shell{display:flex;height:100%;background:var(--warm-white)}.sidebar{width:238px;flex:0 0 238px;background-color:var(--sidebar);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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-blend-mode:overlay;border-right:1px solid var(--border-soft);display:flex;flex-direction:column;padding:26px 16px 20px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;margin-bottom:8px;border-bottom:1px solid var(--border-soft)}.brand-mark{width:30px;height:30px;flex:0 0 30px;border-radius:26%;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.brand-name{font-family:var(--font-heading);font-size:19px;line-height:1;font-weight:500}.brand-sub{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 40%,transparent);margin-top:3px}.sidebar nav{display:flex;flex-direction:column;flex:1}.nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:9px;font-size:14px;letter-spacing:.01em;margin-bottom:2px;position:relative;color:var(--ink-55);transition:background .15s,color .15s}.nav-link .nav-bar{position:absolute;left:0;top:9px;bottom:9px;width:2.5px;border-radius:3px;background:var(--accent);opacity:0;transition:opacity .15s}.nav-link .nav-icon{width:20px;display:inline-flex;justify-content:center}.nav-link:hover{color:var(--ink)}.nav-link.active{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.nav-link.active .nav-bar{opacity:1}.sidebar-user{display:flex;align-items:center;gap:11px;padding:14px 8px 0;border-top:1px solid var(--border-soft)}.sidebar-user .avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--accent);color:var(--warm-white);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:16px}.sidebar-user .user-name{font-size:13px}.sidebar-user .user-role{font-size:10.5px;color:color-mix(in srgb,var(--ink) 46%,transparent);letter-spacing:.02em}.sidebar-user .logout-btn{margin-left:auto;background:none;border:none;color:var(--ink-45);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.sidebar-user .logout-btn:hover{color:var(--accent)}.main-content{flex:1;overflow-y:auto;padding:32px 38px 44px}.bottom-nav{display:none;flex:0 0 66px;border-top:1px solid var(--border-soft);background:var(--sidebar);padding:9px 6px 12px}.bottom-nav .nav-link-sm{flex:1;border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-55);padding:4px 0;font-size:9.5px;letter-spacing:.01em}.bottom-nav .nav-link-sm.active{color:var(--accent)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-7);flex-wrap:wrap}.page-title{font-family:var(--font-heading);font-size:30px;font-weight:400;line-height:1;letter-spacing:-.01em}.page-sub{font-size:12.5px;color:var(--ink-50);letter-spacing:.04em;margin-top:7px}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.dash-hero{display:flex;gap:20px;margin-bottom:20px;align-items:stretch}.countdown-card{flex:1.7;padding:var(--space-7) var(--space-8);position:relative;overflow:hidden}.countdown-title{font-family:var(--font-heading);font-size:38px;font-weight:400;line-height:1.05;margin-top:14px}.countdown-meta{font-size:13px;color:var(--ink-55);letter-spacing:.03em;margin-top:6px}.countdown-digits{display:flex;gap:26px;margin-top:26px}.countdown-digits .num{font-family:var(--font-mono);font-size:46px;font-weight:500;letter-spacing:-.02em;line-height:.85;color:var(--accent);font-variant-numeric:tabular-nums}.countdown-digits .unit-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-45);margin-top:8px}.countdown-digits .colon{font-family:var(--font-mono);font-size:38px;font-weight:300;color:color-mix(in srgb,var(--ink) 20%,transparent);align-self:flex-start;line-height:1}.countdown-foot{display:flex;gap:22px;margin-top:26px;padding-top:20px;border-top:1px solid var(--border-soft);font-size:13px;color:color-mix(in srgb,var(--ink) 62%,transparent);flex-wrap:wrap}.countdown-foot span.item{display:inline-flex;align-items:center;gap:7px}.countdown-foot .ico{color:var(--accent);display:inline-flex}.stat-col{flex:1;display:flex;flex-direction:column;gap:16px}.stat-card{flex:1;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;justify-content:center}.stat-card .stat-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 48%,transparent)}.stat-card .stat-value{font-family:var(--font-heading);font-size:34px;font-weight:300;line-height:1;margin-top:5px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat-card.clickable{cursor:pointer;transition:border-color .15s,transform .1s}.stat-card.clickable:hover{border-color:var(--accent-light)}.stat-card.clickable:active{transform:translateY(1px)}.stat-card .stat-sub{font-size:11.5px;color:var(--ink-50);margin-top:4px;letter-spacing:.01em}.week-card{padding:var(--space-6);margin-bottom:var(--space-5)}.week-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.week-head .section-title{font-family:var(--font-heading);font-size:21px;font-weight:500}.week-head .range{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 40%,transparent)}.week-row{display:flex;gap:10px}.day-card{flex:1;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:12px 11px 14px;min-height:118px;display:flex;flex-direction:column}.day-card.today{background:var(--highlight);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.day-card.shoot{background:var(--highlight-strong);border-color:var(--accent-light)}.day-card .day-top{display:flex;align-items:baseline;justify-content:space-between}.day-card .day-abbr{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 42%,transparent)}.day-card .day-date{font-family:var(--font-heading);font-size:19px;font-weight:500}.day-card.shoot .day-date{color:var(--accent)}.day-card .day-rule{height:1px;background:color-mix(in srgb,var(--ink) 7%,transparent);margin:9px 0 10px}.day-card .day-time{display:flex;align-items:center;gap:6px;margin-bottom:5px;font-size:10px;color:var(--ink-45);letter-spacing:.02em}.day-card .dot{width:6px;height:6px;border-radius:50%;flex:0 0 6px}.day-card .day-label{font-size:11.5px;line-height:1.3;color:color-mix(in srgb,var(--ink) 78%,transparent)}.section-title{font-family:var(--font-heading);font-size:21px;font-weight:500}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:14px}.quick-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);background:var(--card);display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:border-color .15s,transform .1s}.quick-card:hover{border-color:var(--accent-light)}.quick-card:active{transform:translateY(1px)}.quick-card .tile{width:40px;height:40px;border-radius:10px;background:var(--sand);display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.quick-card .q-label{font-family:var(--font-heading);font-size:19px;font-weight:500;line-height:1}.quick-card .q-meta{font-size:11.5px;color:var(--ink-50);margin-top:6px;letter-spacing:.01em}.chip-row{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.chip{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:transparent;color:color-mix(in srgb,var(--ink) 60%,transparent);font-size:12.5px;letter-spacing:.02em;padding:8px 16px;border-radius:var(--radius-pill);white-space:nowrap}.chip.on{background:var(--ink);color:var(--warm-white);border-color:var(--ink)}.legend{display:flex;gap:18px;margin-bottom:20px;font-size:11.5px;color:var(--ink-50);letter-spacing:.02em;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:7px}.legend .dot{width:7px;height:7px;border-radius:50%}.equip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.equip-card{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.equip-card .card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.equip-card .tile{width:44px;height:44px;border-radius:10px;background:var(--sand);display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap;background:var(--tone-bg);color:var(--tone-text)}.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--tone-dot)}.equip-card .e-name{font-family:var(--font-heading);font-weight:500;font-size:20px;line-height:1.15}.equip-card .e-cat{font-size:11px;color:color-mix(in srgb,var(--ink) 48%,transparent);letter-spacing:.06em;text-transform:uppercase;margin-top:6px}.equip-card .e-loc{display:flex;align-items:center;gap:7px;color:color-mix(in srgb,var(--ink) 62%,transparent);font-size:12.5px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.equip-card .e-loc .ico{color:var(--accent);display:inline-flex}.empty-state{color:var(--muted);font-style:italic}.badge-select{position:relative;cursor:pointer}.badge-select select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;border:none}.e-loc .loc-btn{background:none;border:none;padding:0;font-family:var(--font-body);font-size:12.5px;color:color-mix(in srgb,var(--ink) 62%,transparent);text-align:left;border-bottom:1px dashed transparent}.e-loc .loc-btn:hover{border-bottom-color:var(--accent-light);color:var(--ink)}.e-loc .loc-input{flex:1;min-width:0;font-size:12.5px;padding:2px 6px;border:1px solid var(--accent-light);border-radius:6px;background:var(--warm-white);color:var(--ink);outline:none}.e-loc .del-btn{margin-left:auto;background:none;border:none;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 35%,transparent);padding:0}.e-loc .del-btn:hover{color:var(--rust-deep)}.legend-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid transparent;border-radius:var(--radius-pill);padding:4px 10px;font-family:var(--font-body);font-size:11.5px;color:var(--ink-50);letter-spacing:.02em}.legend-btn:hover{border-color:color-mix(in srgb,var(--ink) 16%,transparent)}.legend-btn.on{border-color:var(--ink);color:var(--ink);background:var(--sand)}.legend-btn .dot{width:7px;height:7px;border-radius:50%}.add-btn{border:none;background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 92%,white 8%),var(--ink));box-shadow:inset 0 1px #ffffff1a;color:var(--warm-white);font-size:13px;letter-spacing:.03em;padding:10px 20px;border-radius:var(--radius-pill);transition:background .15s,transform .1s}.add-btn:hover{background:linear-gradient(180deg,#3d392f,#2b2820)}.add-btn:active{transform:translateY(1px)}.add-btn:disabled{opacity:.6;cursor:default}.ghost-btn{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:transparent;color:var(--ink-55);font-size:13px;letter-spacing:.03em;padding:10px 20px;border-radius:var(--radius-pill)}.ghost-btn:hover{color:var(--ink);border-color:var(--ink)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink) 35%,transparent);display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.modal-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-8);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px -30px color-mix(in srgb,var(--ink) 50%,transparent)}.modal-title{font-family:var(--font-heading);font-size:28px;font-weight:400;margin:10px 0 20px}.modal-card label{display:block;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.35rem}.modal-card input,.modal-card select,.modal-card textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--sand-deep);border-radius:8px;background:var(--card);color:var(--ink);margin-bottom:1rem;outline:none;resize:vertical}.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--accent-light)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.sheet-overlay{align-items:flex-end;padding:0}.sheet{width:100%;max-height:80vh;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:14px 12px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 50px -30px color-mix(in srgb,var(--ink) 50%,transparent)}.sheet .nav-link{color:var(--ink-55)}.sheet-actions{border-top:1px solid var(--border-soft);margin-top:8px;padding-top:8px;display:flex;flex-direction:column}.sheet-actions button.nav-link{width:100%;background:none;border:none;text-align:left;font-size:14px;font-family:var(--font-body)}.sheet-actions button.nav-link:disabled{opacity:.6;cursor:default}.row-list{display:flex;flex-direction:column;gap:10px}.row-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;text-align:left;cursor:pointer;border:1px solid var(--border);transition:border-color .15s,transform .1s}.row-card:hover{border-color:var(--accent-light)}.row-flag{border-left:3px solid var(--rust)}.client-subprojects{margin-left:10px;padding:10px 0 2px 16px;border-left:2px solid var(--border)}.row-card.nested{padding:11px 16px;background:var(--sand-pale);border-color:var(--border-soft)}.row-card.nested:hover{border-color:var(--accent-light)}.row-main{min-width:0}.row-title{font-family:var(--font-heading);font-size:20px;font-weight:500;line-height:1.15}.row-sub{font-size:12px;color:var(--ink-50);letter-spacing:.02em;margin-top:4px}.row-side{display:flex;align-items:center;gap:14px;flex:0 0 auto}.row-date{font-size:11.5px;color:var(--ink-45);letter-spacing:.02em}.row-date.overdue{color:var(--rust);font-weight:500}.back-link{background:none;border:none;font-family:var(--font-body);font-size:12.5px;letter-spacing:.04em;color:var(--ink-50);padding:0}.back-link:hover{color:var(--accent)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-section{padding:var(--space-5) var(--space-6)}.detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.detail-hint{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-45)}.mini-btn{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:transparent;color:var(--ink-55);font-size:11.5px;letter-spacing:.03em;padding:5px 12px;border-radius:var(--radius-pill)}.mini-btn:hover{border-color:var(--ink);color:var(--ink)}.quote-rejected{opacity:.55}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.detail-row-title{font-size:13.5px}.badge-toggle{background:none;border:none;padding:0}.task-check{display:flex;align-items:center;gap:10px;font-size:13.5px;cursor:pointer;min-width:0}.task-check input{accent-color:var(--accent);width:15px;height:15px;flex:0 0 15px;cursor:pointer}.task-done{text-decoration:line-through;color:var(--ink-45)}.modal-wide{max-width:640px}.currency-toggle{display:flex;gap:6px;margin-bottom:1rem}.currency-toggle .chip{padding:8px 20px}.line-head,.line-row{display:grid;grid-template-columns:1fr 64px 96px 96px 24px;gap:8px;align-items:center}.line-head{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);margin-bottom:6px}.line-head .num,.line-row .num{text-align:right}.line-row{margin-bottom:8px}.line-row input{margin-bottom:0}.line-amount{font-size:12.5px;color:var(--ink-55);font-variant-numeric:tabular-nums}.line-row .del-btn{background:none;border:none;color:color-mix(in srgb,var(--ink) 35%,transparent);font-size:12px;padding:0}.line-row .del-btn:hover:not(:disabled){color:var(--rust-deep)}.line-row .del-btn:disabled{opacity:.3;cursor:default}.quote-total{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--border-soft);padding:14px 0;margin-bottom:14px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50)}.quote-total-num{font-family:var(--font-heading);font-size:30px;font-weight:400;color:var(--ink);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}.row-main.as-link{background:none;border:none;padding:0;text-align:left;cursor:pointer;font-family:var(--font-body)}.row-main.as-link:hover .detail-row-title{color:var(--accent)}.ghost-btn.danger{margin-right:auto;border-color:#b0654a66;color:var(--rust-deep)}.ghost-btn.danger:hover{border-color:var(--rust-deep)}.detail-row .del-btn{background:none;border:none;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 35%,transparent);padding:0}.detail-row .del-btn:hover{color:var(--rust-deep)}.zoho-status{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-50);white-space:nowrap}.zoho-status.z-paid{color:var(--reef-deep)}.zoho-status.z-overdue{color:var(--rust-deep)}.zoho-status.z-sent{color:var(--slate-deep)}.zoho-status.z-partially_paid{color:var(--tan-deep)}.task-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px;flex-wrap:wrap}.project-filter{padding:8px 14px;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:var(--radius-pill);background:transparent;color:var(--ink-55);font-size:12.5px;outline:none}.task-group{margin-bottom:20px}.task-group-title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);font-weight:500;margin-bottom:8px}.task-group-title.overdue{color:var(--rust)}.task-group-title.today{color:var(--accent)}.task-group-title.done{color:var(--ink-45)}.task-group-count{opacity:.6;margin-left:4px}.task-group .card{padding:4px 18px}.task-row:first-child{border-top:none}.task-check .dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}.pomo-count{font-size:10.5px;color:var(--ink-50);white-space:nowrap}.project-chip{border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);background:var(--sand);color:var(--ink-55);font-size:10.5px;letter-spacing:.04em;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.project-chip:hover{color:var(--accent);border-color:var(--accent-light)}.sidebar-pomo{padding:0 8px 14px}.pomo-idle{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed color-mix(in srgb,var(--ink) 20%,transparent);background:none;color:var(--ink-50);font-size:12px;letter-spacing:.04em;padding:9px;border-radius:10px}.pomo-idle:hover{color:var(--accent);border-color:var(--accent-light)}.pomo-widget{border-radius:var(--radius-md);padding:13px 14px;border:1px solid var(--border);background:var(--card)}.pomo-widget.focus{border-color:var(--accent-light)}.pomo-widget.break{border-color:color-mix(in srgb,var(--reef) 50%,transparent)}.pomo-top{display:flex;align-items:baseline;justify-content:space-between}.pomo-mode{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--accent)}.pomo-widget.break .pomo-mode{color:var(--reef)}.pomo-cycles{font-size:8px;letter-spacing:.2em;color:var(--accent-light)}.pomo-time{font-family:var(--font-mono);font-size:28px;font-weight:500;letter-spacing:-.01em;line-height:1;margin-top:7px;font-variant-numeric:tabular-nums}.pomo-task{font-size:11px;color:var(--ink-50);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pomo-controls{display:flex;gap:4px;margin-top:10px}.pomo-controls button{flex:1;border:none;background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink-55);font-size:10.5px;letter-spacing:.04em;padding:6px 0;border-radius:7px}.pomo-controls button:hover{background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink)}.mobile-pomo{display:none}@media (max-width: 900px){.mobile-pomo{display:block;position:fixed;right:14px;bottom:84px;width:190px;z-index:15}.mobile-pomo .pomo-widget{box-shadow:0 10px 30px -12px color-mix(in srgb,var(--ink) 40%,transparent)}.mobile-pomo .pomo-idle{background:var(--card);border-style:solid}}.cal-nav{display:flex;align-items:center;gap:12px}.cal-nav .ghost-btn{padding:7px 14px}.cal-month{font-family:var(--font-heading);font-size:21px;font-weight:500;min-width:170px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);overflow:hidden}.cal-head{padding:10px 10px 8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45);border-bottom:1px solid var(--border-soft);text-align:right}.cal-cell{min-height:104px;padding:8px;border-bottom:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-right:1px solid color-mix(in srgb,var(--ink) 6%,transparent);display:flex;flex-direction:column;gap:4px}.cal-cell:nth-child(7n){border-right:none}.cal-cell.outside{background:var(--sand-pale)}.cal-cell.outside .cal-date{color:color-mix(in srgb,var(--ink) 25%,transparent)}.cal-cell.today{background:var(--highlight)}.cal-cell.today .cal-date{color:var(--accent);font-weight:600}.cal-date{font-family:var(--font-heading);font-size:16px;font-weight:500;text-align:right;margin-bottom:2px}.cal-ev{display:flex;align-items:center;gap:6px;border:none;text-align:left;font-family:var(--font-body);font-size:10.5px;line-height:1.25;padding:4px 7px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.cal-ev.shoot{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-deep);font-weight:500}.cal-ev.edit{background:color-mix(in srgb,var(--reef) 16%,transparent);color:var(--reef-deep);font-weight:500}[data-theme=dark] .cal-ev.edit{color:var(--reef-deep)}[data-theme=dark] .cal-ev.shoot{color:var(--accent-deep)}.cal-ev.task{background:color-mix(in srgb,var(--ink) 5%,transparent);color:color-mix(in srgb,var(--ink) 70%,transparent)}.cal-ev .dot{width:6px;height:6px;border-radius:50%;flex:0 0 6px}.cal-ev.done{opacity:.45;text-decoration:line-through}.cal-more{font-size:9.5px;color:var(--ink-45);padding-left:7px}.cal-head.weekend{color:var(--accent)}.cal-cell.weekend{background:color-mix(in srgb,var(--accent) 5%,transparent)}.cal-cell.weekend.today{background:var(--highlight)}.cal-date-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px}.cal-hijri{font-size:9px;letter-spacing:.06em;color:color-mix(in srgb,var(--ink) 32%,transparent)}.cal-cell.outside .cal-hijri{color:color-mix(in srgb,var(--ink) 18%,transparent)}.cal-ev.holiday{background:color-mix(in srgb,var(--accent-light) 42%,transparent);color:var(--accent-deep);font-weight:500}.cal-ev.observance{background:transparent;border:1px dashed color-mix(in srgb,var(--accent-light) 85%,transparent);color:var(--accent-deep)}.cal-note{font-size:10.5px;color:var(--ink-45);letter-spacing:.02em;margin-top:10px;font-style:italic}.history-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:8px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.bar-count{font-family:var(--font-heading);font-size:13px;color:var(--reef-deep);line-height:1;font-variant-numeric:tabular-nums}.bar{width:100%;max-width:26px;background:color-mix(in srgb,var(--reef) 40%,transparent);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}.bar-col:hover .bar{background:var(--reef)}.bar-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45)}.hbar-row{padding:9px 0;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.hbar-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.hbar-name{font-size:13px;display:inline-flex;align-items:center;gap:8px;min-width:0}.hbar-ico{color:var(--accent);display:inline-flex}.hbar-value{font-size:11.5px;color:var(--ink-50);white-space:nowrap;font-variant-numeric:tabular-nums}.hbar-track{height:5px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:3px;overflow:hidden}.hbar-fill{height:100%;background:var(--reef-light);border-radius:3px}.gear-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;margin-bottom:10px}.gear-item{padding:9px 2px;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.gear-cat{margin-left:auto;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-45)}.login-page{height:100%;display:flex;align-items:center;justify-content:center;background:var(--sand-deep);padding:24px}.login-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem 2.75rem;width:100%;max-width:400px;box-shadow:0 20px 50px -34px color-mix(in srgb,var(--ink) 40%,transparent)}.login-card .login-eyebrow{text-align:center;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:9px}.login-card h1{font-family:var(--font-heading);font-weight:300;font-size:40px;text-align:center;margin-bottom:2rem}.login-card label{display:block;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.4rem}.login-card input{width:100%;padding:.7rem .9rem;border:1px solid var(--sand-deep);border-radius:8px;background:var(--warm-white);color:var(--ink);margin-bottom:1.25rem;outline:none}.login-card input:focus{border-color:var(--accent-light)}.login-card button[type=submit]{width:100%;padding:.8rem;background:var(--accent);color:var(--warm-white);border:none;border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;letter-spacing:.06em;transition:background .15s}.login-card button[type=submit]:hover{background:var(--accent-deep)}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.login-error{background:color-mix(in srgb,var(--rust) 14%,var(--warm-white));color:var(--rust-deep);border-radius:8px;padding:.65rem .9rem;font-size:.85rem;margin-bottom:1.25rem}.login-divider{display:flex;align-items:center;gap:12px;margin:1.25rem 0;color:var(--ink-45);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--sand-deep)}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:.8rem;background:var(--warm-white);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;letter-spacing:.02em;color:var(--ink);transition:border-color .15s}.google-btn:hover{border-color:var(--ink)}[data-theme=dark] .login-error{background:#b0654a26;color:var(--rust-deep)}.theme-btn{background:none;border:none;color:var(--ink-45);display:inline-flex;padding:4px}.theme-btn:hover,.notif-btn.on{color:var(--accent)}.notif-hint{padding:4px 8px 0;font-size:10.5px;color:var(--ink-45);line-height:1.4}.notif-hint-error{color:var(--rust-deep, #b0654a)}.progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:6px}.progress-track{flex:1;height:5px;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--reef);border-radius:3px;transition:width .3s}.progress-label{font-size:11px;color:var(--ink-50);letter-spacing:.04em;white-space:nowrap}.tl-kind{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-pill);margin-right:8px;white-space:nowrap}.tl-kind.shoot{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.tl-kind.editing{background:color-mix(in srgb,var(--reef) 15%,transparent);color:var(--reef)}.loading-screen{height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--font-heading);font-size:1.4rem}@media (max-width: 900px){.app-shell{flex-direction:column}.sidebar{display:none}.bottom-nav{display:flex;order:2}.main-content{order:1;padding:18px 18px 26px}.dash-hero{flex-direction:column}.stat-col{flex-direction:row}.stat-card{padding:12px}.stat-card .stat-value{font-size:26px}.countdown-digits .num{font-size:36px}.countdown-digits .colon{font-size:28px}.week-row{overflow-x:auto}.day-card{flex:0 0 116px}.quick-grid{grid-template-columns:1fr 1fr}.equip-grid,.detail-grid,.history-grid{grid-template-columns:1fr}.cal-cell{min-height:72px;padding:5px}.cal-ev{font-size:9px;padding:3px 5px}}@media (min-width: 901px) and (max-width: 1200px){.equip-grid{grid-template-columns:repeat(2,1fr)}}.tl-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--ink-50);margin-bottom:14px;align-items:center}.tl-legend span{display:inline-flex;align-items:center;gap:6px}.tl-swatch{width:14px;height:8px;border-radius:3px;display:inline-block}.tl-swatch.shoot{background:color-mix(in srgb,var(--accent) 55%,transparent)}.tl-swatch.edit{background:color-mix(in srgb,var(--reef) 55%,transparent)}.tl-swatch-diamond{width:8px;height:8px;border-radius:2px;transform:rotate(45deg);display:inline-block}.tl-today-swatch{width:2px;height:12px;background:var(--accent);display:inline-block}.tl-gantt-card{padding:0;overflow:hidden}.tl-gantt{overflow-x:auto}.tl-gantt-inner{min-width:100%}.tl-gantt-header{display:flex;position:sticky;top:0;z-index:2;background:var(--card);border-bottom:1px solid var(--border-soft)}.tl-label-col{flex:0 0 220px;width:220px;min-width:220px;padding:8px 14px;border-right:1px solid var(--border-soft)}.tl-label-head{align-self:flex-end}.tl-track-col{position:relative;flex:0 0 auto}.tl-months{display:flex}.tl-month{font-size:11px;letter-spacing:.04em;color:var(--ink-50);padding:6px 0 4px 6px;border-left:1px solid var(--border-soft);box-sizing:border-box}.tl-daynums{display:flex;border-top:1px solid var(--border-soft)}.tl-daynum{flex:0 0 auto;text-align:center;font-size:10px;color:var(--ink-45);padding:4px 0;box-sizing:border-box}.tl-row{display:flex;border-top:1px solid var(--border-soft)}.tl-row-label{display:block;text-align:left;background:none;border:none;border-right:1px solid var(--border-soft);padding:12px 14px;cursor:pointer}.tl-row-label:hover .tl-row-title{color:var(--accent)}.tl-row-title{font-size:13px;font-weight:500;color:var(--ink)}.tl-row-sub{font-size:11px;color:var(--ink-50);margin-top:2px}.tl-track{position:relative;min-height:44px;padding:8px 0}.tl-bar{position:absolute;top:10px;height:14px;border-radius:4px;cursor:grab;touch-action:none}.tl-bar.shoot{background:color-mix(in srgb,var(--accent) 55%,transparent)}.tl-bar.edit{top:26px;background:color-mix(in srgb,var(--reef) 55%,transparent)}.tl-bar.dragging{cursor:grabbing;opacity:.8;box-shadow:0 0 0 1px var(--accent);z-index:2}.tl-resize-handle{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:ew-resize;touch-action:none}.tl-diamond{position:absolute;top:12px;width:8px;height:8px;border-radius:2px;transform:translate(-50%) rotate(45deg);cursor:grab;touch-action:none}.tl-diamond.dragging{cursor:grabbing;box-shadow:0 0 0 1px var(--accent);z-index:2}.tl-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.6}.tl-hint{color:var(--ink-50);font-size:11px}.tl-drag-tooltip{position:fixed;z-index:50;background:var(--ink);color:var(--paper, #fff);font-size:11px;font-weight:500;padding:4px 8px;border-radius:4px;pointer-events:none;white-space:nowrap;transform:translateY(-100%)}
