@import"https://fonts.googleapis.com/css2?family=Rubik+Distressed&display=swap";.login-shell{--bg: #f5f7fa;--panel: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--primary: #1e40af;--primary-hover: #1d4ed8;--ring: rgba(30, 64, 175, .18);--ok: #16a34a;--ok-bg: #ecfdf5;--bad: #b91c1c;--bad-bg: #fef2f2;--radius: 14px;--shadow: 0 18px 50px rgba(15, 23, 42, .1);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;color:var(--text);background:radial-gradient(900px 500px at 18% 10%,rgba(30,64,175,.08),transparent 60%),radial-gradient(700px 420px at 78% 20%,rgba(2,132,199,.06),transparent 55%),var(--bg);position:relative;overflow:hidden}.login-shell *{box-sizing:border-box}.login-frame{width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch;position:relative;z-index:2}.alpha-watermark{position:absolute;top:-18%;right:-22%;bottom:-18%;left:-22%;z-index:1;transform:rotate(-24deg);pointer-events:none;display:grid;gap:18px;opacity:.25;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(circle at center,transparent 0 28%,black 62%);mask-image:radial-gradient(circle at center,transparent 0 28%,black 62%)}.alpha-watermark-row{font-family:Rubik Distressed,American Typewriter,Courier New,ui-monospace,monospace;font-size:clamp(30px,4.8vw,64px);line-height:1;letter-spacing:.11em;font-weight:700;text-transform:uppercase;white-space:nowrap;color:transparent;background-image:repeating-linear-gradient(90deg,#47556942,#47556942 1px,#64748b33 1px,#64748b33 3px,#94a3b824 3px,#94a3b824 5px),repeating-linear-gradient(180deg,#ffffff0a,#ffffff0a 2px,#4755690f 2px,#4755690f 4px);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-rendering:geometricPrecision;text-shadow:0 0 .45px rgba(71,85,105,.32);transform:scaleX(.82) scaleY(1.24);transform-origin:left center;filter:contrast(1.08) saturate(.78) blur(.04px);-webkit-user-select:none;user-select:none}.alpha-watermark-row:nth-child(odd){transform:translate(-18px) scaleX(.84) scaleY(1.28);opacity:.62;letter-spacing:.12em}.alpha-watermark-row:nth-child(2n){transform:translate(10px) scaleX(.8) scaleY(1.2);opacity:.54}.login-brand{background:#ffffff9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);box-shadow:var(--shadow);padding:26px;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 28% 20%,rgba(30,64,175,.12),transparent 55%),radial-gradient(circle at 70% 30%,rgba(2,132,199,.1),transparent 55%);transform:rotate(8deg);pointer-events:none}.login-brand-inner{position:relative;z-index:1}.logo-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.logo-mark{width:38px;height:38px;border-radius:10px;background:var(--primary);box-shadow:0 16px 26px #1e40af29;position:relative;overflow:hidden}.logo-mark:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.25),transparent 55%);transform:rotate(20deg)}.brand-name{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0b1736}.brand-tag{margin-top:2px;font-size:12px;color:var(--muted)}.brand-headline{margin:0 0 10px;font-size:34px;line-height:1.12;letter-spacing:-.03em}.brand-subtitle{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6;max-width:52ch}.brand-pill-row{display:flex;flex-wrap:nowrap;gap:6px;margin-top:16px}.brand-pill{font-size:11px;font-weight:700;color:#0b1736;background:#0f172a0a;border:1px solid rgba(226,232,240,.9);border-radius:999px;padding:6px 9px;white-space:nowrap}.brand-principles{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}.brand-principles li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45}.brand-dot{width:10px;height:10px;margin-top:5px;border-radius:999px;background:#1e40afd9;box-shadow:0 0 0 4px #1e40af1a;flex:0 0 auto}.login-panel{background:var(--panel);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column}.login-panel-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.login-panel-title{margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em}.login-panel-desc{margin:6px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}.api-status{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--border);background:#fff;color:#0f172a;white-space:nowrap}.api-status-dot{width:8px;height:8px;border-radius:999px;background:var(--ok);box-shadow:0 0 0 4px #16a34a1f}.api-status.offline{border-color:#b91c1c38;background:var(--bad-bg);color:#7f1d1d}.api-status.offline .api-status-dot{background:var(--bad);box-shadow:0 0 0 4px #b91c1c1f}.login-form{display:grid;gap:12px;margin-top:8px}.field{display:grid;gap:6px}.field-grid{display:grid;gap:10px}.field-grid.two-col{grid-template-columns:1fr 1fr}.field-label{font-size:12px;font-weight:700;color:#334155;letter-spacing:.01em}.field-input{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:14px;outline:none;transition:box-shadow .15s ease,border-color .15s ease}.field-input::placeholder{color:#94a3b8}.field-input:focus{border-color:#1e40af8c;box-shadow:0 0 0 4px var(--ring)}.registration-type-selector{margin-bottom:2px;padding-bottom:12px;border-bottom:1px solid rgba(226,232,240,.95)}.radio-group{display:flex;gap:16px;margin-top:6px}.radio-group label{display:inline-flex;gap:7px;align-items:center;font-size:13px;color:#475569;cursor:pointer}.radio-group input[type=radio]{width:16px;height:16px;accent-color:var(--primary)}.form-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:2px}.remember{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;-webkit-user-select:none;user-select:none}.remember input{width:16px;height:16px;accent-color:var(--primary)}.text-link{border:none;background:transparent;color:var(--primary);font-size:12.5px;font-weight:700;cursor:pointer;padding:0}.text-link:hover{text-decoration:underline}.error{color:#7f1d1d;background:var(--bad-bg);border:1px solid rgba(185,28,28,.25);border-radius:10px;font-size:13px;padding:10px 12px}.primary-btn,.secondary-btn{height:44px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:800;letter-spacing:.01em}.primary-btn{margin-top:4px;border:none;background:var(--primary);color:#fff;transition:background .15s ease,transform .06s ease}.primary-btn:hover{background:var(--primary-hover)}.primary-btn:active{transform:translateY(1px)}.secondary-btn{border:1px solid var(--border);background:#fff;color:#1e3a8a}.secondary-btn:hover{background:#f8fafc}.divider{margin:4px 0;display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0f2}.login-legal{margin-top:auto;padding-top:14px;border-top:1px solid rgba(226,232,240,.95);display:flex;justify-content:space-between;gap:10px;color:#94a3b8;font-size:11.5px;flex-wrap:wrap}.login-legal-link{color:#94a3b8;text-decoration:none}.login-legal-link:hover{color:#64748b;text-decoration:underline}@media (max-width: 920px){.login-frame{grid-template-columns:1fr}.brand-headline{font-size:30px}}@media (max-width: 560px){.login-shell{padding:16px}.field-grid.two-col{grid-template-columns:1fr}.alpha-watermark{top:-32%;right:-38%;bottom:-32%;left:-38%;gap:14px}}.new-dashboard-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg-page, #f5f7fa)}.user-dashboard{min-height:100vh;background-color:var(--color-bg-page, #f5f7fa)}.admin-view-as-banner{position:fixed;top:0;left:0;right:0;z-index:200;background:#fef3cd;color:#856404;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:14px;border-bottom:2px solid #ffc107;box-sizing:border-box;height:38px}.admin-view-as-banner button{background:#856404;color:#fff;border:none;border-radius:4px;padding:4px 14px;cursor:pointer;font-weight:600;font-size:13px}.admin-view-as-banner button:hover{background:#6b5003}.user-dashboard--view-as .top-nav{top:38px}.user-dashboard--view-as .vertical-sidebar{top:calc(38px + var(--topnav-height, 52px));height:calc(100vh - 38px - var(--topnav-height, 52px))}.user-dashboard--view-as .dashboard-body{margin-top:calc(38px + var(--topnav-height, 52px))}.dashboard-body{display:flex;margin-top:var(--topnav-height, 52px)}.dashboard-main{flex:1;margin-left:var(--sidebar-width, 220px);padding:24px 32px;min-height:calc(100vh - var(--topnav-height, 52px));box-sizing:border-box;max-width:1200px}.sidebar-access-code{display:flex;align-items:center;gap:12px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--color-border, #e5e9f0)}.access-code-label{font-size:16px;font-weight:700;color:var(--color-text-primary, #1e293b);letter-spacing:.5px}.copy-code-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;opacity:.6;transition:opacity .15s ease}.copy-code-btn:hover{opacity:1}.sidebar-nav-item{padding-left:20px;border-radius:0;font-size:15px}.sidebar-nav-item.active{border-radius:0}.nav-icon{display:none}.nav-label{font-size:15px;white-space:nowrap}.main-content{flex:1;display:flex;flex-direction:column;border-radius:0;margin-top:var(--topnav-height, 52px)}.header-user-name{font-weight:700;font-size:18px;color:var(--color-text-primary, #1e293b);min-width:180px;padding-right:20px}.nav-tab{border-radius:0}.nav-tab.active{border-radius:0;box-shadow:none}.nav-tab.add-client-tab{background:transparent;border:1px dashed #cbd5e1;color:var(--color-text-secondary, #64748b)}.nav-tab.add-client-tab:hover{background:var(--color-bg-active, #f8fafc);border-color:var(--color-primary, #4b5eaa);color:var(--color-primary, #4b5eaa)}.add-btn{width:36px;height:36px;border-radius:8px;background:var(--color-primary, #4b5eaa);color:#fff;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.add-btn:hover{background:var(--color-primary-dark, #3d4d8a)}.user-profile{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:0;cursor:pointer;transition:background .15s ease}.user-profile:hover{background:#f1f5f9}.user-avatar{width:36px;height:36px;border-radius:50%;background:#4b5eaa;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-info{display:flex;flex-direction:column}.user-name{font-size:14px;font-weight:600;color:#1e293b}.user-role{font-size:12px;color:#64748b}.page-content{padding:24px;max-width:1200px;margin:0 auto 0 220px;width:calc(100% - 220px);box-sizing:border-box;min-height:calc(100vh - 52px)}.welcome-section{margin-bottom:18px}.welcome-section h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 2px}.welcome-section p{font-size:14px;color:var(--color-text-secondary, #64748b);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.client-info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px;margin-top:0}.client-info-line{margin:0;font-size:16px;line-height:1.2;text-align:left}.client-access-code-value{font-weight:400}.client-info-line strong{font-weight:700;letter-spacing:.25px;color:#111827}.client-profile-header{font-size:24px;font-weight:700;color:#222;margin-bottom:6px;text-transform:none;letter-spacing:-.5px}.client-profile-card{display:inline-block;align-self:flex-start;vertical-align:top;background:#f3f4f6;border-radius:10px;padding:14px 16px;margin-bottom:12px;width:auto;max-width:100%;box-sizing:border-box}.client-profile-card .client-profile-header{margin-bottom:8px}.client-profile-card .client-info{margin:0}.edit-cards-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}.projects-card .client-info-line{color:#334155}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:#fff;border-radius:0;padding:20px;box-shadow:0 1px 3px #00000014}.stat-card h3{font-size:14px;font-weight:500;color:#64748b;margin:0 0 12px}.stat-value{font-size:32px;font-weight:700;color:#1e293b;margin-bottom:8px}.stat-subtext{font-size:13px;color:#94a3b8}.stat-change{font-weight:500}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}@media (max-width: 768px){.vertical-sidebar{width:50px;padding:12px 4px}.main-content{margin-left:50px}.top-nav{padding:10px 16px;flex-wrap:wrap;gap:12px}.nav-tabs{order:2;width:100%;overflow-x:auto;padding-bottom:4px}.nav-tab{padding:8px 12px;font-size:13px}.tab-icon{display:none}.page-content{padding:16px}.timer-digits{font-size:48px}.timer-actions{flex-wrap:wrap}.timer-btn{flex:1;justify-content:center;min-width:120px}}.ch-root{background:#fafbfc;border:1px solid #e8ecf1;border-radius:10px;padding:24px 28px;margin-bottom:20px;max-width:650px;width:100%}.ch-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ch-month-label{font-size:15px;font-weight:600;color:#334155;letter-spacing:.01em}.ch-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:18px;color:#64748b;line-height:1;transition:all .12s ease}.ch-nav-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.ch-range-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;background:#f1f5f9;border-radius:8px;border:1px solid #e2e8f0}.ch-range-meta{display:flex;align-items:center;gap:16px}.ch-range-dates{font-size:13px;font-weight:500;color:#475569}.ch-range-days{color:#94a3b8;font-weight:400}.ch-range-total{font-size:14px;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums}.ch-range-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:1px solid #e2e8f0;border-radius:5px;cursor:pointer;font-size:11px;color:#94a3b8;transition:all .12s ease;flex-shrink:0}.ch-range-clear:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.ch-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px}.ch-dow{font-size:11px;font-weight:500;color:#94a3b8;text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:4px 0}.ch-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.ch-cell{aspect-ratio:1;min-height:44px;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .12s ease;background:var(--heat, #edf0f4);color:var(--heat-text, #3b4a5a)}.ch-cell--empty{background:transparent;cursor:default}.ch-cell--idle{background:#edf0f4;color:#b0b8c4}.ch-cell--selected{outline:2px solid #3e6ea8;outline-offset:-2px;border-radius:4px;z-index:1}.ch-cell--today{box-shadow:inset 0 0 0 1.5px #3e6ea8}.ch-today-dot{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#3e6ea8}.ch-cell--selected .ch-today-dot{background:#3e6ea8}.ch-cell:not(.ch-cell--empty):hover{transform:scale(1.06);box-shadow:0 2px 8px #00000014;z-index:2}.ch-day-num{font-size:13px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.ch-cell--idle .ch-day-num{font-weight:400;color:#b0b8c4}.ch-day-hours{font-size:10px;font-weight:500;line-height:1;margin-top:2px;opacity:.85;font-variant-numeric:tabular-nums}.ch-legend{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #f1f5f9}.ch-legend-scale{display:flex;gap:3px;align-items:center}.ch-legend-swatch{width:12px;height:12px;border-radius:3px}.ch-legend-label{font-size:10px;color:#94a3b8;margin:0 3px;font-weight:400}.ch-legend-hint{font-size:10px;color:#b0b8c4}@media (max-width: 768px){.ch-root{padding:16px;border-radius:8px}.ch-cell{min-height:36px}.ch-day-hours{display:none}.ch-month-label{font-size:14px}}.hours-table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;width:100%}.hours-table-empty{text-align:center;padding:24px;color:#6c757d;background:#f8f9fa;border-radius:8px;font-size:14px}.hm-cf-date{width:140px}.hm-cf-date input{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;width:100%;box-sizing:border-box;font-family:inherit;color:#1e293b}.hm-cf-date input:focus{border-color:#3b82f6;outline:none}.hm-overlap-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-top:8px;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px}.hm-overlap-icon{font-size:14px;line-height:1.5;flex-shrink:0}.hm-overlap-text{font-size:12px;color:#92400e;line-height:1.5}@media (max-width: 768px){.hours-table-head,.hours-table-row{grid-template-columns:1fr 1fr 1fr}.hm-col-engagement{display:none!important}}.time-tracker-card{background:var(--color-bg-card, white);border-radius:20px;padding:18px;margin-bottom:0;box-shadow:0 10px 30px #0f172a0d;border:1px solid var(--color-border, #e6e9f2);display:flex;flex-direction:column;gap:14px}.workbar-input-row{display:flex;gap:10px;background:#f8fafc;border:1px solid #e6e9f2;border-radius:14px;padding:8px;align-items:center}.workbar-client-select{border:none!important;background:transparent!important;font-size:14px!important;padding:10px 28px 10px 12px!important;width:auto!important;min-width:160px;max-width:200px;flex-shrink:0;outline:none;font-weight:600;color:#334155;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;border-right:1px solid #e6e9f2!important;border-radius:0!important;margin-bottom:0!important;box-shadow:none!important}.workbar-client-select:focus{outline:none;box-shadow:none!important}.workbar-input-row input[type=text],.workbar-input-row .task-input{border:none!important;background:transparent!important;box-shadow:none!important;padding:10px 12px!important;font-size:14px!important;margin-bottom:0!important;outline:none;color:#0f172a;border-radius:0!important}.workbar-input-row input[type=text]::placeholder{color:#94a3b8}.workbar-actions{padding:0!important;max-width:100%!important;margin:0!important;width:100%}.workbar-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.workbar-billable{display:flex;align-items:center;gap:10px}.workbar-switch{width:46px;height:26px;background:#e2e8f0;border-radius:999px;border:none;position:relative;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.workbar-switch-knob{display:block;width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:left .2s;box-shadow:0 2px 6px #00000026}.workbar-switch.active{background:#22c55e}.workbar-switch.active .workbar-switch-knob{left:23px}.workbar-billable-label{font-size:13px;color:#64748b;font-weight:500;white-space:nowrap;-webkit-user-select:none;user-select:none}.workbar-start-btn{background:#4f46e5;color:#fff;border:none;border-radius:14px;padding:14px 26px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 6px 18px #4f46e540;white-space:nowrap}.workbar-start-btn:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 8px 22px #4f46e54d}.workbar-start-btn:active{transform:translateY(0);box-shadow:0 4px 12px #4f46e533}.workbar-start-icon{font-size:13px;line-height:1}.workbar-secondary{display:flex;align-items:center;gap:16px}.workbar-ghost-btn{border:1px solid #e6e9f2;background:#fff;padding:10px 14px;border-radius:12px;font-size:13px;cursor:pointer;color:#334155;font-weight:500;transition:background .15s,border-color .15s;white-space:nowrap}.workbar-ghost-btn:hover{background:#f8fafc;border-color:#cbd5e1}.workbar-link{font-size:13px;color:#4f46e5;font-weight:600;background:none;border:none;cursor:pointer;padding:0;white-space:nowrap;transition:color .15s}.workbar-link:hover{color:#4338ca;text-decoration:underline}.workbar-project-select{margin-top:8px!important;padding:10px 12px!important;font-size:14px!important;border-radius:12px!important;border:1px solid #e6e9f2!important;width:100%!important;max-width:400px;background:#f8fafc!important;color:#334155;outline:none;margin-bottom:0!important}.workbar-project-select:focus{border-color:#4f46e5!important;box-shadow:0 0 0 3px #4f46e514!important}.tracker-header{display:flex;align-items:center;margin-bottom:20px;flex-wrap:wrap;justify-content:space-between}.tracker-header h2{font-size:1.4rem;font-weight:600;color:var(--color-text-primary, #2d3748);margin:0;white-space:nowrap}.client-select{padding:9px 12px;border:1px solid var(--color-border, #ddd);border-radius:6px;font-size:14px;font-weight:400;color:var(--color-text-primary, #2d3748);background:var(--color-bg-card, white);box-sizing:border-box;cursor:pointer;vertical-align:middle}.client-select:focus{outline:none;border-color:var(--color-primary, #5a67d8);box-shadow:0 0 0 3px #5a67d81a}.time-tracker-card .clock-in-form{max-width:100%}.time-tracker-card .active-timer{text-align:center}.time-tracker-card .timer{margin:20px 0}.time-tracker-card .time{font-size:3.5rem;font-weight:700;color:var(--color-text-primary, #2d3748);font-family:Courier New,monospace;margin:20px 0}.time-tracker-card .started{color:var(--color-text-secondary, #718096);margin:10px 0;font-size:.9rem}.time-tracker-card .clock-out-btn{background:var(--color-danger, #e74c3c);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:500;min-width:180px;cursor:pointer;transition:background .2s}.time-tracker-card .clock-out-btn:hover{background:#c0392b}.time-tracker-card .timer-display{font-size:2.8rem;font-weight:700;color:var(--color-text-primary, #1e293b);text-align:center;margin:18px 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:1px}.time-tracker-card .timer-actions{display:flex;gap:12px;justify-content:center;margin-bottom:12px}.time-tracker-card .timer-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border-radius:7px;font-size:16px;font-weight:600;cursor:pointer;border:none;transition:background .15s,box-shadow .15s}.time-tracker-card .timer-btn.primary{background:var(--color-primary, #5a67d8);color:#fff}.time-tracker-card .timer-btn.primary:hover{background:var(--color-primary-dark, #4c51bf)}.time-tracker-card .timer-btn.secondary{background:var(--color-bg-card, white);color:var(--color-text-primary, #1e293b);border:1px solid var(--color-border-light, #e2e8f0)}.time-tracker-card .timer-btn.secondary:hover:not(:disabled){background:var(--color-bg-hover, #f1f5f9);border-color:#cbd5e1}.time-tracker-card .timer-btn:disabled{opacity:.5;cursor:not-allowed}.time-tracker-card .timer-btn .btn-icon{font-size:16px}.time-tracker-card select:not(.workbar-client-select):not(.workbar-project-select),.time-tracker-card textarea{width:100%;padding:15px;border:1px solid var(--color-border-light, #e2e8f0);border-radius:var(--radius-md, 8px);font-size:1rem;margin-bottom:15px}.time-tracker-card select:not(.workbar-client-select):not(.workbar-project-select):focus,.time-tracker-card textarea:focus{outline:none;border-color:var(--color-primary, #5a67d8);box-shadow:0 0 0 3px #5a67d81a}@media (max-width: 768px){.time-tracker-card .timer-display{font-size:2rem}.time-tracker-card .timer-actions{flex-wrap:wrap}.time-tracker-card .timer-btn{flex:1;justify-content:center;min-width:120px}.workbar-action-row{flex-direction:column;align-items:stretch;gap:10px}.workbar-action-row .workbar-start-btn{justify-content:center}.workbar-secondary{width:100%;justify-content:space-between}.workbar-input-row{flex-direction:column}.workbar-client-select{min-width:unset;max-width:unset;width:100%!important;border-right:none!important;border-bottom:1px solid #e6e9f2!important;border-radius:0!important;padding-bottom:10px!important}}.period-filter{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#fff;width:fit-content}.period-filter__button{padding:8px 16px;font-size:13px;font-weight:500;border:none;background:#fff;color:#64748b;cursor:pointer;transition:all .15s ease;border-right:1px solid #e2e8f0}.period-filter__button:last-child{border-right:none}.period-filter__button:hover:not(:disabled):not(.period-filter__button--active){background:#f8fafc;color:#475569}.period-filter__button--active{background:#3e6ea8;color:#fff}.period-filter__button:disabled{opacity:.5;cursor:not-allowed}.period-filter--compact .period-filter__button{padding:6px 12px;font-size:12px}.contract-snapshot-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 10px 30px #0f172a0f}.widget-header{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:12px;text-transform:none;letter-spacing:normal}.widget-title{font-size:14px;font-weight:800;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none}.widget-subtitle{font-size:12px;color:#64748b;margin:2px 0 0;text-transform:none;letter-spacing:normal;font-variant-caps:normal}.contract-snapshot-widget .snapshot-content{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.snapshot-amount-box{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;padding:14px;background:linear-gradient(180deg,#3b82f614,#fff0);border:1px solid #e2e8f0;border-radius:14px}.snapshot-amount-box .amount-value{font-size:34px;font-weight:900;color:#0f172a;line-height:1.1;letter-spacing:-.03em}.snapshot-amount-box .amount-label{font-size:13px;color:#64748b;font-weight:600}.snapshot-details-box{display:grid;grid-template-columns:1fr auto;gap:10px 10px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;height:100%}.snapshot-details-box .detail-row{display:contents}.snapshot-details-box .detail-label{font-size:12px;color:#64748b;font-weight:400;line-height:1.2}.snapshot-details-box .detail-value{font-size:12px;font-weight:800;color:#0f172a;line-height:1.2;white-space:nowrap}@media (max-width: 768px){.contract-snapshot-widget .snapshot-content{grid-template-columns:1fr}}.billing-snapshot-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 10px 30px #0f172a0f;overflow:visible}.billing-snapshot-widget .live-indicator{color:#16a34a;font-size:12px;font-weight:600;margin-left:8px;animation:pulse-live-billing 1.5s ease-in-out infinite}@keyframes pulse-live-billing{0%,to{opacity:1}50%{opacity:.5}}.billing-snapshot-row{display:flex;gap:1.25rem;align-items:stretch;min-width:0}.billing-snapshot-left{flex:1.4;min-width:0;overflow:visible}.billing-snapshot-right{flex:1;min-width:0;overflow:visible}.inv-summary-content-row{display:block}.inv-summary-cards{display:flex;flex-direction:column;gap:1rem;min-width:0}.next-actions-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 16px 14px;box-sizing:border-box;height:100%}.next-actions-header{margin-bottom:14px}.next-actions-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#334155;margin:0 0 2px}.next-actions-subtitle{font-size:12px;font-weight:500;color:#94a3b8;margin:0}.next-actions-list{display:flex;flex-direction:column;gap:10px}.na-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.na-item-content{flex:1;min-width:0}.na-item-title{font-size:13px;font-weight:800;color:#0f172a;margin-bottom:3px;line-height:1.3}.na-item-desc{font-size:12px;font-weight:500;color:#64748b;line-height:1.45;min-height:2.9em}.na-item-desc.is-placeholder{visibility:hidden}.na-item-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0;border:1px solid #e2e8f0;background:#f1f5f9;color:#475569;margin-top:1px}.na-item.is-placeholder{background:#f8fafc;border-style:dashed;color:#94a3b8}.na-item.is-placeholder .na-item-title{font-weight:600;color:#94a3b8}.invoice-summary-loading{color:#94a3b8;font-size:.95rem;padding:2rem;text-align:center}.inv-summary-card{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 1px 4px #0000000d;border:1px solid #e5e7eb}.inv-summary-uninvoiced{background:#f8fafc}.inv-summary-uninvoiced-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.inv-summary-uninvoiced-left{flex-shrink:0}.inv-summary-big-value{font-size:1.75rem;font-weight:800;color:#1e293b;line-height:1.2;letter-spacing:-.01em}.inv-summary-sub-label{font-size:.85rem;color:#64748b;margin-top:.25rem}.inv-summary-uninvoiced-right{display:flex;flex-direction:column;gap:.4rem;min-width:0;flex:1 1 200px}.inv-summary-stat-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-width:0}.inv-summary-stat-label{font-size:.85rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.inv-summary-stat-value{font-size:.9rem;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.inv-summary-uninvoiced-footer{margin-top:.75rem;padding-top:.6rem;border-top:1px solid #e2e8f0;font-size:.8rem;color:#94a3b8;font-style:italic}.inv-summary-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.inv-summary-card-header{display:flex;align-items:flex-start;gap:.4rem;margin-bottom:.6rem}.inv-summary-card-title-wrap{display:flex;flex-direction:column;gap:2px}.inv-summary-card-title-row{display:inline-flex;align-items:center;gap:6px}.inv-summary-card-title-main{font-size:.85rem;font-weight:600;color:#475569}.inv-summary-card-title-sub{font-size:.75rem;font-weight:500;color:#94a3b8}.inv-summary-info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e2e8f0;color:#94a3b8;font-size:.65rem;font-weight:700;cursor:help;flex-shrink:0}.inv-summary-outstanding .inv-summary-big-value,.inv-summary-collected .inv-summary-big-value{font-size:1.5rem;margin-bottom:.25rem}.inv-summary-card-meta{font-size:.82rem;color:#94a3b8}@media (max-width: 900px){.inv-summary-content-row,.billing-snapshot-row{flex-direction:column}}@media (max-width: 640px){.inv-summary-uninvoiced-top{flex-direction:column;gap:1rem}.inv-summary-uninvoiced-right{min-width:unset}.inv-summary-bottom-row{grid-template-columns:1fr}}.info-icon-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help;margin-left:6px;z-index:5}.info-icon{color:#94a3b8;transition:color .15s ease}.info-icon-wrapper:hover .info-icon{color:#64748b}.info-tooltip{position:absolute;z-index:2000;padding:8px 12px;background:#1e293b;color:#f8fafc;font-size:12px;font-weight:500;line-height:1.4;border-radius:8px;white-space:normal;max-width:240px;box-shadow:0 4px 12px #00000026;pointer-events:none;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.info-tooltip-bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tooltip-top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tooltip-left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.info-tooltip-right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.info-tooltip-bottom:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1e293b}.info-tooltip-top:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.info-tooltip-left:before{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#1e293b}.info-tooltip-right:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1e293b}.usage-context-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:16px;display:flex;flex-direction:column}.usage-context-widget .widget-header{margin-bottom:10px;text-transform:none;letter-spacing:normal}.usage-context-widget .widget-title{font-weight:800;font-size:14px;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none}.usage-context-widget .widget-subtitle{margin-top:4px;font-size:12px;color:#64748b}.usage-mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.usage-mini{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff}.usage-mini-value{font-size:18px;font-weight:900;letter-spacing:-.02em;color:#0f172a}.usage-mini-label{margin-top:4px;font-size:12px;color:#64748b;font-weight:700}.usage-breakdown{margin-top:14px;display:flex;flex-direction:column;gap:10px}.usage-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.usage-row-left{display:flex;flex-direction:column;gap:4px;min-width:0}.usage-row-title{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usage-row-sub{font-size:12px;font-weight:650;color:#64748b;line-height:1.3}.usage-row-value{font-size:12px;font-weight:900;white-space:nowrap}.usage-note{margin-top:14px;padding:12px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;font-size:12px;color:#64748b;font-weight:650;line-height:1.4}.usage-context-widget .live-indicator{color:#16a34a;font-size:12px;font-weight:600;margin-left:8px;animation:pulse-live 1.5s ease-in-out infinite}@media (max-width: 640px){.usage-mini-kpis{grid-template-columns:1fr}}.scope-signals-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:16px;height:100%;display:flex;flex-direction:column}.scope-signals-widget .widget-header{margin-bottom:10px;text-transform:none;letter-spacing:normal}.scope-signals-widget .widget-title{font-weight:800;font-size:14px;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none}.scope-signals-widget .widget-subtitle{margin-top:4px;font-size:12px;color:#64748b}.scope-signals-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.scope-signal-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;align-items:flex-start}.scope-signal-left{display:flex;flex-direction:column;gap:4px;min-width:0}.scope-signal-title{font-weight:900;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-signal-sub{color:#64748b;font-size:12px;font-weight:650;line-height:1.3}.scope-signal-badge{font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;white-space:nowrap;flex:0 0 auto}.scope-signal-badge.good{border-color:#16a34a59;background:#16a34a14;color:#16a34a}.scope-signal-badge.watch{border-color:#f59e0b59;background:#f59e0b1a;color:#b45309}.scope-signal-badge.risk{border-color:#ef444459;background:#ef44441a;color:#b91c1c}.scope-signal-note{margin-top:12px;padding:12px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;font-size:12px;color:#64748b;font-weight:650;line-height:1.4}.financial-implications{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;overflow:hidden}.financial-summary{cursor:pointer;list-style:none;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:900;-webkit-user-select:none;user-select:none}.financial-summary::-webkit-details-marker{display:none}.financial-subtitle{padding:0 16px;margin-top:-4px;font-size:12px;color:#64748b;font-weight:650}.financial-chip{font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;white-space:nowrap;flex:0 0 auto}.financial-chip.hidden{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.financial-chip.watch{background:#fff7ed;border-color:#fed7aa;color:#b45309}.financial-chip.risk{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.financial-chip.good{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.financial-body{padding:14px 16px 16px}.financial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.financial-mini{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff}.financial-mini-value{font-weight:900;font-size:16px;letter-spacing:-.02em}.financial-mini-label{margin-top:4px;color:#64748b;font-size:12px;font-weight:700}.financial-choices{margin-top:12px;display:flex;flex-direction:column;gap:10px}.financial-choice{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.financial-choice-left{display:flex;flex-direction:column;gap:4px;min-width:0}.financial-choice-title{font-weight:900;font-size:13px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.financial-choice-desc{color:#64748b;font-size:12px;font-weight:650;line-height:1.3}.financial-note{margin-top:12px;padding:12px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;font-size:12px;color:#64748b;font-weight:650;line-height:1.4}.financial-meta{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;margin-top:12px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:700;flex-wrap:wrap}.financial-meta strong{color:#0f172a;font-weight:900}@media (max-width: 720px){.financial-grid{grid-template-columns:1fr}}.history-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:16px}.history-widget .widget-header{margin-bottom:10px;text-transform:none;letter-spacing:normal}.history-widget .widget-title{font-weight:800;font-size:14px;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none}.history-widget .widget-subtitle{margin-top:4px;font-size:12px;color:#64748b}.history-timeline{display:flex;flex-direction:column;gap:10px;margin-top:12px}.history-event{display:flex;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;align-items:flex-start}.history-dot{width:10px;height:10px;border-radius:999px;margin-top:4px;background:#3b82f6;box-shadow:0 0 0 4px #3b82f61f;flex:0 0 auto}.history-dot.good{background:#16a34a;box-shadow:0 0 0 4px #16a34a24}.history-dot.watch{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b29}.history-dot.risk{background:#ef4444;box-shadow:0 0 0 4px #ef444424}.history-dot.neutral{background:#3b82f6;box-shadow:0 0 0 4px #3b82f61f}.history-body{display:flex;flex-direction:column;gap:3px;min-width:0}.history-title{font-weight:900;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-desc{color:#64748b;font-size:12px;font-weight:650;line-height:1.3}.history-meta{margin-top:2px;font-size:11px;font-weight:800;color:#475569}.history-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:14px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:650;line-height:1.4;margin-top:12px}.notes-widget-compact{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:14px;overflow:hidden}.notes-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.notes-title{font-weight:800;font-size:14px;letter-spacing:-.01em;color:#0f172a;margin:0;display:flex;align-items:center;gap:4px}.notes-log{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.notes-loading{font-size:12px;color:#94a3b8;font-style:italic}.notes-empty-text{font-size:12px;color:#94a3b8}.note-row{display:flex;flex-direction:column;gap:6px}.note-line{display:flex;align-items:center;gap:6px;font-size:13px;color:#0f172a;line-height:1.4}.note-date{font-weight:700;color:#0f172a;flex-shrink:0}.note-sep{color:#94a3b8;flex-shrink:0}.note-text{flex:1;color:#0f172a}.notes-edit-link{margin-left:auto;background:none;border:none;padding:0;font-size:12px;font-weight:600;color:#94a3b8;cursor:pointer;opacity:0;transition:opacity .15s}.note-row:hover .notes-edit-link{opacity:1}.note-edit{display:flex;flex-direction:column;gap:6px}.note-edit-input{width:100%;min-height:50px;resize:none;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:13px;line-height:1.4;outline:none;background:#fff;color:#0f172a;font-family:inherit;scrollbar-width:none;-ms-overflow-style:none}.note-edit-input::-webkit-scrollbar{width:0;height:0}.note-edit-input:focus{border-color:#3b82f68c;box-shadow:0 0 0 3px #3b82f61a}.note-edit-actions{display:flex;justify-content:flex-start;gap:12px}.note-save-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#3b82f6;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;color:#fff;cursor:pointer;transition:background .15s}.note-save-btn:hover:not(:disabled){background:#2563eb}.note-save-btn:disabled{opacity:.5;cursor:not-allowed}.note-cancel-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:6px 0;font-size:12px;font-weight:600;color:#94a3b8;cursor:pointer}.note-cancel-btn:hover{color:#64748b}.notes-scope-toggle{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;padding:0;margin-bottom:10px;background:transparent;border:none;font-size:12px;color:#64748b;text-align:left;cursor:pointer;transition:background .15s;overflow:hidden}.notes-scope-toggle:hover{background:transparent}.scope-label{font-weight:700;color:#64748b;flex-shrink:0}.scope-preview{flex:1;min-width:0;color:#475569;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-scope-toggle.expanded .scope-preview{white-space:normal;overflow:visible}.scope-chevron{flex-shrink:0;color:#94a3b8;font-size:10px}.notes-add-trigger{display:inline-block;padding:0;background:none;border:none;font-size:12px;font-weight:700;color:#3b82f6;cursor:pointer;transition:color .15s}.notes-add-trigger:hover{color:#2563eb}.notes-add-form{margin-top:8px}.notes-input{width:100%;min-height:50px;max-height:100px;resize:none;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:13px;line-height:1.4;outline:none;background:#fff;color:#0f172a;font-family:inherit;scrollbar-width:none;-ms-overflow-style:none}.notes-input::-webkit-scrollbar{width:0;height:0}.notes-input:focus{border-color:#3b82f68c;box-shadow:0 0 0 3px #3b82f61a}.notes-input:disabled{background:#f8fafc;cursor:not-allowed}.notes-add-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.notes-cancel-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:6px 10px;font-size:12px;font-weight:700;color:#64748b;cursor:pointer}.notes-cancel-btn:hover{color:#475569}.notes-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.notes-save-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#3b82f6;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;color:#fff;cursor:pointer;transition:background .15s}.notes-save-btn:hover:not(:disabled){background:#2563eb}.notes-save-btn:disabled{opacity:.5;cursor:not-allowed}.notes-error-inline{margin-top:8px;font-size:12px;color:#dc2626;font-weight:600}.notes-meta-footer strong{color:#0f172a;font-weight:900}.retainer-widgets-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0}.retainer-widgets-grid .span-2{grid-column:span 2}.retainer-widgets-grid .usage-scope-card{height:100%;align-self:stretch}.retainer-widgets-grid .usage-scope-card>div{height:100%}.retainer-widgets-grid .retainer-equal-card{height:100%;align-self:stretch;min-width:0;overflow:hidden}.retainer-widgets-grid .retainer-equal-card>div{height:100%;min-width:0}.retainer-widgets-grid .prepaid-balance-actions-row{display:flex;gap:20px;align-items:stretch}.retainer-widgets-grid .prepaid-balance-card{width:60%;flex-shrink:0;align-self:stretch;display:flex}.retainer-widgets-grid .prepaid-actions-card{flex:1;min-width:0;align-self:stretch;display:flex}.retainer-widgets-grid .prepaid-actions-card>.next-actions-widget{height:100%}.retainer-widgets-grid .prepaid-balance-card>.capacity-status-widget{height:100%}@media (max-width: 900px){.retainer-widgets-grid .prepaid-balance-actions-row{flex-direction:column}.retainer-widgets-grid .prepaid-balance-card,.retainer-widgets-grid .prepaid-actions-card{width:100%}}.retainer-widgets-loading,.retainer-widgets-error{padding:40px;text-align:center;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;color:#64748b;font-size:.95rem}.retainer-widgets-error{color:#ef4444}.retainer-widgets-empty-period{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;text-align:center;min-height:300px}.empty-period-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.empty-period-message{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:8px}.empty-period-hint{font-size:.9rem;color:#64748b;max-width:360px;line-height:1.5}.capacity-status-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 10px 30px #0f172a0f}.capacity-status-widget .widget-header{margin-bottom:12px;text-transform:none;letter-spacing:normal}.capacity-status-widget .widget-title{font-size:14px;font-weight:800;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none}.capacity-status-widget .widget-subtitle{font-size:12px;color:#64748b;margin:4px 0 0}.capacity-content-row{display:flex;gap:24px;align-items:stretch}.capacity-content-row--full .capacity-box{width:100%}.capacity-box{display:flex;flex-direction:column;gap:14px;background:radial-gradient(1200px 400px at 10% 10%,rgba(22,163,74,.1),transparent 60%),radial-gradient(900px 360px at 90% 30%,rgba(59,130,246,.1),transparent 60%);border:1px solid #e2e8f0;border-radius:16px;padding:16px;width:60%;flex-shrink:0}.capacity-sidebar{flex:1;min-width:0}.capacity-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.capacity-left{display:flex;flex-direction:column}.capacity-right{display:flex;flex-direction:column;gap:6px;min-width:220px}.capacity-bottom{display:flex;flex-direction:column}.capacity-status-widget .status-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;margin-bottom:12px;width:fit-content;border:1px solid #e2e8f0;background:#fff}.capacity-status-widget .status-badge.on-track{color:#16a34a}.capacity-status-widget .status-badge.at-risk{color:#f59e0b}.capacity-status-widget .status-badge.over{color:#ef4444}.capacity-status-widget .status-dot{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #16a34a26}.capacity-status-widget .status-badge.at-risk .status-dot{box-shadow:0 0 0 4px #f59e0b2e}.capacity-status-widget .status-badge.over .status-dot{box-shadow:0 0 0 4px #ef444426}.hours-display{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}.hours-used{font-size:34px;font-weight:900;color:#0f172a;line-height:1.1;letter-spacing:-.03em}.hours-total{font-size:24px;font-weight:700;color:#0f172a}.hours-label{font-size:12px;color:#64748b;font-weight:700;margin-bottom:12px}.capacity-bar{position:relative;height:12px;background:#eef2f7;border-radius:999px;border:1px solid #e2e8f0;overflow:hidden;margin-bottom:8px}.capacity-fill{height:100%;border-radius:999px;transition:width .3s ease}.capacity-fill.on-track{background:#16a34a}.capacity-fill.at-risk{background:#f59e0b}.capacity-fill.over{background:#ef4444}.capacity-meta{display:flex;justify-content:space-between;font-size:12px;color:#64748b;font-weight:700;flex-wrap:wrap;gap:12px}.capacity-status-widget .stat-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.capacity-status-widget .stat-label{font-size:12px;color:#64748b;font-weight:700}.capacity-status-widget .stat-value{font-size:12px;font-weight:900;color:#0f172a;white-space:nowrap}.non-billable-label{font-size:14px;color:#94a3b8;font-weight:500;margin-left:12px}.live-indicator{color:#16a34a;font-size:12px;font-weight:600;margin-left:8px;animation:pulse-live 1.5s ease-in-out infinite}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.capacity-box{width:100%}.capacity-top{flex-direction:column;gap:16px}}.next-actions-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 10px 30px #0f172a0f}.capacity-sidebar .next-actions-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;height:100%;box-sizing:border-box}.next-actions-widget .widget-header{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px;text-transform:none;letter-spacing:normal}.next-actions-widget .widget-title{font-size:14px;font-weight:800;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none}.next-actions-widget .widget-subtitle{font-size:12px;color:#64748b;margin:0}.next-actions-widget .actions-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.next-actions-widget .action-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.next-actions-widget .action-item:last-child{border-bottom:1px solid #e2e8f0}.next-actions-widget .action-content{flex:1;min-width:0}.next-actions-widget .action-title{font-size:13px;font-weight:900;letter-spacing:-.01em;color:#0f172a;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-actions-widget .action-desc{font-size:12px;font-weight:650;color:#64748b;line-height:1.3;min-height:2.9em}.next-actions-widget .action-desc.is-placeholder{visibility:hidden}.next-actions-widget .action-badge{font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0;border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a}.next-actions-widget .action-item.is-placeholder{background:#f8fafc;border-style:dashed;color:#94a3b8}.next-actions-widget .action-item.is-placeholder .action-title{font-weight:600;color:#94a3b8}.next-actions-widget .action-badge.is-placeholder{visibility:hidden}:root{--project-bg: #f6f8fb;--project-card: #ffffff;--project-border: #e6eef7;--project-text: #0f172a;--project-muted: #64748b;--project-blue: #3b5bbb;--project-green: #16a34a;--project-amber: #f59e0b;--project-red: #ef4444;--project-shadow: 0 1px 0 rgba(16,24,40,.02), 0 10px 28px rgba(16,24,40,.07);--project-radius: 14px}.project-widgets-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.project-full{grid-column:1 / -1}.project-widgets-loading,.project-widgets-error,.project-widgets-empty{padding:40px;text-align:center;background:var(--project-card);border:1px solid var(--project-border);border-radius:var(--project-radius);box-shadow:var(--project-shadow);color:var(--project-muted);font-size:.95rem}.project-widgets-error{color:var(--project-red)}.project-card{background:var(--project-card);border:1px solid var(--project-border);border-radius:var(--project-radius);box-shadow:var(--project-shadow);padding:14px}.project-usage-context{align-self:start}.project-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.project-card h3{margin:0;font-size:13px;font-weight:600;color:var(--project-text)}.project-sub{margin:6px 0 0;color:var(--project-muted);font-size:12px;line-height:1.35}.project-tag{font-size:11px;font-weight:900;padding:7px 10px;border-radius:999px;border:1px solid var(--project-border);background:#fff;color:var(--project-muted);white-space:nowrap}.project-tag.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.project-tag.watch{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.project-tag.risk{background:#fef2f2;border-color:#fecaca;color:#991b1b}.project-tag.neutral{background:#f8fafc;border-color:#e2e8f0;color:#334155}.project-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.project-metric{border:1px solid var(--project-border);border-radius:12px;padding:12px;background:linear-gradient(135deg,#f2f6ff,#fff)}.project-metric .v{font-size:18px;font-weight:950;color:var(--project-text)}.project-metric .l{margin-top:4px;color:var(--project-muted);font-size:12px}.project-row{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:12px;color:var(--project-muted)}.project-row b{color:var(--project-text);font-weight:800}.project-progress{margin-top:10px;height:10px;border-radius:999px;background:#e8eef6;overflow:hidden}.project-progress>div{height:100%;border-radius:999px;background:var(--project-blue);transition:width .3s ease}.project-progress.green>div{background:var(--project-green)}.project-progress.amber>div{background:var(--project-amber)}.project-progress.red>div{background:var(--project-red)}.project-hero{border:1px solid var(--project-border);border-radius:14px;padding:14px;background:linear-gradient(135deg,#ecfeff,#fff);min-height:166px;display:flex;flex-direction:column;justify-content:space-between}.project-hero.watch{background:linear-gradient(135deg,#fffbeb,#fff)}.project-hero.risk{background:linear-gradient(135deg,#fef2f2,#fff)}.project-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-status-line{display:flex;align-items:center;gap:8px}.project-dot{width:10px;height:10px;border-radius:999px}.project-dot.ok{background:var(--project-green)}.project-dot.watch{background:var(--project-amber)}.project-dot.risk{background:var(--project-red)}.project-hero .big{font-size:34px;font-weight:1000;letter-spacing:-.02em;color:var(--project-text)}.project-hero .small{color:var(--project-muted);font-size:12px;margin-top:2px}.project-mute-line{margin-top:10px;color:var(--project-muted);font-size:12px;line-height:1.35}.project-actions-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.project-action-item{border:1px solid var(--project-border);border-radius:12px;padding:12px;background:#fff;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.project-action-item .left{display:flex;flex-direction:column;gap:4px}.project-action-item .t{font-weight:950;font-size:12px;color:var(--project-text)}.project-action-item .d{font-size:12px;color:var(--project-muted);line-height:1.35}.project-badge{font-size:11px;font-weight:950;padding:6px 10px;border-radius:999px;border:1px solid var(--project-border);background:#fff;white-space:nowrap}.project-badge.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.project-badge.watch{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.project-badge.risk{background:#fef2f2;border-color:#fecaca;color:#991b1b}.project-list{margin-top:10px;border:1px solid var(--project-border);border-radius:12px;overflow:hidden}.project-list-item{padding:12px;background:#fff;display:flex;gap:10px;align-items:flex-start;border-top:1px solid #f1f5f9}.project-list-item:first-child{border-top:none}.project-list-icon{width:22px;height:22px;border-radius:999px;background:#eef2ff;border:1px solid #d6dcff;display:flex;align-items:center;justify-content:center;font-weight:950;color:#1e3a8a;font-size:12px;flex:0 0 auto}.project-list-meta{display:flex;flex-direction:column;gap:3px}.project-list-meta b{font-size:12px;color:var(--project-text)}.project-list-meta span{font-size:12px;color:var(--project-muted);line-height:1.35}.project-btn{border:1px solid var(--project-border);background:#fff;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:850;font-size:13px;white-space:nowrap;transition:all .15s ease;color:var(--project-text)}.project-btn:hover:not(:disabled){background:#f8fafc}.project-btn.primary{background:var(--project-blue);color:#fff;border-color:transparent}.project-btn.primary:hover:not(:disabled){opacity:.9}.project-btn:disabled{opacity:.5;cursor:not-allowed}.project-btn.link{border-color:transparent;background:transparent;color:#2563eb;padding:10px 8px}.project-btn.sm{padding:9px 10px;font-size:12px}.project-ms-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:6px}.project-ms-header .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.project-ms-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.project-ms-card{border:1px solid var(--project-border);border-radius:14px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:166px;box-shadow:0 1px #10182805,0 8px 20px #10182814}.project-ms-card.watch{border-left:3px solid var(--project-amber)}.project-ms-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-ms-title{display:flex;flex-direction:column;gap:4px}.project-ms-title b{font-size:12px;color:var(--project-text)}.project-ms-title span{font-size:12px;color:var(--project-muted)}.project-ms-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-ms-meta .kv{border:1px solid #edf2f7;border-radius:12px;padding:10px;background:linear-gradient(135deg,#f8fafc,#fff)}.project-ms-meta .kv .v{font-weight:950;font-size:13px;color:var(--project-text)}.project-ms-meta .kv .l{margin-top:3px;color:var(--project-muted);font-size:12px}.project-ms-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.project-ms-footer .hint{color:var(--project-muted);font-size:12px}.project-ms-actions{display:flex;gap:8px;align-items:center}.project-intelligence-panel{border:1px solid var(--project-border);border-radius:14px;background:linear-gradient(135deg,#f8fafc,#fff);padding:16px;display:flex;flex-direction:column;gap:14px;min-height:166px;box-shadow:0 1px #10182805,0 8px 20px #10182814}.project-intel-header{display:flex;align-items:center;gap:8px}.project-intel-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--project-muted)}.project-intel-signals{display:flex;flex-direction:column;gap:10px}.project-intel-signal{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #edf2f7}.project-intel-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--project-muted)}.project-intel-message{font-size:13px;font-weight:500;color:var(--project-text);line-height:1.35}.project-intel-signal.normal .project-intel-message,.project-intel-signal.target .project-intel-message,.project-intel-signal.clear .project-intel-message{color:var(--project-text)}.project-intel-signal.ahead .project-intel-message,.project-intel-signal.strong .project-intel-message{color:#059669}.project-intel-signal.over .project-intel-message,.project-intel-signal.watch .project-intel-message,.project-intel-signal.below .project-intel-message{color:#d97706}.project-intel-signal.risk .project-intel-message{color:#dc2626}.project-intel-signal.unknown .project-intel-message{color:var(--project-muted);font-style:italic}.project-intel-action{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;margin-top:auto}.project-intel-action-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--project-muted)}.project-intel-action-message{font-size:14px;font-weight:600;color:var(--project-text);line-height:1.3}.project-intel-action.high{background:linear-gradient(135deg,#fef3c7,#fffbeb);border-color:#fcd34d}.project-intel-action.high .project-intel-action-message{color:#92400e}.project-intel-action.medium{background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border-color:#7dd3fc}.project-intel-action.medium .project-intel-action-message{color:#0369a1}.project-intel-action.low{background:#f8fafc;border-color:#e2e8f0}.project-intel-action.low .project-intel-action-message{color:var(--project-text)}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.project-modal{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:500px;box-shadow:0 25px 50px #0f172a40}.project-modal h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1e293b}.project-modal-field{margin-bottom:16px}.project-modal-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#475569}.project-modal-field input,.project-modal-field textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:border-color .15s ease}.project-modal-field input:focus,.project-modal-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-modal-field textarea{resize:vertical;min-height:60px}.project-modal-error{margin-bottom:16px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.project-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.project-modal-cancel,.project-modal-submit{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.project-modal-cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.project-modal-cancel:hover:not(:disabled){background:#e2e8f0}.project-modal-submit{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.project-modal-submit:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.project-modal-submit:disabled,.project-modal-cancel:disabled{opacity:.6;cursor:not-allowed}.project-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.project-modal-grid .project-modal-field{margin-bottom:0}.project-modal-grid .project-modal-field.full-width{grid-column:span 2}.project-select{width:100%;padding:10px 12px;font-size:14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#1e293b;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.project-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-select:disabled{background-color:#f8fafc;color:#94a3b8;cursor:not-allowed}.project-payment-amount{padding:10px 12px;font-size:14px;font-weight:600;color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.project-value-source-hint{font-size:12px;color:#64748b;margin-bottom:10px}.project-value-source-options{display:flex;flex-direction:column;gap:10px}.project-value-source-option{display:flex;flex-direction:column;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease}.project-value-source-option:hover{border-color:#cbd5e1;background:#f1f5f9}.project-value-source-option.selected{border-color:#3b82f6;background:#eff6ff}.project-value-source-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.project-value-source-label{font-size:14px;font-weight:500;color:#1e293b;margin-bottom:2px}.project-value-source-desc{font-size:12px;color:#64748b}.project-value-source-option.selected .project-value-source-label{color:#1d4ed8}.project-value-source-warning{display:flex;gap:10px;margin-top:12px;padding:12px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px}.project-value-source-warning-icon{font-size:16px;flex-shrink:0}.project-value-source-warning strong{display:block;font-size:13px;font-weight:600;color:#92400e;margin-bottom:4px}.project-value-source-warning p{font-size:12px;color:#78350f;margin:0;line-height:1.4}.project-modal-confirm{max-width:420px}.project-adjust-preview{margin:20px 0;padding:16px;background:#f8fafc;border-radius:8px}.project-adjust-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:#475569}.project-adjust-row.project-adjust-add{color:#059669;font-weight:500}.project-adjust-row.project-adjust-total{padding-top:12px;margin-top:8px;border-top:1px solid #e2e8f0;font-size:16px;font-weight:600;color:#1e293b}.project-adjust-note{font-size:12px;color:#64748b;margin:16px 0 0;line-height:1.5}@media (max-width: 980px){.project-widgets-grid,.project-two-col,.project-ms-grid{grid-template-columns:1fr}}@media (max-width: 600px){.project-mini-grid,.project-ms-meta{grid-template-columns:1fr}.project-ms-footer{flex-direction:column;align-items:flex-start}.project-ms-actions{width:100%;justify-content:flex-end}.project-ms-header .right{width:100%;justify-content:flex-start}.project-modal-grid{grid-template-columns:1fr}.project-modal-grid .project-modal-field.full-width{grid-column:span 1}}.project-title-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.project-title-actions h3{margin:0}.project-title-actions .project-sub{flex-basis:100%;margin:0}.project-live-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--project-green);animation:project-live-pulse 2s ease-in-out infinite}@keyframes project-live-pulse{0%,to{opacity:1}50%{opacity:.4}}.business-health-card{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%}.health-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}.health-stat{display:flex;flex-direction:column;gap:4px;padding:14px;background:linear-gradient(135deg,#f0f5ff,#fff);border:1px solid #e2e8f0;border-radius:12px;min-width:0}.health-stat-value{font-size:20px;font-weight:800;color:#0f172a;letter-spacing:-.02em;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:nowrap}.health-stat-label{font-size:12px;font-weight:500;color:#334155;line-height:1.3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.health-stat-sublabel{font-size:11px;color:#94a3b8;line-height:1.3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.highlight-green{color:#15803d}.highlight-red{color:#dc2626}.highlight-amber{color:#d97706}.health-stats-grid--period{grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto}.health-stats-grid--period .health-stat--collected{grid-row:1 / 3;grid-column:3;display:flex;align-items:center;justify-content:center;text-align:center}.health-stats-grid--period .health-stat--collected .health-stat-value{font-size:28px}@media (max-width: 1200px){.health-stats-grid{grid-template-columns:repeat(4,1fr)}.health-stat-value{font-size:18px}.health-stats-grid--period{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.health-stats-grid,.health-stats-grid--period{grid-template-columns:repeat(2,1fr)}.health-stats-grid--period .health-stat--collected{grid-row:auto;grid-column:auto}}.attention-card{display:flex;flex-direction:column;height:100%}.urgent-badge{display:inline-flex;align-items:center;padding:6px 14px;background:#fee2e2;color:#b91c1c;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}.attention-list{display:flex;flex-direction:column;gap:16px;flex:1}.attention-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.attention-item:last-child{margin-bottom:0}.attention-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.attention-title{font-size:14px;font-weight:600;color:#0f172a}.attention-description{font-size:13px;color:#64748b;line-height:1.5}.attention-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.view-button{padding:6px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#334155;cursor:pointer;transition:all .15s ease;white-space:nowrap}.view-button:hover{background:#f1f5f9;border-color:#cbd5e1}.attention-empty{padding:32px;text-align:center}.attention-empty-text{color:#64748b;font-size:14px;margin:0}.attention-footer{margin:16px 0 0;padding-top:12px;font-size:13px;color:#94a3b8;font-style:italic}.client-radar-card{display:flex;flex-direction:column}.view-all-link{background:none;border:none;padding:0;font-size:13px;font-weight:500;color:#3b82f6;cursor:pointer;white-space:nowrap}.view-all-link:hover{text-decoration:underline}.client-radar-list{display:flex;flex-direction:column;gap:8px}.client-radar-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s ease}.client-radar-row:last-child{border-bottom:none}.client-radar-row:hover{background:#f8fafc;margin:0 -12px;padding:12px;border-radius:8px}.client-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.client-avatar-ok{background:#22c55e}.client-avatar-watch{background:#f59e0b}.client-avatar-risk{background:#ef4444}.client-radar-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.client-radar-header{display:flex;align-items:center;gap:8px}.client-radar-name{font-size:14px;font-weight:600;color:#0f172a}.client-radar-type{font-size:12px;font-weight:500;color:#64748b;margin-left:4px}.client-radar-summary{font-size:13px;color:#334155;line-height:1.4}.client-radar-detail{font-size:12px;color:#94a3b8}.radar-empty{padding:32px;text-align:center;color:#94a3b8}.activity-card{display:flex;flex-direction:column}.activity-list{display:flex;flex-direction:column;gap:4px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;transition:background .15s ease}.activity-item:hover{background:#f8fafc}.activity-bullet{width:8px;height:8px;background:#94a3b8;border-radius:50%;flex-shrink:0;margin-top:6px}.activity-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.activity-title{font-size:14px;font-weight:500;color:#0f172a}.activity-description{font-size:13px;color:#64748b;line-height:1.4}.activity-time{font-size:12px;color:#94a3b8;white-space:nowrap;flex-shrink:0}.activity-empty{padding:32px;text-align:center;color:#94a3b8}.profit-plan-card{background:#fff}.edit-profile-link{background:none;border:none;padding:0;font-size:13px;font-weight:500;color:#3b82f6;cursor:pointer;white-space:nowrap}.edit-profile-link:hover{text-decoration:underline}.profit-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 16px;margin-bottom:24px}.profit-stat{display:flex;flex-direction:column;gap:2px}.profit-stat-value{font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.profit-stat-label{font-size:13px;font-weight:600;color:#334155}.profit-stat-sublabel{font-size:12px;color:#94a3b8}@media (max-width: 768px){.profit-stats-grid{grid-template-columns:repeat(2,1fr)}}.profit-status-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.profit-status-cards{grid-template-columns:1fr}}.status-card{padding:16px;border-radius:12px;display:flex;flex-direction:column;gap:8px;border-left:4px solid}.status-card-ok{background:#f0fdf4;border-color:#22c55e;border-top:1px solid #bbf7d0;border-right:1px solid #bbf7d0;border-bottom:1px solid #bbf7d0}.status-card-watch{background:#fffbeb;border-color:#f59e0b;border-top:1px solid #fde68a;border-right:1px solid #fde68a;border-bottom:1px solid #fde68a}.status-card-risk{background:#fef2f2;border-color:#ef4444;border-top:1px solid #fecaca;border-right:1px solid #fecaca;border-bottom:1px solid #fecaca}.status-card-label{font-size:18px;font-weight:700}.status-card-label-ok{color:#15803d}.status-card-label-watch{color:#d97706}.status-card-label-risk{color:#dc2626}.status-card-title{font-size:13px;font-weight:400;color:#64748b}.status-card-progress{margin:4px 0}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-fill-ok{background:#22c55e}.progress-fill-watch{background:#f59e0b}.progress-fill-risk{background:#ef4444}.status-card-description{font-size:13px;color:#64748b;margin:0;line-height:1.5}.notes-card{display:flex;flex-direction:column;min-height:180px}.notes-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:12px}.notes-card-header .card-title{font-size:14px;font-weight:800;color:#0f172a;margin:0}.notes-card-header .card-subtitle{font-size:12px;color:#64748b;margin:2px 0 0}.notes-badge{display:inline-flex;align-items:center;padding:5px 14px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap;background:#e8edf5;color:#2d3a5c;border:1px solid #d0d9ea}.system-notes-list{margin:4px 0 0;padding:0 0 0 20px;list-style:disc;font-size:13px;color:#334155;line-height:1.7}.system-notes-list li{margin-bottom:2px}.system-notes-list strong{color:#0f172a;font-weight:700}.notes-empty-text{font-size:13px;color:#94a3b8;margin:0}.notes-add-btn{background:none;border:none;padding:0;margin-top:8px;color:#3e6ea8;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.notes-add-btn:hover{color:#2c5282;text-decoration:underline}.notes-textarea{width:100%;min-height:80px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#334155;line-height:1.6;resize:vertical;background:#f8fafc;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.notes-textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61a;background:#fff}.notes-textarea::placeholder{color:#94a3b8}.notes-saving-indicator{font-size:11px;color:#94a3b8;font-style:italic;white-space:nowrap;padding-top:2px}.summary-dashboard>.summary-row{border:none}.summary-card{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:20px;box-shadow:0 5px 15px #0000000d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.card-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:16px}.card-header-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-transform:none;letter-spacing:normal}.card-title{font-size:14px;font-weight:800;letter-spacing:-.01em;color:#0f172a;margin:0;text-transform:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.card-subtitle{font-size:12px;color:#64748b;margin:2px 0 0;text-transform:none;letter-spacing:normal;font-variant-caps:normal;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.status-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}.status-chip-small{padding:4px 10px;font-size:12px}.status-chip-ok{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.status-chip-watch{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.status-chip-risk{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.widget-container-section{display:flex;flex-direction:column;gap:14px;margin-top:16px}.summary-dashboard{display:flex;flex-direction:column;gap:16px;padding:0;max-width:100%;background:transparent}.summary-period-filter-row{display:flex;align-items:center;gap:12px}.summary-dashboard>.summary-row{display:grid;gap:16px;align-items:stretch;padding:0;border:none;border-bottom:none;justify-content:initial}.summary-dashboard>.summary-row.summary-row-top{grid-template-columns:3fr 2fr}.summary-dashboard>.summary-row.summary-row-middle{grid-template-columns:3fr 2fr}@media (max-width: 1024px){.summary-dashboard>.summary-row.summary-row-top,.summary-dashboard>.summary-row.summary-row-middle,.summary-dashboard>.summary-row.summary-row-notes{grid-template-columns:1fr}}.summary-dashboard>.summary-row.summary-row-notes{grid-template-columns:1fr 1fr}.summary-dashboard-loading,.summary-dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;color:#64748b;font-size:.95rem;gap:12px}.summary-dashboard-error{color:#ef4444}.summary-dashboard-error button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500}.loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.summary-redesign{max-width:560px}.summary-redesign .step-header{margin-bottom:32px}.summary-redesign .step-title{font-size:1.5rem;font-weight:600;color:#1a1a2e;margin:0 0 8px}.summary-redesign .step-description{font-size:.938rem;color:#6b7280;margin:0;line-height:1.5}.summary-sections{display:flex;flex-direction:column;gap:24px}.summary-section{background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px}.summary-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.summary-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:0}.summary-edit-link{background:none;border:none;font-size:.813rem;font-weight:500;color:#6366f1;cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:6px;transition:background-color .15s ease}.summary-edit-link:hover{background:#6366f114;color:#4f46e5}.summary-section-content{display:flex;flex-direction:column;gap:12px}.summary-item{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.summary-item-label{font-size:.875rem;color:#6b7280;flex-shrink:0}.summary-item-value{font-size:.875rem;font-weight:500;color:#374151;text-align:right}.summary-item-highlight .summary-value-emphasis{font-size:.938rem;font-weight:600;color:#1a1a2e}.summary-actions{margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;gap:12px}.summary-actions .btn{padding:12px 24px;font-size:.938rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease}.summary-actions .btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.summary-actions .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.summary-actions .btn-primary{background:#4f46e5;border:1px solid #4f46e5;color:#fff;flex:1;max-width:220px}.summary-actions .btn-primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.summary-actions .btn:disabled{opacity:.6;cursor:not-allowed}.summary-actions .spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}@media (max-width: 480px){.summary-section{padding:16px 18px}.summary-item{flex-direction:column;gap:4px;align-items:flex-start}.summary-item-value{text-align:left}.summary-actions{flex-direction:column-reverse}.summary-actions .btn-primary{max-width:none}}.summary-milestones{margin-top:8px;padding-top:12px;border-top:1px dashed #e5e7eb}.milestone-summary-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-left:8px}.milestone-summary-item{display:flex;align-items:center;gap:10px;font-size:.813rem}.milestone-summary-number{width:20px;height:20px;background:#6366f1;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.milestone-summary-title{flex:1;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-summary-date{font-size:.75rem;color:#9ca3af;flex-shrink:0;width:50px;text-align:right;margin-right:12px}.milestone-summary-amount{font-weight:600;color:#1a1a2e;flex-shrink:0;width:70px;text-align:right}.add-client-wizard{max-width:720px;margin:0;padding:var(--spacing-lg) 0}.wizard-progress-container{max-width:720px;margin:0 auto}.wizard-header{text-align:center;margin-bottom:var(--spacing-xl)}.wizard-title{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px;letter-spacing:-.5px}.wizard-subtitle{font-size:15px;color:var(--color-text-secondary);margin:0}.wizard-progress{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl);gap:0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.progress-line{flex-shrink:0}.step-number{width:36px;height:36px;border-radius:50%;background:var(--color-bg-hover);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--color-text-secondary);transition:all .2s}.progress-step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.progress-step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:13px;color:var(--color-text-muted);font-weight:500}.progress-step.active .step-label{color:var(--color-text-primary)}.progress-line{width:60px;height:2px;background:var(--color-border);margin:0 var(--spacing-md);margin-bottom:28px}.progress-line.completed{background:var(--color-success)}.wizard-content{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.wizard-step-card{padding:var(--spacing-xl)}.step-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.step-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.step-description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.step-form{margin-bottom:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.access-code-input{display:flex;align-items:center;gap:8px}.access-code-input .access-code-part{width:auto;text-align:center;font-family:SF Mono,Monaco,Consolas,monospace;font-size:18px;font-weight:600;letter-spacing:2px;text-transform:uppercase}.access-code-input .access-code-part:first-of-type{width:70px}.access-code-input .access-code-part:last-of-type{width:90px}.access-code-dash{font-size:24px;font-weight:600;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.add-client-wizard .form-group{display:flex;flex-direction:column;gap:6px}.add-client-wizard .form-group label{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.form-input,.form-select{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:15px;color:var(--color-text-primary);background:var(--color-bg-card);transition:all .15s ease}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input.input-error{border-color:var(--color-danger)}.form-input.input-error:focus{box-shadow:0 0 0 3px #ef444426}.form-input.input-valid{border-color:var(--color-success)}.form-input.input-valid:focus{box-shadow:0 0 0 3px #10b98126}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-hint{font-size:12px;color:var(--color-text-muted);line-height:1.4}.form-error{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--color-danger-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--color-danger);font-size:14px;margin-top:var(--spacing-md)}.form-error svg{flex-shrink:0}.form-input.input-readonly{background:var(--color-bg-hover);color:var(--color-text-primary);cursor:default;border-color:var(--color-border-light)}.form-input.input-readonly:focus{border-color:var(--color-border-light);box-shadow:none}.form-textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:15px;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-card);resize:vertical;min-height:80px;transition:all .15s ease}.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-row.full-width{grid-template-columns:1fr}.step-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.step-actions .btn{min-width:120px}.step-actions .btn-primary,.step-actions .btn-secondary{display:inline-flex;align-items:center;gap:8px}.step-actions .btn-primary svg{transition:transform .15s ease}.step-actions .btn-primary:hover:not(:disabled) svg{transform:translate(3px)}.step-actions .btn-secondary svg{transition:transform .15s ease}.step-actions .btn-secondary:hover:not(:disabled) svg{transform:translate(-3px)}.step-actions .btn-success{display:inline-flex;align-items:center;gap:8px}.form-subsection{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.form-subsection:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.subsection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.subsection-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-md)}.subsection-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;background:var(--color-info-bg);color:var(--color-info);border:1px solid rgba(59,130,246,.2);margin-left:auto}.subsection-tag-orange{background:var(--color-warning-bg);color:#b45309;border:1px solid rgba(245,158,11,.2)}.subsection-tag-teal{background:#14b8a61a;color:#0d9488;border:1px solid rgba(20,184,166,.2)}.subsection-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.badge-blue{background:var(--color-info-bg);color:var(--color-info);border:1px solid rgba(59,130,246,.2)}.badge-orange{background:var(--color-warning-bg);color:#b45309;border:1px solid rgba(245,158,11,.2)}.badge-green{background:var(--color-success-bg);color:#047857;border:1px solid rgba(16,185,129,.2)}.form-input[type=date]{cursor:pointer}.form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .15s ease}.form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-suffix{position:relative;display:flex;align-items:center}.input-with-suffix .form-input{padding-right:60px}.input-suffix-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:11px;font-weight:600;color:var(--color-text-muted);letter-spacing:.3px;pointer-events:none}.input-suffix-badge-calc{min-width:60px}.summary-panel{background:transparent;border:none;border-radius:0;padding:0}.summary-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.summary-subtitle{font-size:13px;color:var(--color-text-muted);margin:0 0 var(--spacing-lg) 0}.summary-rows{display:flex;flex-direction:column;gap:0}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--color-border-light)}.summary-row:first-child{padding-top:0}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-label{font-size:14px;color:var(--color-text-secondary);font-weight:400}.summary-value{font-size:14px;font-weight:600;color:var(--color-text-primary);text-align:right}.advanced-settings{border-top:1px solid var(--color-border-light);padding-top:var(--spacing-lg);margin-top:var(--spacing-lg)}.advanced-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .2s}.advanced-toggle:hover{color:var(--color-text-primary)}.advanced-toggle svg{color:var(--color-text-muted)}.advanced-content{margin-top:var(--spacing-md);padding-left:24px}.milestones-setup{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.milestones-setup-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.milestones-empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary)}.milestones-empty p{margin:0}.milestone-field-with-hint{display:flex;flex-direction:column;gap:4px}.milestone-field-with-hint .field-hint{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.milestones-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.milestone-row{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.milestone-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0;margin-top:8px}.milestone-fields{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.milestone-title-input{font-weight:500}.milestone-row-details{display:flex;gap:var(--spacing-sm);align-items:center}.milestone-amount{width:140px;flex-shrink:0}.milestone-hours-input{width:100px;flex-shrink:0}.milestone-date-input{width:140px;flex-shrink:0}.btn-icon-remove{background:none;border:none;width:28px;height:28px;border-radius:50%;font-size:18px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;margin-left:16px}.btn-icon-remove:hover{background:var(--color-danger-bg);color:var(--color-danger)}.milestones-summary{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.milestones-total{display:flex;justify-content:space-between;font-weight:600;margin-bottom:var(--spacing-xs)}.total-match{color:var(--color-success)}.total-mismatch{color:var(--color-warning)}.milestones-warning{font-size:13px;color:var(--color-warning);display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.milestones-match{font-size:13px;color:var(--color-success)}.btn-link{background:none;border:none;padding:0;color:var(--color-primary);font-size:inherit;font-weight:500;cursor:pointer;text-decoration:underline}.btn-link:hover{color:var(--color-primary-dark)}.btn-outline.btn-sm{padding:6px 12px;font-size:13px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}@media (max-width: 640px){.milestone-row-details{flex-wrap:wrap}.milestone-amount,.milestone-hours-input,.milestone-date-input{width:calc(50% - var(--spacing-sm));flex-shrink:1}}.timesheet-layout{display:flex;min-height:100vh;background:var(--color-bg-page, #f8fafc)}.timesheet-main{min-height:calc(100vh - var(--topnav-height, 52px));flex:1}.timesheet-content{max-width:1200px;width:100%}.timesheet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.timesheet-title h1{margin:0 0 4px;font-size:28px;font-weight:700;color:var(--color-text-primary, #1e293b)}.timesheet-subtitle{margin:0;font-size:14px;color:var(--color-text-secondary, #64748b)}.timesheet-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.client-filter,.period-filter{display:flex;align-items:center;gap:8px}.timesheet-controls .period-filter{border:none;background:transparent;border-radius:0;overflow:visible;width:auto}.filter-label{font-size:14px;font-weight:500;color:var(--color-text-secondary, #64748b)}.week-navigation{display:flex;align-items:center;gap:12px}.nav-btn{width:36px;height:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:20px;color:#475569;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.nav-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.current-week-btn{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#475569;transition:all .15s ease}.week-range{font-size:16px;font-weight:600;color:#1e293b;min-width:180px;text-align:center}.month-year-selects{display:flex;gap:8px}.custom-dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:15px;font-weight:600;color:#1e293b;cursor:pointer;min-width:100px;justify-content:space-between}.dropdown-trigger:hover{border-color:#cbd5e1}.dropdown-arrow{font-size:12px;color:#64748b}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:100%;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000}.dropdown-item{padding:10px 14px;cursor:pointer;font-size:14px;color:#334155;transition:background .1s}.dropdown-item:hover{background:#f1f5f9}.dropdown-item.selected{background:#e0e7ff;color:#4338ca;font-weight:600}.timesheet-table-container{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow-x:auto;width:100%}.loading-state{padding:48px;text-align:center;color:#64748b;font-size:14px}.timesheet-table{width:100%;min-width:900px;border-collapse:collapse;font-size:14px}.timesheet-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.timesheet-table th{padding:14px 16px;text-align:left;font-weight:600;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.timesheet-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s ease}.timesheet-table tbody tr:hover{background:#fafbfc}.timesheet-table tbody tr.today{background:#f0f9ff}.timesheet-table tbody tr.today:hover{background:#e0f2fe}.timesheet-table tbody tr.editing{background:#fef3c7}.timesheet-table tbody tr.empty-day{background:#fafafa}.timesheet-table tbody tr.empty-day:hover{background:#f5f5f5}.timesheet-table tbody tr.day-header-row{background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.timesheet-table tbody tr.day-header-row:hover{background:#f8fafc}.timesheet-table tbody tr.day-header-row td{position:relative}.timesheet-table tbody tr.day-header-row td:before{content:"";display:block;height:6px}.timesheet-table td{padding:12px 16px;vertical-align:middle}.col-client{width:140px}.col-work{min-width:220px}.col-time{width:160px;text-align:center}.col-duration{width:100px;text-align:right}.col-actions{width:80px;text-align:right}.col-actions-mini{width:80px;text-align:right;padding:12px 16px}.date-cell{display:flex;flex-direction:column;gap:2px}.day-header-content{display:flex;align-items:center;justify-content:flex-start;gap:16px}.day-header-total{display:flex;align-items:center;gap:10px;margin-left:6px}.day-total-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.day-total-value{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:700;font-family:SF Mono,Monaco,Consolas,monospace;border:1px solid #a5b4fc}.date-cell .day-name{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.date-cell .day-date{font-size:14px;font-weight:600;color:#1e293b}.today .date-cell .day-date{color:#3b82f6}.client-name,.project-name{font-size:13px;color:#475569}.client-name{display:flex;flex-direction:column;gap:2px}.client-business{font-weight:600;color:#1e293b;line-height:1.2}.client-contact{font-size:12px;color:#64748b;line-height:1.2}.work-stack{display:flex;flex-direction:column;gap:4px}.work-engagement{font-size:13px;color:#475569;font-weight:600}.work-task{font-size:12px;color:#64748b;font-weight:500}.empty-desc{color:#cbd5e1}.time-value{font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace;color:#475569}.time-range{display:inline-flex;align-items:center;gap:4px}.time-arrow{margin:0;color:#94a3b8;font-weight:600}.time-value .running{color:#22c55e;font-style:italic;font-family:inherit}.duration-value{font-size:14px;font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace;color:#1e293b}.duration-value.running{color:#22c55e}.duration-with-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.day-total-badge{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:700;font-family:SF Mono,Monaco,Consolas,monospace;border:1px solid #a5b4fc;display:flex;align-items:center;gap:4px}.day-total-badge:before{content:"Day:";font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.day-total-inline{font-size:14px;font-weight:600;color:#94a3b8;font-family:SF Mono,Monaco,Consolas,monospace}.no-entries-cell{text-align:center}.no-entries-text{font-size:13px;color:#94a3b8;font-style:italic}.edit-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.timesheet-table tfoot{background:#f8fafc;border-top:2px solid #e2e8f0}.totals-row td{padding:16px}.totals-label{font-size:14px;color:#1e293b}.totals-label strong{font-weight:700}.entries-count{margin-left:8px;color:#64748b;font-weight:400}.weekly-total{font-size:18px;font-weight:700;color:#1e293b;font-family:SF Mono,Monaco,Consolas,monospace}.timesheet-footer{margin-top:16px;padding:12px 16px;background:#f8fafc;border-radius:8px}.timesheet-footer p{font-size:13px;color:#64748b;margin:0}.correction-form-row td{padding:0 16px 16px!important;background:#f8fafc;border-top:none!important}.ts-corrected-row{opacity:.5}.ts-strike{text-decoration:line-through}.ts-correction-entry td{border-top:none!important;padding-top:2px!important;padding-bottom:2px!important}.ts-correction-entry:last-of-type td{padding-bottom:12px!important}.ts-cx-arrow{font-size:14px;color:#94a3b8;margin-right:4px}.ts-cx-reason{font-size:11px;color:#94a3b8;font-style:italic;margin-top:2px}.ts-correction-form{display:flex;flex-direction:column;gap:12px}.ts-cf-row,.ts-cf-row2{display:flex;gap:16px;align-items:flex-end}.ts-cf-field{display:flex;flex-direction:column;gap:4px}.ts-cf-field label{font-size:12px;font-weight:600;color:#475569}.ts-cf-field input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;color:#1e293b;background:#fff}.ts-cf-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.ts-cf-date{width:150px}.ts-cf-time{width:110px}.ts-cf-reason{flex:1}.ts-cf-reason input{width:100%;box-sizing:border-box}.ts-cf-btns{display:flex;gap:8px;flex-shrink:0}.ts-cf-cancel{padding:8px 20px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#475569;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.ts-cf-cancel:hover{background:#f1f5f9;border-color:#94a3b8}.ts-cf-save{padding:8px 24px;border:none;border-radius:8px;background:#4f46e5;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.ts-cf-save:hover{background:#4338ca}.ts-cf-save:disabled{background:#94a3b8;cursor:not-allowed}.action-btn.edit.active{background:#e0e7ff;color:#4338ca}.entry-row.editing{background:#f8fafc}.entry-row.editing td{border-bottom:none}.row-actions{display:flex;gap:4px;justify-content:flex-end;opacity:0;transition:opacity .15s ease}tr:hover .row-actions,tr.editing .row-actions{opacity:1}.action-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.action-btn.edit{color:#64748b}.action-btn.edit:hover{background:#e0e7ff;color:#4338ca}.action-btn.delete{color:#94a3b8}.action-btn.delete:hover{background:#fee2e2;color:#dc2626}.edit-actions{display:flex;gap:4px;justify-content:flex-end}.save-btn{width:28px;height:28px;border:none;border-radius:6px;background:#22c55e;color:#fff;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.save-btn:hover{background:#16a34a}.save-btn:disabled{background:#94a3b8;cursor:not-allowed}.cancel-btn{width:28px;height:28px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.lock-btn{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.lock-btn:not(.locked){background:#fff;border:1px solid #e2e8f0;color:#475569}.lock-btn:not(.locked):hover{background:#f1f5f9;border-color:#cbd5e1}.lock-btn.locked{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.lock-btn.locked:hover{background:#fde68a}.lock-btn:disabled{opacity:.6;cursor:not-allowed}.entry-row.locked-entry{background:#fefce8!important}.entry-row.locked-entry:hover{background:#fef9c3!important}.locked-indicator{display:flex;align-items:center;justify-content:center;color:#92400e;font-size:14px}@media (max-width: 1200px){.timesheet-table-container{overflow-x:auto}.timesheet-table{min-width:900px}}@media (max-width: 768px){.timesheet-layout{grid-template-columns:1fr}.timesheet-layout .vertical-sidebar{display:none}.timesheet-main{margin-left:0;padding:16px}.timesheet-header{flex-direction:column}.week-navigation{width:100%;justify-content:space-between}}.calendar-layout{display:flex;min-height:100vh;background:var(--color-bg-page, #f8fafc);outline:none}.calendar-main{min-height:calc(100vh - var(--topnav-height, 52px));flex:1;margin-left:var(--sidebar-width, 220px);margin-top:var(--topnav-height, 52px);padding:24px 32px;max-width:1200px;box-sizing:border-box}.calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.calendar-title h1{margin:0 0 2px;font-size:26px;font-weight:700;color:var(--color-text-primary, #1e293b);letter-spacing:-.02em}.calendar-subtitle{margin:0;font-size:13px;color:var(--color-text-secondary, #94a3b8);font-weight:400}.calendar-controls{display:flex;align-items:center;gap:12px}.week-navigation{display:flex;align-items:center;gap:8px}.calendar-layout .nav-btn{width:32px;height:32px;border:1px solid var(--color-border-light, #e2e8f0);border-radius:8px;background:#fff;cursor:pointer;font-size:18px;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.calendar-layout .nav-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.current-week-btn{padding:6px 14px;border:1px solid var(--color-border-light, #e2e8f0);border-radius:8px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .15s ease}.current-week-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.week-range{font-size:14px;font-weight:600;color:#1e293b;min-width:170px;text-align:center;letter-spacing:-.01em}.zoom-btn{padding:6px 14px;border:1px solid var(--color-border-light, #e2e8f0);border-radius:8px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;color:#64748b;transition:all .15s ease}.zoom-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.zoom-btn.active{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.calendar-container{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:auto;max-height:calc(100vh - 240px);box-shadow:0 1px 3px #0000000a}.calendar-container.zoomed-out{overflow:hidden}.calendar-grid{display:grid;grid-template-columns:56px repeat(7,1fr)}.time-column{border-right:1px solid #e2e8f0;background:#fafbfc}.time-header{height:68px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fafbfc;z-index:10}.time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:0 8px 0 0;font-size:10px;color:#94a3b8;font-weight:500;border-bottom:1px solid transparent;transform:translateY(-6px);letter-spacing:.01em}.day-column{border-right:1px solid #edf0f4;position:relative}.day-column:last-child{border-right:none}.day-column.today .day-slots{background:#3b82f609}.day-column.past-empty .day-slots{background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.008) 8px,rgba(0,0,0,.008) 16px)}.day-header{height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #e2e8f0;background:#fafbfc;gap:1px;position:sticky;top:0;z-index:100}.day-column.today .day-header{background:#f0f7ff}.day-name{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.8px}.day-column.today .day-name{color:#3b82f6}.day-number{font-size:18px;font-weight:600;color:#334155;line-height:1.4}.day-number.today-number{background:#3b82f6;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.day-total{font-size:10px;color:#475569;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.day-total.zero{color:#d1d5db;font-weight:400;font-size:9px}.day-slots{position:relative}.hour-slot{border-bottom:1px solid #f3f5f8}.hour-slot:last-child{border-bottom:none}.cal-week-summary{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 24px;margin-bottom:20px;min-height:64px}.cal-week-summary.empty{justify-content:center}.cal-ws-stat{display:flex;flex-direction:column;gap:1px}.cal-ws-stat.cal-ws-primary .cal-ws-value{font-size:22px;color:#0f172a}.cal-ws-value{font-size:17px;font-weight:700;color:#1e293b;line-height:1.2;letter-spacing:-.02em}.cal-ws-value small{font-size:.7em;font-weight:600;opacity:.6;margin-left:1px}.cal-ws-label{font-size:11px;color:#94a3b8;font-weight:500;letter-spacing:.01em}.cal-ws-divider{width:1px;height:28px;background:#e2e8f0;flex-shrink:0}.cal-ws-empty{display:flex;align-items:center;justify-content:center;width:100%;color:#94a3b8;font-size:13px;font-weight:500}.cal-ws-bars{display:flex;align-items:flex-end;gap:4px;height:36px;margin-left:auto;padding-left:4px}.cal-ws-bar-col{display:flex;flex-direction:column;align-items:center;gap:3px;width:18px;height:100%;justify-content:flex-end}.cal-ws-bar{width:12px;border-radius:3px;background:#bfdbfe;min-height:2px;transition:height .3s ease,background .15s ease}.cal-ws-bar.today{background:#3b82f6}.cal-ws-bar.empty{background:#f1f5f9}.cal-ws-bar-col:hover .cal-ws-bar:not(.empty){background:#3b82f6}.cal-ws-bar-label{font-size:9px;color:#94a3b8;font-weight:500;line-height:1}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;min-height:320px;color:#94a3b8;font-size:13px;font-weight:500;letter-spacing:-.01em}.loading-spinner{width:24px;height:24px;border:2.5px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.calendar-entry{position:absolute;left:3px;right:3px;border-radius:5px;cursor:default;overflow:hidden;transition:box-shadow .2s ease,transform .15s ease;z-index:10;border-left:3px solid transparent}.calendar-entry:hover,.calendar-entry.hovered{box-shadow:0 3px 12px #0000001a,0 0 0 1px #00000008;transform:translateY(-.5px) scale(1.008);z-index:25}.calendar-entry.tier-micro{padding:0 5px;display:flex;align-items:center;min-height:0}.entry-micro-label{font-size:8px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.calendar-entry.tier-compact{padding:3px 6px;display:flex;align-items:center;gap:4px}.calendar-entry.tier-compact .entry-client{font-size:10px;flex:1;min-width:0}.calendar-entry.tier-compact .entry-duration{font-size:10px;flex-shrink:0;opacity:.7}.calendar-entry.tier-standard{padding:5px 7px;display:flex;flex-direction:column;justify-content:space-between}.calendar-entry.tier-tall{padding:6px 8px;display:flex;flex-direction:column;gap:2px}.calendar-entry.tier-tall .entry-meta{margin-top:auto}.entry-client{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;letter-spacing:-.01em}.entry-project{font-size:10px;font-weight:500;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-desc{font-size:10px;opacity:.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.entry-meta{display:flex;justify-content:space-between;align-items:center;gap:4px}.entry-time{font-size:10px;opacity:.6;white-space:nowrap;font-variant-numeric:tabular-nums}.entry-duration{font-size:10.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;opacity:.9}.day-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;text-align:center}.day-empty-state span{font-size:11px;font-weight:500;color:#d1d5db;letter-spacing:.01em;white-space:nowrap}.entry-running-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:currentColor;animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.45}50%{opacity:1}}.cal-tooltip{position:absolute;left:calc(100% + 10px);top:-4px;min-width:196px;max-width:248px;background:#0f172a;color:#e2e8f0;border-radius:10px;padding:11px 14px 12px;font-size:12px;z-index:200;pointer-events:none;box-shadow:0 8px 24px #00000052,0 0 0 1px #ffffff0d;line-height:1.45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cal-tooltip.flip-left{left:auto;right:calc(100% + 10px)}.cal-tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.cal-tooltip-client{font-weight:700;font-size:13px;color:#fff;line-height:1.3}.cal-tooltip-dur{font-weight:700;font-size:12px;color:#93c5fd;white-space:nowrap;flex-shrink:0}.cal-tooltip-project{font-size:11px;color:#94a3b8;margin-bottom:2px}.cal-tooltip-desc{font-size:11px;color:#64748b;margin-bottom:6px;word-break:break-word;font-style:italic}.cal-tooltip-time{font-size:11px;color:#64748b;padding-top:6px;border-top:1px solid #1e293b;font-variant-numeric:tabular-nums}.current-time-line{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:50;pointer-events:none;box-shadow:0 0 6px #ef444433}.current-time-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background:#ef4444;border-radius:50%;box-shadow:0 0 0 2px #ef444426}.current-time-label{position:absolute;right:6px;top:-9px;font-size:9px;font-weight:600;color:#dc2626;background:#fff;padding:1px 5px;border-radius:4px;line-height:1.4;letter-spacing:.01em;box-shadow:0 1px 3px #00000014,0 0 0 1px #ef44441f;font-variant-numeric:tabular-nums}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px 20px;padding:12px 20px;margin-top:12px;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.legend-item{display:flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px;border:1.5px solid;flex-shrink:0}.legend-label{font-size:11px;color:#64748b;font-weight:500;letter-spacing:-.01em}@media (max-width: 1200px){.calendar-grid{min-width:900px}.calendar-container{overflow-x:auto}.cal-week-summary{flex-wrap:wrap}.cal-ws-bars{display:none}}@media (max-width: 768px){.calendar-layout .vertical-sidebar{display:none}.calendar-main{margin-left:0!important;padding:16px!important}.calendar-header{flex-direction:column;gap:12px}.cal-week-summary{padding:12px 16px;gap:12px}}.dashboard-container{max-width:1200px;margin:0 auto;padding:16px 20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a}.logout-btn{background:#e74c3c;color:#fff}.clock-section{margin-top:-1px;margin-bottom:16px;padding:28px 30px 30px;background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 12px 12px;box-shadow:0 2px 4px #0000001a;position:relative;z-index:10}.active-timer{text-align:center}.timer{margin:20px 0}.time{font-size:48px;font-weight:700;color:#667eea;margin:10px 0}.started{color:#666;margin:10px 0}.clock-out-btn{background:#e74c3c;color:#fff;padding:15px 40px;font-size:16px}.clock-in-form{display:flex;flex-direction:column;gap:15px;max-width:400px;margin:0 auto}.clock-in-form h2{text-align:center}.clock-in-form select,.clock-in-form input{width:100%}.clock-in-btn{background:#27ae60;color:#fff;padding:15px;font-size:16px}.entries-section{background:#fff;padding:0 30px 30px;border-radius:0;box-shadow:0 2px 4px #0000001a;margin-bottom:0;margin-top:0;display:grid;gap:15px}.entries-section h2{margin-bottom:5px}.entry-card{padding:12px 16px;margin-bottom:8px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;min-height:80px;width:100%;text-align:left}.entry-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.entry-meta-left{display:flex;align-items:center;gap:6px;min-width:0}.entry-client-name{font-weight:700;font-size:15px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-meta-right{display:flex;align-items:center;gap:6px;color:#475569;font-weight:600;font-size:13px}.entry-project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-date{font-weight:600;color:#1f2937;margin-bottom:2px}.entry-time{color:#666;margin:0}.entry-duration{font-weight:600;color:#27ae60;margin:5px 0}.entry-desc{color:#666;font-style:italic;margin-top:10px}.invite-code-box{position:fixed;bottom:20px;right:20px;background:#fff;border:2px solid #667eea;border-radius:12px;padding:16px;box-shadow:0 4px 12px #667eea4d;max-width:300px;z-index:1000}.invite-code-content{text-align:center}.invite-label{margin:0 0 10px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.invite-code-display{display:flex;align-items:center;justify-content:center;gap:8px;background:#f5f5f5;border-radius:8px;padding:10px;margin-bottom:10px}.invite-code-value{font-size:18px;font-weight:700;color:#667eea;font-family:Courier New,monospace;letter-spacing:2px}.copy-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;transition:transform .2s}.copy-btn:hover{transform:scale(1.2)}.copy-success{font-size:12px;color:#27ae60;font-weight:600;margin:0;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.client-layout{--sidebar-width: 220px;display:flex;flex-direction:column;min-height:100vh;background-color:#f5f7fa}.client-sidebar{width:220px;background:#fff;display:flex;flex-direction:column;padding:20px 16px;border-right:1px solid #e5e9f0;position:fixed;left:0;top:52px;bottom:0;z-index:100;overflow-y:auto}.client-sidebar-header{display:flex;align-items:center;gap:12px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e5e9f0}.client-sidebar-logo{font-size:16px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:10px}.client-sidebar-logo svg{color:#4b5eaa}.client-sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;padding:16px 16px 6px 20px;margin-top:8px}.sidebar-section-label:first-child{margin-top:0;padding-top:0}.sidebar-nav-item{display:flex;align-items:center;padding:8px 16px 8px 20px;border-radius:0;color:#334155;text-decoration:none;transition:all .15s ease;cursor:pointer;background:transparent;border:none;width:100%;font-size:15px;text-align:left}.sidebar-nav-item:hover{background:#f1f5f9;color:#1e293b}.sidebar-nav-item.active{background:#f1f5f9;color:#4b5eaa;font-weight:500}.sidebar-nav-item svg{display:none}.client-sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid #e5e9f0}.sidebar-logout{display:flex;align-items:center;padding:8px 16px 8px 20px;color:#64748b;font-size:15px;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:all .15s ease}.sidebar-logout:hover{background:#fef2f2;color:#ef4444}.sidebar-logout svg{display:none}.client-top-nav{display:flex;align-items:center;justify-content:flex-start;gap:24px;padding:12px 24px;background:#fff;border-bottom:1px solid #e5e9f0;position:fixed;top:0;left:0;right:0;z-index:150;height:52px;box-sizing:border-box;box-shadow:none}.client-nav-left{display:flex;align-items:center;min-width:180px;padding-right:20px}.client-nav-title{font-weight:700;font-size:18px;color:#1e293b;margin:0}.client-nav-tabs{display:flex;gap:4px}.client-nav-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;border-radius:0;font-size:14px;font-weight:500;color:#64748b;cursor:default;transition:all .15s ease}.client-nav-tab:hover{background:#f1f5f9;color:#334155}.client-nav-tab.active{background:#4b5eaa1f;color:#1e293b;font-weight:600;border:1px solid rgba(75,94,170,.12)}.client-nav-tab .tab-icon{font-size:16px}.client-nav-tab .tab-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4b5eaa,#6b7fc9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.freelancer-tab{background:transparent;border:none}.client-nav-right{display:flex;align-items:center;gap:16px;margin-left:auto}.client-page-header{margin-bottom:18px}.client-page-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 2px}.client-page-header p{font-size:14px;color:#64748b;margin:0}.client-widget-container{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:0 5px 15px #0000000d;border:1px solid #e5e9f0}.client-widget-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.client-widget-row:last-child{margin-bottom:0}.client-widget-row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.client-widget-row-2:last-child{margin-bottom:0}.client-widget-full{grid-column:1 / -1}@media (max-width: 768px){.client-widget-row,.client-widget-row-2{grid-template-columns:1fr}}.client-footer-note{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-radius:8px;color:#64748b;font-size:13px}.client-period-filter{display:flex;gap:8px;margin-bottom:20px}.client-period-filter .period-btn{padding:6px 14px;font-size:.8rem;font-weight:500;border:1px solid #e2e8f0;border-radius:6px;background-color:#fff;color:#64748b;cursor:pointer;transition:all .15s ease}.client-period-filter .period-btn:hover{border-color:#cbd5e1;background-color:#f8fafc}.client-period-filter .period-btn.active{border:none;background-color:#4f46e5;color:#fff}@media (max-width: 600px){.client-period-filter{flex-wrap:wrap}.client-period-filter .period-btn{padding:5px 10px;font-size:.75rem}}.client-main-content{margin-left:220px;margin-top:52px;padding:32px;min-height:calc(100vh - 52px);background:#f5f7fa}@media (max-width: 768px){.client-sidebar{transform:translate(-100%)}.client-sidebar.open{transform:translate(0)}.client-top-nav{left:0}.client-main-content{margin-left:0}}.retainer-widget{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 1px 3px #0000000f;transition:all .2s ease}.widget-header{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;align-self:flex-start}.widget-secondary{font-size:14px;font-weight:500;color:#16a34a;line-height:1.4}.retainer-widget.status-warning{border-color:#fbbf24;background:linear-gradient(135deg,#fff,#fffbeb)}.retainer-widget.status-danger{border-color:#f87171;background:linear-gradient(135deg,#fff,#fef2f2)}.retainer-widget.status-good{border-color:#86efac;background:linear-gradient(135deg,#fff,#f0fdf4)}.retainer-widget.status-overage{border-color:#f97316;background:linear-gradient(135deg,#fff,#fff7ed)}.widget-value{font-size:36px;font-weight:700;color:#1e293b;line-height:1}.widget-value.warning{color:#d97706}.widget-value.danger{color:#dc2626}.widget-value.overage{color:#f97316}.widget-value-text{font-size:18px;font-weight:600;color:#1e293b;line-height:1.2}.widget-value-text.success{color:#16a34a}.widget-unit{font-size:14px;font-weight:500;color:#64748b;margin-top:4px}.widget-label{font-size:13px;color:#94a3b8;margin-top:8px;font-weight:400}.widget-label.overage-label{color:#f97316;font-weight:500}.overage-cost{font-size:14px;font-weight:600;color:#f97316;margin-top:8px;padding:4px 12px;background:#fff7ed;border-radius:6px}.hero-widget{grid-column:span 2;padding:24px 28px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;border:2px solid #16a34a}.hero-top-row{display:flex;justify-content:space-between;align-items:center;width:100%}.hero-top-row .widget-header{margin-bottom:0}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.hero-subheader{font-size:14px;color:#64748b;margin-top:4px}.hero-content-row{display:flex;gap:32px;margin-top:12px;width:100%}.hero-hours-block{display:flex;flex-direction:column}.hero-hours-value{font-size:48px;font-weight:700;color:#0d9488;line-height:1}.hero-hours-unit{font-size:14px;font-weight:500;color:#64748b;margin-top:4px}.hero-cycle-block{display:flex;flex-direction:column;justify-content:center}.hero-cycle-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.hero-cycle-dates{font-size:16px;font-weight:600;color:#1e293b;margin-top:4px}.hero-cycle-type{font-size:13px;color:#94a3b8;margin-top:2px}.widget-progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;margin-top:12px;overflow:hidden}.widget-progress-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .3s ease}.utilization-ring{position:relative;width:80px;height:80px;margin-top:12px}.utilization-ring svg{display:block}.utilization-ring .ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:600;color:#1e293b}.retainer-widget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%}@media (max-width: 768px){.retainer-widget-grid{grid-template-columns:1fr}.hero-widget{grid-column:span 1}.widget-value{font-size:28px}.hero-hours-value{font-size:36px}}.retainer-dashboard{width:100%;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.retainer-loading,.retainer-empty{text-align:center;padding:60px 20px;color:var(--widget-text-muted, #94a3b8);font-size:16px}.retainer-header{margin-bottom:24px}.retainer-header-content h1{margin:0 0 4px;font-size:26px;font-weight:700;color:var(--widget-text-primary, #1e293b);letter-spacing:-.02em}.retainer-subtitle{margin:0;font-size:14px;color:var(--widget-text-muted, #94a3b8);font-weight:400}.retainer-dashboard .tier-1-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.retainer-dashboard .hero-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid var(--widget-border-light, #e2e8f0);border-radius:16px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 4px 12px #00000014;position:relative;overflow:hidden;min-height:280px}.retainer-dashboard .hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a)}.retainer-dashboard .hero-card.status-warning:before{background:linear-gradient(90deg,#f97316,#ea580c)}.retainer-dashboard .hero-card.status-danger:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.retainer-dashboard .hero-ring-container{margin-bottom:20px}.retainer-dashboard .hero-ring{position:relative;width:140px;height:140px}.retainer-dashboard .hero-ring svg{transform:rotate(-90deg)}.retainer-dashboard .hero-ring-bg{fill:none;stroke:#e2e8f0;stroke-width:12}.retainer-dashboard .hero-ring-progress{fill:none;stroke:#22c55e;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.retainer-dashboard .hero-ring-overage{fill:none;stroke:#f97316;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.retainer-dashboard .status-warning .hero-ring-progress{stroke:#f97316}.retainer-dashboard .hero-ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.retainer-dashboard .hero-ring-percent{font-size:28px;font-weight:700;color:#1e293b;line-height:1}.retainer-dashboard .hero-ring-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.retainer-dashboard .hero-content{text-align:center}.retainer-dashboard .hero-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.retainer-dashboard .hero-value-row{display:flex;align-items:baseline;justify-content:center;gap:6px}.retainer-dashboard .hero-value{font-size:48px;font-weight:700;color:#1e293b;line-height:1}.retainer-dashboard .hero-unit{font-size:18px;font-weight:500;color:#64748b}.retainer-dashboard .hero-subtext{font-size:13px;color:#94a3b8;margin-top:8px}.retainer-dashboard .tier-2-stack{display:flex;flex-direction:column;gap:12px}.retainer-dashboard .context-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #0000000f;flex:1}.retainer-dashboard .context-card.has-overage{border-color:#f97316;background:linear-gradient(135deg,#fff,#fff7ed)}.retainer-dashboard .context-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.retainer-dashboard .context-right{text-align:right}.retainer-dashboard .context-value-row{display:flex;align-items:baseline;justify-content:flex-end;gap:4px}.retainer-dashboard .context-value{font-size:24px;font-weight:700;color:#1e293b}.retainer-dashboard .context-unit{font-size:14px;font-weight:500;color:#64748b}.retainer-dashboard .context-subtext{font-size:12px;color:#94a3b8;margin-top:2px}.retainer-dashboard .overage-badge{font-size:12px;font-weight:600;color:#f97316;background:#fff7ed;padding:2px 8px;border-radius:4px;margin-left:8px}.retainer-dashboard .tier-3-insights{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.retainer-dashboard .insight-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.retainer-dashboard .insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.retainer-dashboard .insight-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.retainer-dashboard .insight-value{font-size:18px;font-weight:700;color:#1e293b}.retainer-dashboard .utilization-track{height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden;position:relative}.retainer-dashboard .utilization-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:5px;transition:width .5s ease}.retainer-dashboard .utilization-fill.overage{background:linear-gradient(90deg,#22c55e,#f97316)}.retainer-dashboard .utilization-overage{position:absolute;top:0;right:0;height:100%;background:#f97316;border-radius:0 5px 5px 0}.retainer-dashboard .overage-note{font-size:12px;color:#f97316;margin-top:8px;font-weight:500}.retainer-dashboard .billing-cycle-content{text-align:center}.retainer-dashboard .cycle-dates{display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:600;color:#1e293b}.retainer-dashboard .cycle-arrow{color:#94a3b8}.retainer-dashboard .cycle-period{font-size:12px;color:#94a3b8;margin-top:8px}.retainer-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;font-size:14px;color:#64748b}.retainer-footer .footer-icon{font-size:16px}.retainer-footer .footer-status{color:#16a34a;font-weight:500}@media (max-width: 768px){.retainer-dashboard .tier-1-row,.retainer-dashboard .tier-3-insights{grid-template-columns:1fr}}.admin-dashboard{max-width:1440px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg) 3rem}.admin-header{margin-bottom:var(--spacing-lg)}.admin-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 2px}.admin-header-sub{font-size:.85rem;color:var(--color-text-muted)}.admin-access-denied{padding:4rem;text-align:center;color:var(--color-danger);font-size:1.1rem}.admin-snapshot{margin-bottom:var(--spacing-lg)}.snapshot-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.snapshot-cards--6{grid-template-columns:repeat(6,1fr)}.snapshot-card{display:flex;align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-md);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.snapshot-card:hover{box-shadow:var(--shadow-md)}.snapshot-data{display:flex;flex-direction:column}.snapshot-value{font-size:1.4rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.snapshot-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.snapshot-sub{font-size:.68rem;color:var(--color-text-muted);margin-top:1px}.system-status{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-text-secondary);padding:6px 0}.system-status-label{font-weight:600;color:var(--color-text-muted);margin-right:4px}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot--ok{background:var(--color-success)}.status-dot--warn{background:var(--color-warning)}.status-dot--error{background:var(--color-danger)}.status-dot--unknown{background:var(--color-text-muted)}.status-text{color:var(--color-text-secondary)}.status-separator{color:var(--color-text-muted);margin:0 2px}.admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.admin-tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--color-primary)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.admin-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.admin-panel--flex{flex:1;min-width:0}.admin-users-layout{display:flex;gap:var(--spacing-md);align-items:flex-start}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.toolbar-group{display:flex;align-items:center;gap:var(--spacing-sm)}.panel-subtitle{font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin:0}.subtab-group{display:flex;gap:0;background:var(--color-bg-page);border-radius:var(--radius-sm);padding:2px}.subtab{padding:5px 14px;font-size:.82rem;font-weight:500;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.subtab:hover{color:var(--color-text-primary)}.subtab--active{background:var(--color-bg-card);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.admin-select{padding:6px 10px;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer}.admin-select:focus{outline:none;border-color:var(--color-primary)}.search-wrap{position:relative}.admin-search{padding:6px 10px;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-primary);width:200px;transition:border-color .15s}.admin-search:focus{outline:none;border-color:var(--color-primary)}.admin-search::placeholder{color:var(--color-text-muted)}.qty-input-wrap{display:flex;align-items:center;gap:4px}.qty-label{font-size:.78rem;color:var(--color-text-muted);font-weight:500}.qty-input{width:48px;padding:6px;font-size:.85rem;text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-primary)}.qty-input:focus{outline:none;border-color:var(--color-primary)}.admin-btn{display:inline-flex;align-items:center;gap:4px;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;padding:7px 14px;transition:all .15s;white-space:nowrap}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--primary{background:var(--color-primary);color:#fff}.admin-btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.admin-btn--secondary{background:var(--color-bg-hover);color:var(--color-text-secondary);border:1px solid var(--color-border)}.admin-btn--secondary:hover:not(:disabled){background:var(--color-border)}.admin-btn--danger{background:var(--color-danger);color:#fff}.admin-btn--danger:hover:not(:disabled){background:#dc2626}.admin-btn--success{background:var(--color-success);color:#fff}.admin-btn--success:hover:not(:disabled){background:#059669}.admin-btn--ghost{background:transparent;color:var(--color-text-secondary)}.admin-btn--ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.admin-btn--sm{padding:3px 8px;font-size:.74rem;line-height:1.4}.table-wrap{width:100%}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:none;white-space:nowrap;vertical-align:middle;height:44px;box-sizing:border-box}.admin-table thead tr,.admin-table tbody tr{border-bottom:1px solid var(--color-border)}.admin-table th{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-bg-page);position:sticky;top:0;z-index:1;white-space:nowrap}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-table th.sortable:hover{color:var(--color-primary)}.admin-table tbody tr{transition:background .1s}.admin-table tbody tr:hover{background:var(--color-bg-hover)}.admin-table tbody tr:last-child td{border-bottom:none}.code-cell{font-family:SF Mono,Fira Code,Consolas,monospace;font-weight:600;font-size:.9rem;letter-spacing:.06em;color:var(--color-text-primary)}.email-cell{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.82rem;color:var(--color-text-secondary)}.name-cell{font-weight:500;color:var(--color-text-primary)}.date-cell{color:var(--color-text-secondary);font-size:.82rem;white-space:nowrap}.th-actions,.actions-cell{text-align:right}.actions-inline{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;vertical-align:middle;line-height:1}.empty-row{text-align:center;color:var(--color-text-muted);padding:2.5rem 1rem!important;font-size:.88rem}.muted{color:var(--color-text-muted)}.table-footer{padding:8px 12px 4px;display:flex;justify-content:flex-end}.table-count{font-size:.75rem;color:var(--color-text-muted)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--neutral{background:var(--color-bg-hover);color:var(--color-text-muted)}.type-label{font-size:.82rem;color:var(--color-text-secondary)}.recently-joined{width:200px;flex-shrink:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.aside-title{font-size:.82rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm);text-transform:uppercase;letter-spacing:.04em}.aside-empty{font-size:.82rem;color:var(--color-text-muted)}.recent-list{list-style:none;padding:0;margin:0}.recent-item{padding:8px 0;border-bottom:1px solid var(--color-border)}.recent-item:last-child{border-bottom:none}.recent-name{font-size:.82rem;font-weight:500;color:var(--color-text-primary);margin-bottom:2px}.recent-meta{display:flex;align-items:center;gap:6px;font-size:.72rem}.recent-type{font-weight:600;text-transform:uppercase;letter-spacing:.03em}.recent-type--freelancer{color:var(--color-primary)}.recent-type--client{color:var(--color-info)}.recent-date{color:var(--color-text-muted)}.activity-feed{list-style:none;padding:0;margin:0}.activity-item{display:flex;gap:var(--spacing-sm);padding:12px 0;border-bottom:1px solid var(--color-border)}.activity-item:last-child{border-bottom:none}.activity-body{flex:1;min-width:0}.activity-headline{font-size:.85rem;color:var(--color-text-primary)}.activity-action{font-weight:500}.activity-target{margin-left:4px;font-weight:600;color:var(--color-primary)}.activity-details{font-size:.78rem;color:var(--color-text-secondary);margin-top:1px}.activity-meta{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--color-text-muted);margin-top:3px}.activity-sep{margin:0 1px}.lookup-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.lookup-input{width:320px}.lookup-error{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:var(--spacing-md)}.lookup-empty{text-align:center;color:var(--color-text-muted);padding:2.5rem 1rem;font-size:.88rem}.lookup-result{margin-top:var(--spacing-sm)}.lookup-profile{padding:var(--spacing-md);background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.lookup-profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.lookup-profile-name{font-size:1.1rem;font-weight:700;color:var(--color-text-primary)}.lookup-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm)}.lookup-detail{display:flex;flex-direction:column}.lookup-detail-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--color-text-muted);margin-bottom:1px}.lookup-detail-value{font-size:.85rem;color:var(--color-text-primary)}.lookup-section{margin-bottom:var(--spacing-md)}.lookup-section-title{font-size:.88rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.admin-view-as-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:16px;font-size:.88rem;font-weight:600;color:#92400e}.admin-view-as-exit{padding:5px 14px;font-size:.82rem;font-weight:600;border:1px solid #f59e0b;border-radius:6px;background:#fff;color:#92400e;cursor:pointer;transition:background .15s}.admin-view-as-exit:hover{background:#fde68a}@media (max-width: 900px){.snapshot-cards,.snapshot-cards--6{grid-template-columns:repeat(2,1fr)}.admin-users-layout{flex-direction:column}.recently-joined{width:100%}.panel-toolbar{flex-direction:column;align-items:flex-start}.admin-search{width:100%}}@media (max-width: 600px){.admin-dashboard{padding:var(--spacing-md)}.snapshot-cards,.snapshot-cards--6{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.admin-tab{padding:8px 12px;font-size:.82rem}}:root{--bp-bg: #f6f8fb;--bp-card: #ffffff;--bp-border: #e6eef7;--bp-text: #0f172a;--bp-muted: #64748b;--bp-blue: #3b5bbb;--bp-green: #16a34a;--bp-amber: #f59e0b;--bp-red: #ef4444;--bp-shadow: 0 1px 0 rgba(16,24,40,.02), 0 10px 28px rgba(16,24,40,.07);--bp-radius: 14px}.bp-page{max-width:1200px;margin:0;padding:0 0 48px}.bp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.bp-title h1{margin:0;font-size:18px;font-weight:700;color:var(--bp-text)}.bp-title p{margin:6px 0 0;color:var(--bp-muted);font-size:13px;max-width:72ch;line-height:1.4}.bp-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.bp-btn{border:1px solid var(--bp-border);background:#fff;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:800;font-size:13px;transition:all .15s ease}.bp-btn:hover{background:#f8fafc}.bp-btn:disabled{opacity:.5;cursor:not-allowed}.bp-btn.primary{background:var(--bp-blue);color:#fff;border-color:transparent;box-shadow:var(--bp-shadow)}.bp-btn.primary:hover:not(:disabled){background:#2d4a9e}.bp-btn.ghost{background:transparent;border-color:transparent;color:var(--bp-muted)}.bp-btn.ghost:hover{color:var(--bp-text)}.bp-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;align-items:start}.bp-card{background:var(--bp-card);border:1px solid var(--bp-border);border-radius:var(--bp-radius);box-shadow:var(--bp-shadow);padding:16px}.bp-card+.bp-card{margin-top:14px}.bp-card h2{margin:0;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px}.bp-card .sub{margin:6px 0 12px;color:var(--bp-muted);font-size:12px;line-height:1.35}.bp-sum-right{display:flex;gap:10px;align-items:center;color:var(--bp-muted);font-weight:800;font-size:12px}.bp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bp-field{display:flex;flex-direction:column;gap:6px}.bp-field.full-width{grid-column:1 / -1}.bp-field label{font-size:12px;color:var(--bp-muted);font-weight:800}.bp-field input,.bp-field select,.bp-field textarea{border:1px solid var(--bp-border);border-radius:12px;padding:11px 12px;font-size:13px;outline:none;background:#fff;color:var(--bp-text);font-family:inherit;transition:border-color .15s ease}.bp-field input:focus,.bp-field select:focus,.bp-field textarea:focus{border-color:var(--bp-blue)}.bp-field input.error,.bp-field select.error,.bp-field textarea.error{border-color:var(--bp-red)}.bp-field textarea{min-height:92px;resize:vertical}.bp-help{font-size:12px;color:var(--bp-muted)}.bp-error-text{font-size:11px;color:var(--bp-red)}.bp-inline-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bp-inline-row input{max-width:160px}.bp-chips{display:flex;gap:8px;flex-wrap:wrap}.bp-chip{padding:7px 10px;border-radius:999px;border:1px solid var(--bp-border);background:#fff;font-size:12px;color:var(--bp-muted);font-weight:900;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.bp-chip:hover{background:#f8fafc}.bp-chip.active{background:#eef2ff;border-color:#d6dcff;color:#1e3a8a}.bp-chip.disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9;color:#94a3b8}.bp-chip.disabled:hover{background:#f1f5f9}.bp-details{border:1px solid var(--bp-border);border-radius:14px;background:#fff;overflow:hidden}.bp-details+.bp-details{margin-top:12px}.bp-details summary{list-style:none;padding:14px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:950;font-size:13px;-webkit-user-select:none;user-select:none}.bp-details summary::-webkit-details-marker{display:none}.bp-details summary::marker{display:none}.bp-details summary:hover{background:#fafbfc}.bp-details-content{padding:0 16px 16px;border-top:1px solid #f1f5f9}.bp-details-content .sub{margin:12px 0;color:var(--bp-muted);font-size:12px;line-height:1.35}.bp-chevron{width:16px;height:16px;transition:transform .2s ease;color:var(--bp-muted)}.bp-details[open] .bp-chevron{transform:rotate(180deg)}.bp-insights{position:sticky;top:70px;display:flex;flex-direction:column;gap:12px}.bp-meter{height:10px;border-radius:999px;background:#e8eef6;overflow:hidden;margin-top:10px}.bp-meter-fill{height:100%;background:var(--bp-blue);transition:width .3s ease}.bp-kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.bp-kpi{border:1px solid var(--bp-border);border-radius:12px;padding:12px;background:linear-gradient(135deg,#f2f6ff,#fff)}.bp-kpi-value{font-weight:950;font-size:16px;color:var(--bp-text)}.bp-kpi-label{color:var(--bp-muted);font-size:12px;margin-top:4px}.bp-callout{border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:12px;font-size:12px;color:#1e3a8a;line-height:1.4;margin-top:12px}.bp-callout.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.bp-callout.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.bp-affects-list{margin:0;padding-left:16px;color:var(--bp-muted);font-size:12px;line-height:1.5}.bp-save-bar{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--bp-border);border-radius:14px;background:#fff;box-shadow:var(--bp-shadow)}.bp-save-bar-left{display:flex;flex-direction:column;gap:2px}.bp-save-bar-left b{font-size:13px;color:var(--bp-text)}.bp-save-bar-left span{font-size:12px;color:var(--bp-muted)}.bp-save-bar-right{display:flex;gap:10px;align-items:center}.bp-unsaved{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;font-size:11px;font-weight:700;color:#92400e}.bp-unsaved:before{content:"";width:6px;height:6px;background:#f59e0b;border-radius:50%}.bp-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--bp-muted);font-size:14px}@media (max-width: 980px){.bp-grid{grid-template-columns:1fr}.bp-insights{position:static;order:-1}.bp-form-grid{grid-template-columns:1fr}.bp-field.full-width{grid-column:1}.bp-actions{flex-wrap:wrap;justify-content:flex-end}.bp-header{flex-direction:column;gap:12px}.bp-save-bar{flex-direction:column;text-align:center}.bp-save-bar-left{align-items:center}}.bp-toast{position:fixed;bottom:24px;left:24px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;z-index:9999;animation:bp-toast-in .2s ease-out;box-shadow:0 4px 12px #00000026}.bp-toast-success{background:#059669;color:#fff}.bp-toast-error{background:#dc2626;color:#fff}@keyframes bp-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bp-saved{font-size:12px;color:#059669;font-weight:500}.reports-layout{display:flex;min-height:100vh;background:#f8fafc}.reports-layout .sidebar{grid-area:sidebar;background:var(--color-bg-card, #fff);border-right:1px solid var(--color-border, #e2e8f0);padding:16px 0;overflow-y:auto}.reports-main{flex:1;overflow-y:auto;max-width:1200px;box-sizing:border-box}.rpt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.rpt-header h1{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.015em}.rpt-header p{margin:2px 0 0;font-size:.82rem;color:#94a3b8;font-weight:400}.rpt-export-wrap{position:relative}.rpt-export{display:inline-flex;align-items:center;gap:4px;padding:7px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap}.rpt-export:hover{background:#f1f5f9;border-color:#cbd5e1}.rpt-export-menu{position:absolute;top:calc(100% + 6px);right:0;width:260px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000a;z-index:100;overflow:hidden;animation:rpt-menu-in .12s ease-out}@keyframes rpt-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rpt-export-menu__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 16px;background:none;border:none;border-bottom:1px solid #f1f5f9;text-align:left;cursor:pointer;transition:background .12s}.rpt-export-menu__item:last-child{border-bottom:none}.rpt-export-menu__item:hover{background:#f8fafc}.rpt-export-menu__item strong{font-size:13px;font-weight:600;color:#1e293b}.rpt-export-menu__item span{font-size:11.5px;color:#94a3b8;line-height:1.3}.rpt-controls{margin-bottom:24px}.rpt-tabs{display:flex;gap:2px;background:#f1f5f9;padding:3px;border-radius:9px;margin-bottom:14px}.rpt-tab{flex:1;padding:8px 14px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.rpt-tab:hover{color:#334155}.rpt-tab--active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0000000f;font-weight:600}.rpt-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px}.rpt-filter{display:flex;flex-direction:column;gap:4px;min-width:120px}.rpt-filter label{font-size:10.5px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}.rpt-filter select,.rpt-filter input{padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .15s}.rpt-filter select:focus,.rpt-filter input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f614}.rpt-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#64748b;cursor:pointer;margin-left:auto;padding-bottom:2px;white-space:nowrap}.rpt-toggle input{width:14px;height:14px;accent-color:#3b82f6}.rpt-summary{display:grid;grid-template-columns:1.6fr repeat(auto-fit,minmax(148px,1fr));gap:12px;margin-bottom:24px}.rpt-metric--primary{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:26px 28px 22px;box-shadow:0 1px 3px #0000000a}.rpt-metric__eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#3b82f6;margin-bottom:8px}.rpt-metric__value{font-size:2.4rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;line-height:1.05}.rpt-metric__sub{margin-top:8px;font-size:12.5px;color:#94a3b8;line-height:1.4}.rpt-metric__accent{color:#64748b;font-weight:500}.rpt-metric--secondary{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px}.rpt-metric__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:6px}.rpt-metric__num{font-size:1.25rem;font-weight:700;color:#0f172a;letter-spacing:-.01em;line-height:1.2}.rpt-metric__num--text{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpt-metric__unit{font-size:.7em;font-weight:500;color:#94a3b8}.rpt-metric__hint{margin-top:4px;font-size:11px;color:#94a3b8;line-height:1.35}.rpt-info{position:relative;display:inline-flex;align-items:center;margin-left:4px;cursor:default}.rpt-info__icon{color:#cbd5e1;transition:color .15s}.rpt-info:hover .rpt-info__icon{color:#64748b}.rpt-info__tip{display:none;position:absolute;left:-4px;bottom:calc(100% + 6px);width:220px;padding:8px 10px;background:#1e293b;color:#f1f5f9;font-size:11px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:20;pointer-events:none}.rpt-info__tip:after{content:"";position:absolute;top:100%;left:10px;border:5px solid transparent;border-top-color:#1e293b}.rpt-info:hover .rpt-info__tip{display:block}.rpt-focus-bar{height:5px;background:#f1f5f9;border-radius:3px;margin:8px 0 4px;overflow:hidden}.rpt-focus-bar__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .5s ease;min-width:2px}.rpt-conc-bar{height:5px;background:#f1f5f9;border-radius:3px;margin:8px 0 4px;overflow:hidden}.rpt-conc-bar__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#10b981,#06b6d4);transition:width .5s ease;min-width:2px}.rpt-metric--earnings{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:12px;padding:16px 18px}.rpt-metric--earnings .rpt-metric__label{color:#92400e}.rpt-metric--earnings .rpt-metric__num{color:#78350f}.rpt-metric--earnings .rpt-metric__hint{color:#a16207}.rpt-viz{display:flex;flex-direction:column;gap:16px}.rpt-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:56px 0;color:#94a3b8;font-size:13px}.rpt-loading__dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;animation:rptPulse 1s ease-in-out infinite}@keyframes rptPulse{0%,to{opacity:.3}50%{opacity:1}}.rpt-empty{text-align:center;padding:56px 0}.rpt-empty__icon{font-size:2rem;display:block;margin-bottom:8px}.rpt-empty__title{font-size:15px;font-weight:600;color:#475569;margin:0 0 4px}.rpt-empty__sub{font-size:13px;color:#94a3b8;margin:0}.rpt-alloc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px}.rpt-alloc__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;flex-wrap:wrap;gap:8px}.rpt-alloc h3{font-size:13.5px;font-weight:600;color:#0f172a;margin:0}.rpt-chip{font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px;line-height:1.4}.rpt-chip--good{background:#ecfdf5;color:#047857}.rpt-chip--note{background:#eff6ff;color:#1d4ed8}.rpt-chip--warn{background:#fef3c7;color:#92400e}.rpt-stack-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;gap:2px;margin-bottom:12px}.rpt-stack-bar__seg{border-radius:3px;transition:width .4s ease,opacity .15s;min-width:4px;cursor:default}.rpt-stack-bar__seg:hover{opacity:.85}.rpt-legend{display:flex;flex-wrap:wrap;gap:4px 14px}.rpt-legend__item{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#475569}.rpt-legend__dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.rpt-legend__name{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpt-legend__val{font-weight:600;color:#1e293b;font-size:11px}.rpt-legend__pct{color:#94a3b8;font-weight:500;font-size:10.5px}.rpt-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px}.rpt-table-wrap h3{font-size:13.5px;font-weight:600;color:#0f172a;margin:0 0 14px}.rpt-table{width:100%;border-collapse:collapse}.rpt-table th{text-align:left;padding:8px 12px;font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.rpt-table td{padding:10px 12px;font-size:13px;color:#475569;border-bottom:1px solid #f1f5f9}.rpt-table__group{cursor:pointer;transition:background .12s}.rpt-table__group:hover{background:#fafbfc}.rpt-table__group--open{background:#f8fafc}.rpt-table__name{display:flex;align-items:center;gap:6px;font-weight:500;color:#1e293b}.rpt-table__color{width:8px;height:8px;border-radius:2px;flex-shrink:0}.rpt-table__expand{font-size:10px;color:#94a3b8;width:14px;flex-shrink:0}.rpt-table__hours-cell{display:flex;align-items:center;gap:8px;min-width:120px}.rpt-table__hours-cell span{flex-shrink:0;font-variant-numeric:tabular-nums}.rpt-table__mini-bar{flex:1;height:4px;background:#f1f5f9;border-radius:2px;overflow:hidden;max-width:80px}.rpt-table__mini-fill{height:100%;border-radius:2px;transition:width .3s ease;min-width:2px}.rpt-table__sessions{color:#94a3b8;font-variant-numeric:tabular-nums}.rpt-table__pct{color:#64748b;font-variant-numeric:tabular-nums}.rpt-table__earn{color:#a16207;font-variant-numeric:tabular-nums}.rpt-table__sub{background:#fafbfc}.rpt-table__sub td{padding:8px 12px;font-size:12.5px;color:#64748b}.rpt-table__sub-name{padding-left:40px!important}.rpt-table__total{background:#f8fafc}.rpt-table__total td{border-bottom:none;border-top:1px solid #e2e8f0;font-size:13px}@media (max-width: 900px){.rpt-summary{grid-template-columns:1fr 1fr}.rpt-metric--primary{grid-column:1 / -1}}@media (max-width: 640px){.rpt-summary{grid-template-columns:1fr}.rpt-filters{flex-direction:column;align-items:stretch}.rpt-filter{width:100%}.rpt-toggle{margin-left:0}.rpt-table__mini-bar{display:none}}.invoices-layout{display:flex;min-height:100vh;background:var(--color-bg-page, #f8fafc)}.invoices-sidebar{width:var(--sidebar-width, 220px);background:var(--color-bg-card, #fff);border-right:1px solid var(--color-border, #e5e7eb);display:flex;flex-direction:column;min-height:100vh}.sidebar-header{padding:1.5rem 1rem 1rem;font-weight:600;font-size:1.1rem;color:var(--color-text-primary, #2d3748);border-bottom:1px solid var(--color-border, #e5e7eb)}.invoices-main{flex:1;padding:2rem 2.5rem;overflow-y:auto;max-width:1200px}.invoices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.invoices-header h1{font-size:2rem;font-weight:700;color:var(--color-text-primary, #1e293b);margin:0}.invoices-subtitle{color:var(--color-text-secondary, #64748b);margin-bottom:1rem;font-size:1rem}.date-range-picker{display:flex;align-items:center;gap:1rem;background:#fff;padding:1rem 1.25rem;border-radius:10px;box-shadow:0 1px 4px #0000000a;margin-bottom:1.5rem}.date-range-label{font-weight:600;color:#374151;font-size:.95rem}.date-range-inputs{display:flex;align-items:center;gap:.75rem}.date-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;color:#1e293b;background:#fff}.date-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.date-separator{color:#64748b;font-size:.9rem}.reset-dates-btn{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.reset-dates-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.invoices-layout .empty-state{background:var(--color-bg-card, #fff);border-radius:10px;box-shadow:0 1px 6px #0000000a}.create-invoice-btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:.65rem 1.3rem;font-size:1rem;font-weight:500;cursor:not-allowed;opacity:.6}.invoice-list{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000a;overflow:hidden}.since-last-invoice-section{margin-bottom:1.5rem}.since-last-invoice-title{font-size:.95rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem}.since-last-invoice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.since-last-card{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000d;padding:1.1rem 1.25rem;border-left:none;transition:box-shadow .15s}.since-last-card:hover{box-shadow:0 2px 12px #00000014}.since-last-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.since-last-client-name{font-weight:600;color:#1e293b;font-size:1rem}.since-last-billing-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#64748b}.since-last-card-stats{display:flex;gap:1.5rem;margin-bottom:.75rem}.since-last-stat{display:flex;flex-direction:column}.since-last-stat-value{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1.2}.since-last-stat-label{font-size:.75rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.since-last-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid #f1f5f9}.since-last-date{font-size:.8rem;color:#64748b}.since-last-date.since-last-never{color:#f59e0b;font-weight:500}.since-last-inv-num{color:#94a3b8}.since-last-label{font-size:.78rem;color:#94a3b8;font-style:italic}.invoice-list-table{width:100%;border-collapse:collapse}.invoice-list-table th,.invoice-list-table td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid #e5e7eb}.invoice-list-table th{background:#f8fafc;color:#64748b;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.invoice-row:hover{background:#f1f5f9}.invoice-row.client-paused{background:#fffbeb}.invoice-row.client-paused:hover{background:#fef3c7}.invoice-row.client-inactive{background:#f1f5f9}.invoice-row.client-inactive:hover{background:#e2e8f0}.status-tag{display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.status-tag.paused{background:#fef3c7;color:#b45309}.status-tag.inactive{background:#e2e8f0;color:#64748b}.invoice-number{font-weight:600;color:#2563eb}.invoice-total{font-weight:600;color:#1e293b}.invoice-actions-cell{display:flex;gap:.5rem;flex-wrap:nowrap;align-items:center}.invoice-action-dropdown{border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.9rem;padding:.4rem .6rem;width:145px;min-width:145px;box-sizing:border-box;cursor:pointer}.invoice-action-dropdown:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-draft{background:#f3f4f6;color:#6b7280}.status-sent{background:#dbeafe;color:#2563eb}.status-paid{background:#d1fae5;color:#059669}.status-overdue{background:#fee2e2;color:#dc2626}.status-void{background:#f3f4f6;color:#9ca3af;text-decoration:line-through}.action-btn{background:#e5e7eb;color:#374151;border:none;border-radius:5px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background .15s;white-space:nowrap;min-width:70px}.action-btn:hover{background:#d1d5db}.view-btn{background:#2563eb;color:#fff}.view-btn:hover{background:#1d4ed8}.send-btn{background:#2563eb;color:#fff}.send-btn:hover{background:#1d4ed8}.pdf-btn{background:#6366f1;color:#fff}.pdf-btn:hover{background:#4f46e5}.paid-btn{background:#10b981;color:#fff}.paid-btn:hover{background:#059669}.back-btn{background:none;border:none;color:#2563eb;font-size:1rem;cursor:pointer;margin-bottom:1rem;padding:0}.back-btn:hover{text-decoration:underline}.invoice-document{background:#fff;border-radius:10px;box-shadow:0 2px 12px #0000000f;padding:2.5rem 3rem;max-width:800px;margin:0 auto}.invoice-doc-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #e5e7eb;padding-bottom:1.5rem;margin-bottom:2rem}.invoice-title-block h1{font-size:2.2rem;font-weight:800;color:#1e293b;margin:0 0 .5rem;letter-spacing:.03em}.invoice-meta-block{text-align:right;font-size:1rem;color:#475569}.invoice-meta-block div{margin-bottom:.25rem}.invoice-parties{display:flex;justify-content:space-between;margin-bottom:2rem}.invoice-party{min-width:200px}.invoice-party h3{font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.party-name{font-weight:700;font-size:1.1rem;color:#1e293b;margin-bottom:.25rem}.invoice-party div{color:#475569;font-size:.95rem;line-height:1.5}.tax-id{margin-top:.5rem;font-size:.85rem;color:#64748b}.invoice-items-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.invoice-items-table th,.invoice-items-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.invoice-items-table th{background:#f8fafc;color:#64748b;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.invoice-items-table td{color:#1e293b;font-size:1rem}.invoice-totals-section{max-width:320px;margin-left:auto;margin-bottom:2rem}.totals-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:1rem;color:#475569;border-bottom:1px solid #f1f5f9}.totals-row.discount span:last-child{color:#dc2626}.totals-row.total-due{font-size:1.2rem;font-weight:700;color:#1e293b;border-bottom:2px solid #e5e7eb;padding-top:.75rem;padding-bottom:.75rem}.totals-row.paid span:last-child{color:#10b981}.totals-row.balance{font-weight:600;color:#dc2626}.invoice-payment-info{background:#f8fafc;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.invoice-payment-info h4{margin:0 0 .5rem;font-size:.9rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.invoice-payment-info div{font-size:.95rem;color:#475569;margin-bottom:.25rem}.invoice-payment-info .payment-instructions{margin-top:.5rem}.invoice-payment-info .payment-text{white-space:pre-wrap;margin-top:.25rem;padding-left:0;line-height:1.5}.invoice-party .address-block{white-space:pre-wrap;line-height:1.4}.invoice-notes{margin-bottom:1.5rem}.invoice-notes h4{font-size:.9rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem}.invoice-notes p{color:#475569;font-size:.95rem;margin:0}.invoice-doc-actions{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.invoice-doc-actions .action-btn{min-width:120px;padding:.6rem 1.2rem}.invoice-legal-footer{text-align:center;color:#94a3b8;font-size:.85rem;border-top:1px solid #e5e7eb;padding-top:1.5rem;margin-top:1rem}.cv1-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.cv1-toolbar-left,.cv1-toolbar-right{display:flex;align-items:center;gap:8px}.cv1-filter-pills{display:flex;gap:4px}.cv1-pill{padding:6px 14px;border:1px solid #e2e8f0;background:#fff;border-radius:20px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.cv1-pill:hover{border-color:#94a3b8}.cv1-pill--active{background:#1e293b;color:#fff;border-color:#1e293b}.cv1-pill-count{font-size:11px;opacity:.7}.cv1-search{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;width:200px;outline:none;transition:border-color .15s}.cv1-search:focus{border-color:#3b82f6}.cv1-sort-select{padding:7px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#fff;cursor:pointer;outline:none}.cv1-add-btn{padding:7px 16px;background:#1e293b;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.cv1-add-btn:hover{background:#334155}.cv1-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #0f172a0f}.cv1-table{width:100%;border-collapse:collapse;font-size:13px}.cv1-table th{text-align:left;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.cv1-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:middle}.cv1-row{cursor:pointer;transition:background .1s}.cv1-row:hover td{background:#f8fafc}.cv1-row--selected td{background:#eff6ff}.cv1-client-name{font-weight:600;color:#1e293b}.cv1-client-contact{font-size:12px;color:#64748b;margin-top:2px}.cv1-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.cv1-badge--active{background:#dcfce7;color:#15803d}.cv1-badge--paused{background:#fef3c7;color:#92400e}.cv1-badge--archived,.cv1-badge--inactive{background:#f1f5f9;color:#64748b}.cv1-access{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.cv1-access--login{background:#dbeafe;color:#1d4ed8}.cv1-access--code{background:#fef3c7;color:#92400e}.cv1-access--none{background:#f1f5f9;color:#94a3b8}.cv1-last-activity{color:#64748b;font-size:13px}.cv1-eng-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cv1-eng-count{font-weight:600;color:#1e293b;font-size:13px}.cv1-eng-type{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:#f1f5f9;color:#475569}.cv1-relationship-eng{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.cv1-relationship-eng-text{color:#475569;font-weight:500}.cv1-relationship-eng-dot{color:#94a3b8;font-weight:700}.cv1-section--engagements{border-top:1px solid #e2e8f0;padding-top:16px}.cv1-eng-list{display:flex;flex-direction:column;gap:8px}.cv1-eng-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.cv1-eng-row-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cv1-eng-row-dot--active{background:#22c55e}.cv1-eng-row-dot--paused{background:#f59e0b}.cv1-eng-row-label{flex:1;font-weight:500;color:#1e293b}.cv1-eng-row-info{flex:1;display:flex;flex-direction:column;gap:2px}.cv1-eng-row-dates{font-size:11px;color:#94a3b8;font-weight:400}.cv1-eng-row--ended{opacity:.65;background:#f8fafc}.cv1-eng-empty{color:#94a3b8;font-size:13px;margin:0}.cv1-empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.cv1-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000040;z-index:998}.cv1-panel{position:fixed;top:0;right:0;width:480px;height:100vh;background:#fff;box-shadow:-4px 0 20px #0000001f;z-index:999;display:flex;flex-direction:column;animation:cv1SlideIn .2s ease-out}@keyframes cv1SlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cv1-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.cv1-panel-header h2{margin:0;font-size:18px;font-weight:600;color:#1e293b}.cv1-panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:20px;color:#64748b}.cv1-panel-close:hover{background:#e2e8f0;color:#1e293b}.cv1-panel-body{flex:1;overflow-y:auto;padding:20px 24px}.cv1-panel-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.cv1-section{margin-bottom:24px}.cv1-section-title{font-size:13px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.cv1-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cv1-field{display:flex;flex-direction:column;gap:4px}.cv1-field--full{grid-column:1 / -1}.cv1-field label{font-size:12px;font-weight:500;color:#475569}.cv1-field input,.cv1-field select{padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;outline:none;transition:border-color .15s}.cv1-field input:focus,.cv1-field select:focus{border-color:#3b82f6}.cv1-field input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.cv1-textarea{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;resize:vertical;outline:none;font-family:inherit;box-sizing:border-box}.cv1-textarea:focus{border-color:#3b82f6}.cv1-info-row{display:flex;align-items:center;gap:8px;font-size:13px}.cv1-info-label{font-weight:500;color:#475569}.cv1-link-btn{background:none;border:none;color:#3b82f6;font-size:13px;cursor:pointer;padding:0;margin-top:8px}.cv1-link-btn:hover{color:#2563eb;text-decoration:underline}.cv1-code-row{display:flex;align-items:center;gap:8px;margin-top:8px}.cv1-code{display:inline-block;padding:6px 14px;background:#f1f5f9;color:#1e293b;border-radius:6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:14px;font-weight:500;letter-spacing:1px}.cv1-icon-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;opacity:.7;transition:opacity .15s}.cv1-icon-btn:hover{opacity:1}.cv1-access-actions{display:flex;gap:8px;margin-top:12px}.cv1-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.cv1-btn:disabled{opacity:.5;cursor:not-allowed}.cv1-btn--primary{background:#1e293b;color:#fff}.cv1-btn--primary:hover:not(:disabled){background:#334155}.cv1-btn--secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.cv1-btn--secondary:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.cv1-btn--danger-text{background:none;color:#dc2626;padding:8px 12px}.cv1-btn--danger-text:hover{background:#fef2f2}.cv1-btn--full{width:100%;text-align:center}.cv1-error{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.cv1-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;z-index:999;animation:cv1FadeIn .15s ease-out}@keyframes cv1FadeIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.cv1-modal-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:14px}.cv1-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media (max-width: 768px){.cv1-toolbar{flex-direction:column;align-items:stretch}.cv1-toolbar-right{flex-wrap:wrap}.cv1-search,.cv1-panel{width:100%}}.cv1-modal--wide{width:520px}.cem-subtitle{font-size:13px;color:#64748b;font-weight:400}.cem-step-label{font-size:14px;font-weight:500;color:#475569;margin:0 0 8px}.cem-step-header{display:flex;align-items:center;gap:12px}.cem-step-header .cv1-link-btn{margin:0;font-size:13px}.cem-model-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cem-model-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .15s;text-align:center}.cem-model-card:hover{border-color:#94a3b8;background:#f8fafc}.cem-model-card--selected{border-color:#3b82f6;background:#eff6ff}.cem-model-icon{font-size:28px;line-height:1}.cem-model-label{font-size:15px;font-weight:600;color:#1e293b}.cem-model-desc{font-size:12px;color:#64748b;line-height:1.3}.eng-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eng-header-left{display:flex;flex-direction:column;gap:6px}.eng-header-title{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em;color:#0f172a}.eng-header-sub{margin:0;color:#64748b;font-size:13px;line-height:1.35}.eng-header-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.eng-btn{border:1px solid #e6eef7;background:#fff;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:700;font-size:13px;white-space:nowrap;color:#0f172a;transition:background .12s}.eng-btn:hover{background:#f8fafc}.eng-btn--primary{background:#3b5bbb;color:#fff;border-color:transparent}.eng-btn--primary:hover{background:#334eaa}.eng-btn--link{border-color:transparent;background:transparent;color:#2563eb;padding:10px 8px}.eng-btn--link:hover{text-decoration:underline}.eng-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.eng-card{background:#fff;border:1px solid #e6eef7;border-radius:14px;box-shadow:0 1px #10182805,0 10px 28px #10182812;padding:14px}.eng-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.eng-card h3{margin:0;font-size:13px;font-weight:700;color:#0f172a}.eng-card-sub{margin:6px 0 0;color:#64748b;font-size:12px;line-height:1.35}.eng-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}.eng-search{flex:1;min-width:220px;border:1px solid #e6eef7;border-radius:12px;padding:11px 12px;font-size:13px;outline:none;background:#fff;color:#0f172a}.eng-search:focus{border-color:#3b82f6}.eng-select{border:1px solid #e6eef7;border-radius:12px;padding:10px 12px;font-size:13px;background:#fff;color:#0f172a;cursor:pointer;outline:none}.eng-pill{border:1px solid #e6eef7;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700;color:#334155;background:#f8fafc;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .12s}.eng-pill:hover{background:#f1f5f9}.eng-pill--active{background:#e2e8f0;border-color:#94a3b8}.eng-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.eng-dot--watch{background:#f59e0b}.eng-dot--risk{background:#ef4444}.eng-dot--healthy{background:#16a34a}.eng-table{margin-top:12px;border:1px solid #e6eef7;border-radius:12px;overflow:hidden}.eng-thead,.eng-trow{display:grid;grid-template-columns:1.3fr .7fr 1.4fr .7fr 1fr;gap:10px;align-items:center}.eng-thead{padding:10px 12px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.eng-trow{padding:12px;background:#fff;border-top:1px solid #f1f5f9;font-size:12px;cursor:pointer;transition:background .1s}.eng-trow:hover{background:#fbfdff}.eng-trow--selected{background:#f0f4ff}.eng-trow--current{border-left:3px solid #22c55e}.eng-trow--current.eng-trow--selected{background:#f0fdf4}.eng-client-cell{min-width:0}.eng-client-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0f172a;display:flex;align-items:center;gap:6px}.eng-current-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#dcfce7;color:#16a34a;padding:2px 6px;border-radius:4px;flex-shrink:0}.eng-client-sub{color:#64748b;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-badge{font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.eng-badge--ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.eng-badge--watch{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.eng-badge--risk{background:#fef2f2;border-color:#fecaca;color:#991b1b}.eng-badge-type{font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;border:1px solid #e6eef7;background:#fff;color:#64748b;white-space:nowrap}.eng-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.eng-icon-btn{border:1px solid #e6eef7;background:#fff;border-radius:12px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;color:#0f172a;transition:background .1s}.eng-icon-btn:hover{background:#f8fafc}.eng-icon-btn--primary{background:#3b5bbb;color:#fff;border-color:transparent}.eng-icon-btn--primary:hover{background:#334eaa}.eng-health-text{font-size:12px;color:#475569;line-height:1.4}.eng-section{margin-top:10px;border-top:1px solid #f1f5f9;padding-top:10px}.eng-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px}.eng-kv-label{color:#64748b}.eng-kv-value{color:#0f172a;font-weight:800;text-align:right}.eng-mini-list{margin-top:10px;border:1px solid #e6eef7;border-radius:12px;overflow:hidden}.eng-mini-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px;background:#fff;border-top:1px solid #f1f5f9}.eng-mini-row:first-child{border-top:none}.eng-mini-left{display:flex;flex-direction:column;gap:3px;min-width:0}.eng-mini-left b{font-size:12px;color:#0f172a}.eng-mini-left span{font-size:12px;color:#64748b;line-height:1.35}.eng-mini-right{flex:0 0 auto}.eng-small-btn{border:1px solid #e6eef7;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer;color:#0f172a;transition:background .1s}.eng-small-btn:hover{background:#f8fafc}.eng-small-btn--primary{background:#3b5bbb;color:#fff;border-color:transparent}.eng-small-btn--primary:hover{background:#334eaa}.eng-note{width:100%;min-height:90px;resize:vertical;border:1px solid #e6eef7;border-radius:12px;padding:10px 12px;font-size:13px;outline:none;font-family:inherit;color:#0f172a;margin-top:8px}.eng-note:focus{border-color:#3b82f6}.eng-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.eng-empty{text-align:center;padding:60px 20px;color:#64748b;font-size:14px}.eng-empty p{margin:8px 0 0}.eng-empty-title{font-size:15px;font-weight:700;color:#334155;margin:0}.eng-loading{text-align:center;padding:60px 20px;color:#94a3b8;font-size:14px}.eng-detail-empty{display:flex;align-items:center;justify-content:center;min-height:300px;color:#94a3b8;font-size:13px;text-align:center}.eng-section-title{font-size:12px;font-weight:700;margin:0;color:#0f172a}.eng-section-sub{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.35}.eng-purchase-row .eng-edit-btn{opacity:0;transition:opacity .15s ease}.eng-purchase-row:hover .eng-edit-btn{opacity:1}@media (max-width: 980px){.eng-grid{grid-template-columns:1fr}.eng-thead,.eng-trow{grid-template-columns:1.2fr .8fr 1.2fr .8fr}.eng-thead>div:last-child,.eng-trow>div:last-child{display:none}}.retainer-mockup{display:flex;flex-direction:column;gap:24px}.mockup-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.mockup-header h1{font-size:22px;margin:0 0 6px;color:var(--color-text-primary)}.mockup-header p{margin:0;color:var(--color-text-secondary);font-size:14px}.mockup-actions{display:flex;gap:12px}.mockup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mockup-grid .span-2{grid-column:span 2}.mockup-grid .card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px}.mockup-grid .card-header{margin-bottom:12px}.mockup-grid .card-title{font-size:15px;font-weight:600;color:#0f172a;margin:0}.mockup-grid .card-subtitle{font-size:13px;color:#64748b;margin:4px 0 0;font-weight:400}.usage-scope-card{height:100%;align-self:stretch}.capacity-nextactions-container{display:flex;gap:20px;align-items:stretch}.capacity-nextactions-container .capacity-status-widget{flex:1;min-width:0}.capacity-nextactions-container .next-actions-widget{width:320px;flex-shrink:0}.contract-snapshot .card-header{margin-bottom:16px}.snapshot-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.snapshot-amount{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:32px 28px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:100px}.snapshot-amount .amount-value{font-size:42px;font-weight:700;color:#0f172a;line-height:1;letter-spacing:-.02em}.snapshot-amount .amount-label{font-size:14px;color:#64748b;font-weight:400}.snapshot-details{display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.snapshot-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:transparent}.snapshot-row:not(:last-child){border-bottom:1px solid #e2e8f0}.snapshot-row .detail-label{font-size:14px;color:#64748b;font-weight:400}.snapshot-row .detail-value{font-size:14px;font-weight:600;color:#0f172a}.summary-rows{display:flex;flex-direction:column;gap:10px}.summary-row{display:flex;justify-content:space-between;align-items:center}.summary-label{font-size:13px;color:var(--color-text-secondary)}.summary-value{font-size:15px;font-weight:600;color:var(--color-text-primary)}.usage-metric{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.usage-row{display:flex;justify-content:space-between;font-size:14px;color:var(--color-text-secondary)}.usage-row strong{color:var(--color-text-primary)}.usage-bar{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.usage-bar-fill{height:100%;background:#6366f1}.deliverable-inputs{display:grid;grid-template-columns:1fr 160px auto;gap:10px;margin-bottom:16px}.mockup-input,.mockup-textarea{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--color-text-primary);background:#fff}.mockup-textarea{min-height:130px;resize:vertical}.list{display:flex;flex-direction:column;gap:10px}.list-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text-primary)}.list-item input{width:16px;height:16px}.list-item .list-meta{margin-left:auto;font-size:12px;color:var(--color-text-secondary)}.list-item .done{text-decoration:line-through;color:var(--color-text-secondary)}.mockup-btn{background:#4f46e5;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.mockup-btn.secondary{background:#f1f5f9;color:#1e293b}.mockup-link{background:none;border:none;color:#4f46e5;font-size:13px;cursor:pointer}.capacity-actions-card{padding:0!important}.capacity-actions-grid{display:grid;grid-template-columns:1fr auto 1fr;min-height:200px}.section-divider{width:1px;background:#e2e8f0}.capacity-section,.actions-section{padding:24px}.section-header{margin-bottom:16px}.section-header .card-title{font-size:15px;font-weight:600;color:#0f172a;margin:0}.section-header .card-subtitle{font-size:13px;color:#64748b;margin:4px 0 0}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;margin-bottom:12px}.status-badge.on-track{background:#ecfdf5;color:#059669}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.hours-display{display:flex;align-items:baseline;gap:2px;margin-bottom:4px}.hours-used{font-size:32px;font-weight:700;color:#0f172a;line-height:1}.hours-separator{font-size:24px;color:#94a3b8;font-weight:300}.hours-total{font-size:24px;font-weight:600;color:#64748b}.hours-label{font-size:13px;color:#64748b;margin-bottom:12px}.capacity-bar{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:8px}.capacity-fill{height:100%;background:#22c55e;border-radius:999px;transition:width .3s ease}.capacity-meta{display:flex;justify-content:space-between;font-size:12px;color:#64748b;margin-bottom:16px}.capacity-tip{color:#94a3b8}.capacity-stats{display:flex;flex-direction:column;gap:8px}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:13px;color:#64748b}.stat-value{font-size:13px;font-weight:600;color:#0f172a}.actions-list{display:flex;flex-direction:column;gap:0}.action-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid #e2e8f0}.action-item:last-child{border-bottom:none}.action-content{flex:1}.action-title{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}.action-desc{font-size:13px;color:#64748b;line-height:1.4}.action-badge{font-size:12px;padding:4px 10px;border-radius:6px;font-weight:500;white-space:nowrap;flex-shrink:0}.action-badge.recommended,.action-badge.time{background:#f1f5f9;color:#475569}.loading-state,.error-state{padding:40px;text-align:center;font-size:14px;color:var(--color-text-secondary);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.error-state{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 5%,transparent);border-color:color-mix(in srgb,var(--color-danger) 20%,transparent)}.placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.placeholder-item{height:48px;border-radius:10px;background:#f1f5f9;border:1px dashed #e2e8f0}.placeholder-bar{height:12px;border-radius:999px;background:#e2e8f0;margin-bottom:12px}.placeholder-row{height:14px;border-radius:6px;background:#f1f5f9;border:1px dashed #e2e8f0;margin-bottom:8px}.placeholder-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.placeholder-list li{height:16px;border-radius:6px;background:#f1f5f9;border:1px dashed #e2e8f0}.placeholder-textarea{min-height:120px;border-radius:10px;background:#f8fafc;border:1px dashed #e2e8f0}.pill{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--color-bg-hover);color:var(--color-text-secondary);border:1px solid var(--color-border)}.pill.neutral{background:#f8fafc}.usage-footer{margin-top:10px;font-size:12px;color:var(--color-text-secondary)}@media (max-width: 1100px){.capacity-nextactions-container{flex-direction:column}.capacity-nextactions-container .next-actions-widget{width:100%}}@media (max-width: 1100px){.mockup-grid{grid-template-columns:1fr}.mockup-grid .span-2{grid-column:span 1}.capacity-actions-grid{grid-template-columns:1fr}.section-divider{width:100%;height:1px}.deliverable-inputs{grid-template-columns:1fr}}.hours-layout{display:flex;min-height:100vh;background:#f8fafc}.hours-main{min-height:calc(100vh - 52px);flex:1;max-width:1400px}.hours-header{margin-bottom:24px}.hours-title{margin:0 0 2px;font-size:26px;font-weight:700;color:#0f172a}.hours-subtitle{margin:0;font-size:14px;color:#94a3b8}.hours-table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.hours-table-head,.hours-table-row{display:grid;grid-template-columns:1.4fr 1.1fr .8fr 1.3fr 32px;align-items:start}.hm-edit-btn{opacity:0;transition:opacity .15s ease;background:none;border:none;cursor:pointer;color:#94a3b8;font-size:15px;padding:0;line-height:1;align-self:center;justify-self:start;margin-left:4px}.hours-table-row:hover .hm-edit-btn{opacity:1}.hm-edit-btn:hover{color:#0f172a}.hours-table-head{background:#f8fafc;border-bottom:1px solid #e2e8f0}.hours-table-head .ht-col{padding:10px 16px;font-size:11px;font-weight:600;color:#0f172a;text-transform:uppercase;letter-spacing:.5px}.hours-table-row{transition:background .1s;background:#fff}.hours-table-row:hover{background:#f8fafc}.hours-table-row .ht-col{padding:14px 16px;display:flex;flex-direction:column;gap:2px;justify-content:center}.hm-col-duration,.hm-col-date{justify-content:flex-start;padding-top:16px}.hm-col-date,.hours-table-head .hm-col-date{background:transparent}.hm-col-date .ht-secondary{white-space:nowrap;color:#475569}.ht-primary{font-size:14px;font-weight:600;color:#1e293b}.ht-secondary{font-size:12px;color:#94a3b8}.hm-col-duration{padding-right:40px!important}.ht-duration{font-size:15px;font-weight:700;color:#0f172a}.hm-entry-block{border-bottom:1px solid #f1f5f9}.hm-entry-block:last-child{border-bottom:none}.hm-entry-block .hours-table-row{border-bottom:none}.hm-corrected{opacity:.45}.hm-strike{text-decoration:line-through;text-decoration-color:#cbd5e1}.hm-correction-row{background:#fff}.hm-correction-row:hover{background:#f8fafc}.hm-correction-row .ht-col{padding-top:0!important;padding-bottom:14px}.hm-cx-label{font-size:14px;font-weight:600;color:#1e293b}.hm-cx-duration{font-size:15px;font-weight:700}.hm-cx-desc{font-size:12px;color:#94a3b8}.hm-cx-arrow{color:#94a3b8;margin-right:4px}.hm-cx-reason{padding:0 16px 12px;font-size:12px;color:#94a3b8;font-style:italic}.hm-correction-form{padding:14px 16px 16px;background:#fafbfc;border-top:1px solid #e2e8f0}.hm-cf-row{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px}.hm-cf-row2{display:flex;align-items:flex-end;gap:10px}.hm-cf-field{display:flex;flex-direction:column;gap:4px}.hm-cf-field label{font-size:12px;font-weight:600;color:#475569;white-space:nowrap}.hm-cf-field input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s;width:120px}.hm-cf-field input:focus{border-color:#3b82f6}.hm-cf-reason{flex:1}.hm-cf-reason input{width:100%;box-sizing:border-box}.hm-cf-time{width:110px}.hm-cf-time label{font-size:12px!important;font-weight:600!important;color:#475569!important;margin-bottom:4px!important}.hm-cf-time input{padding:8px 12px!important;border:1px solid #e2e8f0!important;border-radius:8px!important;font-size:14px!important;width:100%!important;box-sizing:border-box!important}.hm-cf-time input:focus{border-color:#3b82f6!important}.hm-cf-btns{display:flex;gap:8px;flex-shrink:0}.hm-cf-cancel{padding:8px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:background .1s}.hm-cf-cancel:hover{background:#f1f5f9}.hm-cf-save{padding:8px 18px;background:#2563eb;border:none;border-radius:8px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .1s}.hm-cf-save:hover{background:#1d4ed8}.hm-cf-save:disabled{background:#93c5fd;cursor:not-allowed}@media (max-width: 768px){.hours-main{margin-left:0!important;padding:16px!important}.hours-table-head,.hours-table-row{grid-template-columns:1fr 1fr 1fr}.hm-col-engagement{display:none!important}}:root{--legal-text: #1f2937;--legal-muted: #6b7280;--legal-border: #e5e7eb;--legal-heading: #111827;--legal-accent: #635bff;--legal-bg: #ffffff;--legal-toc-bg: #f9fafb}.legal-page{min-height:100vh;margin:0;background:var(--legal-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;color:var(--legal-text);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}.legal-container{max-width:980px;margin:72px auto;padding:0 24px}.legal-header{display:block;margin-bottom:28px}.legal-title{font-size:38px;font-weight:650;color:var(--legal-heading);margin:12px 0 8px;letter-spacing:-.02em;line-height:1.15;text-wrap:balance}.legal-meta{font-size:14px;color:var(--legal-muted);margin:0}.legal-back{display:inline-block;color:var(--legal-accent);text-decoration:none;font-weight:600;font-size:14px}.legal-back:hover{text-decoration:underline}.legal-intro{margin-top:18px;font-size:16px;color:#374151;max-width:78ch;white-space:pre-wrap;word-break:break-word;line-height:1.7}.legal-main-intro{margin-top:0;margin-bottom:24px}.legal-layout{display:grid;grid-template-columns:260px 1fr;gap:36px;margin-top:36px;align-items:start}.legal-toc{position:sticky;top:20px;border:1px solid var(--legal-border);background:var(--legal-toc-bg);border-radius:12px;padding:14px 14px 10px}.legal-toc-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#374151;margin:6px 0 10px;padding:0 10px}.legal-toc-link{display:block;padding:8px 10px;border-radius:10px;color:#374151;font-weight:500;text-decoration:none;font-size:14px;transition:background .15s,color .15s}.legal-toc-link:hover{background:#eef2ff;color:#1f2a44}.legal-main{max-width:82ch}.legal-section{padding-top:22px;margin-top:22px;border-top:1px solid var(--legal-border);scroll-margin-top:24px}.legal-section.legal-section-first{border-top:none;padding-top:0;margin-top:0}.legal-section h2{font-size:20px;margin:0 0 12px;color:var(--legal-heading);font-weight:650;letter-spacing:-.01em}.legal-section h3{font-size:15px;margin:18px 0 8px;color:var(--legal-heading);font-weight:650}.legal-section p{margin:0 0 14px}.legal-section ul{margin:10px 0 16px 18px;padding:0}.legal-section li{margin-bottom:6px}.legal-section .callout{border:1px solid var(--legal-border);background:var(--legal-bg);border-radius:12px;padding:12px 14px;margin:14px 0 18px}.legal-section .callout strong{display:block;margin-bottom:6px;color:var(--legal-heading)}.legal-section a{color:var(--legal-accent);text-decoration:none;font-weight:600}.legal-section a:hover{text-decoration:underline}.legal-footer{margin-top:64px;padding-top:22px;border-top:1px solid var(--legal-border);font-size:13px;color:var(--legal-muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.legal-footer-links{display:flex;gap:6px;align-items:center}.legal-footer-links span{color:var(--legal-muted)}.legal-footer-links a{color:var(--legal-accent);text-decoration:none;font-weight:600}.legal-footer-links a:hover{text-decoration:underline}@media (max-width: 900px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:relative;top:0}}@media (max-width: 640px){.legal-container{margin:40px auto}.legal-title{font-size:28px}.legal-footer{flex-direction:column;align-items:flex-start}}:root{--color-primary: #4b5eaa;--color-primary-dark: #3d4d8a;--color-primary-light: rgba(75, 94, 170, .12);--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-bg-page: #f5f7fa;--color-bg-card: #ffffff;--color-bg-hover: #f1f5f9;--color-bg-active: #f8fafc;--color-border: #e5e9f0;--color-border-light: #e2e8f0;--color-border-focus: #3b82f6;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-danger: #ef4444;--color-danger-bg: #fef2f2;--color-info: #3b82f6;--color-info-bg: #eff6ff;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--sidebar-width: 220px;--topnav-height: 52px}.full-width{width:100%}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-column{display:flex;flex-direction:column}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-bg-hover);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border-light)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease}.action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.action-btn.danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.logout-btn{color:var(--color-text-secondary)!important}.logout-btn:hover{color:var(--color-danger)!important;background:var(--color-danger-bg)!important}.form-group{margin-bottom:16px}.form-group.full-width{grid-column:1 / -1}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--color-text-primary);font-size:14px}.form-group label.required:after{content:" *";color:var(--color-danger)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-card);transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--color-bg-hover);cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.filter-select{padding:8px 32px 8px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-card);font-size:14px;color:var(--color-text-primary);cursor:pointer;min-width:180px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-select:hover{border-color:#cbd5e1}.filter-select:focus{outline:none;border-color:var(--color-border-light);box-shadow:none}.filter-select:focus-visible{border-color:var(--color-border-focus);box-shadow:0 0 0 2px #3b82f61a}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.intake-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:32px}.step-item{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background:var(--color-bg-hover);color:var(--color-text-secondary);border:2px solid var(--color-border);transition:all .2s ease}.step-item.active .step-circle{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.step-item.completed .step-circle{background:var(--color-success);color:#fff;border-color:var(--color-success)}.step-label{font-size:12px;color:var(--color-text-secondary);margin-top:8px;text-align:center;white-space:nowrap}.step-item.active .step-label{color:var(--color-primary);font-weight:600}.step-connector{width:60px;height:2px;background:var(--color-border);margin:0 8px 20px}.step-connector.completed{background:var(--color-success)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--color-text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;color:var(--color-text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.empty-state-description{font-size:14px;max-width:300px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-item{background:var(--color-bg-card);padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.summary-label{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.summary-value{font-size:24px;font-weight:700;color:var(--color-text-primary)}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-weight:600;font-size:13px;color:var(--color-text-secondary);background:var(--color-bg-hover);text-transform:uppercase;letter-spacing:.5px}.data-table td{font-size:14px;color:var(--color-text-primary)}.data-table tbody tr:hover{background:var(--color-bg-active)}.vertical-sidebar{width:var(--sidebar-width);background:var(--color-bg-card);display:flex;flex-direction:column;padding:20px 16px;border-right:1px solid var(--color-border);position:fixed;left:0;top:var(--topnav-height);bottom:0;z-index:100;overflow-y:auto}.sidebar-section{margin-bottom:24px}.sidebar-section-title{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 16px;margin-bottom:8px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-nav-item,.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;transition:all .15s ease;cursor:pointer;background:transparent;border:none;width:100%;font-size:14px;text-align:left}.sidebar-nav-item:hover,.sidebar-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav-item.active,.sidebar-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.sidebar-icon{font-size:18px;min-width:24px;display:flex;align-items:center;justify-content:center}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--color-border)}.top-nav{display:flex;align-items:center;justify-content:flex-start;gap:24px;padding:12px 24px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0;z-index:150;height:var(--topnav-height);box-sizing:border-box}.nav-tabs{display:flex;gap:4px}.nav-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.nav-tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-tab.active{background:var(--color-primary-light);color:var(--color-text-primary);font-weight:600;border:1px solid var(--color-primary-light)}.tab-icon{font-size:16px}.nav-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.hero-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);text-align:center}.hero-value{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px}.hero-label{font-size:14px;color:var(--color-text-secondary)}.tier-1-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:24px}.tier-3-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.billing-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.billing-option{padding:20px;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:center}.billing-option:hover{border-color:var(--color-primary);background:var(--color-bg-active)}.billing-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}@media (max-width: 1024px){.vertical-sidebar{width:200px}.page-content{margin-left:200px;width:calc(100% - 200px)}}@media (max-width: 768px){.vertical-sidebar{display:none}.page-content{margin-left:0;width:100%;padding:16px}.tier-1-row,.tier-3-insights,.summary-grid{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}button{cursor:pointer;border:none;padding:10px 20px;border-radius:5px;font-size:14px;transition:all .2s}button:hover{opacity:.9}input{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}input:focus{outline:none;border-color:#4a90e2}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}
