:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#20212b;background:#f7f5f2}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.app-bg{min-height:100vh;background:radial-gradient(circle at 85% 0,#eadcff 0,transparent 28%),#f8f7f4}.brand{font-size:28px;font-weight:900;letter-spacing:-1.5px}.brand span{color:#7357e8}.card{background:#fff;border:1px solid #e8e4df;border-radius:18px;box-shadow:0 8px 30px #32284f0d}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e5e0;background:#ffffffd9;backdrop-filter:blur(12px);position:sticky;top:0;z-index:2}.top-actions{display:flex;gap:22px;align-items:center;font-size:14px}.top-actions a{color:#654acb;font-weight:700}.dashboard{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:44px 0 70px}.hero,.event-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.hero h1,.event-hero h1{font-size:clamp(34px,5vw,58px);letter-spacing:-3px;margin:4px 0 8px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:850;color:#7357e8;margin:0}.muted{color:#77747d}.plan-card{min-width:220px;padding:20px 24px;background:#211a36;color:#fff;border-radius:18px;display:grid;gap:5px}.plan-card strong{font-size:22px}.plan-card span{font-size:12px;color:#cfc6ed}.alert{padding:14px 17px;border-radius:12px;margin:15px 0}.alert.success{background:#e7f8ee;color:#17673a}.alert.error{background:#ffe9e7;color:#9b2e26}.create-card{margin-bottom:38px;overflow:hidden}.create-card summary{cursor:pointer;padding:22px;display:flex;justify-content:space-between;font-weight:800}.create-card summary small{color:#85808c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 22px 22px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:8px;font-size:13px;font-weight:750}input,textarea{width:100%;padding:13px;border:1px solid #dcd7d2;border-radius:10px;background:#fff;font:inherit}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 17px;border:0;border-radius:10px;font-weight:800;cursor:pointer}.button.primary{background:#7357e8;color:#fff}.button.secondary{background:#efebfb;color:#5940bd}.button:disabled{opacity:.45}.section-title{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}.section-title h2{margin:0}.section-title span{color:#85808c;font-size:13px}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-card{padding:18px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;transition:.2s}.event-card:hover{transform:translateY(-2px)}.event-card h3,.event-card p{margin:0 0 5px}.event-card p,.event-card small{color:#817d85;font-size:13px}.event-date{width:60px;height:60px;border-radius:14px;background:#f0ecfb;color:#6046c4;display:grid;place-content:center;text-align:center}.event-date strong{font-size:23px;line-height:1}.event-date span{font-size:10px}.arrow{font-size:24px;color:#7357e8}.empty{padding:30px;color:#85808c}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);padding:34px;display:grid;gap:18px}.login-card .brand{text-align:center;font-size:40px}.login-card>p{text-align:center;margin-top:-12px}.quick-links{display:flex;flex-wrap:wrap;gap:10px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{padding:22px;display:grid;gap:17px}.settings-card h2{margin:0}.check{display:flex;align-items:center}.check input{width:auto}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-card{padding:10px;overflow:hidden}.photo-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.photo-card>div{display:flex;align-items:center;justify-content:space-between;padding:9px 3px 2px}.status{font-size:10px;text-transform:uppercase;padding:5px 7px;border-radius:20px;background:#eee}.status.approved{background:#daf5e4;color:#17673a}.status.pending{background:#fff0c9;color:#805c00}.photo-actions{gap:5px}.photo-actions form{flex:1}.photo-actions button{width:100%;border:0;border-radius:7px;padding:7px 3px;font-size:11px;cursor:pointer}.photo-actions .danger{color:#a22626}@media(max-width:760px){.dashboard{padding-top:25px}.hero,.event-hero{align-items:flex-start;flex-direction:column}.plan-card{width:100%}.form-grid,.event-grid,.control-grid,.photo-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.top-actions span{display:none}.quick-links{width:100%}.quick-links .button{flex:1}.photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.photo-grid{grid-template-columns:1fr}.login-card{padding:25px}}

/* Executive admin */
.has-sidebar{padding-left:264px}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:#1d172b;color:#fff;padding:28px 20px 20px;z-index:20;display:flex;flex-direction:column;box-shadow:8px 0 30px #1d172b22}.admin-sidebar .brand{font-size:32px;padding:0 12px 30px}.sidebar-label{font-size:10px;color:#8f869f;letter-spacing:2px;padding:0 14px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a{padding:12px 14px;border-radius:10px;color:#bcb5c8;font-size:14px;font-weight:700}.admin-sidebar nav a span{display:inline-grid;width:24px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#7357e8;color:#fff}.sidebar-plan{margin-top:auto;padding:16px;border:1px solid #3c334c;border-radius:13px;display:grid;gap:4px}.sidebar-plan small{font-size:9px;letter-spacing:2px;color:#a79db7}.sidebar-plan span{font-size:11px;color:#aaa1b8}.sidebar-user{display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:9px;margin-top:16px;padding:12px 4px 0}.sidebar-user>div{width:36px;height:36px;border-radius:50%;display:grid;place-content:center;background:#f1a5c8;color:#4a1932;font-weight:900}.sidebar-user span{display:grid;font-size:12px}.sidebar-user small{color:#8f869f}.sidebar-user>a{color:#9d93ac}.admin-dashboard{width:min(1240px,calc(100% - 48px))}.dashboard-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}.dashboard-heading h1{font-size:42px;letter-spacing:-2px;margin:5px 0}.today-label{font-size:13px;color:#77747d;background:#fff;padding:10px 14px;border-radius:10px;border:1px solid #e8e4df}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card{position:relative;overflow:hidden;padding:20px;border-radius:17px;color:#fff;display:grid;gap:5px;min-height:140px}.metric-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-20px;bottom:-40px;background:#ffffff18}.metric-card span{font-size:12px;font-weight:750}.metric-card strong{font-size:38px}.metric-card small{color:#ffffffbf}.metric-card.purple{background:linear-gradient(135deg,#7357e8,#9279ef)}.metric-card.pink{background:linear-gradient(135deg,#d45792,#e986b4)}.metric-card.amber{background:linear-gradient(135deg,#d88727,#eeae5e)}.metric-card.green{background:linear-gradient(135deg,#258064,#47a98c)}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0 30px}.insight-card{padding:20px}.insight-card>div:first-child{display:grid;gap:4px}.insight-card small{font-size:9px;letter-spacing:1.5px;color:#8c8790}.insight-card strong{font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insight-card span,.insight-card p{font-size:12px;color:#7c7780}.progress{height:6px;background:#eeeaf2;border-radius:10px;margin-top:18px;overflow:hidden}.progress i{display:block;height:100%;background:#7357e8}.calendar-card{padding:24px;margin:25px 0 32px;scroll-margin-top:20px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-head h2{margin:3px 0}.calendar-head>div:last-child{display:flex;align-items:center;gap:12px}.calendar-head button{width:34px;height:34px;border:1px solid #e2dde7;background:#fff;border-radius:8px;cursor:pointer}.calendar-head strong{min-width:140px;text-align:center;text-transform:capitalize}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week span{text-align:center;font-size:9px;letter-spacing:1px;color:#938d98;padding:9px}.calendar-day{min-height:108px;border-top:1px solid #ece8e4;border-left:1px solid #ece8e4;padding:8px;overflow:hidden}.calendar-day:nth-child(7n){border-right:1px solid #ece8e4}.calendar-day:nth-last-child(-n+7){border-bottom:1px solid #ece8e4}.calendar-day>span{font-size:11px;color:#777}.calendar-day.today>span{display:grid;place-content:center;width:23px;height:23px;background:#7357e8;color:#fff;border-radius:50%}.calendar-day.muted-day{background:#faf9f7}.calendar-day.muted-day>span{color:#c7c2c9}.calendar-event{display:block;width:100%;border:0;border-left:3px solid #7357e8;background:#eeeafd;color:#49389b;border-radius:5px;padding:5px;margin-top:5px;font-size:10px;font-weight:750;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-event:hover{background:#ded7fa}.calendar-hint{margin:14px 0 0;color:#8b858e;font-size:11px}.event-modal{width:min(600px,calc(100% - 30px));border:0;border-radius:20px;padding:30px;box-shadow:0 30px 100px #17102066}.event-modal::backdrop{background:#17102099;backdrop-filter:blur(3px)}.event-modal h2{font-size:29px;margin:5px 0 22px}.modal-close{position:absolute;right:18px;top:15px;border:0;background:#f0edf2;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}.modal-section{border-top:1px solid #ebe7e3;padding:18px 0}.modal-section>small{font-size:9px;letter-spacing:1.5px;color:#8d8791}.modal-section dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:0}.modal-section dl div{display:grid;gap:3px}.modal-section dt{font-size:10px;color:#938d96}.modal-section dd{margin:0;font-size:14px;font-weight:700}.modal-section p{white-space:pre-wrap}.modal-footer{display:flex;align-items:center;justify-content:space-between}.modal-footer span{font-size:12px;color:#888}.cleanup-list{display:grid;gap:10px}.cleanup-item{display:grid;grid-template-columns:130px 1fr 160px auto;gap:18px;align-items:center;padding:16px}.cleanup-status{font-size:11px;font-weight:800}.cleanup-status i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#aaa}.cleanup-item.overdue .cleanup-status{color:#b83030}.cleanup-item.overdue .cleanup-status i{background:#d94b4b}.cleanup-item.soon .cleanup-status{color:#a76c0e}.cleanup-item.soon .cleanup-status i{background:#e3a33f}.cleanup-item.waiting .cleanup-status{color:#5f7a70}.cleanup-item>div>p{margin:4px 0 0;color:#87818a;font-size:12px}.cleanup-deadline{display:grid;font-size:12px}.cleanup-deadline small{color:#999}.danger-button{background:#fff0ef;color:#aa2929}.mobile-menu,.sidebar-scrim{display:none}section[id],details[id]{scroll-margin-top:24px}
@media(max-width:1000px){.has-sidebar{padding-left:0}.admin-sidebar{transform:translateX(-105%);transition:.25s}.admin-sidebar.open{transform:none}.sidebar-scrim{display:block;position:fixed;inset:0;background:#15101f88;z-index:15;opacity:0;visibility:hidden;transition:.25s}.sidebar-scrim.open{opacity:1;visibility:visible}.mobile-menu{display:block;position:fixed;top:14px;left:14px;width:44px;height:44px;border:0;border-radius:11px;background:#1d172b;color:#fff;font-size:20px;z-index:14}.admin-dashboard{padding-top:75px}.metric-grid{grid-template-columns:repeat(2,1fr)}.cleanup-item{grid-template-columns:110px 1fr auto}.cleanup-deadline{display:none}}
@media(max-width:700px){.dashboard-heading{align-items:flex-start;flex-direction:column}.today-label{margin-top:10px}.insight-grid{grid-template-columns:1fr}.calendar-card{padding:15px;overflow-x:auto}.calendar-head{min-width:650px}.calendar-week,.calendar-grid{min-width:650px}.cleanup-item{grid-template-columns:1fr auto}.cleanup-status{grid-column:1/-1}.event-modal{padding:24px}.modal-section dl{grid-template-columns:1fr}.modal-footer{gap:14px;align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:15px;min-height:120px}.metric-card strong{font-size:30px}.cleanup-item{grid-template-columns:1fr}.dashboard-heading h1{font-size:34px}}
.dashboard-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dashboard-actions a{padding:22px;display:grid;gap:5px}.dashboard-actions span{font-size:12px;color:#7f7885}.page-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.page-toolbar>span{color:#817b85;font-size:13px}.standalone-form{padding-top:22px;max-width:850px}.calendar-page{margin-top:0}@media(max-width:650px){.dashboard-actions{grid-template-columns:1fr}}
.business-sidebar{background:#151525}.money-value{font-size:clamp(21px,2.3vw,34px)!important}.owner-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.table-card{padding:20px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title h2{margin:0;font-size:18px}.card-title a,.card-title span{font-size:12px;color:#7357e8}.compact-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #eeeae6}.compact-row>span{display:grid}.compact-row small{font-size:10px;color:#8b858e}.compact-row>span:last-child{text-align:right}.avatar,.sale-icon{width:36px;height:36px;border-radius:50%;display:grid!important;place-content:center;background:#eee9fc;color:#5a42b8;font-weight:900}.sale-icon{background:#e2f5ec;color:#267257}.client-list{display:grid;gap:12px}.client-card{padding:18px;display:grid;grid-template-columns:1.2fr 2fr auto;gap:20px;align-items:center}.client-main{display:flex;gap:12px;align-items:center}.client-main p{margin:3px 0;color:#888;font-size:12px}.client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.client-stats span{display:grid}.client-stats small{font-size:9px;color:#999;letter-spacing:1px}.client-stats b{font-size:12px}.renew-form{display:flex;gap:6px}.renew-form select,select{padding:11px;border:1px solid #dcd7d2;border-radius:9px;background:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pricing-card{padding:22px;display:grid;gap:18px}.pricing-card>span{font-weight:900;color:#7357e8}.pricing-card p,.pricing-card small{font-size:12px;color:#827c86}.money-input{display:flex;align-items:center;border:1px solid #dcd7d2;border-radius:10px;overflow:hidden}.money-input b{padding-left:12px;color:#777}.money-input input{border:0}.save-prices{margin:18px 0}.history-notice{padding:20px}.history-notice p{margin-bottom:0;color:#777;font-size:13px}.statement-card{padding:20px;margin-top:24px}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #eeeae7;font-size:12px}th{color:#8c8690;font-size:9px;letter-spacing:1px}td small{display:block;color:#928c95}.finance-status{padding:5px 8px;border-radius:20px;font-size:10px}.finance-status.paid{background:#dff5e7;color:#257147}.finance-status.pending{background:#fff0cd;color:#8b6516}@media(max-width:1050px){.client-card{grid-template-columns:1fr}.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.owner-columns{grid-template-columns:1fr}.client-stats{grid-template-columns:repeat(2,1fr)}.renew-form{flex-wrap:wrap}.pricing-grid{grid-template-columns:1fr}}
