:root{
  --bg:#fbf7f3;--panel:#fff;--panel-soft:#fff8f2;--sidebar:#fff4eb;--ink:#332c28;--muted:#8b7c73;
  --line:#eadfd7;--brand:#f49a5b;--brand-2:#ef8742;--brand-soft:#ffe7d5;--green:#2aa95b;--red:#df5a55;
  --blue:#28a9df;--shadow:0 12px 35px rgba(91,61,40,.08);--radius:18px;--sidebar-w:242px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
body{font-size:14px}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}
input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;color:var(--ink);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#f2a36d;box-shadow:0 0 0 3px rgba(244,154,91,.12)}textarea{min-height:88px;resize:vertical}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:10px 14px;font-weight:750;display:inline-flex;align-items:center;gap:7px;justify-content:center;box-shadow:0 2px 0 rgba(0,0,0,.02)}
.btn:hover{transform:translateY(-1px)}.btn.primary{border-color:var(--brand);background:linear-gradient(180deg,#ffa666,#f39451);color:white;box-shadow:0 8px 18px rgba(242,145,78,.2)}.btn.ghost{background:#fff}.btn.danger{color:#bf4e49;background:#fff4f3;border-color:#f1c9c6}.btn.small{padding:6px 9px;border-radius:8px;font-size:12px}.btn.wide{width:100%}.link-btn{border:0;background:transparent;color:#a86539;font-weight:750;padding:10px 4px}.icon-btn,.mini-icon{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#6d5e55;display:grid;place-items:center}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
/* Login */
.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,#fff0e4 0,transparent 38%),var(--bg)}
.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(72,47,31,.12)}
.login-brand{padding:64px 52px;background:linear-gradient(145deg,#fff4eb,#fffaf6);display:flex;flex-direction:column;justify-content:center}.brand-logo{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#f8a566,#f0904e);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:26px}.brand-logo.large{width:64px;height:64px;border-radius:18px;font-size:40px}.login-brand h1{font-family:Georgia,serif;letter-spacing:.14em;font-size:34px;margin:24px 0 8px}.login-brand p{color:var(--muted);font-size:16px}.login-card{padding:56px 44px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:28px;margin:14px 0 6px}.login-card label{font-weight:700;font-size:12px;margin:9px 0}.login-card input{display:block;width:100%;margin-top:6px}.cloud-badge{font-size:12px;font-weight:800}.form-msg{font-size:12px;margin-top:8px}
/* App shell */
.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#fff4eb,#fff8f3);border-right:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column;overflow:auto;z-index:20}.brand-row{display:flex;align-items:center;gap:12px;padding:7px 8px 13px}.brand-row b{font-family:Georgia,serif;letter-spacing:.17em;font-size:18px}.brand-row small{display:block;color:#9b897d;font-size:9px;letter-spacing:.15em;margin-top:3px}.user-chip{display:grid;grid-template-columns:40px 1fr 32px;gap:9px;align-items:center;padding:10px;border:1px solid #eedccf;background:#fff9f5;border-radius:14px;margin:4px 0 13px}.avatar{width:40px;height:40px;border-radius:12px;background:#f8a060;color:white;display:grid;place-items:center;font-weight:850}.user-chip strong{display:block;font-size:12px}.user-chip span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.nav-group{margin:7px 0 2px}.nav-group>small{display:block;padding:7px 9px 5px;color:#b09a8a;font-weight:800;font-size:9px;letter-spacing:.17em}.nav-item{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#65584f;border-radius:11px;padding:9px 10px;text-align:left;font-weight:650;font-size:12px;margin:2px 0}.nav-item span{width:22px;text-align:center;font-size:15px}.nav-item:hover{background:#fff}.nav-item.active{background:linear-gradient(90deg,#f6a064,#f7a76f);color:white;box-shadow:0 8px 18px rgba(239,139,75,.16)}.sidebar-foot{margin-top:auto;padding:12px 7px;border-top:1px solid #eadbd0}.status-line{display:flex;align-items:center;gap:7px;color:#76685f;font-size:11px;margin-bottom:9px}.dot{width:8px;height:8px;border-radius:50%;background:#42b66b;display:inline-block}.main{min-width:0}.topbar{position:sticky;top:0;z-index:12;height:74px;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(251,247,243,.92);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.topbar h2{font-size:21px;margin:0}.topbar p{font-size:11px;color:var(--muted);margin:5px 0 0}.top-actions{display:flex;align-items:center;gap:8px}.view{padding:22px 28px 36px;max-width:1540px;margin:0 auto}
/* generic sections */
.section-card{padding:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.section-head h3{margin:0;font-size:16px}.section-head small{display:block;color:var(--muted);margin-top:3px}.eyebrow{font-size:10px;letter-spacing:.13em;color:#a78e7f;font-weight:850;text-transform:uppercase}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.toolbar .spacer{flex:1}.searchbox{min-width:260px}.chip-row{display:flex;gap:7px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;font-size:11px;color:#74665d;font-weight:750}.filter-chip.active{background:#fff0e4;color:#b46d3d;border-color:#f6caa9}.empty-state{padding:48px 20px;text-align:center;color:var(--muted)}.empty-state .empty-icon{font-size:36px;opacity:.7;margin-bottom:10px}.empty-state h4{color:var(--ink);margin:0 0 5px}.empty-state p{margin:0 auto 14px;max-width:380px;font-size:12px;line-height:1.6}.empty{padding:24px;text-align:center;color:var(--muted)}
/* Dashboard */
.hero-summary{padding:0;overflow:hidden}.dashboard-top{display:grid;grid-template-columns:1fr 1.1fr;gap:0;min-height:122px}.total-panel{padding:24px;border-right:1px solid var(--line);display:flex;align-items:center}.big-money{font-size:36px;line-height:1;font-weight:900;color:#22a9dd;letter-spacing:-.03em}.big-caption{font-size:10px;letter-spacing:.12em;color:#6c6f72;font-weight:800;margin-top:9px}.collection-panel{padding:22px 25px;display:flex;flex-direction:column;justify-content:center}.pay-row{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;font-weight:700}.pay-row.sub{font-weight:600;color:#76716e;margin-top:8px}.progress{height:9px;background:#ecefee;border-radius:999px;margin:10px 0;overflow:hidden}.progress span{display:block;height:100%;background:#2fbd34;border-radius:999px}.dashboard-kpis{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);background:#fff}.kpi{padding:18px 16px;border-right:1px solid #f1e8e2;min-height:95px}.kpi:last-child{border-right:0}.kpi strong{font-size:24px;display:block;line-height:1}.kpi span{font-size:10px;color:#6f6864;display:block;margin-top:8px;line-height:1.35}.kpi.orange strong{color:#f09928}.kpi.red strong{color:#e0565b}.kpi.green strong{color:#2aac59}.dashboard-meta{border-top:1px solid var(--line);background:#fafbfd;padding:11px 20px;display:flex;gap:28px;font-size:11px;color:#777}.dash-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:14px}.funnel-card,.analysis-card{padding:20px}.funnel-wrap{display:grid;grid-template-columns:1fr 210px;gap:18px;margin-top:14px}.funnel-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:255px}.funnel-stage{height:47px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:11px;clip-path:polygon(8% 0,92% 0,80% 100%,20% 100%);background:#22a8dc}.funnel-stage:nth-child(2){width:63%;background:#239dcc}.funnel-stage:nth-child(3){width:43%;background:#208db9}.funnel-stage:nth-child(4){width:30%;background:#187fa8}.funnel-stage:nth-child(5){width:22%;background:#126c94}.funnel-stage:first-child{width:95%}.funnel-side{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fbfbfd}.funnel-side h4{font-size:10px;letter-spacing:.15em;margin:0 0 10px;color:#8b7d75}.drop-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee;font-size:11px}.drop-row:last-child{border:0}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.source-row{display:grid;grid-template-columns:115px 1fr 42px;gap:10px;align-items:center;margin:12px 0;font-size:11px}.bar{height:14px;background:#edf1f2;border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;border-radius:4px;background:#29a9df}.source-row:nth-of-type(3n+1) .bar span{background:#32b42f}.source-row:nth-of-type(3n+2) .bar span{background:#ff8e16}.revenue-stack{height:34px;display:flex;border-radius:7px;overflow:hidden;margin:14px 0 8px}.revenue-stack span:nth-child(1){background:#b7e3f4}.revenue-stack span:nth-child(2){background:#bce7b8}.revenue-stack span:nth-child(3){background:#ffd2ad}.revenue-stack span:nth-child(4){background:#d9c6f5}.metric-line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed #eee5df;font-size:11px}.metric-line:last-child{border-bottom:0}
/* Tables */
.table-card{overflow:hidden}.table-scroll,.table-wrap{overflow:auto}.data-table,table{width:100%;border-collapse:collapse}.data-table{min-width:1000px}th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8a7c73;text-align:left;padding:11px;border-bottom:1px solid var(--line);background:#fffaf7;white-space:nowrap}td{padding:12px 11px;border-bottom:1px solid #f0e7e1;font-size:12px;vertical-align:middle}tbody tr:hover td{background:#fffaf7}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:#f1f3f4;color:#655}.pill.orange{background:#fff0e2;color:#b76c31}.pill.green{background:#eaf8ef;color:#25884b}.pill.red{background:#fff0ef;color:#c95550}.pill.blue{background:#e9f5fb;color:#2085ae}.pill.purple{background:#f1edfd;color:#7556bd}.actions{display:flex;gap:5px;flex-wrap:wrap}.avatar-sm{width:32px;height:32px;border-radius:10px;background:#ffe5d2;color:#a76537;display:grid;place-items:center;font-weight:850;flex:0 0 auto}.name-cell{display:flex;align-items:center;gap:9px}.subtext{font-size:10px;color:var(--muted);margin-top:2px}
/* Customers */
.customer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stat-card{padding:15px 16px}.stat-card small{color:var(--muted)}.stat-card strong{display:block;font-size:24px;margin-top:5px}.customer-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.customer-list{overflow:hidden}.customer-side{padding:18px;position:sticky;top:96px;align-self:start}.profile-hero{text-align:center;padding:8px 0 18px}.profile-avatar{width:72px;height:72px;border-radius:22px;background:linear-gradient(145deg,#ffb27b,#ef8a48);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;margin:0 auto 10px}.profile-hero h3{margin:0}.profile-hero p{margin:4px 0;color:var(--muted);font-size:11px}.contact-grid{display:grid;gap:8px}.contact-item{padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#fffaf7}.contact-item small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.history-title{font-size:11px;font-weight:850;margin:16px 0 8px}.history-item{padding:10px;border-left:3px solid #f3a267;background:#fff8f2;border-radius:0 9px 9px 0;margin-bottom:8px;font-size:11px}.history-item b{display:block;margin-bottom:4px}
/* Contracts */
.contract-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.contract-summary .card{padding:15px}.contract-summary strong{display:block;font-size:22px;margin-top:6px}.progress-mini{height:6px;background:#eee;border-radius:99px;overflow:hidden;margin-top:7px}.progress-mini span{height:100%;display:block;background:#31b558}
/* Calendar */
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.calendar-title{font-size:18px;font-weight:850}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff;min-width:920px}.cal-head{text-align:center;padding:10px 7px;background:#fffaf6;border-bottom:1px solid var(--line);font-size:10px;font-weight:850;color:#7f7067}.cal-cell{min-height:126px;padding:7px;border-right:1px solid #eee6e0;border-bottom:1px solid #eee6e0}.cal-cell:nth-child(7n){border-right:0}.cal-cell>b{font-size:10px}.muted-day{background:#fffdfb;color:#b6aaa2}.cal-event{padding:6px 7px;border-radius:7px;background:#ffe4d0;margin-top:5px;font-size:9px;line-height:1.3;border-left:3px solid #f39a58}.cal-event:nth-child(even){background:#edf5ff;border-left-color:#5892df}
/* Tasks */
.task-shell{display:grid;grid-template-columns:330px 1fr;gap:14px}.task-queue{padding:13px;max-height:calc(100vh - 130px);overflow:auto}.task-section-title{font-size:10px;font-weight:900;letter-spacing:.08em;color:#a27351;margin:8px 2px}.task-row{border:1px solid var(--line);border-radius:12px;padding:11px;margin:7px 0;background:#fff}.task-row.active{border-color:#f1a36e;background:#fff7f0}.task-row b{display:block;font-size:11px}.task-row small{color:var(--muted);font-size:10px}.task-detail{padding:18px}.task-headline{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.task-headline h3{margin:0}.task-progress{display:flex;gap:0;margin:20px 0}.task-step{flex:1;text-align:center;position:relative;padding-top:24px;font-size:8px;color:#998a81}.task-step:before{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:#eadfd7}.task-step:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#e6dbd3;top:3px;left:50%;transform:translateX(-50%)}.task-step.done:before{background:#f2a166}.task-step.done:after{background:#f2a166}.task-focus{background:#ffe6d3;border:1px solid #f3c6a6;border-radius:14px;padding:15px;margin:12px 0}.task-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.field-box{border:1px solid var(--line);padding:11px;border-radius:11px;background:#fff}.field-box small{display:block;color:var(--muted);margin-bottom:5px}
/* Wardrobe */
.wardrobe-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.wardrobe-summary .card{padding:14px}.wardrobe-summary strong{display:block;font-size:22px;margin-top:6px}.outfit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.outfit-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 16px rgba(80,50,30,.05)}.outfit-photo{aspect-ratio:4/5;background:linear-gradient(145deg,#f0e6df,#fff);display:grid;place-items:center;color:#b49d8e;overflow:hidden;position:relative}.outfit-photo img{width:100%;height:100%;object-fit:cover}.outfit-badge{position:absolute;top:7px;left:7px;background:rgba(255,255,255,.9);backdrop-filter:blur(5px);padding:4px 7px;border-radius:7px;font-size:9px;font-weight:800}.outfit-info{padding:11px}.outfit-info h4{font-size:11px;margin:0 0 4px}.outfit-info p{font-size:10px;color:var(--muted);margin:3px 0}.stock-line{height:5px;background:#e7ede9;border-radius:99px;margin:9px 0}.stock-line span{display:block;height:100%;background:#35b76b;border-radius:99px}
/* Packages */
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.package-card{padding:16px}.package-card h4{margin:3px 0 4px}.package-price{font-size:24px;font-weight:900;color:#ef8e4c;margin:10px 0}.mini-list{display:grid;gap:7px;font-size:11px}.mini-list div{display:flex;justify-content:space-between;border-bottom:1px dashed #eee5df;padding-bottom:6px}.profit-line{margin-top:11px;padding:10px;border-radius:10px;background:#eff9f2;font-size:11px;display:flex;justify-content:space-between;color:#277d4a}
/* Settings */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-card{padding:18px}.settings-card h3{margin:0 0 12px}.health-list{display:grid;gap:8px}.health-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);padding:10px 11px;border-radius:11px;font-size:11px;background:#fffaf7}.health-ok{color:var(--green);font-weight:850}.health-no{color:var(--red);font-weight:850}.account-row{display:grid;grid-template-columns:1fr 110px 80px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #eee6e0;font-size:11px}.role-tag{font-size:9px;background:#fff0e4;color:#a9683b;padding:5px 8px;border-radius:999px;width:max-content}.ios-help{margin-top:12px;padding:12px;border-radius:12px;background:#fff2e8;border:1px solid #f5ceb1;line-height:1.55;font-size:11px}
/* Modal drawer */
.modal,.drawer{position:fixed;inset:0;z-index:100}.modal-backdrop,.drawer-backdrop{position:absolute;inset:0;background:rgba(42,30,22,.3);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(920px,calc(100% - 24px));max-height:90vh;overflow:auto;margin:5vh auto;background:#fff;border-radius:21px;box-shadow:0 30px 80px rgba(40,27,18,.23)}.modal-head,.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-head h3,.drawer-head h3{margin:0}.form-grid{padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750}.span2{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #eee4dc;padding-top:14px}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(560px,96vw);background:#fff;overflow:auto;box-shadow:-20px 0 50px rgba(40,27,18,.15)}#drawerBody{padding:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail-item{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fffaf7}.detail-item small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.detail-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
#toastHost{position:fixed;top:16px;right:16px;z-index:9999;display:grid;gap:8px}.toast{background:#342d29;color:#fff;padding:12px 14px;border-radius:12px;box-shadow:0 15px 30px rgba(0,0,0,.18);font-size:12px;max-width:320px}.toast.error{background:#b94b46}.toast.ok{background:#267f4b}.mobile-nav{display:none}
@media(max-width:1250px){.dashboard-kpis{grid-template-columns:repeat(4,1fr)}.kpi:nth-child(4){border-right:0}.outfit-grid{grid-template-columns:repeat(4,1fr)}.package-grid{grid-template-columns:repeat(2,1fr)}.customer-layout{grid-template-columns:1fr 320px}}
@media(max-width:980px){:root{--sidebar-w:210px}.view{padding:18px}.dashboard-top{grid-template-columns:1fr}.total-panel{border-right:0;border-bottom:1px solid var(--line)}.dash-grid,.lower-grid{grid-template-columns:1fr}.funnel-wrap{grid-template-columns:1fr 180px}.customer-layout{grid-template-columns:1fr}.customer-side{position:static}.outfit-grid{grid-template-columns:repeat(3,1fr)}.task-shell{grid-template-columns:280px 1fr}.customer-stats,.contract-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app{display:block}.sidebar{display:none}.main{padding-bottom:76px}.topbar{height:auto;min-height:64px;padding:10px 13px}.topbar h2{font-size:18px}.topbar p{display:none}.top-actions{gap:5px}.top-actions .btn{padding:9px 10px;font-size:11px}.top-actions #syncBtn{display:none}.view{padding:12px 12px 88px}.mobile-nav{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:30;grid-template-columns:repeat(5,1fr);background:rgba(255,250,246,.97);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:transparent;color:#786a61;font-size:9px;padding:5px 2px;border-radius:9px}.mobile-nav button span{display:block;font-size:18px;margin-bottom:2px}.mobile-nav button.active{color:#e9813f;background:#fff0e4}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:32px 22px}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-meta{overflow:auto;white-space:nowrap;gap:18px}.dash-grid,.lower-grid,.settings-grid,.task-shell{grid-template-columns:1fr}.funnel-wrap{grid-template-columns:1fr}.funnel-side{display:none}.customer-stats,.contract-summary,.wardrobe-summary{grid-template-columns:repeat(2,1fr)}.outfit-grid{grid-template-columns:repeat(2,1fr)}.package-grid{grid-template-columns:1fr}.task-queue{max-height:300px}.task-fields,.detail-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.searchbox{min-width:0;flex:1 1 100%}.calendar-grid{min-width:840px}.calendar-wrap{overflow:auto}.big-money{font-size:30px}}
@media(max-width:480px){.top-actions #notifyBtn{display:none}.big-money{font-size:27px}.dashboard-kpis{grid-template-columns:1fr 1fr}.kpi{padding:14px 12px;min-height:82px}.kpi strong{font-size:21px}.customer-stats,.contract-summary,.wardrobe-summary{grid-template-columns:1fr 1fr}.outfit-grid{grid-template-columns:1fr 1fr}.modal-card{margin:2vh auto;max-height:96vh}.source-row{grid-template-columns:90px 1fr 34px}.login-card h2{font-size:24px}}
/* V15 fixes */
.calendar-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.virtual-event{background:#fff7df!important;border-left-color:#e3a93f!important}.virtual-event .subtext{color:#a87b2e!important}.customer-list .section-card{padding:0}.customer-list{overflow:hidden}.customer-list .section-card>.section-head,.customer-list .section-card>.toolbar{padding-left:16px;padding-right:16px}.customer-list .table-scroll{border-top:1px solid var(--line)}.customer-side{padding:18px}.data-table tbody tr:hover{background:#fff8f2}.data-table td{vertical-align:middle}.nav-group small{display:block;margin:18px 10px 7px;color:#b18e76;font-size:9px;letter-spacing:.16em;font-weight:900}.nav-item{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:10px 11px;border-radius:10px;color:#665950;text-align:left}.nav-item.active{background:#f59a5b;color:#fff;box-shadow:0 5px 14px rgba(245,154,91,.22)}.nav-item span{width:18px;text-align:center}.nav-item b{font-size:11px}.sales-hint{padding:10px 12px;background:#fff5ec;border:1px solid #f4d7c0;border-radius:11px;font-size:11px;color:#765f50;margin-bottom:12px}
@media(max-width:980px){.calendar-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.calendar-status-grid{grid-template-columns:repeat(2,1fr)}}

/* V16 - bộ lọc tháng + lịch chụp/cưới */
.month-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fffaf6;border:1px solid #f1dfd2;border-radius:14px;padding:10px 12px;margin:10px 0 14px}.filter-field{display:flex;flex-direction:column;gap:5px;min-width:155px}.filter-field small{font-size:10px;font-weight:800;color:#9a8171;text-transform:uppercase;letter-spacing:.06em}.filter-field select{height:38px;border:1px solid #e9d8cb;border-radius:10px;background:white;padding:0 30px 0 10px;color:#3b312c;font:inherit;font-size:12px}.month-toolbar .searchbox{flex:1;min-width:210px;height:38px}.month-result{font-size:11px;font-weight:700;color:#9b7056;padding:0 4px 10px}.calendar-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.calendar-legend{margin-left:auto;font-size:10px;color:#8d776b;display:flex;gap:6px;align-items:center}.calendar-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.legend-shoot{background:#f6b27d}.legend-wedding{background:#e894a7}.cal-event.wedding-event{background:#fff0f3;border-color:#f2b7c3;color:#8f4f60}.event-kind{font-size:8px;font-weight:900;letter-spacing:.05em;margin-right:4px;opacity:.72}.virtual-event{outline:1px dashed #d59b72;outline-offset:-1px}.stat-card .subtext{display:block;margin-top:3px;font-weight:600}@media(max-width:780px){.month-toolbar{align-items:stretch}.filter-field{min-width:calc(50% - 6px)}.month-toolbar .searchbox{width:100%;flex-basis:100%}.month-result{padding:2px 0}.calendar-legend{margin-left:0;width:100%}}
.form-section{padding:9px 11px;border-radius:10px;background:#fff4eb;border:1px solid #f3ddce;color:#3f342d;display:flex;align-items:center;justify-content:space-between;gap:10px}.form-section small{color:#8d786a;font-weight:500}.contract-v17 textarea{min-height:88px}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}

/* ===== V18: Bảng tin + Công việc kiểu CRM ===== */
.nav-item{position:relative}.nav-count{margin-left:auto;background:#d85d56;color:#fff;font-style:normal;font-size:9px;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.feed-page{max-width:980px;margin:0 auto}.feed-hero{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fffaf5,#fff2e7)}.feed-hero h3{margin:5px 0 7px;font-size:24px}.feed-hero p{margin:0;color:var(--muted)}.feed-badges{display:flex;gap:8px;flex-wrap:wrap}.feed-badges span{background:white;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}.feed-filter{display:flex;gap:8px;margin:14px 0;overflow:auto;padding-bottom:2px}.feed-filter button{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;color:#6c5b50;font-weight:800;white-space:nowrap}.feed-filter button.active{background:#f59a5b;color:#fff;border-color:#f59a5b}.feed-filter b{margin-left:4px}.feed-list{display:grid;gap:14px}.feed-card{padding:0;overflow:hidden;border-left:4px solid #a87aec}.feed-card.green{border-left-color:#38a66d}.feed-card.blue{border-left-color:#5298dc}.feed-card.red{border-left-color:#dc625a}.feed-card-head{padding:15px 18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);background:#fffaf6}.feed-icon{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:22px;border:1px solid var(--line)}.feed-title{font-size:12px;font-weight:900;letter-spacing:.04em}.feed-time{font-size:10px;color:var(--muted);margin-top:2px}.feed-body{padding:18px 20px}.feed-body h3{font-size:20px;margin:0 0 8px}.feed-body p{color:#5f534c}.feed-contract-lines{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:14px 0;padding:10px 0}.feed-contract-lines div{display:flex;justify-content:space-between;gap:20px;padding:5px 0}.feed-contract-lines span{color:#6c625b}.feed-quote{font-family:Georgia,serif;font-style:italic;color:#378a67;line-height:1.6;margin:14px 0;padding:12px 14px;background:#f5fbf7;border-radius:12px}
.task-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-top h3{margin:0 0 7px;font-size:24px}.task-pills{display:flex;gap:7px;flex-wrap:wrap}.task-pills span{font-size:11px;border-radius:999px;padding:6px 10px;border:1px solid var(--line);background:#fff}.task-shell-v18{display:grid;grid-template-columns:365px minmax(0,1fr);gap:14px}.task-queue-v18{padding:9px;max-height:calc(100vh - 175px);overflow:auto}.task-section-v18 h4{font-size:11px;color:#9c673f;letter-spacing:.05em;margin:9px 6px}.task-section-v18.done h4{color:#378a67}.task-row-v18{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 10px;margin:5px 0;text-align:left;display:flex;justify-content:space-between;gap:8px;align-items:center;color:inherit}.task-row-v18:hover,.task-row-v18.active{border-color:#f3a56f;background:#fff6ee}.task-row-v18 b{font-size:11px;display:block;margin-bottom:3px}.task-row-v18 small{font-size:9px;color:var(--muted)}.task-empty{font-size:10px;color:var(--muted);padding:10px}.task-detail-v18{padding:18px}.task-detail-head-v18{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid var(--line);padding-bottom:14px}.task-detail-head-v18 h2{margin:3px 0 6px;font-size:22px}.task-detail-head-v18 p{margin:0;color:var(--muted)}.task-owner-money{text-align:right}.task-owner-money small{display:block;color:#8a776b}.task-owner-money strong{display:block;font-size:22px;margin-top:4px}.stage-track-v18{display:flex;overflow:auto;padding:18px 4px 14px}.stage-node{min-width:96px;flex:1;text-align:center;position:relative;padding-top:27px;font-size:9px;color:#9b8b81}.stage-node:before{content:"";position:absolute;top:9px;left:0;right:0;height:2px;background:#eadfd7}.stage-node i{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:#e8ddd5;z-index:1}.stage-node.done:before{background:#f5a267}.stage-node.done i{background:#f5a267}.stage-node.current i{box-shadow:0 0 0 5px rgba(245,162,103,.2)}.task-current-v18{background:#ffe8d5;border:1px solid #f6c49f;border-radius:14px;padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.task-current-v18 h3{font-size:20px;margin:2px 0 5px}.task-current-v18 p{margin:0;color:#7a6658}.task-current-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.task-current-actions select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.task-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.task-edit-grid label{font-size:10px;font-weight:800;color:#8e745f}.task-edit-grid textarea,.task-edit-grid input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;margin-top:5px;font:inherit;box-sizing:border-box}.task-edit-grid textarea{min-height:70px}.task-link-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-detail-footer{margin-top:13px;border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.task-detail-footer small{display:block;color:#8a776b;font-size:9px;font-weight:900}.crew-tag{display:inline-block;margin-top:5px;background:#fff0e5;border:1px solid #f1cdb5;border-radius:999px;padding:6px 9px;font-size:10px}
@media(max-width:1050px){.task-shell-v18{grid-template-columns:310px 1fr}.task-current-v18{align-items:flex-start;flex-direction:column}.task-current-actions{justify-content:flex-start}}
@media(max-width:820px){.feed-page{max-width:none}.feed-hero{padding:16px;align-items:flex-start;flex-direction:column}.feed-hero h3{font-size:20px}.feed-card-head{padding:12px 14px}.feed-body{padding:15px}.task-top{align-items:flex-start;gap:10px;flex-direction:column}.task-shell-v18{grid-template-columns:1fr}.task-queue-v18{max-height:330px}.task-detail-v18{padding:14px}.task-detail-head-v18{flex-direction:column}.task-owner-money{text-align:left}.stage-track-v18{margin-left:-6px;margin-right:-6px}.stage-node{min-width:84px}.task-edit-grid,.task-link-row{grid-template-columns:1fr}.task-detail-footer{align-items:flex-start;flex-direction:column}}
/* V19 clean UI */
.notify-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;background:#e95e53;color:#fff;font-size:10px;font-weight:800;padding:0 5px;margin-left:4px}.hidden{display:none!important}
.v19-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v19-kpi{padding:16px}.v19-kpi small{display:block;color:#917b6d;font-weight:700;margin-bottom:7px}.v19-kpi strong{font-size:25px}.v19-grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.v19-list{display:flex;flex-direction:column;gap:8px}.v19-row{display:grid;grid-template-columns:minmax(180px,1.3fr) 1fr 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #f0dfd3;border-radius:13px;background:#fff}.v19-row:hover{background:#fffaf6}.v19-row .title{font-weight:800}.v19-row .meta{font-size:11px;color:#8f796c}.v19-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.v19-toolbar input,.v19-toolbar select{height:40px;border:1px solid #ead8cb;border-radius:11px;background:#fff;padding:0 10px}.v19-toolbar input{min-width:240px;flex:1}.v19-tabs{display:flex;gap:6px;flex-wrap:wrap}.v19-tabs button{border:1px solid #ead8cb;background:#fff;border-radius:999px;padding:8px 11px;font-weight:700;color:#6d5c52}.v19-tabs button.active{background:#fff0e4;border-color:#f4a36a;color:#c96f35}.v19-notes{display:flex;flex-direction:column;gap:8px}.v19-note{padding:13px;border:1px solid #eedccf;border-radius:13px;background:#fff}.v19-note.unread{border-left:4px solid #f39559}.v19-note h4{margin:0 0 4px}.v19-note p{margin:0;color:#6f625b}.v19-note .time{font-size:10px;color:#9a8578;margin-top:7px}.v19-feed-card{border:1px solid #ecd9ca;border-radius:16px;background:#fff;padding:16px}.v19-feed-card + .v19-feed-card{margin-top:10px}.v19-feed-head{display:flex;justify-content:space-between;gap:8px}.v19-feed-type{font-weight:900;color:#a35d31}.v19-feed-time{font-size:11px;color:#9a8475}.v19-calendar .cal-event{cursor:default}.v19-calendar .cal-event.shoot{background:#fff0e4;border-color:#f4b187}.v19-calendar .cal-event.wedding{background:#fff0f3;border-color:#efb8c5}.v19-calendar .cal-event.engagement{background:#fff8dd;border-color:#ecd381}.v19-calendar .cal-event.pickup,.v19-calendar .cal-event.return{background:#eef6ff;border-color:#b9d2ed}.v19-task-detail{display:grid;grid-template-columns:330px 1fr;gap:14px}.v19-task-list{max-height:70vh;overflow:auto}.v19-task-item{padding:12px;border-bottom:1px solid #f0dfd2;cursor:pointer}.v19-task-item.active{background:#fff0e5}.v19-pipeline{display:flex;gap:5px;overflow:auto;padding:8px 0}.v19-stage{min-width:92px;text-align:center;font-size:10px;padding:8px;border-radius:10px;background:#f5eee9;color:#8e7d73}.v19-stage.done{background:#dff3e7;color:#287047}.v19-stage.current{background:#ffe0c8;color:#b85d26;font-weight:900}.v19-health{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.v19-health-row{padding:12px;border:1px solid #efded2;border-radius:12px;background:#fff;display:flex;justify-content:space-between;gap:10px}.v19-ok{color:#29894c}.v19-warn{color:#d17b34}.v19-bad{color:#cf504a}.v19-empty{padding:38px;text-align:center;color:#917e72}.v19-table-actions{display:flex;gap:6px;flex-wrap:wrap}.v19-month{min-width:150px}.v19-mobile-card{display:none}
@media(max-width:900px){.v19-kpis{grid-template-columns:repeat(2,1fr)}.v19-grid2,.v19-task-detail{grid-template-columns:1fr}.v19-task-list{max-height:none}.v19-row{grid-template-columns:1fr auto}.v19-row>div:nth-child(2),.v19-row>div:nth-child(3){display:none}.v19-health{grid-template-columns:1fr}}
@media(max-width:620px){.v19-kpis{grid-template-columns:1fr 1fr;gap:8px}.v19-kpi{padding:12px}.v19-kpi strong{font-size:18px}.v19-toolbar input{min-width:100%;width:100%}.v19-mobile-card{display:block}.data-table{font-size:11px}.top-actions .btn.ghost:nth-child(2){display:none}}

/* V20 payment section */
.payment-box{border:1px solid #ead9cc;background:#fff9f4;border-radius:16px;padding:16px;margin-top:4px}.payment-box-title{font-size:12px;font-weight:800;letter-spacing:.08em;color:#b36b36;margin-bottom:12px}.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 8px}.payment-summary>div{background:#fff;border:1px solid #eadfd7;border-radius:12px;padding:12px}.payment-summary small{display:block;color:#8b7d74;margin-bottom:4px}.payment-summary b{font-size:18px}@media(max-width:800px){.payment-grid{grid-template-columns:1fr 1fr}.payment-summary{grid-template-columns:1fr}.payment-box{padding:12px}}

/* V22 accounts + mobile calendar */
.register-card{display:none}.register-mode .login-card{display:none}.register-mode .register-card{display:block}.register-card{background:#fff;padding:38px;border-radius:24px;box-shadow:0 18px 60px rgba(84,55,34,.12);border:1px solid var(--line)}.register-card label{display:block;font-size:12px;font-weight:750;margin:12px 0}.register-card input{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.register-link{margin-top:8px}.account-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-list{display:grid;gap:8px}.account-row{display:grid;grid-template-columns:44px minmax(220px,1fr) 150px 135px auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fff}.account-row.pending{background:#fff8ee;border-color:#f2c69f}.account-avatar{width:40px;height:40px;border-radius:12px;background:#fff0e4;color:#df7e3d;display:grid;place-items:center;font-weight:900}.account-main b{display:block}.account-main small{display:block;color:var(--muted);margin-top:4px}.account-row select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.account-toggle{font-size:11px;display:flex;align-items:center;gap:7px}.calendar-mobile{display:none}.mcal-head{display:flex;justify-content:space-between;align-items:flex-end;margin:8px 0 12px}.mcal-head small{color:var(--muted)}.mcal-day{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.mcal-date{display:flex;gap:7px;align-items:flex-start}.mcal-date>b{font-size:25px;line-height:1}.mcal-date>span{font-size:11px;text-transform:capitalize;color:#765f50}.mcal-date small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.mcal-events{display:grid;gap:7px}.mcal-event{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;border:1px solid #f0ddd0;border-left:4px solid #f39a58;border-radius:12px;padding:10px;background:#fff}.mcal-event.wedding{border-left-color:#df7992;background:#fffafb}.mcal-event.engagement{border-left-color:#d6b54b;background:#fffdf5}.mcal-event.shoot{border-left-color:#f39a58;background:#fffaf5}.mcal-time{font-size:12px;font-weight:900;color:#b86834}.mcal-main b{display:block;font-size:12px}.mcal-main small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.mcal-source{font-size:9px;padding:4px 6px;border-radius:999px;background:#fff0e4;color:#b86b37;font-weight:850}
@media(max-width:900px){.account-row{grid-template-columns:44px 1fr 140px}.account-toggle,.account-row .btn{grid-column:auto}.account-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.calendar-desktop{display:none}.calendar-mobile{display:block}.v19-calendar{padding:12px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar .actions{width:100%;display:grid;grid-template-columns:44px 1fr 44px}.calendar-toolbar .actions #addEvent{grid-column:1/-1}.calendar-tabs{display:flex;overflow:auto;white-space:nowrap;padding-bottom:3px}.mcal-day{grid-template-columns:52px 1fr}.mcal-event{grid-template-columns:45px 1fr auto}.account-summary{grid-template-columns:1fr 1fr}.account-row{grid-template-columns:42px 1fr}.account-row select,.account-toggle,.account-row .btn{grid-column:2}.register-card{padding:28px 20px}}
@media(max-width:520px){.calendar-title{font-size:22px}.mcal-day{grid-template-columns:48px 1fr}.mcal-date>b{font-size:22px}.mcal-event{grid-template-columns:42px 1fr}.mcal-source{display:none}.account-summary{grid-template-columns:1fr}.top-actions #quickAddBtn{font-size:0}.top-actions #quickAddBtn:after{content:'＋';font-size:20px}}

/* V24 contract detail */
.contract-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:6px 0 18px;border-bottom:1px solid #f0dfd3}.contract-hero h2{margin:8px 0 4px;font-size:24px}.contract-hero p{margin:0;color:#8a776b}.contract-money{text-align:right;display:flex;flex-direction:column;gap:4px}.contract-money strong{font-size:26px}.contract-money span,.contract-money small{color:#8a776b}.contract-tabs{display:flex;gap:6px;overflow:auto;padding:14px 0 12px;border-bottom:1px solid #f0dfd3}.contract-tabs button{border:0;background:#fff5ed;padding:9px 12px;border-radius:10px;font-weight:700;color:#7a665b;white-space:nowrap;cursor:pointer}.contract-tabs button.active{background:#f59a5b;color:white}.contract-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.detail-box{border:1px solid #f0dfd3;border-radius:14px;padding:14px;margin-top:14px;background:#fff}.detail-box h4{margin:0 0 10px}.contract-detail-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed #eaded6}.contract-detail-row:last-child{border-bottom:0}.contract-detail-row span{color:#8a776b}.contract-detail-row.total{font-size:17px}.payment-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed #eaded6}.payment-line div{display:flex;flex-direction:column}.payment-line small{color:#8a776b;margin-top:3px}.document-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.doc-card{border:1px solid #ecd8ca;background:#fff8f3;border-radius:16px;padding:18px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px}.doc-card:hover{border-color:#f59a5b}.doc-card b{font-size:16px}.doc-card small{color:#8a776b;line-height:1.45}.einvoice-box{text-align:center;padding:12px}.einvoice-icon{font-size:42px}.einvoice-box h3{margin:8px 0}.einvoice-box p{color:#6f625b;line-height:1.6}
@media(max-width:760px){.contract-hero{flex-direction:column}.contract-money{text-align:left}.contract-detail-grid{grid-template-columns:1fr}.document-actions{grid-template-columns:1fr}.payment-line{grid-template-columns:1fr auto}.payment-line .btn{grid-column:1/-1}.contract-tabs{margin-left:-4px;margin-right:-4px}}

/* V25 */
.extra-cost-box{border:1px solid #f0dacb;border-radius:14px;background:#fffaf6;padding:12px}.extra-cost-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.extra-cost-head small{display:block;color:#927d70;margin-top:3px}.extra-cost-row{display:grid;grid-template-columns:1fr 180px 38px;gap:8px;align-items:center;margin-top:8px}.extra-cost-row input{width:100%;height:40px;border:1px solid #ead7c9;border-radius:10px;padding:0 10px}.extra-remove{height:38px;width:38px;border-radius:10px;border:1px solid #efcfc4;background:#fff;color:#c75b51;font-size:20px;cursor:pointer}.payment-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-detail-row.total{background:#fff4eb;margin:6px -8px -2px;padding:10px 8px;border-radius:9px}.document-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.doc-card{text-align:left;border:1px solid #ead8cb;background:#fff;border-radius:14px;padding:15px;cursor:pointer}.doc-card b,.doc-card small{display:block}.doc-card small{margin-top:5px;color:#8e786a}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.18em;color:#b66d3b}@media(max-width:820px){.extra-cost-row{grid-template-columns:1fr 120px 38px}.payment-grid-3{grid-template-columns:1fr}.document-actions{grid-template-columns:1fr}.contract-tabs{overflow:auto;white-space:nowrap;flex-wrap:nowrap}.contract-tabs button{flex:0 0 auto}}
.sla-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin:0 0 14px;border:1px solid #f3c9aa;background:#fff7f0;border-radius:12px;color:#6e4b34}.sla-note b{color:#c8682c}.sla-note span{font-size:13px;color:#846f62}.actions{display:flex;gap:10px;flex-wrap:wrap}

/* V31 customer photo gallery admin */
.gallery-empty-admin{text-align:center;padding:40px 24px}.gallery-empty-icon{font-size:46px}.gallery-empty-admin h3{margin:10px 0 6px}.gallery-empty-admin p{max-width:620px;margin:0 auto 14px;color:var(--muted)}.gallery-admin-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-top:14px}.gallery-admin-head h3{margin:8px 0 4px;font-size:22px}.gallery-admin-head p{margin:0;color:var(--muted)}.gallery-alert{margin:14px 0;border:1px solid #f1c59f;background:#fff5e9;color:#744d32;padding:12px;border-radius:12px}.gallery-source{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0;padding:10px 12px;background:#f8fafc;border:1px solid #e7ebef;border-radius:12px}.gallery-source a{color:#b96835;text-decoration:none}.gallery-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.gallery-admin-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.gallery-admin-item.selected{border-color:#f59a5b;box-shadow:0 0 0 1px #f59a5b inset}.gallery-admin-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f3ede9}.gallery-admin-item-body{padding:10px}.gallery-admin-item-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-admin-item-body p{font-size:12px;color:#6f625b;line-height:1.45;background:#fff8f2;border-radius:8px;padding:7px;margin:8px 0}.gallery-selected-badge{display:inline-block;margin-top:6px;font-size:10px;background:#fff0e4;color:#b65e29;border-radius:999px;padding:4px 7px;font-weight:800}.mini-link{border:0;background:none;padding:5px 0;cursor:pointer;font-size:11px}.danger-text{color:#c84d47}.gallery-complete-summary{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:14px;border:1px solid #bfe5cf;background:#eefaf3;color:#2b704c;border-radius:12px}.gallery-help{background:#fff6ee;border:1px solid #f1d0b7;border-radius:12px;padding:12px;margin-bottom:12px}.gallery-help p{margin:6px 0 0;color:#7b675b}.bulk-links{width:100%;min-height:220px;border:1px solid var(--line);border-radius:12px;padding:12px;resize:vertical}.form-grid small{font-weight:400;color:var(--muted);display:block;margin-top:5px;line-height:1.4}
@media(max-width:1000px){.gallery-admin-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.gallery-admin-head{flex-direction:column}.gallery-admin-grid{grid-template-columns:repeat(2,1fr)}.gallery-source{align-items:flex-start;flex-direction:column}}

/* V33 — remembered session + iOS-like mobile calendar */
.remember-row{display:flex!important;align-items:flex-start;gap:10px;margin:8px 0 14px!important;font-weight:600!important;cursor:pointer}
.remember-row input{width:18px!important;height:18px!important;margin:2px 0 0!important;accent-color:#f39757;flex:0 0 auto}
.remember-row span{display:block;line-height:1.25}.remember-row b{display:block;font-size:12px}.remember-row small{display:block;color:var(--muted);font-weight:500;margin-top:4px;font-size:10px}
.ios-calendar-mobile{display:none}.ios-cal-top{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;padding:4px 0 14px}.ios-cal-top>div{text-align:center}.ios-cal-top b{display:block;font-size:15px;text-transform:capitalize}.ios-cal-top small{display:block;color:var(--muted);margin-top:3px}.ios-month-nav{width:40px;height:40px;border:0;background:#fff4eb;color:#e97f39;border-radius:14px;font-size:28px;line-height:1}.ios-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 2px 8px;border-bottom:1px solid var(--line)}.ios-weekdays span{text-align:center;font-size:10px;font-weight:850;color:#888;letter-spacing:.04em}.ios-weekdays .sun{color:#f04c43}.ios-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:8px 0 12px;touch-action:pan-y}.ios-day{position:relative;min-width:0;aspect-ratio:.92;border:0;background:transparent;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#171717;padding:2px}.ios-day span{font-size:20px;font-weight:650;line-height:1}.ios-day.sunday span{color:#f0443d}.ios-day.other-month{opacity:.32}.ios-day.today span{color:#e76f2e;font-weight:900}.ios-day.selected{background:#e9f4ff;box-shadow:inset 0 0 0 2px #1686ed}.ios-day.selected span{color:#111}.ios-dots{height:5px;display:flex;gap:2px;justify-content:center}.ios-dot{display:block;width:5px;height:5px;border-radius:50%;background:#aaa}.ios-dot.shoot{background:#f39552}.ios-dot.wedding{background:#f04d55}.ios-dot.engagement{background:#d6ad34}.ios-dot.makeup,.ios-dot.dress_fitting{background:#8c68cc}.ios-dot.delivery{background:#4c9a7d}.ios-selected-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:14px 2px 8px}.ios-selected-head b{font-size:14px}.ios-selected-head span{font-size:10px;color:var(--muted)}.ios-day-agenda{display:grid;gap:8px}.ios-agenda-row{display:grid;grid-template-columns:54px 1fr auto;gap:8px;align-items:center;border:1px solid #efddd0;border-left:4px solid #f39552;border-radius:12px;padding:10px;background:#fff}.ios-agenda-row.wedding{border-left-color:#f04d55}.ios-agenda-row.engagement{border-left-color:#d6ad34}.ios-agenda-row.delivery{border-left-color:#4c9a7d}.ios-agenda-time{font-size:12px;font-weight:850;color:#b86a36}.ios-agenda-main b{display:block;font-size:12px}.ios-agenda-main small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.ios-empty-day{padding:22px 10px;text-align:center;color:var(--muted);font-size:12px}.ios-add-event{margin-top:12px}
@media(max-width:820px){.calendar-mobile{display:none!important}.ios-calendar-mobile{display:block!important}.calendar-toolbar{display:none}.v19-calendar>.calendar-tabs{margin-top:0}.v19-calendar{padding:12px 10px}.ios-month-grid{gap:1px}.ios-day span{font-size:19px}.calendar-tabs{margin-bottom:8px}}
@media(max-width:380px){.ios-day span{font-size:17px}.ios-day{border-radius:10px}.ios-weekdays span{font-size:9px}.ios-agenda-row{grid-template-columns:48px 1fr auto;padding:9px 8px}}

/* V34: clearer mobile calendar modes + contract rows open anywhere */
.contract-click-row{cursor:pointer;transition:background .16s ease,transform .08s ease}.contract-click-row:hover td{background:#fff6ef}.contract-click-row:focus{outline:2px solid #f59a5b;outline-offset:-2px}.contract-name-link{color:#3a2f29}.contract-click-row:hover .contract-name-link{color:#de7d3e;text-decoration:underline;text-underline-offset:3px}
.mobile-cal-switch{display:none;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f6eee8;border:1px solid var(--line);border-radius:13px;margin-bottom:12px}.mobile-cal-switch button{border:0;background:transparent;border-radius:10px;padding:10px 12px;font:inherit;font-size:12px;font-weight:850;color:#7c6a5f}.mobile-cal-switch button.active{background:#fff;color:#df7f40;box-shadow:0 2px 8px rgba(77,48,29,.08)}
.mobile-day-top{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:2px 0 10px}.mobile-day-top>div{text-align:center}.mobile-day-top b{display:block;font-size:15px;text-transform:capitalize}.mobile-day-top small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.mobile-day-top button{width:40px;height:40px;border:0;background:#fff4eb;color:#e97f39;border-radius:14px;font-size:28px;line-height:1}
.mobile-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:4px 0 14px}.mobile-week-day{position:relative;min-width:0;border:1px solid transparent;background:transparent;border-radius:13px;padding:8px 2px 7px;text-align:center;color:#332b27}.mobile-week-day small{display:block;font-size:9px;text-transform:uppercase;color:#97887f}.mobile-week-day b{display:block;font-size:18px;margin-top:3px}.mobile-week-day i{display:block;margin:5px auto 0;width:5px;height:5px;border-radius:50%;background:#f29a59;font-style:normal;font-size:0}.mobile-week-day i:empty{background:transparent}.mobile-week-day.selected{background:#fff0e5;border-color:#f3c6a7}.mobile-week-day.selected b{color:#df7d3c}.mobile-week-day.today:not(.selected){box-shadow:inset 0 0 0 1px #f59a5b}.mobile-day-agenda{display:grid;gap:8px}.mobile-day-view.hidden,.mobile-month-view.hidden{display:none!important}
@media(max-width:820px){.mobile-cal-switch{display:grid}.ios-calendar-mobile{padding-top:2px}.mobile-day-agenda .ios-agenda-row{min-height:58px}.calendar-tabs{scrollbar-width:none}.calendar-tabs::-webkit-scrollbar{display:none}.contract-click-row td{padding-top:14px;padding-bottom:14px}.data-table tbody .contract-click-row:active td{background:#fff0e5}}
/* V35 mobile calendar + customer selected photos */
.mobile-active-days{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.mobile-active-days::-webkit-scrollbar{display:none}.mobile-active-day{flex:0 0 74px;scroll-snap-align:start;border:1px solid #ecd8ca;background:#fff;border-radius:15px;padding:9px 6px;text-align:center;color:#352d29}.mobile-active-day span{display:block;font-size:10px;color:#8b7d75;text-transform:uppercase}.mobile-active-day b{display:block;font-size:23px;margin:2px 0}.mobile-active-day small{display:block;font-size:10px;color:#a36c48}.mobile-active-day.selected{background:#fff0e5;border-color:#f4a36a;box-shadow:0 5px 16px #eaa06c22}.mobile-active-day.today:not(.selected){box-shadow:inset 0 0 0 2px #f49a5c}.mobile-selected-date-head{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 8px;border-top:1px solid var(--line)}.mobile-selected-date-head b{font-size:13px;text-transform:capitalize}.mobile-selected-date-head span{font-size:10px;color:var(--muted)}
.v35-month-grid{gap:2px;align-items:stretch}.ios-day.v35-month-day{aspect-ratio:auto;min-height:76px;justify-content:flex-start;align-items:stretch;padding:5px 3px;border-radius:9px;border:1px solid transparent;overflow:hidden}.ios-day.v35-month-day.selected{background:#fff6ef;box-shadow:inset 0 0 0 1px #f3a26b}.v35-date-num{align-self:center;font-size:15px!important;margin-bottom:3px}.v35-day-events{display:grid;gap:2px;min-width:0}.mobile-month-event{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border-radius:4px;padding:2px 3px;background:#fff0e5;color:#9a552c;font-size:7.5px;line-height:1.15}.mobile-month-event i{font-style:normal;font-weight:800;margin-right:2px}.mobile-month-event.wedding{background:#fff0f1;color:#c94d54}.mobile-month-event.engagement{background:#fff8dc;color:#9b7a16}.mobile-month-event.delivery{background:#edf8f3;color:#387e65}.v35-day-events em{font-size:8px;color:#8c817a;font-style:normal;text-align:center}
.customer-selected-contract{margin:10px 0 16px}.customer-selected-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.customer-selected-head span{font-size:11px;color:var(--muted)}.customer-selected-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.customer-selected-photo{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #ecdcd1;border-radius:10px;overflow:hidden}.customer-selected-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4eee9}.customer-selected-photo small{display:block;font-size:9px;padding:5px 6px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-selected-photo em{display:block;font-size:8px;font-style:normal;color:#8b6a55;padding:0 6px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){.v35-month-grid .ios-day{min-height:72px}.customer-selected-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:380px){.ios-day.v35-month-day{min-height:68px;padding:4px 2px}.mobile-month-event{font-size:6.8px}.customer-selected-grid{grid-template-columns:repeat(2,1fr)}}

/* ==========================================================
   V36 · Appearance system — iPhone/macOS inspired
   ========================================================== */
:root{
  --surface:var(--panel);
  --surface-2:var(--panel-soft);
  --surface-3:#f5efe9;
  --field:#fff;
  --glass:rgba(251,247,243,.86);
  --shadow-soft:0 10px 34px rgba(77,58,44,.08);
  --shadow-float:0 18px 55px rgba(64,46,34,.13);
  --focus-ring:rgba(244,154,91,.16);
}
html[data-accent="peach"]{--brand:#f49a5b;--brand-2:#ef8742;--brand-soft:#ffe7d5;--focus-ring:rgba(244,154,91,.18)}
html[data-accent="champagne"]{--brand:#b99a70;--brand-2:#9d7e55;--brand-soft:#eee2d2;--focus-ring:rgba(185,154,112,.18)}
html[data-accent="rose"]{--brand:#c98b8b;--brand-2:#ad7171;--brand-soft:#f3dddd;--focus-ring:rgba(201,139,139,.18)}
html[data-accent="graphite"]{--brand:#5e5e63;--brand-2:#3f3f43;--brand-soft:#e7e7e9;--focus-ring:rgba(94,94,99,.18)}

html[data-theme="dark"]{
  --bg:#111113;--panel:#1c1c1e;--panel-soft:#222225;--sidebar:#171719;--ink:#f5f5f7;--muted:#a9a9af;
  --line:#323237;--surface:#1c1c1e;--surface-2:#222225;--surface-3:#29292d;--field:#252529;
  --glass:rgba(18,18,20,.82);--shadow:0 14px 40px rgba(0,0,0,.30);--shadow-soft:0 10px 34px rgba(0,0,0,.24);--shadow-float:0 22px 70px rgba(0,0,0,.42);
  --green:#46c36f;--red:#ff6b67;--blue:#5ac8fa;
}
html[data-theme="dark"][data-accent="peach"]{--brand:#ff9f67;--brand-2:#f28b50;--brand-soft:#3a2a22;--focus-ring:rgba(255,159,103,.22)}
html[data-theme="dark"][data-accent="champagne"]{--brand:#d1b58b;--brand-2:#b59669;--brand-soft:#342d24;--focus-ring:rgba(209,181,139,.22)}
html[data-theme="dark"][data-accent="rose"]{--brand:#df9a9a;--brand-2:#c07f7f;--brand-soft:#3c292b;--focus-ring:rgba(223,154,154,.22)}
html[data-theme="dark"][data-accent="graphite"]{--brand:#a8a8ad;--brand-2:#85858b;--brand-soft:#303034;--focus-ring:rgba(168,168,173,.22)}

html[data-theme="dark"],html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] body{color-scheme:dark}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:var(--field);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#77777d}
html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}
html[data-theme="dark"] .btn,html[data-theme="dark"] .btn.ghost,html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .mini-icon{background:#252529;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 94%,white 6%),var(--brand-2));color:#fff;border-color:var(--brand);box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 24%,transparent)}
html[data-theme="dark"] .btn.danger{background:#362021;color:#ff8782;border-color:#5a3030}
html[data-theme="dark"] .card,html[data-theme="dark"] .section-card,html[data-theme="dark"] .table-card{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow-soft)}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#171719,#1b1b1e);border-color:var(--line)}
html[data-theme="dark"] .brand-row b,html[data-theme="dark"] .user-chip strong{color:var(--ink)}
html[data-theme="dark"] .brand-row small,html[data-theme="dark"] .nav-group>small{color:#89898f}
html[data-theme="dark"] .user-chip{background:#202023;border-color:var(--line)}
html[data-theme="dark"] .nav-item{color:#d1d1d6}
html[data-theme="dark"] .nav-item:hover{background:#252529}
html[data-theme="dark"] .nav-item.active{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff}
html[data-theme="dark"] .sidebar-foot{border-color:var(--line)}
html[data-theme="dark"] .topbar{background:rgba(17,17,19,.86);border-color:var(--line)}
html[data-theme="dark"] .dashboard-kpis,html[data-theme="dark"] .dashboard-meta{background:#1f1f22;border-color:var(--line)}
html[data-theme="dark"] .kpi{border-color:#2d2d31}
html[data-theme="dark"] .data-table th,html[data-theme="dark"] table th{background:#222225;color:#b9b9bf;border-color:var(--line)}
html[data-theme="dark"] .data-table td,html[data-theme="dark"] table td{border-color:var(--line)}
html[data-theme="dark"] .data-table tr:hover td,html[data-theme="dark"] table tbody tr:hover td{background:#222225}
html[data-theme="dark"] .drawer-panel,html[data-theme="dark"] .modal-card{background:#1b1b1e;border-color:var(--line);box-shadow:var(--shadow-float)}
html[data-theme="dark"] .drawer-head,html[data-theme="dark"] .modal-head{border-color:var(--line);background:#1b1b1e}
html[data-theme="dark"] .drawer-backdrop,html[data-theme="dark"] .modal-backdrop{background:rgba(0,0,0,.54);backdrop-filter:blur(7px)}
html[data-theme="dark"] .login-screen{background:radial-gradient(circle at 20% 10%,#2d211b 0,transparent 38%),var(--bg)}
html[data-theme="dark"] .login-shell{background:#1c1c1e;border-color:var(--line);box-shadow:0 28px 85px rgba(0,0,0,.42)}
html[data-theme="dark"] .login-brand{background:linear-gradient(145deg,#221c19,#18181a)}
html[data-theme="dark"] .login-card,html[data-theme="dark"] .register-card{background:#1c1c1e}
html[data-theme="dark"] .filter-chip{background:#252529;color:#d1d1d6;border-color:var(--line)}
html[data-theme="dark"] .filter-chip.active{background:var(--brand-soft);color:var(--brand);border-color:color-mix(in srgb,var(--brand) 48%,var(--line))}

/* Modern Apple-like surfaces in both modes */
.topbar{backdrop-filter:saturate(160%) blur(22px);-webkit-backdrop-filter:saturate(160%) blur(22px)}
.card,.section-card,.table-card,.user-chip,.modal-card,.drawer-panel{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}
.btn,.nav-item,input,select,textarea{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}

/* Appearance settings */
.appearance-card{margin-top:14px}
.appearance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.appearance-section{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}
.appearance-section h4{margin:0 0 5px;font-size:13px}.appearance-section p{margin:0 0 12px;color:var(--muted);font-size:11px}
.theme-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.theme-choice{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 8px;font-weight:750;font-size:12px}
.theme-choice.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring);color:var(--brand)}
.accent-swatches{display:flex;gap:10px;flex-wrap:wrap}
.accent-swatch{width:42px;height:42px;border-radius:13px;border:2px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);position:relative}
.accent-swatch[data-accent="peach"]{background:#f49a5b}.accent-swatch[data-accent="champagne"]{background:#b99a70}.accent-swatch[data-accent="rose"]{background:#c98b8b}.accent-swatch[data-accent="graphite"]{background:#5e5e63}
.accent-swatch.active{border-color:var(--ink);box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--brand)}
.appearance-preview{margin-top:12px;padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.appearance-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.appearance-preview-pill{padding:6px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:10px}

@media(max-width:720px){
  .appearance-grid{grid-template-columns:1fr}
  .theme-segment{grid-template-columns:repeat(3,1fr)}
  .appearance-section{padding:12px}
  html[data-theme="dark"] .mobile-nav{background:rgba(28,28,30,.94);border-color:var(--line);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
}

/* =========================================================
   V37 — iPhone calendar agenda + compact bottom navigation
   ========================================================= */
.customer-download-original{display:block;margin-top:6px;font-size:10px;font-weight:800;color:var(--brand)}
.gallery-original-download{display:inline-flex;margin-top:6px;text-decoration:none;color:var(--brand)!important}
.v37-switch{margin-bottom:10px}
.v37-month-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:4px 0 14px}.v37-month-nav>div{text-align:center}.v37-month-nav b{display:block;font-size:17px}.v37-month-nav small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.v37-month-nav button{width:40px;height:40px;border:0;border-radius:14px;background:var(--brand-soft);color:var(--brand);font-size:28px;line-height:1}
.v37-day-view{display:grid;gap:14px}.v37-day-view.hidden,.v37-month-wrap.hidden{display:none!important}.v37-agenda-day{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;box-shadow:var(--shadow-soft)}.v37-agenda-day.today{box-shadow:inset 0 0 0 1px var(--brand),var(--shadow-soft)}.v37-agenda-date{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px 10px;border-bottom:1px solid var(--line);background:var(--surface-2)}.v37-agenda-date b{display:block;font-size:13px;text-transform:capitalize}.v37-agenda-date small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.v37-agenda-date>span{font-size:26px;font-weight:850;color:var(--brand)}.v37-agenda-list{display:grid}.v37-agenda-event{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:13px 14px;color:var(--ink)}.v37-agenda-event:last-child{border-bottom:0}.v37-agenda-event:active{background:var(--brand-soft)}.v37-agenda-time{font-size:14px;font-weight:850;color:var(--brand)}.v37-agenda-copy b{display:block;font-size:13px;line-height:1.25}.v37-agenda-copy small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.v37-agenda-event>i{font-style:normal;font-size:9px;font-weight:850;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 6px}.v37-empty{border:1px dashed var(--line);border-radius:16px;background:var(--panel)}
.v37-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 2px 7px;border-bottom:1px solid var(--line)}.v37-weekdays span{text-align:center;font-size:9px;font-weight:850;color:var(--muted)}.v37-weekdays .sun{color:#ef4f48}.v37-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding-top:6px}.v37-month-cell{min-width:0;min-height:94px;border-radius:12px;padding:7px 3px;background:transparent;overflow:hidden}.v37-month-cell.other-month{opacity:.28}.v37-month-cell.today{background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.v37-month-cell.sunday .v37-month-date{color:#ef4f48}.v37-month-date{text-align:center;font-size:17px;font-weight:780;line-height:1.1;margin-bottom:5px}.v37-month-events{display:grid;gap:3px}.v37-month-event{display:block;min-width:0;padding:3px 4px;border-radius:6px;background:var(--surface-2);overflow:hidden}.v37-month-event b{display:block;font-size:8px;line-height:1.1;color:var(--brand)}.v37-month-event em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;font-style:normal;color:var(--ink);line-height:1.2;margin-top:1px}.v37-month-event.wedding{background:#fff0f1}.v37-month-event.engagement{background:#fff8df}.v37-more{display:block;text-align:center;font-size:8px;color:var(--muted);font-weight:800}.v37-add-event{width:100%;margin-top:14px}

@media(max-width:820px){
  .main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .view{padding:10px 10px calc(76px + env(safe-area-inset-bottom))}
  .mobile-nav{height:calc(58px + env(safe-area-inset-bottom));box-sizing:border-box;display:grid;grid-template-columns:repeat(5,1fr);align-items:start;padding:4px 8px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(35,25,18,.05)}
  .mobile-nav button{height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px 1px;border-radius:12px;color:var(--muted);font-size:9px;font-weight:650;line-height:1;background:transparent}
  .mobile-nav button span{font-size:19px;line-height:1;margin:0}
  .mobile-nav button small{font-size:9px;line-height:1.05}
  .mobile-nav button.active{background:var(--brand-soft);color:var(--brand)}
  .ios-calendar-mobile{padding:0!important}
  .v19-calendar{padding:10px 9px!important}
  .calendar-tabs{display:flex;overflow-x:auto;white-space:nowrap;gap:6px;padding-bottom:3px}
  .v37-agenda-event{min-height:62px}
  .v37-month-cell{min-height:90px}
}
@media(max-width:390px){
  .v37-month-cell{min-height:84px;padding-left:2px;padding-right:2px}
  .v37-month-event em{font-size:7.5px}.v37-month-event b{font-size:7.5px}.v37-agenda-event{grid-template-columns:52px 1fr auto;padding:12px 11px}
}
/* V41 independent gallery admin */
.v41-admin-section{border:1px solid var(--line,#eadfd7);border-radius:16px;background:var(--card,#fff);margin-top:12px;overflow:hidden}.v41-section-head{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left;border:0;background:transparent;padding:16px 18px;font:inherit;font-weight:800;color:inherit;cursor:pointer}.v41-section-head b{min-width:34px;text-align:center;padding:5px 9px;border-radius:999px;background:#fff0e5;color:#d96f2e}.v41-section-head em{font-style:normal;transition:.2s}.v41-section-head.open em{transform:rotate(180deg)}.v41-section-body{padding:0 16px 16px}
/* V43 makeup orders */
.v43-tabs{display:flex;gap:8px;margin:14px 0 16px;padding:5px;background:var(--soft,#f7f2ee);border-radius:16px;width:max-content;max-width:100%}.v43-tab{border:0;background:transparent;padding:10px 16px;border-radius:12px;font-weight:800;color:inherit}.v43-tab.active{background:#fff;box-shadow:0 2px 10px #0000000d}.v43-makeup-card{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.v43-makeup-card small{display:block;opacity:.65;margin-top:4px}@media(max-width:700px){.v43-tabs{width:100%}.v43-tab{flex:1}.v43-makeup-card{grid-template-columns:1fr auto}.v43-makeup-card .v43-money{grid-column:1}.v43-makeup-card .v43-actions{grid-column:2;grid-row:1/3}}
/* V43.1 calendar edit/delete */
.cal-event[data-calendar-event]{cursor:pointer}.ios-agenda-row[data-calendar-event]{width:100%;border:0;background:transparent;text-align:left;color:inherit;font:inherit}.ios-agenda-row[data-calendar-event]:active{background:var(--brand-soft)}
