@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--purple:#6d35d9;--purple2:#8d52ef;--ink:#17131f;--muted:#7d7788;--bg:#f6f5f8;--line:#ebe8f0;--white:#fff;--green:#21a66a;--orange:#e69a31;--red:#d95368}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}
.login{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 45%,#7440b8 0,#28183e 30%,#100b19 70%);color:#fff}
.login:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,7,20,.92),rgba(20,9,33,.48),rgba(8,5,14,.3));}
.lens{position:absolute;right:-5vw;top:8%;width:58vw;height:84vh;border-radius:50%;background:radial-gradient(circle at 45% 45%,#06050a 0 12%,#1a1229 18%,#09070f 27%,#7d38d0 29%,#180e27 37%,#05040a 47%,#43216e 49%,#09070d 62%,#22132f 70%,#05040a 82%);box-shadow:0 0 100px #9b49e755, inset 0 0 90px #000;opacity:.92}
.login-brand{position:absolute;top:38px;left:58px;z-index:2}.login-brand img{width:190px;max-height:70px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)} 
.login-card{position:relative;z-index:3;width:min(430px,90vw);padding:42px;border-radius:24px;background:#ffffffee;color:var(--ink);box-shadow:0 30px 90px #0008;backdrop-filter:blur(18px)}
.login-card h1{margin:0 0 8px;font-size:30px}.login-card p{margin:0 0 28px;color:var(--muted);font-size:14px}
.field{margin:0 0 18px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.field input{width:100%;padding:14px 15px;border:1px solid #ddd8e7;border-radius:12px;outline:none;background:#fff}.field input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6d35d91a}
.row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:8px 0 24px}.row a{color:var(--purple);text-decoration:none;font-weight:600}.sign{width:100%;border:0;border-radius:12px;padding:15px;background:linear-gradient(100deg,var(--purple),var(--purple2));color:#fff;font-weight:800;cursor:pointer}
.login-note{position:absolute;bottom:28px;left:58px;z-index:2;color:#ffffff99;font-size:11px}
.shell{display:flex;min-height:100vh}.sidebar{width:245px;background:#20122f;color:#fff;padding:24px 15px;flex:none}.brand{padding:4px 14px 30px}.brand img{width:155px;filter:brightness(0) invert(1)}.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;color:#d8cfe4;text-align:left;padding:12px 14px;border-radius:11px;cursor:pointer}.nav button.active,.nav button:hover{background:#6d35d9;color:#fff}.nav .logout{margin-top:24px;color:#ffb7c0}
.main{flex:1;min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar h2{margin:0;font-size:19px}.topright{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:12px}.avatar{width:38px;height:38px;border-radius:50%;background:#7b3ed8;color:#fff;display:grid;place-items:center;font-weight:800}
.content{padding:30px}.welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.welcome h1{margin:0 0 5px;font-size:25px}.welcome p{margin:0;color:var(--muted);font-size:13px}.primary{border:0;background:var(--purple);color:#fff;padding:12px 17px;border-radius:10px;font-weight:700;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 6px 20px #2a17350a}.stat{display:flex;justify-content:space-between}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:25px;font-weight:800;margin-top:9px}.icon{width:42px;height:42px;border-radius:12px;background:#eee6ff;color:var(--purple);display:grid;place-items:center;font-size:19px}.delta{font-size:11px;color:var(--green);margin-top:8px}
.grid2{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:18px}.card h3{margin:0 0 16px;font-size:15px}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick button{background:#faf9fc;border:1px solid var(--line);padding:15px;border-radius:12px;text-align:left;cursor:pointer}.quick strong{display:block;font-size:16px}.quick span{font-size:11px;color:var(--muted)}
.register-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(115deg,#f1eaff,#fff);border:1px solid #e3d6fb}.register-card p{margin:5px 0 0;color:var(--muted);font-size:11px}
.table-card{margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);font-size:11px}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.badge{padding:5px 9px;border-radius:99px;font-size:9px;font-weight:700}.pending{background:#fff1d9;color:#a96700}.confirmed{background:#e2f7ed;color:#16744a}.overdue{background:#ffe6ea;color:#a92e43}
.chart{height:205px;display:flex;align-items:end;gap:10px;padding:15px 8px 5px;border-bottom:1px solid var(--line)}.bar{flex:1;background:linear-gradient(#9c6af0,#6d35d9);border-radius:7px 7px 0 0;min-width:12px}.months{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;padding-top:7px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#6d35d9 0 42%,#9d72ee 42% 70%,#c9aef8 70% 88%,#e7d9fb 88%);margin:auto;position:relative}.donut:after{content:"";position:absolute;inset:32px;background:#fff;border-radius:50%}.legend{display:grid;gap:8px;margin-top:15px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6d35d9;margin-right:7px}
.activity{display:grid;gap:14px}.activity-item{display:flex;gap:10px;font-size:11px}.activity-item b{display:block}.activity-item span{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card{max-width:900px}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.secondary{border:1px solid var(--line);background:#fff;padding:12px 17px;border-radius:10px;cursor:pointer}
@media(max-width:950px){.sidebar{width:190px}.stats{grid-template-columns:repeat(2,1fr)}.grid2,.grid3{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{display:none}.content{padding:18px}.topbar{padding:0 18px}.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.login-brand{left:25px}.login-note{left:25px}.login-card{padding:30px}.lens{width:90vw}}

/* Secretary dashboard integration layer */
:root{--echo-purple:#6d28d9;--echo-purple-2:#7c3aed;--echo-soft:#f3eaff;--echo-ink:#151329;--echo-muted:#6b687d;--echo-border:#e8e5f0;--echo-bg:#f7f7fb}
body{background:var(--echo-bg)!important;color:var(--echo-ink)!important}.shell{min-height:100vh}.sidebar{background:linear-gradient(180deg,#211344 0%,#160d2d 100%);width:250px;padding:24px 16px}.sidebar .brand img{width:160px;max-height:55px;object-fit:contain}.nav button{border-radius:11px!important;margin:4px 0}.nav button span{width:24px;display:inline-block}.nav button .nav-icon{width:20px;height:20px;vertical-align:-5px;margin-right:4px}.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.main{background:var(--echo-bg)}.topbar{background:#fff;border-bottom:1px solid var(--echo-border);padding:20px 30px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#8065b5;margin-bottom:5px}.topbar h2{font-size:20px}.content{max-width:1450px;margin:auto;padding:28px 30px}.welcome{margin-bottom:22px}.welcome h1{font-size:28px;letter-spacing:-.5px}.welcome p{color:var(--echo-muted)}.card{border:1px solid var(--echo-border)!important;border-radius:18px!important;box-shadow:0 8px 26px rgba(42,24,82,.05)!important;background:#fff!important}.stats{grid-template-columns:repeat(5,1fr);gap:12px}.stat{min-height:118px;display:flex;justify-content:space-between;align-items:flex-start}.stat .label{color:var(--echo-muted)}.stat .value{font-size:22px}.stat .icon,.mini-icon{background:var(--echo-soft);color:var(--echo-purple);border-radius:12px}.stat .icon{width:40px;height:40px;display:grid;place-items:center}.grid2{gap:16px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button{background:#faf9fd;border:1px solid var(--echo-border);padding:15px;text-align:left;border-radius:12px}.quick strong,.quick span{display:block}.quick span{font-size:12px;color:var(--echo-muted);margin-top:4px}.register-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}.mini-icon{width:44px;height:44px;display:grid;place-items:center;font-size:25px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:16px}.toolbar input,.toolbar select,.field input,.field select{border:1px solid var(--echo-border);background:#fff;border-radius:10px;padding:12px}.table-wrap{overflow:auto}.table-card{overflow:hidden}.table-card table{min-width:1180px}.table-card th{background:#fbfaff;color:var(--echo-muted);padding:13px 10px}.table-card td{padding:13px 10px}.payment-pill{font-size:11px;font-weight:800;background:var(--echo-soft);color:var(--echo-purple);padding:6px 8px;border-radius:8px}.owe{color:#c62828}.paid{color:#17833b}.badge{border-radius:8px;padding:7px 9px;font-weight:800;font-size:11px}.badge.pending{background:#fff0f0;color:#c62828}.badge.delivered{background:#eaf8ef;color:#17833b}.icon-action{border:1px solid var(--echo-border);background:#fff;border-radius:8px;padding:7px 10px;color:var(--echo-purple);font-weight:700}.form-card{max-width:1100px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}.field label{color:var(--echo-ink);margin-bottom:7px}.balance{border:1px solid var(--echo-border);background:#faf9fd;padding:12px;border-radius:10px;font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.empty-state{min-height:350px;display:grid;place-items:center;color:var(--echo-muted)}.bell{color:var(--echo-purple)}
@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.sidebar{width:220px}}@media(max-width:800px){.shell{display:block}.sidebar{width:100%;padding:12px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.topright span:first-child,.topright b{display:none}.content{padding:20px 15px}.stats,.grid2,.grid3,.form-grid,.toolbar{grid-template-columns:1fr}.field.full{grid-column:auto}.quick{grid-template-columns:1fr}}
/* Secretary dashboard refinements */
.split-payment{display:inline-block;position:relative}.split-payment summary{cursor:pointer;list-style:none;font-size:11px;font-weight:800;background:var(--echo-soft);color:var(--echo-purple);padding:6px 9px;border-radius:8px}.split-payment summary::-webkit-details-marker{display:none}.split-breakdown{position:absolute;z-index:20;top:34px;left:0;min-width:210px;padding:10px 12px;background:#fff;border:1px solid var(--echo-border);border-radius:12px;box-shadow:0 10px 28px rgba(42,24,82,.12)}.split-breakdown div{display:flex;justify-content:space-between;gap:18px;padding:5px 0;font-size:11px}.split-breakdown .split-total{margin-top:5px;padding-top:8px;border-top:1px solid var(--echo-border)}.delivery-group{margin-top:18px;border:1px solid var(--echo-border);border-radius:14px;overflow:hidden}.delivery-group:first-child{margin-top:0}.delivery-group-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fbfaff}.delivery-group-head h3{margin:0;font-size:14px}.delivery-group-head span{font-size:11px;color:var(--echo-muted);font-weight:700}.delivery-group .table-wrap{border-top:1px solid var(--echo-border)}.delivery-group table{margin:0}
/* v3 Secretary Dashboard: dashboard-first operations */
.quick{grid-template-columns:repeat(3,1fr)}
.quick button{min-height:92px;transition:.18s ease}
.quick button:hover{border-color:#cfc0ef;box-shadow:0 6px 18px rgba(42,24,82,.06);transform:translateY(-1px)}
.photos-due-card{overflow:visible}
.photo-list{display:grid;gap:10px}
.photo-due-row{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(240px,1fr) minmax(190px,.8fr);gap:18px;align-items:center;border:1px solid var(--echo-border);border-radius:14px;padding:15px 16px;background:#fcfbfe}
.copy-client{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;padding:0;cursor:pointer;color:var(--echo-ink)}
.copy-client:hover b{color:var(--echo-purple)}
.copy-client b{display:block;font-size:13px}
.copy-client small{display:block;color:var(--echo-muted);font-size:11px;margin-top:4px}
.copy-icon{width:38px;height:38px;border-radius:11px;background:var(--echo-soft);color:var(--echo-purple);display:grid;place-items:center;font-size:18px;flex:none}
.subtle{margin:3px 0 0;color:var(--echo-muted);font-size:11px}
.due-money,.due-delivery{display:grid;gap:7px}
.money-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.balance-amount{font-weight:800;font-size:13px}
.status-select{border:1px solid var(--echo-border);background:#fff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;color:var(--echo-ink);cursor:pointer}
.status-select.owe-select{background:#fff0f0;color:#c62828;border-color:#ffd5da}
.status-select.paid-select{background:#eaf8ef;color:#17833b;border-color:#ccefd9}
.empty-state.compact{min-height:140px}
@media(max-width:1050px){.photo-due-row{grid-template-columns:1fr 1fr}.due-delivery{grid-column:1/-1}.quick{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.photo-due-row{grid-template-columns:1fr}.due-delivery{grid-column:auto}.quick{grid-template-columns:1fr}}

/* v4 dashboard-first Secretary workflow */
.stat .icon svg,.quick-icon svg,.mini-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick-icon{width:42px;height:42px;border-radius:12px;background:var(--echo-soft);color:var(--echo-purple);display:grid;place-items:center;margin-bottom:10px}
.quick strong{display:flex;align-items:center;gap:7px}
.count-bubble{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--echo-purple);color:#fff;font-size:11px}
.count-bubble.neutral{background:#eee8f8;color:var(--echo-purple)}
.quick{grid-template-columns:repeat(2,minmax(0,1fr))}
.quick button{min-height:132px}
.dashboard-register-card{margin-bottom:18px}
.dashboard-register-card .section-head{margin-bottom:18px}
.dashboard-register-card .section-head h3{margin-bottom:3px}
.dashboard-register-card .actions{justify-content:flex-end}
.stat .icon{font-size:0}
@media(max-width:700px){.quick{grid-template-columns:1fr}}

/* V5 dashboard-first Secretary registration */
.register-accordion{margin:18px 0 20px;background:#fff;border:1px solid var(--echo-border,#e8e5f0);border-radius:18px;box-shadow:0 8px 26px rgba(42,24,82,.05);overflow:hidden}
.register-toggle{width:100%;display:flex;align-items:center;gap:16px;padding:18px 22px;border:0;background:linear-gradient(135deg,#fff 0%,#fbf9ff 65%,#f3eaff 100%);color:var(--echo-ink,#151329);text-align:left}
.register-toggle:hover{background:#faf7ff}
.register-plus{width:48px;height:48px;border-radius:14px;background:var(--echo-purple-soft,#f3eaff);color:var(--echo-purple,#6d28d9);display:grid;place-items:center;flex:none}
.register-plus svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.register-toggle b{display:block;font-size:18px;letter-spacing:.2px}
.register-toggle small{display:block;margin-top:3px;color:var(--echo-muted,#6b687d);font-size:12px}
.register-toggle .chevron{margin-left:auto;font-size:24px;color:var(--echo-purple,#6d28d9);font-weight:700}
.register-body{padding:0 2px 2px}
.register-body .form-card{margin:0;border:0;box-shadow:none;border-radius:0}

/* Keep the five dashboard stats prominent and first */
.content>.stats{margin-top:0}
.stats .icon svg,.stat .icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:800px){
 .register-toggle{padding:15px 16px}.register-toggle b{font-size:16px}.register-plus{width:44px;height:44px}
}

.hidden{display:none!important}

/* V8 date navigator + full monthly calendar */
.date-nav{display:flex;align-items:center;gap:5px;margin-right:6px}.date-nav>button{height:36px;border:1px solid var(--echo-border);background:#fff;color:var(--echo-purple);border-radius:9px;cursor:pointer;font-weight:800}.date-nav>button:not(.date-picker){width:34px;font-size:22px;line-height:1}.date-nav .date-picker{position:relative;display:flex;align-items:center;gap:8px;padding:0 11px;font-size:11px;color:var(--echo-ink)}.date-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.date-picker span{color:var(--echo-purple);font-size:14px}.today-btn{padding:0 10px!important;font-size:11px!important}.calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.full-calendar{padding:20px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-head h3{margin:0;font-size:18px}.calendar-head button{width:36px;height:36px;border:1px solid var(--echo-border);background:#fff;border-radius:10px;color:var(--echo-purple);font-size:22px;cursor:pointer}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekdays{margin-bottom:7px}.weekdays span{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--echo-muted);font-weight:800;padding:7px 0}.cal-day{min-height:72px;border:1px solid var(--echo-border);background:#fff;border-radius:12px;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;color:var(--echo-ink);cursor:pointer}.cal-day:hover{border-color:#bda6e9;background:#fbf9ff}.cal-day>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700}.cal-day.has-events>span{border:2px solid var(--echo-purple);color:var(--echo-purple);background:var(--echo-soft)}.cal-day.selected{background:#f7f1ff;border-color:#cdb7ef}.cal-day.selected>span{background:var(--echo-purple);border-color:var(--echo-purple);color:#fff}.cal-day i{position:absolute;right:7px;bottom:7px;font-style:normal;font-size:9px;font-weight:800;color:var(--echo-purple);background:var(--echo-soft);padding:3px 6px;border-radius:99px}.cal-day.muted{border:0;background:transparent;cursor:default}.calendar-legend{display:flex;justify-content:space-between;gap:10px;margin-top:16px;color:var(--echo-muted);font-size:10px}.legend-circle{display:inline-block;width:10px;height:10px;border:2px solid var(--echo-purple);border-radius:50%;vertical-align:-1px;margin-right:5px}.selected-day h3{margin:3px 0 18px}.cal-client{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--echo-border)}.cal-client b{display:block;font-size:12px}.cal-client small{display:block;color:var(--echo-muted);font-size:10px;margin-top:4px}.selected-day .empty-state{min-height:180px}
@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}.date-nav{margin-right:0}.topright>b{display:none}}@media(max-width:650px){.date-nav .today-btn{display:none}.date-picker strong{max-width:90px;overflow:hidden;white-space:nowrap}.cal-day{min-height:55px;padding-top:8px}.cal-day>span{width:30px;height:30px}.calendar-grid,.weekdays{gap:4px}}
.cal-activity-card{display:block;padding:15px 0}.cal-client-main{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cal-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.cal-details span{display:flex;flex-direction:column;gap:3px;padding:9px;background:var(--echo-soft);border-radius:9px}.cal-details small{font-size:9px;color:var(--echo-muted);text-transform:uppercase;letter-spacing:.4px}.cal-details b{font-size:11px}.cal-details .badge{display:inline-flex;width:max-content;padding:4px 7px}.cal-details .owe{color:#a33}.cal-details .paid{color:#24734a}

/* Secretary client editing */
.icon-action{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--echo-border);background:#fff;color:var(--echo-purple);border-radius:9px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}
.icon-action:hover{background:var(--echo-soft);border-color:#cdb7ef}
.pen-icon{font-size:16px;line-height:1;transform:rotate(-12deg);display:inline-block}
.modal-backdrop{position:fixed;inset:0;background:rgba(19,12,37,.58);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:1000}
.edit-modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(20,10,45,.28);padding:24px}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-head h2{margin:3px 0 0;font-size:22px}.modal-close{width:36px;height:36px;border:1px solid var(--echo-border);background:#fff;border-radius:10px;font-size:24px;line-height:1;color:var(--echo-muted);cursor:pointer}.modal-close:hover{color:var(--echo-purple);background:var(--echo-soft)}
.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.edit-grid .full{grid-column:1/-1}.edit-grid input,.edit-grid select{width:100%;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--echo-border)}
@media(max-width:650px){.edit-grid{grid-template-columns:1fr}.edit-grid .full{grid-column:auto}.edit-modal{padding:18px}.modal-actions{position:sticky;bottom:0;background:#fff}}

/* V14 dashboard visual polish */
.welcome-person{display:flex;align-items:center;gap:14px}.profile-placeholder{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--echo-soft);border:1px solid var(--echo-border);color:var(--echo-purple);flex:0 0 52px}.profile-placeholder svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.calendar-top-icon{display:grid;place-items:center}.calendar-top-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* V15 Quick Actions cleanup */
.quick-icon{display:none!important}
.quick strong{font-size:17px!important;line-height:1.35}
.quick .count-bubble{font-size:12px!important}
.count-bubble.count-good{background:#17833b!important;color:#fff!important}
.count-bubble.count-alert{background:#c62828!important;color:#fff!important}

/* Sidebar logo: sized and aligned with the navigation icon column. */
.sidebar .brand{height:112px;padding:0 14px 32px;display:flex;align-items:center}
.sidebar .brand img{width:205px;max-height:76px;object-fit:contain;object-position:left center}

/* Sign-in branding: a large, centered animated Echo logo. */
.login-brand{top:40px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;width:min(360px,82vw)}
.login-brand img{width:100%;max-width:330px;max-height:125px;animation:echo-logo-float 3.2s ease-in-out infinite}
@keyframes echo-logo-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.045)}}
@media(max-width:650px){.login-brand{top:24px;width:min(280px,78vw)}.login-brand img{max-height:96px}}

/* Cinematic sign-in background and visual logo alignment with the card. */
.login{background-image:linear-gradient(90deg,rgba(10,5,20,.82) 0%,rgba(20,7,38,.42) 52%,rgba(7,3,16,.28) 100%),url('assets/login-camera-background.jpg');background-position:center;background-size:cover}
.login:before{background:linear-gradient(90deg,rgba(8,4,16,.26),rgba(20,7,38,.08));}
.login .lens{display:none}
.login-brand{left:calc(50% + 86px)}
@media(max-width:650px){.login-brand{left:50%}}

/* Larger logo, brought closer to the card with a playful but subtle motion. */
.login-brand{top:100px;width:min(480px,86vw)}
.login-brand img{max-width:460px;max-height:175px;filter:brightness(0) invert(1) drop-shadow(0 10px 22px rgba(122,65,230,.36));animation:echo-logo-playful 4.2s cubic-bezier(.45,.05,.25,1) infinite}
@keyframes echo-logo-playful{0%,100%{transform:translateY(0) rotate(-1.5deg) scale(1)}35%{transform:translateY(-9px) rotate(1.5deg) scale(1.055)}55%{transform:translateY(2px) rotate(-.8deg) scale(.99)}75%{transform:translateY(-4px) rotate(.8deg) scale(1.025)}}
@media(max-width:650px){.login-brand{top:72px;width:min(350px,82vw)}.login-brand img{max-height:128px}}

/* Clients list controls */
.toolbar.client-toolbar{grid-template-columns:1.65fr repeat(3,1fr) auto;align-items:center}
.client-list-actions{display:flex;gap:8px;align-items:center}.client-list-actions button{white-space:nowrap}.sort-direction{padding:12px 13px}.export-contacts{padding:12px 15px}
@media(max-width:1100px){.toolbar.client-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.client-list-actions{grid-column:1/-1}}@media(max-width:650px){.toolbar.client-toolbar{grid-template-columns:1fr}.client-list-actions{grid-column:auto;flex-wrap:wrap}}

/* Admin business-control dashboard */
.admin-period{border:1px solid var(--echo-border);border-radius:10px;background:#fff;padding:12px 14px;font-weight:800;color:var(--echo-ink)}.admin-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.admin-activity{margin-top:0}.admin-list>div{padding:13px 0;border-top:1px solid var(--echo-border)}.admin-list>div:first-child{border-top:0}.admin-list b,.admin-list span{display:block}.admin-list b{font-size:13px}.admin-list span{font-size:11px;color:var(--echo-muted);margin-top:4px}@media(max-width:850px){.admin-panels{grid-template-columns:1fr}}
.month-comparison h3{margin:0}.month-count{font-size:42px;font-weight:900;line-height:1;margin:16px 0 8px}.month-comparison p{margin:0 0 7px;font-size:14px;font-weight:800}.month-comparison small{color:var(--echo-muted);font-size:12px}.month-growth{color:var(--green)}.month-decline{color:var(--red)}.month-neutral{color:var(--echo-muted)}
.admin-password-overlay{position:fixed;inset:0;z-index:100;background:rgba(18,11,36,.58);display:grid;place-items:center;padding:20px}.admin-password-card{position:relative;width:min(410px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:0 24px 60px rgba(12,7,25,.3)}.admin-password-card h3{font-size:25px;margin:0 0 8px}.admin-password-card p{color:var(--echo-muted);font-size:13px;line-height:1.45;margin:0 0 20px}.admin-password-card input{width:100%;border:1px solid var(--echo-border);border-radius:10px;padding:13px;margin-bottom:9px}.admin-password-card .primary{width:100%;margin-top:12px}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:var(--echo-muted);font-size:28px;line-height:1;cursor:pointer}.admin-password-error{min-height:16px;color:var(--red);font-size:12px;font-weight:700}
.event-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr);gap:18px}.event-calendar{padding:22px}.event-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.event-calendar-head h3{margin:0;font-size:19px}.event-calendar-head .secondary{padding:8px 14px;font-size:22px;line-height:1}.event-calendar-weekdays,.event-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.event-calendar-weekdays{margin-bottom:8px}.event-calendar-weekdays span{text-align:center;font-size:11px;font-weight:800;color:var(--echo-muted)}.event-calendar-day,.event-calendar-blank{min-height:74px;border-radius:13px}.event-calendar-day{border:1px solid var(--echo-border);background:#fff;padding:9px;text-align:left;position:relative;cursor:pointer;color:var(--echo-ink);transition:.15s ease}.event-calendar-day:hover,.event-calendar-day.selected{border-color:var(--echo-purple);box-shadow:0 3px 12px rgba(109,40,217,.12)}.event-calendar-day.selected{background:#faf7ff}.event-calendar-day b{font-size:13px}.event-booking-circle{position:absolute;right:8px;bottom:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--echo-purple);color:#fff;font-size:11px;font-weight:800}.calendar-key{display:flex;align-items:center;gap:7px;color:var(--echo-muted);font-size:11px;margin:16px 0 0}.calendar-key i{width:10px;height:10px;border-radius:50%;background:var(--echo-purple)}.event-date-details{margin-top:18px}.event-detail-list{display:grid;gap:0}.event-detail{padding:13px 0;border-top:1px solid var(--echo-border)}.event-detail:first-child{border-top:0}.event-detail b,.event-detail span,.event-detail small{display:block}.event-detail b{font-size:13px}.event-detail span{font-size:12px;color:var(--echo-muted);margin-top:5px}.event-detail small{margin-top:8px;color:var(--echo-purple);font-weight:800;font-size:11px}.empty-event-details{padding:20px 0;color:var(--echo-muted);font-size:13px}.event-upcoming{align-self:start;max-height:640px;overflow:auto}@media(max-width:950px){.event-workspace{grid-template-columns:1fr}.event-upcoming{max-height:none}}@media(max-width:600px){.event-calendar{padding:14px}.event-calendar-day,.event-calendar-blank{min-height:48px;border-radius:9px}.event-calendar-grid{gap:4px}.event-calendar-weekdays{gap:4px}.event-booking-circle{right:4px;bottom:4px;width:18px;height:18px;font-size:9px}.event-calendar-day{padding:6px}}
.event-date-list{display:grid;gap:9px}.event-date-row{display:grid;grid-template-columns:minmax(145px,.45fr) 1fr 34px;gap:9px;align-items:center}.event-date-row input{width:100%;border:1px solid var(--echo-border);background:#fff;border-radius:10px;padding:12px}.remove-event-date{height:40px;border:1px solid #ffd5da;background:#fff4f5;color:var(--red);border-radius:9px;font-size:20px;cursor:pointer}.add-event-date{margin-top:10px;padding:9px 12px;color:var(--echo-purple);font-weight:800}@media(max-width:600px){.event-date-row{grid-template-columns:1fr 34px}.event-date-row input:nth-child(2){grid-column:1}.remove-event-date{grid-column:2;grid-row:1}}
.event-edit{margin-top:10px;border:1px solid var(--echo-border);background:#fff;border-radius:8px;padding:7px 10px;color:var(--echo-purple);font-size:11px;font-weight:800;cursor:pointer}
.dashboard-event-bookings{margin-bottom:18px}.attention-link{display:block;width:100%;border:0;background:transparent;text-align:left;padding:13px 0;cursor:pointer;color:var(--echo-ink)}.attention-link+.attention-link{border-top:1px solid var(--echo-border)}.attention-link:hover b{color:var(--echo-purple)}.attention-link b,.attention-link span{display:block}.attention-link b{font-size:13px}.attention-link span{font-size:11px;color:var(--echo-muted);margin-top:4px}.delete-entry{margin-left:6px;color:var(--red)!important;border-color:#ffd5da!important;background:#fff7f8!important}.empty-table{text-align:center;color:var(--echo-muted);padding:28px!important}
.admin-password-card select{width:100%;border:1px solid var(--echo-border);border-radius:10px;padding:13px;margin-bottom:9px;background:#fff}.staff-stats{grid-template-columns:repeat(3,1fr)}.staff-card{border:1px solid var(--echo-border)!important;background:#fff;text-align:left;cursor:pointer;font:inherit}.staff-card:hover{border-color:var(--echo-purple)!important;box-shadow:0 8px 20px rgba(109,40,217,.1)!important}.operation-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.operation-tabs button{border:1px solid var(--echo-border);background:#fff;border-radius:10px;padding:10px 13px;color:var(--echo-ink);font-weight:800;cursor:pointer}.operation-tabs button.active{background:var(--echo-purple);border-color:var(--echo-purple);color:#fff}.operational-list{display:grid}.operational-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-top:1px solid var(--echo-border)}.operational-row:first-child{border-top:0}.operational-row b,.operational-row span{display:block}.operational-row b{font-size:14px}.operational-row span{margin-top:5px;color:var(--echo-muted);font-size:12px}.assignment-area label{display:grid;gap:5px;font-size:10px;color:var(--echo-muted);font-weight:800}.assignment-area select{border:1px solid var(--echo-border);background:#fff;border-radius:9px;padding:9px;min-width:175px;color:var(--echo-ink)}.assignment-readonly{font-weight:800!important;color:var(--echo-purple)!important;text-align:right}@media(max-width:750px){.staff-stats{grid-template-columns:1fr}.operational-row{align-items:flex-start;flex-direction:column}.assignment-readonly{text-align:left}.assignment-area select{min-width:0;width:100%}}
.login-card select{width:100%;border:1px solid #ddd8e7;border-radius:12px;padding:14px 15px;background:#fff;color:var(--echo-ink)}.top-role-link{border:1px solid var(--echo-border);background:#fff;border-radius:9px;padding:8px 10px;color:var(--echo-purple);font-size:11px;font-weight:800;cursor:pointer}.fixed-calendar{margin-top:18px}.fixed-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.fixed-calendar-day,.fixed-calendar-blank{min-height:54px;border-radius:10px}.fixed-calendar-day{position:relative;border:1px solid var(--echo-border);padding:8px;font-size:12px}.fixed-calendar-day.today{border-color:var(--echo-purple);background:#faf7ff}.fixed-calendar-day span{position:absolute;right:6px;bottom:6px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--echo-purple);color:#fff;font-size:10px;font-weight:800}.editing-state{font-weight:800!important;color:var(--echo-muted)!important;text-align:right}.editing-state.done{color:var(--green)!important}.done-editing{margin-top:8px;border:0;border-radius:8px;background:var(--echo-purple);color:#fff;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.leaderboard{margin-top:18px}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:center}.leaderboard-head{padding:0 0 9px;color:var(--echo-muted);font-size:10px;font-weight:800}.leaderboard-row{border-top:1px solid var(--echo-border);padding:12px 0;font-size:12px}.leaderboard-row span{text-align:center}.admin-inline-link{border:0;background:transparent;color:var(--echo-purple);font-size:11px;font-weight:800;padding:0;cursor:pointer}@media(max-width:650px){.topright{gap:8px}.fixed-calendar-grid{gap:4px}.fixed-calendar-day,.fixed-calendar-blank{min-height:42px}.leaderboard-head,.leaderboard-row{grid-template-columns:1.7fr 1fr 1fr 1fr;font-size:10px}}
.login-brand{top:54px}.login-card #loginName{width:100%;padding:14px 15px;border:1px solid #ddd8e7;border-radius:12px;background:#fff}.admin-secretary-view{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:18px}.live-secretary-sidebar h3{margin-top:0}.live-secretary-sidebar .primary{margin-top:16px;width:100%}@media(max-width:850px){.admin-secretary-view{grid-template-columns:1fr}}@media(max-width:650px){.login-brand{top:28px}}
