:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f6f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:#f6f6f6}body{min-width:320px;margin:0}#root{min-height:100vh}:root{--bg:#f6f6f6;--surface:#ffffffd6;--surface-strong:#fff;--surface-muted:#ffffff8a;--text:#111;--text-muted:#6f6f6f;--text-soft:#9a9a9a;--border:#1111111a;--border-strong:#1111112e;--black:#0a0a0a;--white:#fff;--success:#17803d;--success-bg:#17803d14;--warning:#111;--warning-bg:#0000000f;--danger:#a52626;--danger-bg:#a5262614;--shadow:0 18px 60px #00000014;--radius:18px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.layout{background:linear-gradient(180deg, #ffffffe6, #f6f6f6eb), var(--bg);grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;flex-direction:column;gap:34px;padding:28px 22px;display:flex}.brand{align-items:center;gap:0;display:flex}.brand-mark{width:170px;max-width:100%}.brand-mark.compact{justify-content:flex-start;align-items:center;width:132px;display:flex}.brand-mark img{width:100%;height:auto;display:block}.brand-mark.compact img{width:100%}.brand p{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:760}.brand span{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}nav{flex-direction:column;gap:4px;display:flex}nav button{width:100%;min-height:auto;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;padding:11px 12px;font-size:14px;font-weight:650;text-decoration:none;transform:none}nav button.active,nav button:hover{color:var(--text);background:#0000000f;transform:none}.main{min-width:0;padding:30px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px;font-size:11px;font-weight:760;line-height:1.2}h1,h2{color:var(--text);letter-spacing:-.025em;margin:0}h1{font-size:clamp(28px,4vw,38px);font-weight:760;line-height:1.05}h2{font-size:18px;font-weight:720;line-height:1.2}p{margin:0}button,.link-button{background:var(--black);min-height:42px;color:var(--white);border:1px solid var(--black);cursor:pointer;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s}button:hover,.link-button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.topbar-actions{align-items:center;gap:10px;display:flex}.logout-button,.secondary-button,.link-button{color:var(--text);border-color:var(--border-strong);background:#ffffff9e;text-decoration:none}.logout-button:hover,.secondary-button:hover,.link-button:hover{background:var(--white);border-color:var(--black)}.danger-button{color:var(--danger);border-color:#a5262638}.danger-button:hover{background:var(--danger-bg);border-color:#a5262657}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.stat-card,.panel,.login-card,.modal,.client-hero,.client-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.stat-card{padding:20px}.stat-card span{color:var(--text-muted);font-size:12px;font-weight:700}.stat-card strong{letter-spacing:-.03em;margin:12px 0 8px;font-size:clamp(22px,2.4vw,30px);font-weight:760;line-height:1;display:block}.stat-card p,.user-email,.login-description{color:var(--text-muted);font-size:14px;line-height:1.55}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:18px;display:grid}.panel{min-height:260px;padding:22px}.panel-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.panel-header span,.client-meta span,.finance-summary span{border:1px solid var(--border);color:var(--text-muted);background:#ffffff9e;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.empty-state{border:1px dashed var(--border-strong);min-height:150px;color:var(--text-muted);text-align:center;border-radius:16px;justify-content:center;align-items:center;padding:20px;display:flex}.project-list{border:1px solid var(--border);text-align:left;border-radius:16px;flex-direction:column;gap:0;max-height:520px;display:flex;overflow:auto}.project-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px;display:grid}.project-row:last-child{border-bottom:0}.project-row p{color:var(--text-muted);grid-column:1/2;font-size:14px;line-height:1.55}.project-list strong,.finance-summary strong{color:var(--text);font-weight:760}.project-row-actions{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end;gap:8px;display:flex}.compact-button{min-height:36px;padding:8px 12px;font-size:12px}.finance-summary{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.payment-status.due{background:var(--warning-bg);color:var(--text);border-color:#00000029}.payment-status.paid{background:var(--success-bg);color:var(--success);border-color:#17803d33}.finance-panel{overflow:hidden}.finance-table{border:1px solid var(--border);border-radius:16px;overflow:auto}.finance-table-head,.finance-table-row{grid-template-columns:minmax(220px,1.4fr) repeat(6,minmax(110px,1fr));align-items:center;gap:12px;min-width:980px;padding:13px 16px;display:grid}.finance-table-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;background:#0000000a;font-size:12px;font-weight:760}.finance-table-row{border-top:1px solid var(--border);color:var(--text-muted);font-size:14px}.finance-table-row strong{color:var(--text);margin-bottom:3px;font-weight:760;display:block}.finance-table-row p{color:var(--text-muted);font-size:13px}.finance-table-row .payment-status{border:1px solid var(--border);border-radius:999px;justify-self:start;padding:7px 10px;font-size:12px;font-weight:760}.placeholder-panel{text-align:center;justify-content:center;align-items:center;min-height:340px;display:flex}.module-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.module-intro{min-height:auto;margin-bottom:18px}.module-intro h2{margin-bottom:8px}.module-intro p:last-child,.client-link-message,.public-note-editor p,.client-panel-card p{color:var(--text-muted);font-size:13px;line-height:1.5}.filters-grid{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.filters-grid.single-filter{grid-template-columns:minmax(220px,420px)}.filters-grid.client-panel-filters{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,1fr))}.filters-grid.task-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.current-production-card{grid-column:1/-1}.highlight-title{margin-bottom:14px}.highlight-title strong{margin-bottom:4px;font-size:18px;display:block}.highlight-title p,.compact-list-row p,.management-row p,.client-admin-main p,.client-project-row p,.calendar-row p{color:var(--text-muted);font-size:13px;line-height:1.5}.compact-list,.management-list,.client-list,.calendar-list{border:1px solid var(--border);border-radius:16px;overflow:hidden}.compact-list-row,.management-row,.client-project-row,.calendar-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 16px;display:grid}.compact-list-row:last-child,.management-row:last-child,.client-project-row:last-child,.calendar-row:last-child{border-bottom:0}.compact-list-row{grid-template-columns:minmax(0,1fr) auto}.compact-list-row.task-overdue{background:#0000000b}.compact-list-row strong,.management-row strong,.client-admin-main strong,.client-project-row strong,.calendar-row strong{color:var(--text);margin-bottom:3px;font-weight:760;display:block}.compact-list-row>span,.calendar-row span:first-child{color:var(--text-muted);font-size:12px;font-weight:720}.management-row{grid-template-columns:minmax(240px,1.2fr) minmax(260px,1fr) auto}.management-meta,.management-actions{flex-wrap:wrap;gap:8px;display:flex}.management-meta span,.client-admin-main span{border:1px solid var(--border);color:var(--text-muted);background:#ffffff9e;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:720}.management-actions{justify-content:flex-end}.client-admin-card{border-bottom:1px solid var(--border)}.client-admin-card:last-child{border-bottom:0}.client-admin-main{width:100%;min-height:auto;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(220px,1.4fr) repeat(6,minmax(120px,1fr));align-items:center;gap:12px;padding:15px 16px;display:grid;transform:none}.client-admin-main:hover{background:#00000009;transform:none}.client-projects{border-top:1px solid var(--border);background:#00000006;padding:8px}.client-project-row{border:1px solid var(--border);background:#ffffff94;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:8px}.client-project-row:last-child{margin-bottom:0}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.calendar-section.overdue{border-color:var(--border-strong);background:#0000000b}.calendar-section.overdue .panel-header span{border-color:var(--border-strong);color:var(--text)}.calendar-row{grid-template-columns:minmax(0,1fr) auto}.task-calendar-panel{margin-top:16px}.task-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.task-calendar-group{border:1px solid var(--border);border-radius:16px;padding:14px}.task-calendar-list{gap:8px;display:grid}.task-calendar-row{border:1px solid var(--border);background:#ffffff8a;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.task-calendar-row>span:first-child{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:6px 8px;font-size:11px;font-weight:760}.task-calendar-row>span:last-child,.task-meta span{color:var(--text-muted);font-size:12px;font-weight:720}.task-calendar-row strong{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:760;display:block}.task-calendar-row p{color:var(--text-muted);font-size:12px}.task-calendar-row.overdue,.task-card.overdue{border-color:var(--border-strong);background:#0000000b}.task-calendar-row.done,.task-card.done{opacity:.62}.task-card.done .task-card-main strong{text-decoration:line-through}.task-calendar-row.high-priority,.task-card.high-priority{box-shadow:inset 3px 0 0 var(--black)}.task-list{gap:10px;display:grid}.task-card{border:1px solid var(--border);background:#ffffff8f;border-radius:16px;grid-template-columns:minmax(112px,auto) minmax(260px,1fr) minmax(170px,auto) auto;align-items:start;gap:14px;padding:15px;display:grid}.task-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffffad;border-radius:999px;flex-direction:row;justify-content:center;align-items:center;gap:8px;width:max-content;margin:0;padding:8px 10px;display:inline-flex}.task-toggle input,.task-done-field input{accent-color:var(--black)}.task-toggle span{font-size:12px;font-weight:760}.task-card-main strong{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:760;display:block}.task-card-main p{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.5}.task-meta{flex-wrap:wrap;gap:8px;display:flex}.task-meta span,.priority-pill{border:1px solid var(--border);background:#ffffff9e;border-radius:999px;padding:7px 10px}.priority-pill.high{border-color:var(--border-strong);color:var(--text);font-weight:800}.task-modal{width:min(760px,100%)}.task-form-grid{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.2fr) repeat(2,minmax(150px,.8fr))}.task-done-field{width:max-content}.wedding-package-section{background:#ffffff6b}.wedding-package-grid{grid-template-columns:minmax(220px,.7fr) minmax(260px,1.3fr)}.helper-message{color:var(--text-muted);font-size:13px;line-height:1.5}.package-preview-card{border:1px solid var(--border);background:#fff9;border-radius:16px;padding:16px}.package-preview-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.package-preview-header strong{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:780;display:block}.package-preview-header p,.package-preview-card p,.package-preview-card li{color:var(--text-muted);font-size:13px;line-height:1.55}.package-preview-header span{border:1px solid var(--border);color:var(--text);background:#ffffffb3;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:800}.package-preview-card ul{margin:12px 0 0;padding-left:18px}.package-preview-card li+li{margin-top:5px}.client-panel-list{gap:12px;display:grid}.client-panel-card{border:1px solid var(--border);background:#ffffff8f;border-radius:16px;padding:16px}.client-panel-main{grid-template-columns:minmax(260px,1.1fr) minmax(260px,1fr);align-items:start;gap:14px;display:grid}.client-panel-main strong{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:760;display:block}.client-link-status.active{background:var(--success-bg);color:var(--success);border-color:#17803d33}.client-link-status.inactive{border-color:var(--border);color:var(--text-muted);background:#0000000d}.client-link-message{margin:12px 0}.public-note-editor{grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr);align-items:start;gap:12px;margin-bottom:14px;display:grid}.public-note-editor label{margin:0}.public-note-editor p{border:1px dashed var(--border-strong);white-space:pre-wrap;border-radius:12px;min-height:96px;padding:12px}.client-panel-actions{justify-content:flex-start}.project-progress{flex-direction:column;gap:12px;margin-top:16px;display:flex}.project-progress.compact{grid-column:1/-1;margin-top:0}.progress-summary{color:var(--text-muted);justify-content:space-between;align-items:center;gap:14px;font-size:12px;font-weight:740;display:flex}.progress-summary strong{color:var(--text);font-size:16px}.smart-progress-bar{background:#00000014;border-radius:999px;height:14px;overflow:hidden}.smart-progress-bar div{border-radius:inherit;background:linear-gradient(90deg,#0a0a0a,#5f5f5f);justify-content:flex-end;align-items:center;height:100%;padding-right:8px;transition:width .28s;animation:2.8s ease-in-out infinite progressPulse;display:flex}.smart-progress-bar.complete div{background:linear-gradient(90deg, var(--success), #4b9f69)}.smart-progress-bar span{color:var(--white);font-size:10px;font-weight:800;line-height:1}.stage-timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.project-progress.compact .stage-timeline{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.timeline-stage{border:1px solid var(--border);min-width:0;color:var(--text-soft);background:#ffffff8c;border-radius:12px;align-items:center;gap:8px;padding:9px;font-size:12px;font-weight:700;display:flex}.timeline-stage.complete{color:var(--success);background:var(--success-bg);border-color:#17803d2e}.timeline-stage.active{color:var(--text);background:var(--warning-bg);border-color:#00000029}.stage-marker{width:20px;height:20px;color:var(--text-muted);background:#00000014;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:820;display:inline-flex}.timeline-stage.complete .stage-marker{background:var(--success);color:var(--white)}.timeline-stage.active .stage-marker{background:var(--warning);color:#0000;animation:1.45s ease-in-out infinite activeStageBlink;box-shadow:0 0 #00000047}.progress-item p{font-weight:760}.auth-page,.loading-screen,.client-page{background:radial-gradient(circle at top, #0000000d, transparent 34rem), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:min(420px,100%);padding:30px}.login-card .brand-mark{margin-bottom:24px}.login-card h1{margin-bottom:10px}form{flex-direction:column;gap:14px;display:flex}label,.public-note-field{color:var(--text);flex-direction:column;gap:8px;font-size:13px;font-weight:720;display:flex}input,select,textarea{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#ffffffb8;border-radius:12px;outline:none;padding:12px 13px;font-size:14px;transition:border-color .16s,background .16s,box-shadow .16s}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{background:var(--white);border-color:var(--black);box-shadow:0 0 0 3px #0000000d}.error-message,.success-message{background:var(--danger-bg);color:var(--danger);border:1px solid #a526262e;border-radius:12px;padding:12px 14px;font-size:14px}.success-message{background:var(--success-bg);color:var(--success);border-color:#17803d2e}.modal-backdrop{z-index:10;background:#00000075;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{text-align:left;width:min(900px,100%);max-height:min(92vh,920px);padding:26px;overflow:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.modal-header h2{font-size:24px}.icon-button{width:38px;height:38px;min-height:38px;color:var(--text);border:1px solid var(--border-strong);background:#ffffffad;border-radius:50%;padding:0;font-size:22px;line-height:1}.project-form{gap:16px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.stage-fieldset{border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;margin:0;padding:16px;display:flex}.stage-fieldset legend{color:var(--text);padding:0 8px;font-size:13px;font-weight:760}.stage-checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.checkbox-label{border:1px solid var(--border);cursor:pointer;background:#ffffff8a;border-radius:12px;flex-direction:row;align-items:center;gap:9px;padding:11px;font-weight:700;display:flex}.checkbox-label input{width:16px;height:16px;accent-color:var(--black)}.readonly-progress{border:1px solid var(--border);background:#ffffff8a;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;padding:12px 13px;display:flex}.readonly-progress span{color:var(--text-muted);font-size:13px;font-weight:720}.readonly-progress strong{color:var(--text);font-size:22px;line-height:1}.readonly-progress p{color:var(--text-muted);font-size:12px;line-height:1.4}.form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.client-page{align-items:flex-start;padding:30px}.client-shell{flex-direction:column;gap:18px;width:min(1040px,100%);margin:0 auto;display:flex}.client-shell.narrow{width:min(620px,100%)}.client-brand{color:var(--text)}.client-brand span{color:var(--text-muted)}.client-hero,.client-card{padding:26px}.client-hero h1{margin-bottom:16px}.client-meta{flex-wrap:wrap;gap:8px;display:flex}.client-grid{grid-template-columns:1.3fr .7fr;gap:16px;display:grid}.client-note{color:var(--text-muted);line-height:1.7}@keyframes progressPulse{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}@keyframes activeStageBlink{0%,to{opacity:1;box-shadow:0 0 #0000003d}50%{opacity:.62;box-shadow:0 0 0 7px #0000}}@media (width<=1060px){.stats,.content-grid,.filters-grid,.filters-grid.client-panel-filters,.filters-grid.task-filters,.management-row,.client-admin-main,.calendar-grid,.task-calendar-grid,.task-card,.task-form-grid,.wedding-package-grid,.client-panel-main,.public-note-editor{grid-template-columns:1fr 1fr}}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{z-index:5;gap:16px;padding:16px 20px;position:sticky;top:0}nav{flex-direction:row;padding-bottom:2px;overflow-x:auto}nav button{white-space:nowrap;width:auto}.main{padding:20px}.stats,.content-grid,.client-grid,.dashboard-grid,.filters-grid,.filters-grid.client-panel-filters,.filters-grid.task-filters,.management-row,.client-admin-main,.calendar-grid,.task-calendar-grid,.task-card,.task-form-grid,.wedding-package-grid,.client-panel-main,.public-note-editor{grid-template-columns:1fr}.topbar{flex-direction:column}}@media (width<=760px){.form-grid,.stage-checkbox-grid,.stage-timeline,.project-progress.compact .stage-timeline,.compact-list-row,.client-project-row,.calendar-row,.task-calendar-row,.task-card,.task-form-grid,.wedding-package-grid,.client-panel-main,.public-note-editor{grid-template-columns:1fr}.form-actions,.topbar-actions{flex-direction:column;align-items:stretch;width:100%}.project-row{grid-template-columns:1fr}.project-row-actions,.compact-button{grid-area:auto}.project-row-actions{justify-content:flex-start}.module-toolbar{flex-direction:column}.management-actions{justify-content:flex-start}.package-preview-header{flex-direction:column}.modal,.login-card,.client-hero,.client-card{padding:20px}.client-page,.auth-page,.loading-screen{padding:18px}}
