:root{--warm-white: #FDFAF5;--sand: #F5F0E8;--sand-deep: #EDE5D4;--ink: #1C1A16;--muted: #7A7468;--accent: #8B6F47;--accent-light: #C4A882;--card: #FFFDF9;--sidebar: #F7F1E7;--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: #FBF6EC;--highlight-strong: #F5EEE0;--font-heading: "Cormorant Garamond", serif;--font-body: "Jost", sans-serif}[data-theme=dark]{--warm-white: #16130F;--sand: #241F18;--sand-deep: #2C2620;--ink: #EDE7DB;--muted: #98917F;--accent: #C4A882;--accent-light: #8B6F47;--card: #1D1915;--sidebar: #1A1613;--highlight: #262019;--highlight-strong: #2E2720;color-scheme:dark}.tone-green{--tone-dot: #6E8B6F;--tone-bg: rgba(110, 139, 111, .13);--tone-text: #4A6350}.tone-brown{--tone-dot: #8B6F47;--tone-bg: rgba(139, 111, 71, .15);--tone-text: #6E5636}.tone-rust{--tone-dot: #B0654A;--tone-bg: rgba(176, 101, 74, .13);--tone-text: #8A4A34}.tone-slate{--tone-dot: #6B7C93;--tone-bg: rgba(107, 124, 147, .14);--tone-text: #4E5D72}.tone-tan{--tone-dot: #A9997F;--tone-bg: rgba(169, 153, 127, .16);--tone-text: #6E6350}.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: rgba(110, 139, 111, .18);--tone-text: #A9C4AA}[data-theme=dark] .tone-brown{--tone-bg: rgba(139, 111, 71, .2);--tone-text: #D4BC9A}[data-theme=dark] .tone-rust{--tone-bg: rgba(176, 101, 74, .18);--tone-text: #DBA38E}[data-theme=dark] .tone-slate{--tone-bg: rgba(107, 124, 147, .2);--tone-text: #A9BACF}[data-theme=dark] .tone-tan{--tone-bg: rgba(169, 153, 127, .2);--tone-text: #CFC2AC}*{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:var(--sidebar);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:50%;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--font-heading);font-size:19px;font-weight:500}.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:#8b6f471a;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:20px;margin-bottom:28px;flex-wrap:wrap}.page-title{font-family:var(--font-heading);font-size:30px;font-weight:400;line-height:1}.page-sub{font-size:12.5px;color:var(--ink-50);letter-spacing:.04em;margin-top:7px}.card{border:1px solid var(--border);border-radius:12px;background:var(--card)}.dash-hero{display:flex;gap:20px;margin-bottom:20px;align-items:stretch}.countdown-card{flex:1.7;padding:28px 30px;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-heading);font-size:60px;font-weight:300;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-heading);font-size:52px;font-weight:200;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:17px 20px;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:400;line-height:1;margin-top:5px}.stat-card .stat-sub{font-size:11.5px;color:var(--ink-50);margin-top:4px;letter-spacing:.01em}.week-card{padding:22px 24px;margin-bottom:20px}.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:9px;padding:12px 11px 14px;min-height:118px;display:flex;flex-direction:column}.day-card.today{background:var(--highlight);border-color:#8b6f4759}.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:12px;padding:20px;background:var(--card);display:flex;flex-direction:column;gap:14px}.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:100px;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:18px;display:flex;flex-direction:column;gap:14px}.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:100px;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:#8a4a34}.legend-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid transparent;border-radius:100px;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:var(--ink);color:var(--warm-white);font-size:13px;letter-spacing:.03em;padding:10px 20px;border-radius:100px;transition:background .15s}.add-btn:hover{background:#35322b}.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:100px}.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:16px;padding:28px 30px;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}.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-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}.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:20px 22px}.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:100px}.mini-btn:hover{border-color:var(--ink);color:var(--ink)}.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:#8a4a34}.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}.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:#8a4a34}.ghost-btn.danger:hover{border-color:#8a4a34}.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:#8a4a34}.zoho-status{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-50);white-space:nowrap}.zoho-status.z-paid{color:#4a6350}.zoho-status.z-overdue{color:#8a4a34}.zoho-status.z-sent{color:#4e5d72}.zoho-status.z-partially_paid{color:#6e6350}.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:100px;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:#b0654a}.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:100px;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:12px;padding:13px 14px;border:1px solid var(--border);background:var(--card)}.pomo-widget.focus{border-color:var(--accent-light)}.pomo-widget.break{border-color:#6e8b6f80}.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:#6e8b6f}.pomo-cycles{font-size:8px;letter-spacing:.2em;color:var(--accent-light)}.pomo-time{font-family:var(--font-heading);font-size:34px;font-weight:300;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:color-mix(in srgb,var(--ink) 2%,transparent)}.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:#8b6f4726;color:#6e5636;font-weight:500}.cal-ev.edit{background:#6e8b6f29;color:#4a6350;font-weight:500}[data-theme=dark] .cal-ev.edit{color:#a9c4aa}[data-theme=dark] .cal-ev.shoot{color:#d4bc9a}.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:#8b6f470b}.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:#c4a88247;color:#6e5636;font-weight:500}.cal-ev.observance{background:transparent;border:1px dashed rgba(196,168,130,.8);color:#6e5636}.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(--accent);line-height:1}.bar{width:100%;max-width:26px;background:#8b6f4759;border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}.bar-col:hover .bar{background:var(--accent)}.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(--accent-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:16px;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:100px;font-size:.95rem;font-weight:500;letter-spacing:.06em;transition:background .15s}.login-card button[type=submit]:hover{background:#7a5f3b}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.login-error{background:#f4e4dd;color:#8a4a34;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:100px;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:#dba38e}.theme-btn{background:none;border:none;color:var(--ink-45);display:inline-flex;padding:4px}.theme-btn:hover{color:var(--accent)}.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(--accent);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:100px;margin-right:8px;white-space:nowrap}.tl-kind.shoot{background:#8b6f4726;color:var(--accent)}.tl-kind.editing{background:#6e8b6f26;color:#6e8b6f}.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:42px}.countdown-digits .colon{font-size:36px}.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)}}
