:root{--paper:#f7f8fa;--paper-2:#fff;--ink:#0f172a;--ink-soft:#64748b;--accent:#2f5fc7;--accent-soft:#e7edfb;--sage:#1f794e;--sage-soft:#e3efeb;--amber:#a9701c;--amber-soft:#f3e7d4;--plum:#7c5a82;--plum-soft:#ece3ed;--clay:#b4652e;--clay-soft:#f2e3d6;--rose:#a9455a;--rose-soft:#f3e1e5;--neutral:#64748b;--neutral-soft:#f1f5f9;--border:#e2e8f0;--sidebar-bg:#fff;--sidebar-muted:#64748b;--paper-rgb:247, 248, 250;--toast-bg:#0f172a;--toast-text:#f7f8fa;--g1:#51c76e;--g2:#1f794e;--g3:#176039;--mint:#caddd9;--teal:#0e6b76;--teal-soft:#deeeef;--grad:linear-gradient(155deg, var(--g1) 0%, var(--g2) 60%, var(--g3) 100%);--primary:#1f794e;--primary-hover:#176039;--primary-soft:#e3efeb;--surface:#fff;--surface-2:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-strong:#cbd5e1;--success:#1f794e;--success-soft:#e3efeb;--warning:#a9701c;--warning-soft:#f3e7d4;--danger:#a9455a;--danger-soft:#f3e1e5;--info:#2f5fc7;--info-soft:#e7edfb;--font-sans:var(--font-plex,"IBM Plex Sans Arabic"), sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--r-sm:10px;--r-md:14px;--r-lg:20px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 16px -4px #0f172a14,0 2px 4px #0f172a0a;--shadow-lg:0 24px 48px -12px #0f172a24,0 4px 12px #0f172a0d;--ease:cubic-bezier(.2,.8,.2,1)}:root[data-theme=dark]{--paper:#0b1220;--paper-2:#141d2e;--ink:#e7ecf3;--ink-soft:#8b98ac;--paper-rgb:11, 18, 32;--toast-bg:#0f172a;--toast-text:#f7f8fa;--accent:#6c9bfa;--accent-soft:color-mix(in srgb, #6c9bfa 20%, var(--paper-2));--sage:#3fb07a;--sage-soft:color-mix(in srgb, #3fb07a 20%, var(--paper-2));--amber:#d99a3d;--amber-soft:color-mix(in srgb, #d99a3d 20%, var(--paper-2));--plum:#9c6fa6;--plum-soft:color-mix(in srgb, #9c6fa6 22%, var(--paper-2));--clay:#d28e62;--clay-soft:color-mix(in srgb, #d28e62 20%, var(--paper-2));--rose:#c15c72;--rose-soft:color-mix(in srgb, #c15c72 22%, var(--paper-2));--neutral:#8b98ac;--neutral-soft:color-mix(in srgb, #8b98ac 16%, var(--paper-2));--border:#283349;--sidebar-bg:#0f1728;--sidebar-muted:#7c8aa0;--g1:#3fb07a;--g2:#2e9a68;--g3:#25794f;--mint:color-mix(in srgb, #3fb07a 30%, var(--paper-2));--teal:#4cc2ce;--teal-soft:color-mix(in srgb, #4cc2ce 20%, var(--paper-2));--primary:#34b47a;--primary-hover:#2a9a67;--primary-soft:color-mix(in srgb, #34b47a 20%, var(--paper-2));--surface:#141d2e;--surface-2:#1b2740;--text-primary:#e7ecf3;--text-secondary:#b7c2d4;--text-muted:#7c8aa0;--border-strong:#3b4a65;--success:#34b47a;--success-soft:color-mix(in srgb, #34b47a 20%, var(--paper-2));--warning:#d99a3d;--warning-soft:color-mix(in srgb, #d99a3d 20%, var(--paper-2));--danger:#c15c72;--danger-soft:color-mix(in srgb, #c15c72 22%, var(--paper-2));--info:#6c9bfa;--info-soft:color-mix(in srgb, #6c9bfa 20%, var(--paper-2));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px -4px #00000080;--shadow-lg:0 24px 48px -12px #0009,0 4px 12px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);transition:background-color .2s,color .2s}.brand-mark{flex-shrink:0;align-items:center;display:inline-flex}.brand-mark img{width:auto;height:100%}.brand-mark img.brand-mark-dark,:root[data-theme=dark] .brand-mark img.brand-mark-light{display:none}:root[data-theme=dark] .brand-mark img.brand-mark-dark{display:block}@media (prefers-reduced-motion:reduce){body{transition:none}}h1,h2,.brand{font-family:var(--font-sans);font-weight:700;line-height:1.3}h3{font-family:var(--font-sans);font-weight:600;line-height:1.3}button,input,select{font-family:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}#welcome-screen{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:none;position:relative;overflow:hidden}#welcome-screen.active{display:flex}.welcome-shell{z-index:1;flex-direction:column;align-items:center;gap:26px;width:100%;max-width:460px;margin:0 auto;display:flex;position:relative}.welcome-shell.welcome-shell--wide{max-width:720px}.welcome-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.welcome-bg:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 55% at 50% 35%,#000 20%,#0000 75%);mask-image:radial-gradient(60% 55% at 50% 35%,#000 20%,#0000 75%)}.welcome-bg-blob{filter:blur(42px);will-change:transform;border-radius:50%;position:absolute}.welcome-bg-blob--1{top:-130px;background:radial-gradient(circle, var(--primary) 0%, transparent 70%);opacity:.19;width:460px;height:460px;animation:18s ease-in-out infinite alternate welcome-blob-drift-1;inset-inline-start:-110px}.welcome-bg-blob--2{bottom:-150px;background:radial-gradient(circle, var(--primary) 0%, transparent 70%);opacity:.13;width:420px;height:420px;animation:24s ease-in-out infinite alternate welcome-blob-drift-2;inset-inline-end:-90px}.welcome-bg-blob--3{top:20%;background:radial-gradient(circle, var(--primary-soft) 0%, transparent 70%);opacity:.17;width:340px;height:340px;animation:29s ease-in-out infinite alternate welcome-blob-drift-3;inset-inline-start:38%}@keyframes welcome-blob-drift-1{0%{transform:translate(0,0)scale(1)}60%{transform:translate(65px,-42px)scale(1.1)}to{transform:translate(85px,-18px)scale(1.13)}}@keyframes welcome-blob-drift-2{0%{transform:translate(0,0)scale(1)}55%{transform:translate(-58px,48px)scale(1.07)}to{transform:translate(-80px,22px)scale(1.11)}}@keyframes welcome-blob-drift-3{0%{transform:translate(0,0)scale(1)}50%{transform:translate(22px,26px)scale(1.04)}to{transform:translate(-16px,34px)scale(1.02)}}@media (prefers-reduced-motion:reduce){.welcome-bg-blob{animation:none}}.timer-pulse-dot{background:var(--sage);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.timer-pulse-dot{animation:none}}.welcome-icon-badge{border-radius:var(--r-sm);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.welcome-icon-badge svg{width:22px;height:22px}.welcome-hero h1{margin-bottom:8px;font-size:26px;font-weight:700}.welcome-hero p{color:var(--ink-soft);max-width:420px;margin:0 auto;font-size:14px;font-weight:400;line-height:1.7}.welcome-stats{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;display:grid}.welcome-stats .stat-card{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;box-shadow:var(--shadow-sm);transition:transform .15s var(--ease), box-shadow .15s var(--ease);padding:16px 12px}.welcome-stats .stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.welcome-stats .stat-num{font-family:var(--font-sans);color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.welcome-stats .stat-label{color:var(--ink);margin-top:5px;font-size:12.5px;font-weight:500}.welcome-stats .stat-sub{color:var(--ink-soft);margin-top:3px;font-size:11px;line-height:1.4}.welcome-status{flex-direction:column;align-items:center;gap:3px;display:flex}.welcome-status-ok{color:var(--success);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.welcome-status-sub{color:var(--ink-soft);font-size:12px}.welcome-attention{width:100%;max-width:360px}.welcome-attention-title{color:var(--ink-soft);margin-bottom:8px;font-size:12px;font-weight:600}.welcome-attention-list{flex-direction:column;gap:7px;display:flex}.welcome-attention-row{justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.welcome-attention-row svg{flex-shrink:0}.welcome-attention-row.tone-danger{color:var(--danger)}.welcome-attention-row.tone-warning{color:var(--warning)}.welcome-activity{border-top:1px solid var(--border);text-align:center;width:100%;padding-top:22px}.welcome-activity-label{color:var(--ink-soft);margin-bottom:6px;font-size:12px}.welcome-activity-item{color:var(--ink);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;font-size:13.5px;font-weight:400;display:flex}.welcome-activity-date{color:var(--ink-soft);flex-shrink:0;font-size:11.5px}.welcome-activity-empty{color:var(--ink-soft);font-size:13px}.welcome-cta{font-weight:600}@media (max-width:520px){.welcome-stats{grid-template-columns:repeat(2,1fr)}.welcome-stats .stat-card:nth-child(3){grid-column:span 2}}.avatar-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.avatar-preview{background:var(--mint-soft);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:24px;display:flex;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.toast-actions{gap:8px;margin-top:6px;display:flex}.toast-actions button{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:14px;padding:4px 10px;font-size:11.5px}.toast-actions button:hover{background:#ffffff40}.toast-body{flex-direction:column;gap:2px;display:flex}#login-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}#login-screen:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(600px 420px at 50% 0%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 70%);position:absolute;inset:0}#login-screen:after{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.4;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 50% at 50% 20%,#000 20%,#0000 75%);mask-image:radial-gradient(60% 50% at 50% 20%,#000 20%,#0000 75%)}.login-card{z-index:1;background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:380px;padding:36px 34px;position:relative}.login-card .brand{text-align:center;margin-bottom:6px;font-size:26px}.login-card .sub{text-align:center;color:var(--ink-soft);margin-bottom:26px;font-size:13px}.field{margin-bottom:14px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.field input,.field select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text-primary);padding:10px 12px;font-size:14px;transition:border-color .15s}.field input:hover:not(:disabled):not(:focus),.field select:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.field input:focus,.field select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.field input::placeholder,textarea::placeholder{color:var(--text-muted)}.field input:disabled,.field select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=time],input[type=url],input[type=email],input[type=tel],input[type=number]{text-align:right;direction:ltr}.login-error{color:var(--rose);margin-bottom:10px;font-size:12.5px;display:none}#login-screen button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.btn-full{width:100%;margin-top:6px}.signup-shell{flex-direction:column;min-height:100vh;display:flex}.signup-visual{background:radial-gradient(120% 100% at 20% 0%, var(--primary-soft) 0%, var(--paper) 60%);text-align:center;flex-direction:column;justify-content:center;gap:18px;padding:48px 32px 40px;display:flex;position:relative;overflow:hidden}.signup-visual:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 20%,#0000 75%)}.signup-visual>*{z-index:1;position:relative}.signup-eyebrow{color:var(--primary);background:var(--surface);border:1px solid var(--primary-soft);border-radius:999px;align-self:center;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-block}.signup-headline{color:var(--ink);max-width:480px;margin-inline:auto;font-size:clamp(22px,5vw,26px);font-weight:700;line-height:1.4}.signup-headline .accent{color:var(--primary)}.signup-subhead{color:var(--ink-soft);max-width:400px;margin-inline:auto;font-size:14px;line-height:1.75}.signup-preview{display:none}.signup-form-panel{background:var(--surface);flex-direction:column;padding:36px 24px 48px;display:flex}.signup-form-panel>*{width:100%;max-width:400px;margin-inline:auto}.signup-brand{color:var(--ink);text-align:center;margin-bottom:18px;font-size:16px;font-weight:700}.signup-form-title{color:var(--ink);text-align:center;margin-bottom:4px;font-size:22px;font-weight:700}.signup-form-sub{color:var(--ink-soft);text-align:center;margin-bottom:22px;font-size:13px}.signup-input-icon{position:relative}.signup-input-icon input{padding-inline-start:38px}.signup-input-icon svg{inset-inline-start:12px;width:17px;height:17px;color:var(--ink-soft);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.signup-input-icon--password input{padding-inline-end:48px}.signup-toggle-password{inset-inline-end:4px;cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:10px 8px;font-size:13px;position:absolute;top:50%;transform:translateY(-50%)}.signup-terms{cursor:pointer;color:var(--ink-soft);-webkit-user-select:none;user-select:none;align-items:flex-start;gap:9px;padding:8px 0 14px;font-size:12.5px;line-height:1.6;display:flex}.signup-terms input{cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:2px}.signup-login-link{text-align:center;color:var(--ink-soft);margin-top:16px;font-size:12.5px}.signup-shell button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}@keyframes signup-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.signup-visual,.signup-form-panel{animation:.35s both signup-fade-in}.signup-form-panel{animation-delay:50ms}@media (prefers-reduced-motion:reduce){.signup-visual,.signup-form-panel{animation:none}}@media (min-width:1025px){.signup-shell{flex-direction:row;align-items:stretch}.signup-visual{text-align:end;flex:0 0 47%;align-items:flex-end;padding:56px 56px 56px 64px}.signup-eyebrow{align-self:flex-end}.signup-headline,.signup-subhead{max-width:420px;margin-inline:0}.signup-headline{font-size:clamp(28px,3vw,36px)}.signup-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:100%;max-width:380px;box-shadow:var(--shadow-lg);margin-top:8px;display:block;overflow:hidden}.signup-preview-bar{border-bottom:1px solid var(--border);background:var(--paper);align-items:center;gap:6px;padding:10px 14px;display:flex}.signup-preview-dot{background:var(--border-strong);border-radius:50%;width:7px;height:7px}.signup-preview-title{color:var(--ink-soft);margin-inline-start:auto;font-size:11.5px}.signup-preview-body{padding:6px 14px}.signup-preview-row{color:var(--ink);border-bottom:1px dashed var(--border);justify-content:space-between;gap:10px;padding:10px 0;font-size:12.5px;display:flex}.signup-preview-row:last-child{border-bottom:none}.signup-preview-tag{color:var(--ink-soft);flex-shrink:0}.signup-form-panel{flex:0 0 53%;justify-content:center;padding:56px 64px 56px 56px}.signup-form-panel>*{max-width:420px;margin-inline:0}.signup-brand,.signup-form-title,.signup-form-sub{text-align:start}}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;box-shadow:0 1px 0 #ffffff1f inset, var(--shadow-sm);transition:background-color .2s var(--ease), box-shadow .2s var(--ease), transform .15s var(--ease);border:none;padding:11px 20px;font-size:14px;font-weight:600}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 1px 0 #ffffff1f inset, var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{background-color:var(--primary-hover);box-shadow:0 1px 0 #ffffff1f inset, var(--shadow-sm);transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger-solid{background:var(--rose);color:#fff;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background-color .2s var(--ease), box-shadow .2s var(--ease), transform .15s var(--ease);border:none;padding:11px 20px;font-size:14px;font-weight:600}.btn-danger-solid:hover{background-color:color-mix(in srgb, var(--rose) 85%, black);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger-solid:active{background-color:color-mix(in srgb, var(--rose) 85%, black);transform:translateY(0)}.btn-danger-solid:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--ink);white-space:nowrap;transition:border-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease), transform .15s var(--ease);padding:10px 16px;font-size:13.5px;font-weight:600}.btn-secondary:hover{border-color:var(--primary);color:var(--primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-ghost{border-radius:var(--r-sm);cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;padding:10px 14px;font-size:13.5px;font-weight:600;transition:background-color .15s,color .15s}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-danger{background:var(--surface);border:1px solid var(--danger);border-radius:var(--r-sm);cursor:pointer;color:var(--danger);white-space:nowrap;padding:10px 16px;font-size:13.5px;font-weight:600;transition:background-color .15s}.btn-danger:hover{background:var(--danger-soft)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-danger-text{color:var(--rose);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.btn-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.btn-link:hover{text-decoration:underline}#app{min-height:100vh;display:none}#app.active{display:flex}.sidebar{background:var(--sidebar-bg);width:270px;color:var(--ink);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:26px;padding:26px 18px;transition:width .2s ease-out;display:flex}.sidebar nav{overflow:hidden auto}.sidebar .brand{letter-spacing:.2px;color:var(--ink);font-size:22px}.sidebar .brand span{font-family:var(--font-sans);color:var(--sidebar-muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.sidebar-collapse-btn,.sidebar-mobile-close{border:1px solid var(--border);background:var(--paper-2);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;transition:background-color .15s,color .15s;display:flex}.sidebar-collapse-btn:hover,.sidebar-mobile-close:hover{background:var(--sage-soft);color:var(--sage);border-color:var(--sage)}.sidebar-collapse-btn:focus-visible,.sidebar-mobile-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-collapse-btn svg{transition:transform .2s ease-out}.sidebar-mobile-close{display:none}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar nav button{text-align:right;border:none;color:var(--ink-soft);cursor:pointer;background:0 0;border-inline-end:2.5px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar nav button:hover{background:var(--paper);color:var(--ink)}.sidebar nav button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.sidebar nav button.active{background:var(--primary-soft);color:var(--primary);border-inline-end-color:var(--primary);font-weight:600}.sidebar nav button svg{flex-shrink:0;width:17px;height:17px}.sidebar nav button .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.nav-group{margin-top:10px}.nav-group-header{cursor:pointer;letter-spacing:.15px;color:var(--ink-soft);text-align:right;text-transform:uppercase;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:11.5px;font-weight:700;display:flex}.nav-group-header:hover{background:var(--sage-soft)}.nav-group-header:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-group .nav-group-items button{padding-inline-start:20px}.nav-group-header.team-header{background:var(--teal-soft);color:var(--teal);border-radius:8px;margin-bottom:4px;padding:9px 10px}.nav-group-header.team-header:hover{filter:brightness(.97)}.nav-group-header .chev{font-size:11px;transition:transform .2s}.nav-group.collapsed .chev{transform:rotate(-90deg)}.nav-group.collapsed .nav-group-items{display:none}.nav-group-items{flex-direction:column;gap:3px;margin-top:2px;display:flex}.sidebar-footer{color:var(--sidebar-muted);border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:auto;padding-top:14px;font-size:12.5px;display:flex}.sidebar-footer-row{justify-content:space-between;align-items:center;display:flex}.plan-badge{border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600}.plan-badge.free{background:var(--neutral-soft);color:var(--ink-soft)}.plan-badge.pro{background:var(--grad);color:#fff}.lock-badge{opacity:.75;margin-inline-start:auto;display:inline-flex}.profile-card{border:1px solid var(--border);text-align:right;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;transition:background-color .15s,border-color .15s;display:flex}.profile-card:hover{background:var(--sage-soft);border-color:var(--sage)}.profile-card:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.profile-card-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.profile-card-avatar-fallback{background:var(--sage-soft);color:var(--sage);justify-content:center;align-items:center;display:flex}.profile-card-text{flex-direction:column;gap:1px;min-width:0;display:flex}.profile-card-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.profile-card-bio{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.sidebar-signout{align-self:flex-start}.sidebar-overlay{z-index:90;opacity:0;pointer-events:none;background:#0f172a6b;transition:opacity .2s;position:fixed;inset:0}.sidebar-overlay.show{opacity:1;pointer-events:auto}@media (min-width:1024px){.sidebar.collapsed{width:76px}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-group-header,.sidebar.collapsed .sidebar-footer-row:first-child{display:none}.sidebar.collapsed .brand{gap:0}.sidebar.collapsed .nav-group-items{display:flex!important}.sidebar.collapsed .nav-group .nav-group-items button{padding-inline-start:10px}.sidebar.collapsed nav button{justify-content:center;gap:0;padding-inline:10px}.sidebar.collapsed nav button .lock-badge{margin-inline-start:0;position:absolute;inset-block-start:2px;inset-inline-end:2px}.sidebar.collapsed .profile-card{justify-content:center;padding-inline:0}.sidebar.collapsed .profile-card-text{display:none}.sidebar.collapsed .sidebar-signout{align-self:center}.sidebar.collapsed nav button{position:relative}.sidebar.collapsed nav button[data-tooltip]:hover:after,.sidebar.collapsed nav button[data-tooltip]:focus-visible:after{content:attr(data-tooltip);inset-inline-start:100%;background:var(--toast-bg);color:var(--toast-text);white-space:nowrap;pointer-events:none;z-index:60;border-radius:6px;margin-inline-start:10px;padding:5px 10px;font-size:11.5px;font-weight:500;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 16px #0f172a40}.sidebar-mobile-close{display:none}}@media (min-width:768px) and (max-width:1023px){.sidebar{width:76px}.sidebar .brand-text,.sidebar .nav-label,.sidebar .nav-group-header,.sidebar .sidebar-footer-row:first-child{display:none}.sidebar .brand{gap:0}.sidebar .nav-group-items{display:flex!important}.sidebar .nav-group .nav-group-items button{padding-inline-start:10px}.sidebar nav button{justify-content:center;gap:0;padding-inline:10px;position:relative}.sidebar nav button .lock-badge{margin-inline-start:0;position:absolute;inset-block-start:2px;inset-inline-end:2px}.sidebar .profile-card{justify-content:center;padding-inline:0}.sidebar .profile-card-text{display:none}.sidebar .sidebar-signout{align-self:center}.sidebar nav button[data-tooltip]:hover:after,.sidebar nav button[data-tooltip]:focus-visible:after{content:attr(data-tooltip);inset-inline-start:100%;background:var(--toast-bg);color:var(--toast-text);white-space:nowrap;pointer-events:none;z-index:60;border-radius:6px;margin-inline-start:10px;padding:5px 10px;font-size:11.5px;font-weight:500;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 16px #0f172a40}.sidebar-collapse-btn,.sidebar-mobile-close{display:none}}@media (max-width:767px){.ctrlk-hint{display:none}#app.active{flex-direction:row}.sidebar{z-index:100;width:min(86vw,320px);transition:transform .22s ease-out;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(100%);box-shadow:-12px 0 32px #0f172a2e}.sidebar.mobile-open{transform:translate(0)}.sidebar-collapse-btn{display:none}.sidebar-mobile-close{display:flex}.main-area{width:100%}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-overlay,.sidebar-collapse-btn svg{transition:none}}.gate-wrap{position:relative}.gated-content.blurred{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.lock-overlay{background:rgba(var(--paper-rgb),.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:5;border-radius:14px;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.lock-overlay.show{display:flex}.lock-box{background:var(--paper-2);border:1px solid var(--border);text-align:center;border-radius:10px;max-width:300px;padding:22px 24px;box-shadow:0 4px 16px #0f172a14}.lock-ic{color:var(--ink-soft);justify-content:center;align-items:center;margin-bottom:8px;display:flex}.lock-ic svg{width:26px;height:26px}.lock-box h3{margin-bottom:7px;font-size:15px}.lock-box p{color:var(--ink-soft);margin-bottom:14px;font-size:12px;line-height:1.6}.main-area{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--border);background:rgba(var(--paper-rgb),.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:15;align-items:center;gap:16px;padding:14px 3vw;display:flex;position:sticky;top:0}.mobile-menu-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background:var(--sage-soft);color:var(--sage);border-color:var(--sage)}.mobile-menu-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width:767px){.mobile-menu-btn{display:flex}}.search-wrap{flex:1;max-width:380px;position:relative}.search-wrap input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);border-radius:20px;padding:9px 14px;font-size:13.5px;transition:border-color .15s}.search-wrap input::placeholder{color:var(--text-muted)}.search-wrap input:hover:not(:focus){border-color:var(--border-strong)}.search-wrap input:focus{outline:2px solid var(--primary);outline-offset:1px}.search-results{background:var(--paper-2);border:1px solid var(--border);z-index:30;opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;transition:opacity .15s,transform .15s,visibility 0s linear .15s;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;transform:translateY(-4px);box-shadow:0 6px 20px #0f172a14}.search-results.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .15s,transform .15s;transform:translateY(0)}.search-results button{text-align:right;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;width:100%;padding:10px 14px;font-size:13px;display:flex}.search-results button:last-child{border-bottom:none}.search-results button:hover,.search-results button.active{background:var(--paper)}.search-results .k{color:var(--ink-soft);font-size:11.5px}.client-select{position:relative}.client-select-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .15s}.client-select-results{background:var(--paper-2);border:1px solid var(--border);z-index:30;opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;max-height:240px;transition:opacity .15s,transform .15s,visibility 0s linear .15s;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;transform:translateY(-4px);box-shadow:0 6px 20px #0f172a14}.client-select-results.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .15s,transform .15s;transform:translateY(0)}.client-select-results button{text-align:right;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;width:100%;padding:9px 14px;font-size:13px;display:block}.client-select-results button:last-child{border-bottom:none}.client-select-results button:hover,.client-select-results button.active{background:var(--paper)}.client-select-empty{color:var(--ink-soft);padding:10px 14px;font-size:12.5px}.topbar-right{align-items:center;gap:14px;margin-right:auto;display:flex}.notif-btn,.theme-toggle-btn{border:1px solid var(--border);cursor:pointer;width:38px;height:38px;color:var(--ink-soft);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:border-color .15s,color .15s;display:flex;position:relative}.notif-btn:hover,.theme-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.notif-badge{background:var(--rose);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 2px;font-size:10.5px;font-weight:700;display:flex;position:absolute;top:-4px;left:-4px}.notif-panel{background:var(--paper-2);border:1px solid var(--border);z-index:30;opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;width:300px;transition:opacity .15s,transform .15s,visibility 0s linear .15s;position:absolute;top:60px;left:3vw;overflow:hidden;transform:translateY(-4px);box-shadow:0 6px 20px #0f172a14}.notif-panel.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .15s,transform .15s;transform:translateY(0)}.notif-panel .h{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13px;font-weight:600}.notif-list{max-height:min(60vh,420px);overflow-y:auto}.notif-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:11px 16px;font-size:12.5px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item .ic{flex-shrink:0}.notif-item .txt .t1{margin-bottom:2px;font-weight:600}.notif-item .txt .t2{color:var(--ink-soft);font-size:11.5px}.wrap{max-width:1180px;margin:0 auto;padding:24px 3vw 90px}.page{display:none}.page.active{display:block}.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-bottom:36px;display:grid}.stat{border-left:1px solid var(--border);padding:16px 20px}.stat:last-child{border-left:none}.stat .num{font-family:var(--font-sans);letter-spacing:-.3px;font-size:26px;font-weight:600}.stat .label{color:var(--ink-soft);margin-top:3px;font-size:12px}.sec-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sec-head h2{font-size:17px}.chips{flex-wrap:wrap;gap:8px;display:flex}.filter-panel{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:14px 16px}.filter-panel .field{margin-bottom:0}.chip{border:1px solid var(--border);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-size:12.5px;transition:border-color .15s,color .15s}.chip:hover{border-color:var(--ink-soft);color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.page-hero{align-items:center;gap:16px;margin-bottom:26px;display:flex}.page-hero .banner{border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.page-hero .banner svg{width:21px;height:21px}.page-hero .txt{padding:0}.page-hero h1{letter-spacing:-.01em;margin-bottom:3px;font-size:20px;font-weight:700}.page-hero p{color:var(--ink-soft);max-width:520px;font-size:12.5px;line-height:1.5}.tone-work .banner,.tone-clients .banner{background:var(--primary-soft);color:var(--primary)}.tone-agree .banner{background:var(--rose-soft);color:var(--rose)}.tone-money .banner{background:var(--amber-soft);color:var(--amber)}.tone-goals .banner,.tone-gallery .banner,.tone-supply .banner,.tone-team .banner{background:var(--neutral-soft);color:var(--neutral)}.projects{flex-direction:column;gap:10px;margin-bottom:28px;display:flex}.project-card{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color .17s var(--ease), box-shadow .17s var(--ease), transform .17s var(--ease);flex-direction:column;gap:11px;padding:14px 16px;display:flex;position:relative}.card-del-x{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1;position:absolute;top:10px;left:10px}.card-del-x:hover{color:var(--rose)}.row-del-x{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:15px}.row-del-x:hover{color:var(--rose)}.row-del{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:14px}.row-del:hover{color:var(--rose)}.m-step{background:var(--border);border-radius:50%;flex-shrink:0;width:9px;height:9px;transition:transform .15s}.m-step.current{cursor:pointer}.m-step.current:hover{transform:scale(1.5)}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--mint);transform:translateY(-2px)}.project-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.project-info .client{color:var(--ink-soft);align-items:center;gap:8px;margin-bottom:2px;font-size:12px;display:flex}.tz-tag{background:var(--paper);border:1px solid var(--border);color:var(--ink-soft);border-radius:10px;padding:1px 7px;font-size:11px}.project-info .name{font-size:15px;font-weight:600}.project-price{font-family:var(--font-sans);white-space:nowrap;font-size:15.5px;font-weight:600}.milestones{align-items:center;gap:6px;min-width:180px;display:flex}.m-step.done{background:var(--sage)}.m-step.current{background:var(--sage);box-shadow:0 0 0 3px var(--sage-soft)}.m-line{background:var(--border);flex:1;height:1px}.m-label{color:var(--ink-soft);white-space:nowrap;margin-left:6px;font-size:11px}.project-bottom{flex-wrap:wrap;gap:8px;display:flex}.link-chip{background:var(--paper);border:1px solid var(--border);color:var(--ink-soft);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:flex}.link-chip .dot2{background:var(--accent);border-radius:50%;width:6px;height:6px}.tasklist{border:1px solid var(--border);border-radius:10px;overflow:hidden}.task-row{background:var(--paper-2);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.task-row:last-child{border-bottom:none}.task-check{border:1.5px solid var(--ink-soft);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:16px;height:16px}.task-check.checked{background:var(--sage);border-color:var(--sage)}.task-name{flex:1;font-size:13.5px}.task-name.done{color:var(--ink-soft);text-decoration:line-through}.task-urgent{color:var(--rose);font-size:11px;font-weight:600}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:right;color:var(--text-secondary);background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 4px;font-size:11.5px;font-weight:600}tbody td{border-bottom:1px solid var(--border);padding:10px 4px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color .12s}tbody tr:hover{background-color:var(--paper)}.table-card{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-bottom:32px;padding:16px 18px}.table-card table{margin-bottom:0}.status{border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}button.status{font:inherit;cursor:pointer;border:none}.status.paid{background:var(--sage-soft);color:var(--sage)}.status.pending{background:var(--amber-soft);color:var(--amber)}.status.late{background:var(--rose-soft);color:var(--rose)}.status.draft{background:var(--neutral-soft);color:var(--neutral)}.status.signed{background:var(--sage-soft);color:var(--sage)}.summary-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;display:grid}.summary-row-4{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.summary-card{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color .15s var(--ease), background-color .15s var(--ease), box-shadow .15s var(--ease), transform .15s var(--ease);padding:14px 16px}.summary-card:hover{border-color:var(--mint);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.summary-card .num{font-family:var(--font-sans);font-size:20px;font-weight:600}.summary-card .label{color:var(--ink-soft);margin-top:4px;font-size:12px}.summary-card.attention{border-color:var(--rose);background:var(--rose-soft)}.summary-card.attention .num{font-weight:700}.home-greeting{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.home-greeting-pill{background:var(--paper-2);border:1px solid var(--border);color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;margin-bottom:12px;padding:5px 13px;font-size:12px;display:inline-flex}.home-greeting-pill b{color:var(--primary);font-weight:600}.home-greeting h1{letter-spacing:-.01em;margin-bottom:6px;font-size:26px;font-weight:700;line-height:1.3}.home-greeting p{color:var(--ink-soft);font-size:13.5px}.home-kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.home-kpi{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-lg);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);padding:20px;position:relative}.home-kpi:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.home-kpi-icon{width:40px;height:40px;transition:transform .3s var(--ease);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.home-kpi:hover .home-kpi-icon{transform:rotate(-6deg)scale(1.06)}.home-kpi-icon svg{width:19px;height:19px}.home-kpi-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.home-kpi-label{color:var(--ink-soft);margin-top:4px;font-size:12.5px}.home-kpi.attention{border-color:var(--rose);background:linear-gradient(180deg, var(--rose-soft), var(--paper-2) 75%)}.home-kpi.attention .home-kpi-num{color:var(--rose)}.home-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.home-section-eyebrow{color:var(--primary);letter-spacing:.01em;font-size:12.5px;font-weight:600}@media (max-width:860px){.home-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.home-kpis{grid-template-columns:1fr}.home-kpi{padding:16px}.home-kpi-num,.home-greeting h1{font-size:22px}}.goal-card{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:16px 18px}.goal-top{justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.goal-top h3{font-size:14px;font-weight:600}.goal-top span{color:var(--ink-soft);font-size:12.5px}.goal-bar{background:var(--paper);border-radius:6px;height:8px;overflow:hidden}.goal-fill{background:var(--plum);border-radius:6px;height:100%}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:36px;display:grid}.gallery-card{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;transition:border-color .17s,box-shadow .17s;overflow:hidden}.gallery-card:hover{border-color:var(--mint);box-shadow:0 4px 12px #0f172a0f}.gallery-thumb{background:var(--clay-soft);justify-content:center;align-items:center;height:110px;font-size:30px;display:flex}.gallery-body{padding:13px 15px}.gallery-body .proj{align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.gallery-link{opacity:.75;font-size:12px;text-decoration:none}.gallery-link:hover{opacity:1}.content-cal{border:1px solid var(--border);border-radius:10px;overflow:hidden}.cal-row{background:var(--paper-2);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 16px;font-size:13px;display:flex}.cal-row:last-child{border-bottom:none}.cal-platform{background:var(--paper);border:1px solid var(--border);color:var(--ink-soft);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px}.cal-date{color:var(--ink-soft);margin-right:auto;font-size:12px}.supply-list{flex-direction:column;gap:9px;display:flex}.supply-row{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;padding:14px 18px;display:flex}.supply-row .name{flex:1;font-size:14px;font-weight:600}.supply-row .cat{color:var(--ink-soft);font-size:11.5px;font-weight:400}.countdown{border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600}.countdown.soon{background:var(--rose-soft);color:var(--rose)}.countdown.ok{background:var(--sage-soft);color:var(--sage)}.supply-row .meta{color:var(--ink-soft);flex-wrap:wrap;gap:10px;margin-top:3px;font-size:11.5px;display:flex}.supply-row .cost{color:var(--ink);font-weight:600}.supply-row a.mgmt-link{color:var(--accent);text-decoration:none}.supply-row a.mgmt-link:hover{text-decoration:underline}.supply-row .name-wrap{flex:1}.row-edit-x{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px}.row-edit-x:hover{color:var(--accent)}.card-edit-x{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:14px;line-height:1;position:absolute;top:10px;left:34px}.card-edit-x:hover{color:var(--accent)}.row-actions{align-items:center;gap:4px;display:flex}.task-due{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:12px;margin-inline-start:6px;padding:2px 9px;font-size:11px}.due-quick{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.due-quick button{border:1px solid var(--border);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:16px;padding:6px 12px;font-size:11.5px}.due-quick button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;min-height:64px;padding:10px 12px;font-family:inherit;font-size:13.5px;transition:border-color .15s}textarea:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.link-chip.btn-link{cursor:pointer;border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.link-chip.btn-link:hover{filter:brightness(.97)}#track-screen{justify-content:center;align-items:flex-start;min-height:100vh;padding:60px 20px;display:none}#track-screen.active{display:flex}.track-card{background:var(--paper-2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:34px 30px}.track-card .track-brand{font-family:var(--font-sans);color:var(--ink-soft);margin-bottom:22px;font-size:20px;font-weight:700}.track-card h1{margin-bottom:4px;font-size:22px}.track-card .sub{color:var(--ink-soft);margin-bottom:26px;font-size:13.5px}.track-milestones{align-items:center;gap:8px;margin-bottom:10px;display:flex}.track-step{background:var(--border);border-radius:50%;flex-shrink:0;width:14px;height:14px}.track-step.done{background:var(--sage)}.track-step.current{background:var(--sage);box-shadow:0 0 0 4px var(--sage-soft)}.track-line{background:var(--border);flex:1;height:2px}.track-label{color:var(--ink-soft);margin-bottom:26px;font-size:13px}.track-price{font-family:var(--font-sans);margin-top:14px;font-size:22px;font-weight:600}.link-list{flex-direction:column;gap:9px;margin-bottom:30px;display:flex}.link-row{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;padding:13px 18px;display:flex}.link-row .lr-type{background:var(--paper);border:1px solid var(--border);color:var(--ink-soft);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px}.link-row a{color:var(--accent);flex:1;font-size:13.5px;font-weight:500;text-decoration:none}.link-row a:hover{text-decoration:underline}.goal-tabs{gap:8px;margin-bottom:16px;display:flex}.goal-tabs button{border:1px solid var(--border);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:20px;padding:7px 16px;font-size:12.5px}.goal-tabs button.active{background:var(--plum);color:#fff;border-color:var(--plum)}.goal-tab-panel{display:none}.goal-tab-panel.active{display:block}.goal-card.achieved{opacity:.6}.goal-card.achieved .goal-top h3{text-decoration:line-through}.goal-done-btn{border:1px solid var(--sage);color:var(--sage);cursor:pointer;background:0 0;border-radius:14px;margin-inline-start:8px;padding:4px 11px;font-size:11px}.goal-done-btn:hover{background:var(--sage-soft)}.goal-top{position:relative}.goal-daily-nav{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.goal-daily-nav strong{font-size:14px}.goal-daily-summary{margin-bottom:18px}.goal-daily-summary span{color:var(--ink-soft);margin-top:8px;font-size:12.5px;display:block}.goal-day-grid{grid-template-columns:repeat(7,1fr);gap:6px;max-height:360px;display:grid;overflow-y:auto}.goal-day-weekdays{max-height:none;margin-bottom:4px;overflow:visible}.goal-day-weekday{color:var(--ink-soft);text-align:center;font-size:10.5px;font-weight:600}.goal-day-cell{background:var(--paper-2);border:1px solid var(--border);text-align:center;border-radius:8px;padding:6px 4px}.goal-day-cell.has-value{border-color:var(--sage)}.goal-day-cell.is-today{border-color:var(--plum);box-shadow:0 0 0 1px var(--plum) inset}.goal-day-num{color:var(--ink-soft);margin-bottom:4px;font-size:10.5px;display:block}.goal-day-cell input{border:1px solid var(--border);background:var(--paper);text-align:center;border-radius:5px;width:100%;padding:3px 0;font-size:12.5px}.goal-day-cell input::placeholder{color:var(--ink-soft);opacity:.6}.goal-day-cell input:focus{outline:1px solid var(--plum);border-color:var(--plum)}.month-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;display:grid}.month-card{background:var(--paper-2);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:14px;transition:border-color .2s}.month-card:hover{border-color:var(--plum)}.month-card .m-name{margin-bottom:8px;font-size:13.5px;font-weight:600}.month-card .m-status{border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.month-card.done{border-color:var(--sage)}.month-card.done .m-status{background:var(--sage-soft);color:var(--sage)}.month-card.progress .m-status{background:var(--amber-soft);color:var(--amber)}.month-card.upcoming .m-status{background:var(--neutral-soft);color:var(--neutral)}.gallery-body .status{cursor:pointer}.gallery-card .g-actions{justify-content:space-between;align-items:center;display:flex}.modal-overlay{z-index:100;opacity:0;visibility:hidden;pointer-events:none;background:#0f172a00;justify-content:center;align-items:center;padding:20px;transition:opacity .18s,background-color .18s,visibility 0s linear .18s;display:flex;position:fixed;inset:0}.modal-overlay.show{opacity:1;visibility:visible;pointer-events:auto;background:#0f172a80;transition:opacity .18s,background-color .18s}.modal{background:var(--paper);border-radius:var(--r-lg);width:100%;max-width:460px;max-height:86vh;box-shadow:var(--shadow-lg);transition:transform .18s var(--ease);padding:24px 24px 20px;overflow-y:auto;transform:scale(.97)translateY(6px)}.modal-overlay.show .modal{transform:scale(1)translateY(0)}.modal h2{margin-bottom:18px;font-size:18px}.modal-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;font-size:18px;position:absolute;top:16px;left:16px}.modal{position:relative}.line-item{grid-template-columns:1fr 60px 90px 30px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.line-item input{border:1px solid var(--border);background:var(--paper-2);border-radius:7px;padding:8px 10px;font-size:13px}.remove-row{color:var(--rose);cursor:pointer;background:0 0;border:none;font-size:16px}.invoice-total{border-top:1px solid var(--border);font-family:var(--font-sans);justify-content:space-between;align-items:center;margin-top:6px;padding-top:12px;font-size:16px;font-weight:600;display:flex}.checkbox-row{align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.sound-toggle{background:var(--border);cursor:pointer;border:none;border-radius:11px;flex-shrink:0;width:38px;height:22px;padding:0;transition:background-color .15s;position:relative}.sound-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sound-toggle.on{background:var(--primary)}.sound-toggle-knob{top:2px;background:#fff;border-radius:50%;width:18px;height:18px;transition:inset-inline-start .15s;position:absolute;inset-inline-start:2px;box-shadow:0 1px 2px #0003}.sound-toggle.on .sound-toggle-knob{inset-inline-start:18px}.set-page{container:setpage/inline-size}.set-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:28px;max-width:1040px;display:grid}.set-nav{background:var(--paper-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:sticky;top:84px}.set-nav-item{width:100%;color:var(--ink-soft);text-align:start;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.set-nav-item:hover{background:var(--surface-2);color:var(--ink)}.set-nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.set-nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.set-nav-item svg{flex-shrink:0}.set-main{flex-direction:column;gap:18px;min-width:0;display:flex}.set-identity{background:var(--paper-2);border:1px solid var(--border);border-radius:14px;align-items:center;gap:18px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.set-identity:before{content:"";background:var(--grad);height:4px;position:absolute;inset:0 0 auto}.set-avatar{border:1px solid var(--border);background:var(--primary-soft);width:76px;height:76px;color:var(--primary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:visible}.set-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.set-avatar:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.set-avatar-badge{bottom:0;background:var(--primary);color:#fff;border:2px solid var(--paper-2);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:transform .15s;display:flex;position:absolute;inset-inline-end:-2px}.set-avatar:hover .set-avatar-badge{transform:scale(1.08)}.set-identity-text{min-width:0}.set-identity-name{color:var(--ink);font-size:18px;font-weight:700;line-height:1.4}.set-identity-sub{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.set-identity-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.set-tag{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.set-tag--accent{background:var(--primary-soft);color:var(--primary);border-color:#0000}.set-onboarding{background:var(--paper-2);border:1px solid var(--border);border-radius:14px;padding:18px 20px}.set-onboarding-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.set-onboarding-head h3{font-size:14.5px;font-weight:700}.set-onboarding-head p{color:var(--ink-soft);margin-top:2px;font-size:12px}.set-onboarding-count{color:var(--teal);background:var(--teal-soft);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.set-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:14px 0 0;padding:0;list-style:none;display:grid}.set-steps li{color:var(--ink);align-items:center;gap:9px;font-size:12.5px;display:flex}.set-steps li.done{color:var(--ink-soft)}.set-steps li.done .set-step-label{text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.set-step-check{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.set-steps li.done .set-step-check{background:var(--teal);border-color:var(--teal);color:#fff}.set-step-label{flex:1;min-width:0}.set-card{background:var(--paper-2);border:1px solid var(--border);border-radius:14px;scroll-margin-top:84px;container:setcard/inline-size}.set-card-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.set-card-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.set-card-head h2{font-size:15px;font-weight:700;line-height:1.5}.set-card-head p{color:var(--ink-soft);margin-top:1px;font-size:12.5px;line-height:1.6}.set-card-body{padding:4px 22px}.set-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:center;gap:24px;padding:16px 0;display:grid}.set-row:last-child{border-bottom:none}.set-row-label label{color:var(--ink);font-size:13px;font-weight:600;display:block}.set-row-label p{color:var(--ink-soft);margin-top:3px;font-size:11.5px;line-height:1.6}.set-row-control{justify-content:flex-start;min-width:0;display:flex}.set-row-control input,.set-row-control select{border:1px solid var(--border);background:var(--surface);width:100%;max-width:420px;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.set-row-control input[dir=ltr]{text-align:right}.set-row-control input:hover:not(:focus),.set-row-control select:hover:not(:focus){border-color:var(--border-strong)}.set-row-control input:focus,.set-row-control select:focus{outline:2px solid var(--primary);outline-offset:1px}.set-row-control input::placeholder{color:var(--text-muted)}.set-readonly{color:var(--text-secondary);background:var(--surface-2);text-overflow:ellipsis;text-align:right;border-radius:8px;width:100%;max-width:420px;padding:9px 12px;font-size:13.5px;overflow:hidden}.set-plan{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.set-plan-name{font-size:16px;font-weight:700}.set-plan-meta{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.set-danger{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 18px;padding:14px 16px;display:flex}.set-danger-title{color:var(--danger);font-size:13px;font-weight:700}.set-danger p{color:var(--ink-soft);margin-top:2px;font-size:11.5px}.set-danger-btn{background:var(--paper-2);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));cursor:pointer;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.set-danger-btn:hover{background:var(--danger);color:#fff}.set-savebar{z-index:5;background:var(--paper-2);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 12px 18px;transition:border-color .2s;display:flex;position:static;bottom:16px;box-shadow:0 10px 28px -14px #0f172a59}.set-savebar.dirty{border-color:var(--amber);position:sticky}.set-savebar-status{color:var(--ink-soft);align-items:center;gap:8px;font-size:12.5px;display:flex}.set-savebar-status:before{content:"";background:var(--sage);border-radius:50%;width:7px;height:7px}.set-savebar.dirty .set-savebar-status{color:var(--amber);font-weight:600}.set-savebar.dirty .set-savebar-status:before{background:var(--amber)}.set-savebar .btn-primary:disabled{opacity:.5;cursor:not-allowed}@container setpage (max-width:820px){.set-layout{grid-template-columns:1fr;gap:16px}.set-nav{scrollbar-width:none;flex-direction:row;padding:4px;position:static;overflow-x:auto}.set-nav::-webkit-scrollbar{display:none}.set-nav-item{white-space:nowrap;flex-shrink:0;width:auto}.set-steps{grid-template-columns:1fr}}@container setpage (max-width:520px){.set-identity{gap:14px;padding:18px 16px}.set-avatar{width:64px;height:64px}.set-identity-name{font-size:16px}.set-savebar{padding:10px 12px;bottom:10px}.set-savebar-status{font-size:11.5px}}@container setcard (max-width:560px){.set-card-head{padding:16px}.set-card-body{padding:2px 16px}.set-row{grid-template-columns:1fr;gap:8px;padding:14px 0}.set-row-control input,.set-row-control select,.set-readonly{max-width:none}}#toast-container{z-index:200;flex-direction:column;gap:10px;width:min(380px,90vw);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--toast-bg);color:var(--toast-text);opacity:0;border-inline-start:3px solid #ffffff40;border-radius:12px;align-items:flex-start;gap:11px;padding:13px 16px;font-size:13px;font-weight:500;line-height:1.6;transition:opacity .25s,transform .25s;display:flex;transform:translateY(10px);box-shadow:0 16px 32px -12px #0f172a73}.toast.show{opacity:1;transform:translateY(0)}.toast.tone-success{border-inline-start-color:var(--sage)}.toast.tone-warning{border-inline-start-color:var(--amber)}.toast-icon-badge{background:#ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;line-height:1;display:flex}.toast.tone-success .toast-icon-badge{background:color-mix(in srgb, var(--sage) 30%, transparent)}.toast.tone-warning .toast-icon-badge{background:color-mix(in srgb, var(--amber) 30%, transparent)}.widget-grid{grid-template-columns:repeat(12,1fr);gap:14px;margin-bottom:20px;display:grid}.widget-cell{min-width:0;transition:opacity .15s}.widget-cell.dragging{opacity:.4}.widget-cell.drag-over>.widget-card{border-color:var(--primary);background:var(--primary-soft)}.widget-card{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-md);height:100%;transition:border-color .15s var(--ease), box-shadow .15s var(--ease), transform .15s var(--ease);padding:14px 16px}.widget-cell:not(.dragging):hover>.widget-card{box-shadow:var(--shadow-md);border-color:var(--mint);transform:translateY(-2px)}.widget-card-head{cursor:grab;align-items:center;gap:8px;margin-bottom:12px;display:flex}.widget-card-head:active{cursor:grabbing}.widget-card-head h3{font-size:14px;font-weight:700}.widget-drag-handle{color:var(--ink-soft);-webkit-user-select:none;user-select:none;font-size:14px;line-height:1}.widget-card--priority{border-color:var(--primary)}.widget-card--priority .widget-card-head h3{font-weight:800}.widget-customize-panel{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:14px 16px}.widget-customize-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.widget-customize-row:last-child{border-bottom:none}.widget-reorder-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:6px;font-size:10px;transition:border-color .15s,color .15s}.widget-reorder-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.widget-reorder-btn:disabled{opacity:.35;cursor:not-allowed}.week-planner-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.week-planner-day{background:var(--paper);border:1px solid var(--border);border-radius:8px;min-height:110px;padding:8px;transition:border-color .15s,background-color .15s}.week-planner-day.drag-over{border-color:var(--primary);background:var(--primary-soft)}.week-planner-day-head{text-align:center;border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:6px;font-size:11.5px;font-weight:600}.week-planner-day-body{flex-direction:column;gap:5px;display:flex}.week-planner-task{background:var(--paper-2);border:1px solid var(--border);cursor:grab;border-radius:6px;align-items:center;gap:4px;padding:5px 6px;font-size:11px;transition:opacity .15s,border-color .15s;display:flex}.week-planner-task:active{cursor:grabbing}.week-planner-task.dragging{opacity:.4}.week-planner-task:hover{border-color:var(--mint)}.week-planner-shift-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:1px 2px;font-size:9px}.week-planner-shift-btn:hover{color:var(--accent)}@media (max-width:900px){.search-wrap{max-width:none}.gallery-grid{grid-template-columns:1fr}.summary-row,.summary-row-4{grid-template-columns:repeat(2,1fr);gap:8px}.summary-card{padding:12px 14px}.summary-card .num{font-size:17px}.stats{grid-template-columns:1fr}.stat{border-left:none;border-bottom:1px solid var(--border)}.line-item{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(2,1fr)}.widget-grid{grid-template-columns:1fr;gap:10px}.widget-cell{order:var(--mobile-order);grid-column:span 1!important}.week-planner-grid{grid-template-columns:repeat(4,1fr)}}.timer-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.timer-btn{justify-content:center;align-items:center;gap:6px;min-height:40px;display:inline-flex}.timer-btn-lg{min-height:46px;padding-inline:18px;font-size:14px}.timer-controls button:focus-visible,.timer-icon-btn:focus-visible,.timer-mini-btn:focus-visible,.cal-block-btn:focus-visible,.timer-dialog-actions button:focus-visible,.timer-bar-actions button:focus-visible,.timer-start-btn:focus-visible,.timer-panel .chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.timer-status-pill{background:var(--neutral-soft);color:var(--neutral);border-radius:12px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.timer-status-pill.is-running{background:var(--sage-soft);color:var(--sage)}.timer-status-pill.is-paused{background:var(--amber-soft);color:var(--amber)}.timer-status-pill.is-completed{background:var(--info-soft);color:var(--info)}.timer-progress{background:var(--surface-2);border-radius:6px;height:6px;margin:10px 0 4px;overflow:hidden}.timer-progress-fill{background:var(--primary);border-radius:6px;height:100%;transition:width .6s linear}.timer-progress-fill.is-break{background:var(--teal)}.timer-progress-fill.is-over{background:var(--warning)}@media (prefers-reduced-motion:reduce){.timer-progress-fill{transition:none}}.timer-bar{bottom:18px;z-index:80;background:var(--paper-2);border:1px solid var(--border);border-radius:12px;width:340px;max-width:calc(100vw - 32px);padding:12px 14px;position:fixed;inset-inline-end:18px;box-shadow:0 16px 36px -14px #0f172a47}.timer-bar[data-status=running]{border-color:var(--mint)}.timer-bar-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.timer-bar-mode{color:var(--ink-soft);font-size:11.5px}.timer-bar-head-actions{gap:4px;margin-inline-start:auto;display:flex}.timer-icon-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.timer-icon-btn:hover{border-color:var(--primary);color:var(--primary)}.timer-bar-body{align-items:center;gap:12px;display:flex}.timer-bar-titles{flex:1;min-width:0}.timer-bar-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:inherit;cursor:pointer;text-align:start;background:0 0;border:none;padding:0;font-family:inherit;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.timer-bar-title:hover{color:var(--primary)}.timer-bar-title:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.timer-bar-subtitle{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}.timer-bar-clock{font-family:var(--font-sans);letter-spacing:-.3px;font-variant-numeric:tabular-nums;direction:ltr;flex-shrink:0;font-size:24px;font-weight:700}.timer-bar-clock.is-static{color:var(--ink-soft);font-size:18px}.timer-bar-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.timer-bar-actions .timer-controls{justify-content:flex-start}.timer-link-btn{margin-inline-start:auto;padding:8px 10px;font-size:12.5px}.timer-bar--mini{border-radius:999px;width:auto;padding:0}.timer-mini-btn{max-width:min(320px,100vw - 32px);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.timer-mini-clock{font-variant-numeric:tabular-nums;direction:ltr;font-weight:700}.timer-mini-title{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);overflow:hidden}body.has-timer-bar #toast-container{inset:18px auto auto;align-items:flex-end;inset-inline-end:18px;transform:none}.timer-conflict-row{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:13px;display:flex}.timer-conflict-tag{background:var(--neutral-soft);color:var(--neutral);border-radius:12px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.timer-conflict-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.timer-conflict-clock{color:var(--ink-soft);font-variant-numeric:tabular-nums;direction:ltr;flex-shrink:0}.timer-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.time-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:20px;display:grid}.timer-panel{background:var(--paper-2);border:1px solid var(--border);border-radius:12px;padding:18px 18px 16px}.timer-panel[data-status=running]{border-color:var(--mint)}.timer-panel .timer-bar-head{justify-content:center}.timer-panel-title{text-align:center;overflow-wrap:anywhere;margin-top:4px;font-size:15px;font-weight:700}.timer-panel-clock{text-align:center;font-family:var(--font-sans);letter-spacing:-.5px;direction:ltr;margin:10px 0 2px;font-size:46px;font-weight:700;display:block}.timer-panel .timer-controls{margin-top:12px}.timer-mode-chips{margin-bottom:14px}.timer-panel-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.timer-duration{margin-bottom:14px}.timer-pomodoro-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px;display:grid}.timer-start-btn{justify-content:center;align-items:center;gap:8px;margin-top:14px;display:flex}.planned-actual{background:var(--paper);border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:10px 12px}.planned-actual .timer-progress{margin:8px 0 6px}.planned-actual-nums{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.planned-actual-nums strong{font-size:16px}.planned-actual-meta{color:var(--ink-soft);font-size:11.5px}.cal-day-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-nav-btn{min-width:40px;min-height:40px;padding:6px 12px;font-size:16px;line-height:1}.cal-day-label{min-width:0;font-size:14px;font-weight:600}.cal-schedule-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.cal-schedule-form .btn-primary{min-height:41px}.cal-grid-wrap{background:var(--paper-2);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px 10px 12px}.cal-lane-legend{color:var(--ink-soft);grid-template-columns:48px minmax(0,1fr) 64px;gap:8px;margin-bottom:6px;font-size:11px;display:grid}.cal-lane-legend span:first-child{grid-column:2}.cal-grid{grid-template-columns:48px minmax(0,1fr) 64px;gap:8px;display:grid;position:relative}.cal-hours{position:relative}.cal-hour{color:var(--ink-soft);font-size:10.5px;position:relative}.cal-hour span{white-space:nowrap;position:relative;top:-7px}.cal-planned,.cal-actual{height:100%;position:relative}.cal-actual{background:var(--paper);border-radius:6px}.cal-hour-line{border-top:1px solid var(--border);position:absolute;inset-inline:0}.cal-now-line{border-top:2px solid var(--rose);z-index:2;pointer-events:none;position:absolute;inset-inline:0}.cal-block{background:var(--accent-soft);border:1px solid var(--border);border-inline-start:3px solid var(--accent);z-index:1;border-radius:8px;align-items:flex-start;gap:6px;padding:5px 7px;font-size:11.5px;transition:border-color .15s;display:flex;position:absolute;overflow:hidden}.cal-block:hover{border-color:var(--accent)}.cal-block.is-active{background:var(--sage-soft);border-inline-start-color:var(--sage);z-index:3}.cal-block.is-done{opacity:.6}.cal-block.is-done .cal-block-title{text-decoration:line-through}.cal-block.is-compact{align-items:center}.cal-block-main{flex:1;min-width:0}.cal-block-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.cal-block-meta{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10.5px;overflow:hidden}.cal-block.is-compact{padding-block:3px}.cal-block.is-compact .cal-block-meta{display:none}.cal-block-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.cal-block-clock{font-variant-numeric:tabular-nums;direction:ltr;margin-inline-end:4px;font-size:11.5px;font-weight:700}.cal-block-btn{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.cal-block-btn:hover{border-color:var(--border);background:var(--paper-2);color:var(--primary)}.cal-block-btn.is-start{color:var(--primary)}.cal-session{background:var(--primary);opacity:.55;border-radius:4px;position:absolute;inset-inline:6px}.cal-session.is-live{opacity:1;background:var(--sage)}.session-group{margin-bottom:16px}.session-group-head{color:var(--ink-soft);justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12.5px;font-weight:600;display:flex}.session-list{list-style:none}.session-row{flex-wrap:wrap;row-gap:6px}.session-main{flex:200px;min-width:0}.session-main .task-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-meta{color:var(--ink-soft);margin-top:2px;font-size:11.5px}.session-duration{font-variant-numeric:tabular-nums;text-align:end;min-width:56px;font-size:13px;font-weight:700}.session-row .task-due{margin-inline-start:0}@media (max-width:900px){.time-layout{grid-template-columns:1fr;gap:6px}.cal-schedule-form{grid-template-columns:1fr 1fr}.cal-schedule-form .field:first-child,.cal-schedule-form .btn-primary{grid-column:span 2}.timer-pomodoro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.timer-bar{inset-inline:10px;width:auto;max-width:none;bottom:10px}.timer-bar--mini{inset-inline:auto 10px}.timer-bar-actions .timer-controls{flex-wrap:nowrap;flex:1}.timer-bar-actions .timer-controls .timer-btn{flex:1 1 0;min-width:0;min-height:46px;padding-inline:10px}.timer-bar-actions>.timer-btn{flex:1;min-height:46px}.timer-link-btn{display:none}body.has-timer-bar .wrap{padding-bottom:190px}}@media (max-width:520px){.timer-panel-fields{grid-template-columns:1fr;gap:0}.timer-panel-clock{font-size:40px}.timer-panel .timer-controls .timer-btn{flex:130px}.timer-dialog-actions button{flex:100%}.cal-grid,.cal-lane-legend{grid-template-columns:40px minmax(0,1fr) 44px;gap:6px}}.timer-outcome{background:var(--paper);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.timer-outcome.is-completed{border-color:var(--info);background:var(--info-soft)}.timer-outcome-text{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.timer-outcome-title{overflow-wrap:anywhere;font-weight:600}.timer-outcome-duration{color:var(--ink-soft);font-variant-numeric:tabular-nums}.timer-outcome-actions{align-items:center;gap:6px;display:flex}.admin-sidebar nav{gap:4px}@media (max-width:1023px){.admin-shell{flex-direction:column}.sidebar.admin-sidebar{width:auto;box-shadow:none;border-left:none;border-bottom:1px solid var(--border);gap:12px;padding:14px 3vw;position:static;transform:none}.admin-sidebar .brand{font-size:18px}.admin-sidebar nav{flex-direction:row;gap:6px;padding-bottom:4px;overflow:auto hidden}.admin-sidebar nav a{flex-shrink:0}.admin-sidebar nav button{white-space:nowrap;justify-content:flex-start;gap:6px;width:auto;padding-inline:12px}.admin-sidebar .sidebar-footer{flex-flow:wrap;align-items:center;gap:6px 14px;padding-top:10px}}.app-boot{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.app-boot-inner{opacity:0;flex-direction:column;align-items:center;gap:14px;animation:.3s .25s forwards app-boot-in;display:flex}.app-boot-brand{font-family:var(--font-sans);color:var(--ink);font-size:26px;font-weight:700}.app-boot-bar{background:var(--surface-2);border-radius:4px;width:140px;height:4px;position:relative;overflow:hidden}.app-boot-bar span{background:var(--primary);border-radius:4px;width:40%;animation:1.1s ease-in-out infinite app-boot-slide;position:absolute;inset-block:0}.app-boot-text{color:var(--ink-soft);font-size:12.5px}@keyframes app-boot-in{to{opacity:1}}@keyframes app-boot-slide{0%{inset-inline-start:-40%}to{inset-inline-start:100%}}@media (prefers-reduced-motion:reduce){.app-boot-inner{opacity:1;animation:none}.app-boot-bar span{opacity:.35;width:100%;animation:none;inset-inline-start:0}}.invite-card{text-align:center}.invite-card h1{font-size:20px;line-height:1.5}.invite-card .btn-primary{margin-top:6px}.invite-badge{background:var(--primary-soft);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 14px;font-size:24px;display:flex}.invite-email{color:var(--ink);font-weight:600}.invite-note{color:var(--ink-soft);margin-top:12px;font-size:12px;line-height:1.6}.invite-login-note{background:var(--primary-soft);color:var(--primary-hover);border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:12.5px;line-height:1.7}.invite-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.invite-btn{align-items:center;gap:4px;padding:6px 10px;font-size:12px;text-decoration:none;display:inline-flex}.studio-switcher{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.studio-switcher-title{color:var(--ink-soft);margin-bottom:8px;font-size:12.5px;font-weight:600}.studio-switcher ul{flex-direction:column;gap:6px;list-style:none;display:flex}.studio-switcher li{border:1px solid var(--border);background:var(--paper);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.studio-switcher li.is-current{border-color:var(--mint);background:var(--primary-soft)}.studio-switcher-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.studio-switcher-current{color:var(--primary);font-size:12px;font-weight:600}.project-files-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.project-files-task{border:1px solid var(--border);background:var(--paper-2);min-width:0;max-width:180px;color:var(--ink);font:inherit;border-radius:10px;padding:7px 10px;font-size:12.5px}.storage-meter{align-items:center;gap:10px;min-width:0;margin:2px 0 12px;display:flex}.storage-meter-bar{background:var(--border);border-radius:99px;flex:1;min-width:60px;max-width:260px;height:6px;overflow:hidden}.storage-meter-bar span{border-radius:inherit;background:var(--sage);min-width:3px;height:100%;transition:width .4s;display:block}.storage-meter.is-high .storage-meter-bar span{background:var(--amber)}.storage-meter.is-full .storage-meter-bar span{background:var(--rose)}.storage-meter-text{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.project-files-drop{border-radius:14px;transition:background .15s,box-shadow .15s;position:relative}.project-files-drop.is-over{background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary) inset}.project-files-hint{color:var(--ink-soft);padding:14px 4px;font-size:13px}.project-files-empty{border:1.5px dashed var(--border-strong);background:var(--paper);width:100%;color:var(--ink-soft);font:inherit;cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;font-size:12.5px;transition:border-color .15s,background .15s;display:flex}.project-files-empty:hover,.project-files-empty:focus-visible{border-color:var(--primary);background:var(--primary-soft)}.project-files-empty strong{color:var(--ink);font-size:14px}.project-files-empty-icon{font-size:22px}.file-job{border:1px solid var(--border);background:var(--paper-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;font-size:13px;display:flex}.file-job-spinner{border:2px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite file-spin}.file-job-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-weight:600;overflow:hidden}.file-job-note{color:var(--sage);font-size:12px}@keyframes file-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.file-job-spinner{animation-duration:2.4s}}.file-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;list-style:none;display:grid}.file-card{border:1px solid var(--border);background:var(--paper-2);border-radius:14px;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.file-card:hover{box-shadow:0 4px 18px #0f172a0f}.file-card.is-shared{border-color:color-mix(in srgb, var(--sage) 45%, var(--border))}.file-thumb{background:var(--paper);cursor:pointer;border:0;justify-content:center;align-items:center;height:120px;padding:0;display:flex;position:relative}.file-thumb img{object-fit:cover;width:100%;height:100%}.file-thumb-icon{font-size:38px}.file-shared-badge{top:8px;background:var(--sage);color:#fff;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;inset-inline-start:8px}.file-body{flex-direction:column;gap:5px;min-width:0;padding:10px 12px 12px;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.file-meta{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.file-task-select{border:1px solid var(--border);background:var(--paper);width:100%;min-width:0;color:var(--ink-soft);font:inherit;border-radius:8px;padding:4px 6px;font-size:11.5px}.file-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.file-actions button{border:1px solid var(--border);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:5px 9px;font-size:11.5px}.file-actions button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.file-actions button[aria-pressed=true]{border-color:var(--sage);color:var(--sage)}.file-actions button.is-danger:hover:not(:disabled){border-color:var(--rose);color:var(--rose)}.file-actions button:disabled{opacity:.5;cursor:default}.storage-card{border:1px solid var(--border);background:var(--paper);border-radius:12px;margin-top:14px;padding:12px 14px}.storage-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.storage-card-title{font-size:13.5px;font-weight:600}.storage-card .storage-meter{margin:0 0 6px}.storage-card .storage-meter-bar{max-width:none}.storage-card-note{color:var(--ink-soft);font-size:12px;line-height:1.6}.track-files{text-align:start;margin-top:22px}.track-files-title{color:var(--ink-soft);margin-bottom:8px;font-size:13px;font-weight:600}.track-files ul{flex-direction:column;gap:6px;list-style:none;display:flex}.track-files a{border:1px solid var(--border);color:var(--ink);background:var(--paper);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;text-decoration:none;display:flex}.track-files a:hover{border-color:var(--primary)}.track-file-icon{flex:none;font-size:18px}.track-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.track-file-size{color:var(--ink-soft);flex:none;font-size:11.5px}.track-file-dl{color:var(--primary);flex:none;font-size:12px;font-weight:600}.admin-storage-alert{background:var(--amber-soft);border:1px solid;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px}.admin-btn-spinner{opacity:.65;border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:11px;height:11px;animation:.7s linear infinite file-spin}.project-files>.sec-head{flex-wrap:wrap;gap:8px}@media (max-width:560px){.project-files-actions{width:100%}.project-files-task{flex:1;max-width:none}.file-grid{grid-template-columns:1fr;gap:8px}.file-card{flex-direction:row;align-items:stretch}.file-thumb{flex:none;width:84px;height:auto;min-height:84px}.file-thumb-icon{font-size:30px}.file-shared-badge{top:auto;bottom:6px;white-space:nowrap;padding:2px 6px;font-size:10px;inset-inline-start:50%;transform:translate(50%)}.file-body{flex:1;padding:9px 10px}}.page-hero.has-actions{flex-wrap:wrap}.page-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.page-hero-actions .btn-primary,.page-hero-actions .btn-secondary{padding:9px 16px;font-size:13.5px}.kpi-row{gap:12px;margin-bottom:18px;display:grid}.kpi-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-row.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{--kpi:var(--neutral);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--paper-2);min-width:0;color:var(--ink);font:inherit;text-align:start;transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease), background-color .2s var(--ease);flex-direction:column;align-items:flex-start;gap:3px;padding:16px 18px 15px;display:flex;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--kpi);opacity:.85;border-radius:0 3px 3px 0;width:3px;position:absolute;inset-block:12px;inset-inline-start:0}.kpi.has-icon:before{display:none}.kpi-icon{background:color-mix(in srgb, var(--kpi) 16%, var(--paper-2));width:36px;height:36px;color:var(--kpi);transition:transform .3s var(--ease);border-radius:11px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.kpi-icon svg{width:18px;height:18px}.kpi:hover .kpi-icon{transform:rotate(-6deg)scale(1.06)}.kpi:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}button.kpi{cursor:pointer}button.kpi:hover{border-color:var(--kpi);box-shadow:var(--shadow-md)}button.kpi:focus-visible{outline:2px solid var(--kpi);outline-offset:2px}.kpi.is-active{border-color:var(--kpi);background:color-mix(in srgb, var(--kpi) 8%, var(--paper-2))}.kpi.tone-sage{--kpi:var(--sage)}.kpi.tone-amber{--kpi:var(--amber)}.kpi.tone-rose{--kpi:var(--rose)}.kpi.tone-accent{--kpi:var(--accent)}.kpi.tone-plum{--kpi:var(--plum)}.kpi-label{color:var(--ink-soft);font-size:12px;font-weight:500}.kpi-value{letter-spacing:.2px;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:22px;font-weight:700;line-height:1.25;overflow:hidden}.kpi.tone-rose .kpi-value{color:var(--rose)}.kpi-hint{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11.5px;overflow:hidden}.toolbar{border:1px solid var(--border);background:var(--paper-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:8px;display:flex}.tb-search{border:1px solid var(--border);background:var(--paper);min-width:0;height:36px;color:var(--ink-soft);border-radius:9px;flex:220px;align-items:center;gap:8px;padding:0 10px;display:flex}.tb-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.tb-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:13.5px}.tb-search input::-webkit-search-cancel-button{display:none}.tb-search-clear{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:16px;line-height:1}.tb-select{border:1px solid var(--border);background:var(--paper);min-width:0;max-width:220px;height:36px;color:var(--ink);font:inherit;border-radius:9px;padding:0 10px;font-size:13px}.tb-reset{height:36px;color:var(--rose);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:12.5px;font-weight:600}.seg{background:var(--neutral-soft);border:1px solid var(--border);border-radius:10px;flex:none;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.seg button.is-on{background:var(--paper-2);color:var(--ink);box-shadow:0 1px 3px #0f172a1f}.seg-count{background:var(--border);min-width:18px;color:var(--ink-soft);text-align:center;border-radius:99px;padding:0 5px;font-size:11px;line-height:18px}.seg button.is-on .seg-count{background:var(--primary-soft);color:var(--primary)}.kb{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;margin-bottom:28px;display:grid}.kb-col{--col:var(--neutral);border:1px solid var(--border);background:var(--paper-2);border-radius:14px;flex-direction:column;min-width:0;transition:border-color .15s,background .15s;display:flex}.kb-col.is-over{border-color:var(--col);background:color-mix(in srgb, var(--col) 7%, var(--paper-2))}.kb-col-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.kb-col-dot{background:var(--col);border-radius:50%;flex:none;width:8px;height:8px}.kb-col-head h3{flex:1;font-size:13.5px;font-weight:700}.kb-col-count{background:color-mix(in srgb, var(--col) 14%, var(--paper));min-width:22px;color:var(--col);text-align:center;border-radius:99px;padding:0 7px;font-size:12px;font-weight:700;line-height:22px}.kb-col-body{flex-direction:column;gap:8px;min-height:90px;padding:10px;display:flex}.kb-empty{border:1.5px dashed var(--border);color:var(--ink-soft);text-align:center;border-radius:10px;padding:18px 8px;font-size:12px}.kb-card{border:1px solid var(--border);background:var(--paper);cursor:grab;border-radius:11px;flex-direction:column;gap:8px;padding:11px 12px 9px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.kb-card:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #0f172a12}.kb-card:active{cursor:grabbing}.kb-card.is-urgent{border-inline-start:3px solid var(--rose)}.kb-card.is-running{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.kb-title{width:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:13.5px;font-weight:600;line-height:1.5;display:block}.kb-title:hover{color:var(--primary)}.kb-title.is-done{color:var(--ink-soft);text-decoration:line-through}.kb-meta{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.kb-meta>*{text-overflow:ellipsis;white-space:nowrap;border-radius:99px;max-width:100%;padding:4px 8px;font-size:11px;line-height:1;overflow:hidden}.kb-flag{background:var(--rose-soft);color:var(--rose);font-weight:700}.kb-project{background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border:0}.kb-project:hover{text-decoration:underline}.kb-due{background:var(--neutral-soft);color:var(--ink-soft)}.kb-due.is-overdue{background:var(--rose-soft);color:var(--rose);font-weight:600}.kb-due.is-today{background:var(--amber-soft);color:var(--amber);font-weight:600}.kb-due.is-soon{background:var(--amber-soft);color:var(--amber)}.kb-time{background:var(--sage-soft);color:var(--sage)}.kb-actions{border-top:1px dashed var(--border);align-items:center;gap:4px;padding-top:7px;display:flex}.kb-spacer{flex:1}.kb-next{border:1px solid var(--border);background:var(--paper-2);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:600}.kb-next:hover{border-color:var(--col);color:var(--col)}.kb-icon{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.kb-icon:hover{background:var(--neutral-soft);color:var(--ink)}.kb-icon.is-on{background:var(--primary);color:#fff}.kb-icon.is-danger:hover{background:var(--rose-soft);color:var(--rose)}.kb-add{border:1.5px dashed var(--border);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:8px;font-size:12.5px}.kb-add:hover{border-color:var(--primary);color:var(--primary)}.list-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.list-bar-selects{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1100px){.kb{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.kpi-row.cols-4,.kpi-row.cols-3,.kpi-row.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:13px 14px 12px}.kpi-value{font-size:19px}.kpi-icon{width:32px;height:32px;margin-bottom:6px}.kpi-icon svg{width:16px;height:16px}.toolbar{padding:6px}.tb-search{flex-basis:100%}.tb-select{flex:40%;max-width:none}.page-hero-actions{width:100%;margin-inline-start:0}.page-hero-actions>*{flex:1}}@media (max-width:560px){.kb{grid-template-columns:1fr}}.kpi-value .tracked,.kpi-value{font-variant-numeric:tabular-nums}.week-split{border:1px solid var(--border);background:var(--paper-2);border-radius:12px;padding:8px}.week-split ul{flex-direction:column;gap:2px;list-style:none;display:flex}.week-split li button{width:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name val""bar bar";gap:6px 10px;padding:9px 10px;display:grid}.week-split li button:hover:not(:disabled){background:var(--neutral-soft)}.week-split li button:disabled{cursor:default}.week-split-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-size:13px;font-weight:600;overflow:hidden}.week-split-val{color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-area:val;font-size:12.5px}.week-split-bar{background:var(--border);border-radius:99px;grid-area:bar;height:6px;overflow:hidden}.week-split-bar span{border-radius:inherit;background:var(--sage);height:100%;display:block}.week-split-empty{color:var(--ink-soft);text-align:center;padding:18px 10px;font-size:12.5px;line-height:1.7}.pj-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:28px;display:grid}.pj-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--paper-2);cursor:pointer;min-width:0;transition:border-color .15s var(--ease), box-shadow .15s var(--ease), transform .15s var(--ease);flex-direction:column;gap:10px;padding:14px 16px 12px;display:flex}.pj-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pj-card.is-done{background:color-mix(in srgb, var(--sage) 4%, var(--paper-2))}.pj-head{align-items:center;gap:6px;min-width:0;display:flex}.pj-client{min-width:0;max-width:60%;color:var(--ink-soft);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12.5px;overflow:hidden}button.pj-client:hover{color:var(--accent);text-decoration:underline}.pj-client.is-static{cursor:inherit}.pj-head-spacer{flex:1}.pj-icon{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.pj-card:hover .pj-icon,.pj-icon:focus-visible{opacity:1}.pj-icon:hover{background:var(--neutral-soft);color:var(--ink)}.pj-icon.is-danger:hover{background:var(--rose-soft);color:var(--rose)}.pj-title{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.4}.pj-title a{color:inherit;text-decoration:none}.pj-progress{background:var(--border);border-radius:99px;height:7px;overflow:hidden}.pj-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--sage), color-mix(in srgb, var(--sage) 70%, var(--accent)));height:100%;transition:width .4s;display:block}.pj-stage{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:12.5px;display:flex}.pj-stage>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pj-stage strong{color:var(--ink)}.pj-advance{border:1px solid var(--border);background:var(--paper);color:var(--sage);font:inherit;cursor:pointer;border-radius:8px;flex:none;padding:3px 9px;font-size:11.5px;font-weight:600}.pj-advance:hover{border-color:var(--sage);background:var(--sage-soft)}.pj-facts{flex-wrap:wrap;gap:6px;display:flex}.pj-fact{background:var(--neutral-soft);color:var(--ink-soft);border-radius:99px;padding:4px 9px;font-size:11.5px}.pj-fact.tone-rose{background:var(--rose-soft);color:var(--rose);font-weight:600}.pj-fact.tone-amber{background:var(--amber-soft);color:var(--amber);font-weight:600}.pj-fact.tone-sage{background:var(--sage-soft);color:var(--sage)}.pj-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.pj-price{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.pj-share{border:1px solid var(--border);background:var(--paper);color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600}.pj-share:hover{border-color:var(--accent);background:var(--accent-soft)}.empty-block{border:1.5px dashed var(--border-strong);text-align:center;color:var(--ink-soft);border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;padding:40px 16px;font-size:13px;display:flex}.empty-block strong{color:var(--ink);font-size:15px}.empty-block .btn-primary{margin-top:6px}@media (max-width:560px){.pj-grid{grid-template-columns:1fr}}.money-alert{border:1px solid color-mix(in srgb, var(--rose) 35%, var(--border));background:var(--rose-soft);color:var(--ink);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:11px 14px;font-size:13px;display:flex}.money-alert strong{color:var(--rose)}.money-alert .btn-secondary{padding:6px 12px;font-size:12.5px}.money-tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.money-export{padding:7px 12px;font-size:12.5px}.table-card .table-empty{text-align:center;color:var(--ink-soft);padding:24px 12px;font-size:13px}.table-card .muted{color:var(--ink-soft)}.table-card tfoot td{border-top:1px solid var(--border);color:var(--ink-soft);padding-top:12px;font-size:13px}.table-card tfoot strong{color:var(--ink)}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.pagination-label{color:var(--ink-soft);font-size:12.5px}.cat-tag{background:var(--neutral-soft);color:var(--ink-soft);border-radius:99px;padding:2px 9px;font-size:11.5px;display:inline-block}.toolbar .chips{flex:0 auto}.kb-meta>.kb-project{font-size:11px}.page-hero .txt{flex:auto;min-width:0}@media (max-width:640px){.page-hero.has-actions .page-hero-actions{flex-basis:100%}.table-card:has(.stack-table){background:0 0;border:0;padding:8px}table.stack-table,table.stack-table tbody{width:100%;display:block}table.stack-table thead{display:none}table.stack-table tr{border:1px solid var(--border);background:var(--paper-2);border-radius:12px;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:8px;padding:12px 14px;display:grid}table.stack-table td{overflow-wrap:anywhere;border:0;flex-direction:column;gap:2px;min-width:0;padding:0;font-size:13px;display:flex}table.stack-table td[data-label]:before{content:attr(data-label);color:var(--ink-soft);font-size:11px}table.stack-table td.st-primary{grid-column:1/-1;font-size:14px;font-weight:600}table.stack-table td.st-primary:before{display:none}table.stack-table td.st-wide{flex-flow:wrap;grid-column:1/-1;align-items:center;gap:6px}table.stack-table td.st-wide:before{flex-basis:100%}table.stack-table td.st-wide .btn-secondary{margin-inline-start:0!important}table.stack-table td.st-actions{border-top:1px dashed var(--border);grid-column:1/-1;align-items:flex-end;padding-top:6px}table.stack-table td[colspan]{grid-column:1/-1}table.stack-table tfoot{display:block}table.stack-table tfoot tr{background:0 0;border-style:dashed;grid-template-columns:1fr auto}table.stack-table tfoot td[colspan]{grid-column:auto}}table.stack-table tfoot td:empty{display:none}.pd-crumbs{color:var(--ink-soft);align-items:center;gap:8px;min-width:0;margin-bottom:14px;font-size:12.5px;display:flex}.pd-crumbs a{color:var(--accent);font-weight:600;text-decoration:none}.pd-crumbs a:hover{text-decoration:underline}.pd-crumbs-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pd-hero{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--sage) 7%, var(--paper-2)), var(--paper-2) 60%);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding:18px 20px;display:flex}.pd-hero-main{flex:320px;min-width:0}.pd-hero-tags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pd-status{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:700}.pd-status.is-done{background:var(--sage-soft);color:var(--sage)}.pd-client{color:var(--ink-soft);font-size:13px;text-decoration:none}a.pd-client:hover{color:var(--accent);text-decoration:underline}.pd-hero h1{overflow-wrap:anywhere;font-size:24px;font-weight:800;line-height:1.3}.pd-hero-sub{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;font-size:12.5px;display:flex}.pd-price{color:var(--ink);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.pd-hero-actions{flex-wrap:wrap;gap:8px;display:flex}.pd-hero-actions .btn-primary,.pd-hero-actions .btn-secondary{padding:9px 14px;font-size:13px}.pd-timer{align-items:center;gap:6px;display:inline-flex}.pd-timer.is-on{border-color:var(--primary);color:var(--primary);font-variant-numeric:tabular-nums}.pd-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.pd-main,.pd-side{flex-direction:column;gap:16px;min-width:0;display:flex}.pd-side{position:sticky;top:16px}.pd-panel{border:1px solid var(--border);background:var(--paper-2);border-radius:14px;min-width:0;padding:16px 18px}.pd-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.pd-panel-head h2{font-size:15px;font-weight:700}.pd-panel-meta{color:var(--ink-soft);font-size:12px}.pd-small{padding:6px 12px!important;font-size:12.5px!important}.pd-empty{border:1.5px dashed var(--border);text-align:center;color:var(--ink-soft);border-radius:10px;padding:18px 10px;font-size:13px}.pd-divider{background:var(--border);height:1px;margin:10px 0}.pd-progress{background:var(--border);border-radius:99px;height:8px;margin-bottom:14px;overflow:hidden}.pd-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--sage), color-mix(in srgb, var(--sage) 70%, var(--accent)));height:100%;display:block}.pd-steps{flex-direction:column;list-style:none;display:flex;position:relative}.pd-step{border-radius:10px;align-items:center;gap:12px;padding:10px 8px;display:flex;position:relative}.pd-step:not(:last-child):after{content:"";inset-inline-start:21px;background:var(--border);width:2px;position:absolute;top:40px;bottom:-10px}.pd-step.is-done:not(:last-child):after{background:var(--sage)}.pd-step.is-current{background:color-mix(in srgb, var(--accent) 7%, var(--paper-2));outline:1px solid color-mix(in srgb, var(--accent) 30%, var(--border))}.pd-step-dot{z-index:1;border:2px solid var(--border-strong);background:var(--paper-2);width:28px;height:28px;color:var(--ink-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex;position:relative}.pd-step.is-done .pd-step-dot{border-color:var(--sage);background:var(--sage);color:#fff}.pd-step.is-current .pd-step-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.pd-step-body{flex:1;min-width:0}.pd-step-name{overflow-wrap:anywhere;font-size:14px;font-weight:600}.pd-step.is-done .pd-step-name{color:var(--ink-soft)}.pd-step-meta{color:var(--ink-soft);flex-wrap:wrap;gap:10px;margin-top:2px;font-size:11.5px;display:flex}.pd-step-meta .is-sage{color:var(--sage)}.pd-step-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.pd-step-btn{border:1px solid var(--border);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:5px 11px;font-size:12px;font-weight:600}.pd-step-btn:hover{border-color:var(--ink-soft)}.pd-step-btn.is-primary{border-color:var(--sage);background:var(--sage);color:#fff}.pd-step-btn.is-primary:hover{filter:brightness(1.05)}.pd-icon{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.pd-icon:hover{background:var(--neutral-soft);color:var(--ink)}.pd-chips{margin-bottom:10px}.chip.is-alert:not(.active){border-color:color-mix(in srgb, var(--rose) 40%, var(--border));color:var(--rose)}.pd-more{background:var(--neutral-soft);width:100%;color:var(--ink-soft);font:inherit;cursor:pointer;border:0;border-radius:8px;margin-top:8px;padding:8px;font-size:12.5px;font-weight:600;display:block}.pd-more:hover{color:var(--ink)}.pd-files .project-files>.sec-head{margin-bottom:10px}.pd-files .project-files>.sec-head h2{font-size:15px;font-weight:700}.pd-files:not(:has(.project-files)){display:none}.pd-finance-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.pd-table{margin-bottom:0;padding:10px 12px}.pd-row{justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;font-size:13px;display:flex}.pd-row-label{color:var(--ink-soft)}.pd-row-value{font-variant-numeric:tabular-nums;text-align:end;font-weight:600}.pd-row-value.is-rose{color:var(--rose)}.pd-row-value.is-sage{color:var(--sage)}.pd-row-value.is-amber{color:var(--amber)}.pd-health{align-items:center;gap:14px;display:flex}.pd-health-label{margin-bottom:2px;font-size:14px;font-weight:700}.pd-health-reason{color:var(--ink-soft);font-size:12px;line-height:1.6}.pd-due-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pd-due-edit input{border:1px solid var(--border);background:var(--paper);min-width:0;color:var(--ink);font:inherit;border-radius:8px;flex:140px;padding:7px 10px;font-size:13px}.pd-due-edit .btn-primary:disabled{opacity:.45;cursor:default}.pd-track-status{color:var(--ink-soft);margin-bottom:10px;font-size:12.5px;line-height:1.6}.pd-track-status.is-on{color:var(--sage);font-weight:600}.pd-track-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pd-track-actions .btn-secondary:disabled{opacity:.45;cursor:not-allowed}.pd-link-btn{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:12px;text-decoration:underline}.pd-link-btn:hover{color:var(--rose)}@media (max-width:1080px){.pd-layout{grid-template-columns:1fr}.pd-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}}@media (max-width:640px){.pd-hero{padding:14px}.pd-hero h1{font-size:20px}.pd-hero-actions{width:100%}.pd-hero-actions>*{flex:1;justify-content:center}.pd-side{grid-template-columns:1fr}.pd-panel{padding:14px}.pd-step{flex-wrap:wrap}.pd-step-actions{justify-content:flex-start;width:100%;padding-inline-start:40px}}.pj-new{background:var(--primary);color:#fff;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700}.pj-card.is-new{border-color:var(--primary);animation:1.6s ease-out pj-arrive}@keyframes pj-arrive{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 45%, transparent);transform:translateY(-4px)}40%{box-shadow:0 0 0 8px color-mix(in srgb, var(--primary) 0%, transparent);transform:none}to{box-shadow:none}}@media (prefers-reduced-motion:reduce){.pj-card.is-new{animation:none}}.field-hint{color:var(--ink-soft);margin-top:5px;font-size:11.5px;line-height:1.5}@media (max-width:640px){.tasklist .task-row{flex-wrap:wrap;gap:6px 10px;padding:11px 12px}.tasklist .task-row .task-name{flex:calc(100% - 30px);min-width:0}.tasklist .task-row .task-due{margin-inline-start:0}}#track-screen.tp{background:radial-gradient(1200px 500px at 50% -120px, color-mix(in srgb, var(--sage) 12%, transparent), transparent 70%), var(--paper);padding:32px 16px 48px}.tp-shell{flex-direction:column;gap:14px;width:100%;max-width:680px;display:flex}.tp-top{justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 6px;display:flex}.tp-brand{color:var(--ink);align-items:center;gap:10px;min-width:0;font-size:16px;font-weight:800;display:flex}.tp-brand>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tp-brand-mark{background:var(--sage);color:#fff;width:36px;height:36px;box-shadow:0 6px 16px color-mix(in srgb, var(--sage) 30%, transparent);border-radius:11px;flex:none;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:inline-flex}.tp-kicker{color:var(--ink-soft);border:1px solid var(--border);background:var(--paper-2);border-radius:99px;flex:none;padding:5px 11px;font-size:12px;font-weight:600}.tp-card{border:1px solid var(--border);background:var(--paper-2);border-radius:18px;padding:22px 24px;box-shadow:0 10px 30px #0f172a0d}.tp-hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.tp-hero-text{flex:1;min-width:0}.tp-status{background:var(--accent-soft);color:var(--accent);border-radius:99px;margin-bottom:10px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}.tp-status.is-done{background:var(--sage-soft);color:var(--sage)}.tp-hero h1{overflow-wrap:anywhere;font-size:26px;font-weight:800;line-height:1.3}.tp-for{color:var(--ink-soft);margin-top:4px;font-size:13.5px}.tp-now{margin-top:14px;font-size:14px;line-height:1.7}.tp-now strong{color:var(--sage)}.tp-now-step{color:var(--ink-soft);font-size:12.5px}.tp-ring{flex:none;width:128px;height:128px}.tp-ring-track{fill:none;stroke:var(--border);stroke-width:10px}.tp-ring-fill{fill:none;stroke:var(--sage);stroke-width:10px;stroke-linecap:round}.tp-ring-num{fill:var(--ink);font-size:26px;font-weight:800;font-family:var(--font-sans)}.tp-ring-sub{fill:var(--ink-soft);font-size:11px;font-family:var(--font-sans)}.tp-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0;display:grid}.tp-facts>div{border:1px solid var(--border);background:var(--paper-2);border-radius:14px;padding:14px 16px}.tp-facts dt{color:var(--ink-soft);margin-bottom:4px;font-size:11.5px}.tp-facts dd{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:14px;font-weight:700;display:flex}.tp-price{font-variant-numeric:tabular-nums;justify-content:flex-end}.tp-fact-note{color:var(--sage);font-size:11.5px;font-weight:600}.tp-fact-note.is-late{color:var(--rose)}.tp-h2{margin-bottom:14px;font-size:15px;font-weight:800}.tp-steps{flex-direction:column;list-style:none;display:flex}.tp-step{align-items:flex-start;gap:12px;padding:8px 0;display:flex;position:relative}.tp-step:not(:last-child):after{content:"";inset-inline-start:15px;background:var(--border);width:2px;position:absolute;top:40px;bottom:-8px}.tp-step.is-done:not(:last-child):after{background:var(--sage)}.tp-step-dot{z-index:1;border:2px solid var(--border-strong);background:var(--paper-2);width:32px;height:32px;color:var(--ink-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex;position:relative}.tp-step.is-done .tp-step-dot{border-color:var(--sage);background:var(--sage);color:#fff}.tp-step.is-current .tp-step-dot{border-color:var(--sage);color:var(--sage);box-shadow:0 0 0 5px var(--sage-soft)}.tp-step-body{min-width:0;padding-top:4px}.tp-step-name{overflow-wrap:anywhere;font-size:14.5px;font-weight:700}.tp-step.is-pending .tp-step-name{color:var(--ink-soft);font-weight:600}.tp-step-note{color:var(--ink-soft);margin-top:2px;font-size:12px}.tp-step.is-current .tp-step-note{color:var(--sage);font-weight:700}.tp-card.track-files{margin-top:0}.tp-foot{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 4px 0;font-size:12px;display:flex}.tp-foot-by{font-weight:600}.tp-unavailable{text-align:center;padding:44px 24px}.tp-unavailable-icon{margin-bottom:10px;font-size:34px}.tp-unavailable h1{margin-bottom:6px;font-size:20px}.tp-unavailable p{color:var(--ink-soft);font-size:13.5px;line-height:1.7}@media (max-width:560px){#track-screen.tp{padding:18px 12px 36px}.tp-card{border-radius:16px;padding:18px 16px}.tp-hero{flex-direction:column-reverse;align-items:flex-start}.tp-hero h1{font-size:22px}.tp-ring{align-self:center;width:108px;height:108px}.tp-facts{grid-template-columns:1fr 1fr}}.score-ring{flex:none}.score-ring-track{fill:none;stroke:var(--border);stroke-width:7px}.score-ring-fill{fill:none;stroke-width:7px;stroke-linecap:round;stroke:var(--sage);transition:stroke-dashoffset .6s}.score-ring.tone-amber .score-ring-fill{stroke:var(--amber)}.score-ring.tone-rose .score-ring-fill{stroke:var(--rose)}.score-ring-num{fill:var(--ink);font-size:20px;font-weight:800;font-family:var(--font-sans)}.pd-health-text{min-width:0}.pd-health.is-stable .pd-health-label{color:var(--sage)}.pd-health.is-attention .pd-health-label{color:var(--amber)}.pd-health.is-critical .pd-health-label{color:var(--rose)}.cp-hero{align-items:center}.cp-avatar{background:linear-gradient(135deg, var(--sage), color-mix(in srgb, var(--sage) 60%, var(--accent)));color:#fff;width:64px;height:64px;box-shadow:0 8px 20px color-mix(in srgb, var(--sage) 28%, transparent);border-radius:20px;flex:none;justify-content:center;align-items:center;font-size:28px;font-weight:800;display:inline-flex}.pj-state{color:var(--accent);font-size:12px;font-weight:700}.pj-state.is-done{color:var(--sage)}@media (max-width:640px){.cp-avatar{border-radius:16px;width:52px;height:52px;font-size:22px}}.client-banner{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--sage) 7%, var(--paper-2)), var(--paper-2) 60%);border-radius:16px;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) auto;align-items:center;gap:18px;margin-bottom:16px;padding:16px 18px;display:grid}.client-banner-id{align-items:center;gap:12px;min-width:0;display:flex}.client-banner-name{flex:1;min-width:0}.client-banner-name h2{overflow-wrap:anywhere;font-size:20px;font-weight:800;line-height:1.3}.client-banner-sub{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-top:3px;font-size:12.5px;display:flex}.client-banner-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.client-banner-stats>div{background:var(--paper-2);border:1px solid var(--border);border-radius:12px;min-width:0;padding:10px 12px}.client-banner-stats dt{color:var(--ink-soft);margin-bottom:3px;font-size:11.5px}.client-banner-stats dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;overflow:hidden}.client-banner-stats dd.is-sage{color:var(--sage)}.client-banner-stats dd.is-rose{color:var(--rose)}.client-banner-stats dd.is-amber{color:var(--amber)}.client-banner-flag{background:var(--rose-soft);color:var(--rose);vertical-align:middle;border-radius:99px;margin-inline-start:6px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.client-banner-actions{flex-direction:column;gap:6px;display:flex}.pd-due-bar{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--paper-2));border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:-6px 0 16px;padding:10px 14px;display:flex}.pd-due-bar-label{font-size:13px;font-weight:600}.pd-due-bar .pd-due-edit{flex:280px;justify-content:flex-end}@media (max-width:1080px){.client-banner{grid-template-columns:1fr;gap:12px}.client-banner-actions{flex-flow:wrap}}@media (max-width:560px){.client-banner-stats{grid-template-columns:1fr 1fr}.client-banner-stats>div:last-child{grid-column:1/-1}}.client-name{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.client-name-link,.client-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;text-decoration:none;overflow:hidden}a.client-name-link:hover{color:var(--accent);text-decoration:underline}.client-name-rename{width:24px;height:24px;color:var(--ink-soft);cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.client-name:hover .client-name-rename,.client-name-rename:focus-visible{opacity:1}.client-name-rename:hover{background:var(--neutral-soft);color:var(--ink)}.client-name-edit{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;display:inline-flex}.client-name-edit input{border:1px solid var(--primary);background:var(--paper);width:min(260px,100%);min-width:0;color:var(--ink);font:inherit;box-shadow:0 0 0 3px var(--primary-soft);border-radius:8px;padding:6px 10px;font-size:14px}.client-banner-name h2 .client-name-rename{font-size:13px}@media (hover:none){.client-name-rename{opacity:1}}.form-warn{background:var(--amber-soft);color:var(--ink);border-radius:9px;margin:-4px 0 14px;padding:9px 12px;font-size:12.5px;line-height:1.6}.form-warn div+div{margin-top:4px}.form-more{border:1px solid var(--border);border-radius:10px;margin:2px 0 14px;padding:0 12px}.form-more>summary{color:var(--ink-soft);cursor:pointer;padding:10px 0;font-size:12.5px;font-weight:600}.form-more[open]>summary{color:var(--ink)}.form-more[open]{padding-bottom:4px}.pd-step-edit{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.pd-step-edit input,.pd-step-add input{border:1px solid var(--border);background:var(--paper);min-width:0;color:var(--ink);font:inherit;border-radius:8px;padding:7px 10px;font-size:13px}.pd-step-edit input[type=text]{flex:2 160px}.pd-step-edit input[type=date]{flex:130px}.pd-step-edit-actions{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.pd-step-add{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.pd-step-add input{flex:200px}.pd-link-btn.is-danger{color:var(--rose);margin-inline-start:auto}.status.active{background:var(--sage-soft);color:var(--sage)}.status.paused{background:var(--amber-soft);color:var(--amber)}.status.stopped{background:var(--neutral-soft);color:var(--neutral)}.form-panel{background:var(--paper-2);border:1px solid var(--border);border-radius:12px;max-width:560px;margin-bottom:24px;padding:18px 20px}.form-panel-head{margin-bottom:14px;font-size:14.5px;font-weight:700}.reports-tabs{scrollbar-width:thin;gap:8px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.reports-tabs .chip{white-space:nowrap;flex:none}.reports-single-kpi{max-width:280px;margin-bottom:18px}.reports-single-kpi .kpi{width:100%}.reports-export{margin-inline-start:auto;align-self:flex-end;gap:8px;margin-bottom:14px;display:flex}.tb-field{margin-bottom:0}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.doc-card{background:var(--paper-2);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;padding:16px 18px;transition:border-color .17s,box-shadow .17s;display:flex}.doc-card:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #0f172a0f}.doc-card.is-signed{border-inline-start:3px solid var(--sage)}.doc-card.is-overdue{border-inline-start:3px solid var(--rose)}.doc-card-head{align-items:center;gap:10px;display:flex}.doc-card-icon{font-size:20px;line-height:1}.doc-card-title{flex:1;min-width:0}.doc-client{font-size:14.5px;font-weight:700}.doc-type{color:var(--ink-soft);font-size:12px}.doc-card-body{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);flex-direction:column;gap:6px;padding:12px 0;display:flex}.doc-row{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.doc-row span:first-child{color:var(--ink-soft)}.doc-row .is-rose{color:var(--rose);font-weight:600}.doc-card-sign{font-size:12.5px}.doc-signed-line{color:var(--sage);align-items:center;gap:6px;font-weight:600;display:flex}.doc-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.doc-small{align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.tpl-card{background:var(--paper-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color .17s,box-shadow .17s;display:flex}.tpl-card:hover{border-color:var(--mint);box-shadow:0 4px 12px #0f172a0f}.tpl-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tpl-name{font-size:15px;font-weight:700}.tpl-price{font-family:var(--font-sans);white-space:nowrap;color:var(--ink-soft);font-size:14.5px;font-weight:600}.tpl-desc{color:var(--ink-soft);margin:0;font-size:12.5px}.tpl-pills{flex-wrap:wrap;gap:8px;display:flex}.tpl-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.tpl-use{padding:7px 14px;font-size:12.5px}.tpl-use-panel{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:6px;padding-top:14px;display:flex}.recur-tpl-note{color:var(--ink-soft);margin-top:2px;font-size:11px}.recur-actions{flex-wrap:wrap;gap:6px}.recur-btn{padding:4px 10px;font-size:11.5px}@media (max-width:640px){.reports-export{align-self:stretch;margin-inline-start:0}.doc-grid,.tpl-grid{grid-template-columns:1fr}}.reports-tab-note{color:var(--ink-soft);margin:-6px 0 12px;font-size:12px}.page-panels{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.status.in_progress{background:var(--amber-soft);color:var(--amber)}.status.ready{background:var(--sage-soft);color:var(--sage)}.goal-note{color:var(--ink-soft);margin:8px 0 0;font-size:11.5px;line-height:1.6}.goal-top span .row-edit-x,.goal-top span .row-del-x{margin-inline-start:6px}
