: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:12px;min-height:74px;display:flex}.brand-mark{width:170px;max-width:100%}.brand-mark.compact{justify-content:flex-start;align-items:center;width:150px;max-height:70px;display:flex}.brand-mark img{object-fit:contain;object-position:left center;width:100%;height:auto;max-height:78px;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}.workspace-switcher{border:1px solid var(--border);background:#ffffff85;border-radius:16px;padding:10px}.workspace-switcher>span{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:760;display:block}.workspace-switcher div{gap:6px;display:grid}.workspace-switcher button{border-color:var(--border);min-height:36px;color:var(--text-muted);text-align:left;background:0 0;border-radius:999px;padding:8px 10px}.workspace-switcher button.active,.workspace-switcher button:hover{background:var(--black);border-color:var(--black);color:var(--white)}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}.topbar-greeting{color:var(--text-muted);flex-wrap:wrap;gap:8px 12px;margin-top:10px;font-size:13px;display:flex}.topbar-greeting strong{color:var(--text)}.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}.deadline-pill{border:1px solid var(--border);width:max-content;max-width:100%;color:var(--text-muted);vertical-align:middle;background:#ffffff9e;border-radius:999px;align-items:center;padding:5px 8px;font-size:12px;font-weight:760;line-height:1.1;display:inline-flex}.deadline-warning{color:#8e181f;background:#8e181f12;border-color:#8e181f3d}.deadline-warning:before{content:"";background:#8e181f;border-radius:999px;width:6px;height:6px;margin-right:6px;animation:1.5s ease-in-out infinite deadlinePulse;box-shadow:0 0 #8e181f33}.deadline-overdue{background:#8e181f1c;border-color:#8e181f57;box-shadow:inset 3px 0 #8e181f52}@keyframes deadlinePulse{0%,to{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}.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}.compact-list-row>span.deadline-pill,.management-row .deadline-pill,.client-project-row .deadline-pill,.calendar-row .deadline-pill,.client-panel-card .deadline-pill{color:var(--text-muted);font-size:12px;font-weight:760}.compact-list-row>span.deadline-warning,.management-row .deadline-warning,.client-project-row .deadline-warning,.calendar-row .deadline-warning,.client-panel-card .deadline-warning{color:#8e181f}.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:12px}.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:12px;padding:12px}.task-calendar-list{gap:6px;display:grid}.task-calendar-row{border:1px solid var(--border);background:#ffffff8a;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.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)}.compact-empty-state{border-style:solid;padding:16px}.compact-task-filters{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,220px))}.upcoming-task-groups{gap:14px;display:grid}.upcoming-task-group{gap:8px;display:grid}.upcoming-task-date{color:var(--text-muted);align-items:center;gap:8px;display:flex}.upcoming-task-date h3{color:var(--text);margin:0;font-size:14px;font-weight:780}.upcoming-task-date>span:last-child{font-size:12px;font-weight:720}.task-list{gap:10px;display:grid}.compact-task-list{gap:7px}.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}.compact-task-card{border-radius:12px;grid-template-columns:auto minmax(96px,auto) minmax(260px,1fr) minmax(130px,auto) auto;align-items:center;gap:10px;padding:10px}.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:7px 9px;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}.compact-task-card .task-card-main strong{margin-bottom:2px;font-size:14px}.task-card-main p{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.5}.compact-task-card .task-card-main p{margin-top:2px;font-size:12px;line-height:1.35}.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:6px 9px}.task-status-dot{border-radius:999px;flex:none;width:9px;height:9px;display:inline-block}.task-status-dot.active{background:var(--black);animation:1.65s ease-in-out infinite taskDotPulse}.task-status-dot.urgent{background:var(--danger);animation:1.35s ease-in-out infinite taskDotPulse;box-shadow:0 0 #a5262638}.task-status-dot.low{background:#9a9a9a}.task-status-dot.done{background:var(--success);position:relative}.task-status-dot.done:after{color:var(--white);content:"✓";font-size:7px;font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.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}.addons-section{gap:10px;display:grid}.addons-section>p{color:var(--text);font-size:13px;font-weight:760}.addons-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-calendar-panel,.selected-date-panel,.deadline-grid{margin-bottom:12px}.calendar-controls{flex-wrap:wrap;gap:8px;display:flex}.calendar-filter-bar,.calendar-legend{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.calendar-filter-bar button{border-color:var(--border);min-height:30px;color:var(--text-muted);background:#ffffffb3;border-radius:999px;padding:6px 10px;font-size:12px}.calendar-filter-bar button.active,.calendar-filter-bar button:hover{background:var(--black);border-color:var(--black);color:var(--white);transform:none}.calendar-legend{color:var(--text-muted);font-size:11px;font-weight:720}.calendar-legend span{align-items:center;gap:7px;display:inline-flex}.brand-dot{border-radius:999px;flex:none;width:7px;height:7px;display:inline-block}.brand-dot.fudala-films{--dot-glow:#1113;background:#151515}.brand-dot.ten-wedding{--dot-glow:#7b1f2a3d;background:#7b1f2a}.brand-badge{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;width:fit-content;padding:6px 9px;font-size:11px;font-weight:780;line-height:1;display:inline-flex}.brand-badge.fudala-films{color:#151515;background:#1111110f;border-color:#11111129}.brand-badge.ten-wedding{color:#7b1f2a;background:#7b1f2a14;border-color:#7b1f2a38}.visual-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:0 3px 3px;font-size:10px;font-weight:800}.calendar-day{border-color:var(--border);min-height:62px;color:var(--text);background:#ffffff7a;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px;display:flex;position:relative;transform:none}.calendar-day:hover,.calendar-day.selected{border-color:var(--black);background:var(--white);transform:none}.calendar-day.muted{opacity:.42}.calendar-day.occupied{color:var(--text);background:#ffffffc7;border-color:#1111113d}.calendar-day.today{outline-offset:-3px;outline:1px solid #1111113d}.calendar-day.nearest{box-shadow:inset 0 0 0 1px #11111114}.calendar-day span{font-size:12px;font-weight:800}.calendar-day-markers{flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;display:flex}.calendar-day-markers .brand-dot.pulsing{animation:1.65s ease-in-out infinite brandDotPulse}.calendar-day-markers .brand-dot.ten-wedding{animation-delay:.18s}.calendar-day-markers strong{background:var(--black);color:var(--white);border-radius:999px;padding:3px 5px;font-size:10px;line-height:1}.calendar-tooltip{border:1px solid var(--border);color:var(--text);text-align:left;z-index:50;background:#fffffffa;border-radius:12px;gap:10px;width:max-content;min-width:min(320px,86vw);max-width:min(360px,88vw);max-height:320px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 18px 50px #00000029}.calendar-tooltip:before{border-left:1px solid var(--border);border-top:1px solid var(--border);content:"";background:#fffffffa;width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.calendar-day:hover .calendar-tooltip,.calendar-day:focus-visible .calendar-tooltip{display:grid}.calendar-day:nth-child(7n+8) .calendar-tooltip{left:0;transform:none}.calendar-day:nth-child(7n+8) .calendar-tooltip:before{left:22px;transform:rotate(45deg)}.calendar-day:nth-child(7n+14) .calendar-tooltip{left:auto;right:0;transform:none}.calendar-day:nth-child(7n+14) .calendar-tooltip:before{left:auto;right:22px;transform:rotate(45deg)}.calendar-tooltip-item{border-bottom:1px solid var(--border);gap:4px;padding-bottom:10px;display:grid}.calendar-tooltip-item:last-child{border-bottom:0;padding-bottom:0}.calendar-tooltip-item span{color:var(--text-muted);font-size:12px;font-weight:620;line-height:1.35}.calendar-tooltip-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calendar-tooltip-title strong{color:var(--text);font-size:13px;line-height:1.2}.calendar-item-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.calendar-empty{margin-top:12px}.offer-filters{grid-template-columns:minmax(220px,1fr) minmax(160px,240px)}.status-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.status-tabs button{border-color:var(--border);min-height:34px;color:var(--text-muted);background:#fff9;padding:7px 12px}.status-tabs button.active,.status-tabs button:hover{background:var(--black);border-color:var(--black);color:var(--white);transform:none}.offer-list{gap:12px;display:grid}.offer-card{border:1px solid var(--border);background:#ffffff8f;border-radius:16px;grid-template-columns:minmax(260px,1fr) minmax(260px,.9fr) auto;align-items:start;gap:14px;padding:16px;display:grid}.offer-card strong{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:760;display:block}.offer-card p{color:var(--text-muted);font-size:13px;line-height:1.5}.offer-status.accepted{background:var(--success-bg);color:var(--success);border-color:#17803d33}.offer-status.rejected,.offer-status.expired{background:var(--danger-bg);color:var(--danger);border-color:#a5262633}.offer-public-grid{align-items:stretch}.public-section-heading{gap:5px;margin-bottom:14px;display:grid}.public-section-heading h2{font-size:18px}.public-section-heading span,.public-section-heading p:not(.label){color:var(--text-muted);font-size:13px;line-height:1.55}.public-package-card{gap:4px;display:grid}.public-included-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.public-included-item{border:1px solid var(--border);background:#ffffff8f;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:12px;display:grid}.public-included-item span,.public-addon-checklist i{background:var(--success-bg);color:var(--success);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.public-included-item p{color:var(--text-muted);font-size:13px;line-height:1.45}.offer-price-card strong{letter-spacing:-.04em;margin:10px 0 14px;font-size:clamp(30px,5vw,48px);line-height:1;display:block}.next-step-card h2{margin-bottom:10px}.public-addon-list{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.public-addon-list span{border:1px solid var(--border);color:var(--text-muted);background:#ffffffad;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:740}.public-addon-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.public-addon-checklist span{border:1px solid var(--border);color:var(--text-muted);background:#ffffff8f;border-radius:12px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:720;display:flex}.offer-cta-card{gap:14px;display:grid}.offer-response-actions{flex-wrap:wrap;gap:10px;display:flex}.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.is-complete{background:linear-gradient(#17803d1f,#fff6);border:1px solid #17803d52;border-radius:16px;padding:12px;animation:1.5s ease-in-out infinite completedProgressGlow;box-shadow:0 0 0 1px #17803d14,0 12px 30px #17803d1a}.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.complete{background:#17803d24;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #17803d2e}.smart-progress-bar.complete:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(105deg,#0000 0% 30%,#fff3 43%,#d9ffe6d1 50%,#fff3 57%,#0000 70% 100%);animation:1.45s ease-in-out infinite completedBarShimmer;position:absolute;inset:0;transform:translate(-120%)}.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{z-index:1;background:linear-gradient(90deg, #137236, var(--success), #55b874);animation:1.3s ease-in-out infinite completedBarPulse;position:relative;box-shadow:0 0 18px #17803d6b,0 0 34px #17803d33}.smart-progress-bar span{z-index:3;color:var(--white);font-size:10px;font-weight:800;line-height:1;position:relative}.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}.project-progress.is-complete .timeline-stage.complete{background:#17803d21;border-color:#17803d5c;animation:1.45s ease-in-out infinite completedStagePulse;box-shadow:0 0 0 1px #17803d14,0 8px 20px #17803d1a}.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{text-align:center;width:min(420px,100%);padding:32px}.login-card .brand-mark{width:min(190px,72%);margin:0 auto 22px}.login-card h1{text-align:center;margin-bottom:22px}.login-card label{text-align:center}.login-card input{text-align:left}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,.info-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}.info-message{color:var(--text);border-color:var(--border);background:#0000000b}.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.logo-only{justify-content:flex-start;min-height:auto}.client-brand.logo-only .brand-mark{max-width:190px}.client-brand span{color:var(--text-muted)}.offer-logo-only{min-height:auto}.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 completedProgressGlow{0%,to{background-color:#17803d05;border-color:#17803d47;box-shadow:0 0 0 1px #17803d12,0 10px 26px #17803d14}50%{background-color:#17803d0f;border-color:#17803d7a;box-shadow:0 0 0 1px #17803d29,0 12px 32px #17803d2e,0 0 28px #17803d1f}}@keyframes completedBarPulse{0%,to{filter:brightness();box-shadow:0 0 16px #17803d57,0 0 28px #17803d29}50%{filter:brightness(1.18)saturate(1.12);box-shadow:0 0 24px #17803d8f,0 0 44px #17803d47}}@keyframes completedBarShimmer{0%{opacity:0;transform:translate(-120%)}22%{opacity:.92}60%,to{opacity:0;transform:translate(120%)}}@keyframes completedStagePulse{0%,to{background-color:#17803d1a;border-color:#17803d47;box-shadow:0 0 0 1px #17803d0f,0 6px 16px #17803d14}50%{background-color:#17803d2e;border-color:#17803d7a;box-shadow:0 0 0 1px #17803d2e,0 10px 24px #17803d2e,0 0 18px #17803d1a}}@keyframes activeStageBlink{0%,to{opacity:1;box-shadow:0 0 #0000003d}50%{opacity:.62;box-shadow:0 0 0 7px #0000}}@keyframes brandDotPulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--dot-glow,#1113);transform:scale(1)}50%{opacity:.72;transform:scale(1.18);box-shadow:0 0 0 5px #1110}}@keyframes taskDotPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #1113}50%{opacity:.68;transform:scale(1.16);box-shadow:0 0 0 5px #1110}}@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,.addons-grid,.offer-card,.public-included-grid,.public-addon-checklist,.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,.addons-grid,.offer-card,.public-included-grid,.public-addon-checklist,.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,.addons-grid,.offer-card,.public-included-grid,.public-addon-checklist,.client-panel-main,.public-note-editor{grid-template-columns:1fr}.form-actions,.topbar-actions{flex-direction:column;align-items:stretch;width:100%}.visual-calendar{gap:4px}.calendar-day{border-radius:8px;min-height:46px;padding:6px}.calendar-day:hover .calendar-tooltip,.calendar-day:focus-visible .calendar-tooltip{display:none}.weekday{padding-left:0;font-size:10px}.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}}@media (prefers-reduced-motion:reduce){.project-progress.is-complete,.project-progress.is-complete .timeline-stage.complete,.smart-progress-bar.complete:after,.smart-progress-bar.complete div{animation:none}}
