*{box-sizing:border-box}body{margin:0;background:#f5f8f8;color:#17292c;font:16px system-ui,-apple-system,sans-serif}header{background:#111b20;color:white;padding:18px 24px;border-bottom:4px solid #27aab2}header b{letter-spacing:1px}main{max-width:980px;margin:28px auto;padding:0 16px}.card{background:white;border:1px solid #d7e4e5;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 2px 12px #18383b0a}h1{font-size:26px}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:18px 0 10px}label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}input,select,textarea{font:inherit;width:100%;border:1px solid #bed0d2;border-radius:8px;padding:10px;background:white}textarea{min-height:88px}.btn,button{border:0;background:#148e96;color:white;border-radius:9px;padding:11px 17px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}.secondary{background:#e5eff0;color:#193438}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.check{display:flex;align-items:center;gap:9px;margin:8px 0;font-weight:400;font-size:15px}.check input{width:auto}.muted{color:#607477;font-size:14px}.bar{height:6px;background:#dce7e8;border-radius:6px;overflow:hidden}.bar span{display:block;background:#1e9fa7;height:100%}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.warning{background:#fff1df}.success,.warning{padding:12px;border-radius:8px}.success{background:#e0f5e9}table{border-collapse:collapse;width:100%}td,th{padding:10px;border-bottom:1px solid #e2ebec;text-align:left}@media(max-width:600px){.grid{grid-template-columns:1fr}main{margin:14px auto}.card{padding:16px}}main.client-layout{max-width:1280px}.client-columns{display:grid;grid-template-columns:270px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.client-sidebar{position:-webkit-sticky;position:sticky;top:18px;min-width:0}.client-content{min-width:0}@media (max-width:800px){.client-columns{grid-template-columns:minmax(0,1fr)}.client-sidebar{position:static}}.client-summary-toggle{display:none}@media (max-width:800px){.client-summary-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;background:#e8f5f5;color:#17292c;border:1px solid #bedfe0;border-radius:10px;font-weight:600;text-align:left}.client-summary-details[data-open=false],.client-summary-details[hidden]{display:none}.client-summary-details[data-open=true]{display:block;padding-top:14px}.client-sidebar .card{padding:12px}}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:26px}.dashboard-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-width:0;min-height:142px;padding:20px;background:#f5fafa;border:1px solid #dceaea;border-radius:13px;transition:border-color .2s,transform .2s}.dashboard-stat:hover{border-color:#8ccdd0;transform:translateY(-2px)}.dashboard-stat>span:first-child{font-size:23px;line-height:1}.dashboard-stat strong{color:#148e96;font-size:clamp(22px,2.2vw,29px);line-height:1.2;overflow-wrap:anywhere}.dashboard-stat>span:last-child{color:#607477;font-size:13px;font-weight:600}.dashboard-upcoming{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 15px;margin:0 -4px;border-bottom:1px solid #e6eeee;border-radius:9px;transition:background .2s}.dashboard-upcoming:last-child{border-bottom:0}.dashboard-upcoming:hover{background:#f5fafa}.dashboard-upcoming strong{color:#193438;font-size:15px}.dashboard-upcoming p{margin:7px 0 0}.dashboard-upcoming>div{min-width:0}.dashboard-grid+*{margin-top:20px}.dashboard-grid~.actions button{flex:1 1 190px;min-height:52px;font-weight:600;transition:background .2s,transform .2s}.dashboard-grid~.actions button:hover{background:#117d84;transform:translateY(-2px)}@media (max-width:850px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.dashboard-grid{gap:9px}.dashboard-stat{min-height:120px;padding:14px}.dashboard-stat strong{font-size:23px}.dashboard-stat>span:last-child{font-size:12px}.dashboard-upcoming{padding:14px 9px}}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.dashboard-quick-actions button{width:100%;min-height:54px;font-weight:600;transition:background .2s,transform .2s}.dashboard-quick-actions button:hover{background:#117d84;transform:translateY(-2px)}@media (max-width:600px){.dashboard-quick-actions{grid-template-columns:1fr}}.admin-main-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-main-navigation button{width:100%;min-width:0;min-height:54px;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:600}@media (max-width:600px){.admin-main-navigation{grid-template-columns:1fr}}.dashboard-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dashboard-calendar-heading h2{margin:0}.dashboard-calendar-heading>strong{text-transform:capitalize;color:var(--foreground)}.dashboard-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:7px;gap:7px}.dashboard-calendar-weekday{text-align:center;color:var(--muted);font-size:.82rem;font-weight:600;padding:8px 0}.dashboard-calendar-empty{min-width:0}.dashboard-calendar-day{min-width:0;min-height:62px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:var(--card,#fff);color:var(--foreground,inherit);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:5px 2px;cursor:pointer;font:inherit;transition:border-color .2s,background .2s}.dashboard-calendar-day:hover{border-color:#15949b;background:var(--surface-secondary,#f0fdfa)}.dashboard-calendar-day.today{border:2px solid #15949b;font-weight:700}.dashboard-calendar-day.selected{background:var(--surface-secondary,#e6f7f7);border:2px solid #15949b}.dashboard-calendar-dots{display:flex;justify-content:center;gap:3px;min-height:7px}.event-dot,.wedding-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 7px}.wedding-dot{background:#16a34a}.event-dot{background:#dc2626}.dashboard-calendar-details{margin-top:20px;padding-top:16px;border-top:1px solid var(--border,#e5e7eb)}.dashboard-calendar-details>strong{display:block;margin-bottom:10px}.dashboard-calendar-event{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;margin:5px 0;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:transparent;color:inherit;cursor:pointer}.dashboard-calendar-event:hover{background:var(--surface-secondary,#f0fdfa)}.dashboard-calendar-footer{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:18px}.dashboard-calendar-arrow{border:none;background:transparent;color:inherit;font-size:1.5rem;padding:5px 12px;cursor:pointer;border-radius:8px}.dashboard-calendar-arrow:hover{background:var(--surface-secondary,#f0fdfa)}.dashboard-calendar-legend{display:flex;justify-content:center;gap:24px;margin-top:14px;color:var(--muted);font-size:.85rem}.dashboard-calendar-legend span{display:flex;align-items:center;gap:7px}@media (max-width:600px){.dashboard-calendar-grid{gap:4px}.dashboard-calendar-day{min-height:48px;border-radius:7px;font-size:.9rem}.dashboard-calendar-heading{flex-wrap:wrap}.dashboard-calendar-legend{gap:16px}}.dashboard-calendar-day.has-wedding{background:rgba(22,163,74,.13);border-color:rgba(22,163,74,.35)}.dashboard-calendar-day.has-event{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.35)}.dashboard-calendar-day.has-wedding.has-event{background:linear-gradient(135deg,rgba(22,163,74,.16),rgba(22,163,74,.16) 49.5%,rgba(220,38,38,.15) 50.5%,rgba(220,38,38,.15));border-color:#b5a7a0}.dashboard-calendar-day.has-wedding.selected,.dashboard-calendar-day.has-wedding:hover{background:rgba(22,163,74,.23)}.dashboard-calendar-day.has-event.selected,.dashboard-calendar-day.has-event:hover{background:rgba(220,38,38,.21)}.dashboard-calendar-day.has-wedding.has-event.selected,.dashboard-calendar-day.has-wedding.has-event:hover{background:linear-gradient(135deg,rgba(22,163,74,.25),rgba(22,163,74,.25) 49.5%,rgba(220,38,38,.23) 50.5%,rgba(220,38,38,.23))}.brand-header{padding:12px 24px 10px;text-align:center;background:#111b20;color:white;border-bottom:4px solid #27aab2}.brand-name{font-size:25px;font-weight:750;letter-spacing:1px}.brand-studio{margin-top:1px;font-size:15px;font-weight:700;letter-spacing:7px;color:#35c0c5}.brand-home{text-align:center;padding:38px 22px}.brand-home h1{margin-bottom:12px}.brand-home .btn{margin-top:14px}@media (max-width:600px){.brand-header{padding:10px 12px 8px}.brand-name{font-size:22px}}.admin-power-button{position:fixed;top:12px;right:24px;z-index:1000;width:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;color:#c3d4d6;font-size:29px;line-height:1;transition:color .2s,background .2s}.admin-power-button:hover{background:#26383d;color:#ff7777}.admin-power-button:focus-visible{outline:2px solid #35c0c5;outline-offset:3px}@media (max-width:600px){.admin-power-button{top:7px;right:10px;width:38px;height:38px}}