:root{
  --bg:#f7f7fb;--surface:#fff;--surface-2:#fbfaff;--ink:#211b29;--muted:#746b7d;--line:#ece8f0;--line-2:#ded6e5;
  --primary:#7b4bc4;--primary-2:#9a69d8;--primary-soft:#f3ecfb;--primary-ink:#5c329a;
  --green:#1d9b68;--green-soft:#eaf8f2;--amber:#b7801e;--amber-soft:#fff6df;--red:#b84b61;--red-soft:#fff0f3;
  --sidebar:#17131d;--sidebar-2:#21182b;--shadow:0 18px 55px rgba(37,24,48,.08);--shadow-sm:0 8px 28px rgba(37,24,48,.055);
  --radius:18px;--radius-sm:12px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;color:var(--ink);background:var(--bg);font-size:14px}a{color:inherit}button,input{font:inherit}button{appearance:none}code{padding:2px 6px;border-radius:7px;background:#f3eef8;border:1px solid #e5d9ef;color:#684394;font-size:.92em}
.logo-mark{position:relative;width:34px;height:34px;display:inline-block;flex:0 0 auto;border-radius:11px;background:linear-gradient(145deg,#9f72dc,#6e3cb7);box-shadow:0 8px 22px rgba(123,75,196,.25)}.logo-mark:before{content:"";position:absolute;left:9px;top:9px;width:16px;height:16px;border:2px solid #fff;border-radius:5px}.logo-mark:after{content:"";position:absolute;left:12px;top:13px;width:10px;height:2px;border-radius:2px;background:#fff;box-shadow:0 5px 0 rgba(255,255,255,.7)}.logo-mark span:before,.logo-mark span:after{content:"";position:absolute;top:7px;width:2px;height:6px;background:#fff;border-radius:2px}.logo-mark span:before{left:12px}.logo-mark span:after{right:12px}.logo-mark.large{width:42px;height:42px;border-radius:14px}.logo-mark.large:before{left:11px;top:11px;width:20px;height:20px}.logo-mark.large:after{left:15px;top:16px;width:12px;box-shadow:0 6px 0 rgba(255,255,255,.7)}.logo-mark.large span:before{left:15px;top:9px}.logo-mark.large span:after{right:15px;top:9px}.logo-word{font-size:22px;font-weight:800;letter-spacing:-.045em}.logo-word.light{color:#fff}
.primary-btn,.secondary-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;cursor:pointer;font-weight:750;border-radius:12px;transition:transform .14s,box-shadow .14s,background .14s}.primary-btn{padding:12px 17px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 24px rgba(123,75,196,.2)}.primary-btn:hover,.secondary-btn:hover,.icon-btn:hover{transform:translateY(-1px)}.primary-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary-btn.wide{width:100%}.secondary-btn{padding:10px 14px;color:#5e5068;background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}.icon-btn{width:38px;height:38px;background:#f6f2fa;border:1px solid #ebe4f1;color:#6c547c}.text-link{text-decoration:none;color:var(--primary-ink);font-size:12px;font-weight:750}.page-kicker,.panel-kicker,.eyebrow,.kicker{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:850;color:#9a8ca5}.muted{color:var(--muted)}
/* application shell */
.app-body{background:#f8f8fb}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 20px;background:radial-gradient(circle at 20% 0%,#2d1e3b 0%,var(--sidebar) 42%,#141018 100%);color:#fff;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:11px;text-decoration:none;padding:0 8px}.sidebar-caption{padding:11px 8px 0;color:rgba(255,255,255,.38);font-size:10px;letter-spacing:.03em}.sidebar-nav{display:grid;gap:6px;margin-top:35px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;text-decoration:none;color:rgba(255,255,255,.62);font-size:13px;font-weight:650;transition:background .15s,color .15s}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:linear-gradient(135deg,rgba(147,96,213,.26),rgba(255,255,255,.07));color:#fff;border:1px solid rgba(183,137,236,.13)}.nav-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.065);font-size:14px}.nav-item.active .nav-icon{background:rgba(171,120,231,.2)}.sidebar-bottom{margin-top:auto;padding:0 7px}.security-pill{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.58);font-size:10px;padding:10px 0}.security-pill span{width:7px;height:7px;border-radius:50%;background:#52d59a;box-shadow:0 0 0 4px rgba(82,213,154,.09)}.version-text{color:rgba(255,255,255,.26);font-size:9px}.app-main{min-width:0}.app-topbar{height:84px;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.88);backdrop-filter:blur(14px);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20}.app-topbar h1{margin:3px 0 0;font-size:21px;letter-spacing:-.03em}.user-menu{display:flex;align-items:center;gap:11px}.avatar{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#efe4fb,#f8f2fe);color:#6f43a7;font-weight:850;border:1px solid #e4d6f1}.user-meta{display:grid;gap:2px}.user-meta strong{font-size:12px}.user-meta span{font-size:10px;color:#958b9d}.content{padding:32px 34px 60px;max-width:1420px;margin:0 auto}.toast{padding:12px 14px;border-radius:12px;margin-bottom:18px;border:1px solid;font-size:12px;font-weight:650}.toast.success{background:var(--green-soft);border-color:#cfeada;color:#26704f}.toast.error{background:var(--red-soft);border-color:#f0ccd4;color:#963b4f}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:20px;border-radius:15px;background:#fff9ea;border:1px solid #f0dfb7}.update-banner div{display:grid;gap:3px}.update-banner strong{font-size:12px}.update-banner span{font-size:11px;color:#87724c}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.hero-row.slim{align-items:center}.hero-row h2{margin:4px 0 6px;font-size:30px;letter-spacing:-.045em}.hero-row p{margin:0;color:var(--muted);line-height:1.55}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.metric-card{display:flex;gap:14px;align-items:center;min-height:116px;padding:18px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.metric-card.accent{background:linear-gradient(145deg,#fff,#faf5ff);border-color:#eadcf6}.metric-icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:var(--primary-soft);color:#7446ad;font-size:18px;font-weight:850}.metric-icon.green{background:var(--green-soft);color:var(--green)}.metric-icon.amber{background:var(--amber-soft);color:var(--amber)}.metric-icon.violet{background:#f1edff;color:#644fc0}.metric-card div:last-child{display:grid}.metric-card span{font-size:10px;color:#968c9d;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.metric-card strong{font-size:27px;line-height:1.2;letter-spacing:-.04em;margin:2px 0}.metric-card small{color:#91879a;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.panel-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:20px}.panel-card.span-2{min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.panel-head h3{font-size:16px;margin:3px 0 0;letter-spacing:-.025em}.soft-note{font-size:10px;color:#91879a;padding:7px 9px;background:#faf8fc;border:1px solid var(--line);border-radius:8px}.table-wrap{overflow:auto;margin:0 -6px}.data-table{width:100%;border-collapse:collapse;min-width:600px}.data-table th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);color:#9a909f;text-transform:uppercase;letter-spacing:.07em;font-size:9px}.data-table td{padding:13px 10px;border-bottom:1px solid #f2eef4;color:#625a68;font-size:11px}.data-table tr:last-child td{border-bottom:0}.salon-name{font-weight:750;color:#332a3b;text-decoration:none}.domain-chip,.code-chip{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f7f3fa;border:1px solid #ebe3f1;color:#705980;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.status.active{background:var(--green-soft);color:#23724e}.status.trial{background:var(--amber-soft);color:#98701f}.status.suspended{background:var(--red-soft);color:#a34156}.status.large{font-size:10px;padding:7px 10px}.health-list{display:grid}.health-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f1edf3}.health-list>div:last-child{border-bottom:0}.health-dot{width:8px;height:8px;border-radius:50%}.health-dot.ok{background:#52c991;box-shadow:0 0 0 4px #effaf5}.health-dot.warn{background:#d5a13d;box-shadow:0 0 0 4px #fff8e9}.health-list span:nth-child(2){display:grid;gap:2px}.health-list strong{font-size:11px}.health-list small{font-size:9px;color:#99909f}.health-list b{font-size:9px;color:#8f8497}.empty-state{padding:48px 18px;text-align:center}.empty-state.compact{padding:28px 14px}.empty-icon{margin:0 auto 12px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:#7044ad;font-size:19px}.empty-state strong{display:block;font-size:14px}.empty-state p{max-width:430px;margin:6px auto 15px;color:#8c8294;font-size:11px;line-height:1.55}
/* salons */
.list-card{margin-bottom:20px}.salon-cards{display:grid;gap:8px}.salon-card{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:13px;align-items:center;text-decoration:none;padding:12px;border-radius:13px;border:1px solid transparent;transition:background .15s,border-color .15s}.salon-card:hover{background:#fbf9fd;border-color:#eee7f3}.salon-avatar,.salon-large-avatar{display:grid;place-items:center;background:linear-gradient(135deg,#f2e9fb,#fbf7fe);border:1px solid #e6d8f2;color:#7044a9;font-weight:850}.salon-avatar{width:38px;height:38px;border-radius:12px}.salon-card-main{display:grid;gap:3px}.salon-card-main strong{font-size:12px}.salon-card-main span{font-size:10px;color:#948a9c}.db-state{font-size:9px;color:#a17b37;background:#fff8e8;border:1px solid #f2e3bd;padding:5px 7px;border-radius:8px;white-space:nowrap}.db-state.ready{color:#27704f;background:var(--green-soft);border-color:#cfeada}.chevron{font-size:21px;color:#baafc1}.form-card{scroll-margin-top:110px}.admin-form{display:grid}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:7px}.field>span{font-size:11px;font-weight:750;color:#504758}.field em{font-style:normal;color:#9e94a4;font-weight:500}.field small{font-size:9px;color:#9a919f}.field input{width:100%;padding:11px 12px;border-radius:11px;border:1px solid var(--line-2);outline:none;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:#a879db;box-shadow:0 0 0 4px rgba(123,75,196,.08)}.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:stretch}.input-suffix input{border-radius:11px 0 0 11px}.input-suffix span{display:grid;place-items:center;padding:0 11px;background:#f8f5fa;border:1px solid var(--line-2);border-left:0;border-radius:0 11px 11px 0;color:#85768f;font-size:10px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.privacy-note{display:flex;gap:10px;align-items:flex-start;max-width:600px}.privacy-note>span{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--green-soft);color:var(--green);font-weight:850}.privacy-note p{margin:0;color:#8a8091;font-size:10px;line-height:1.55}.privacy-note strong{color:#52475b}.form-alert{padding:12px 14px;border:1px solid;border-radius:12px;font-size:11px;line-height:1.5;margin-bottom:16px}.form-alert.error{background:var(--red-soft);border-color:#efc9d2;color:#963b50}.form-alert ul{margin:6px 0 0;padding-left:18px}.salon-hero{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:20px 22px;background:linear-gradient(135deg,#fff,#fbf7ff);border:1px solid #eadff2;border-radius:18px;box-shadow:var(--shadow-sm)}.salon-large-avatar{width:60px;height:60px;border-radius:18px;font-size:22px}.salon-hero-copy{flex:1}.salon-hero-copy h2{font-size:25px;margin:3px 0 2px;letter-spacing:-.04em}.salon-domain{font-size:11px;color:#8f8298}.detail-grid,.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.details-list{margin:0}.details-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #f1edf3}.details-list>div:last-child{border-bottom:0}.details-list dt{font-size:10px;color:#9a909f}.details-list dd{margin:0;text-align:right;font-size:11px;font-weight:650;color:#514658}.database-box{text-align:center;padding:18px 12px}.db-icon{margin:0 auto 10px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--amber-soft);color:#a47825;font-size:18px}.database-box strong{display:block;font-size:13px}.database-box p{max-width:430px;margin:7px auto 12px;color:#8d8293;font-size:10px;line-height:1.6}.status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.status-btn{display:grid;gap:8px;text-align:left;padding:14px;background:#fff;border:1px solid var(--line);border-radius:13px;cursor:pointer}.status-btn:hover,.status-btn.selected{border-color:#cbb3df;background:#fcf9ff}.status-btn small{font-size:9px;color:#948a9b}.architecture-note{display:flex;gap:16px;align-items:flex-start;padding:4px 0}.arch-badge{padding:8px 10px;border-radius:10px;background:#eee6f7;color:#67428e;font-size:10px;font-weight:850}.architecture-note p{margin:0;color:#7c7183;line-height:1.65;font-size:11px}.architecture-note strong{color:#4d4254}
/* update */
.update-page{display:grid;place-items:center;min-height:calc(100vh - 220px)}.update-card{width:min(520px,100%);text-align:center;padding:34px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.update-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 17px;background:var(--primary-soft);color:#7044ad;font-size:25px}.update-card h2{font-size:25px;margin:5px 0 8px;letter-spacing:-.035em}.update-card>p{margin:0 auto 20px;color:#807584;font-size:11px;line-height:1.65;max-width:400px}.version-flow{display:flex;justify-content:center;align-items:center;gap:14px;margin:18px 0 22px}.version-flow span{padding:7px 11px;border-radius:9px;background:#f7f3fa;border:1px solid var(--line);font-family:ui-monospace,Consolas,monospace;font-size:11px}.update-card>small{display:block;margin-top:13px;color:#a096a5;font-size:9px}
/* login */
.login-body{min-height:100vh;background:#f9f8fb}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(440px,.95fr)}.login-visual{position:relative;overflow:hidden;padding:44px 54px;background:radial-gradient(circle at 20% 18%,rgba(166,103,220,.38),transparent 30%),radial-gradient(circle at 80% 78%,rgba(214,122,190,.13),transparent 28%),linear-gradient(145deg,#21162c,#17121d 62%,#120f16);color:#fff;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.visual-copy{position:relative;z-index:2;margin:auto 0;max-width:540px}.visual-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);font-size:10px;color:rgba(255,255,255,.72);font-weight:750}.visual-copy h1{font-size:46px;line-height:1.04;letter-spacing:-.055em;margin:20px 0 14px;max-width:520px}.visual-copy p{max-width:470px;margin:0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.7}.visual-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06)}.orbit-one{width:450px;height:450px;right:-200px;top:-80px}.orbit-two{width:650px;height:650px;right:-340px;top:-180px}.login-panel{display:grid;place-items:center;padding:40px;background:linear-gradient(180deg,#fff,#fbf9fd)}.login-card{width:min(430px,100%)}.mobile-brand{display:none}.login-card h2{font-size:32px;letter-spacing:-.045em;margin:5px 0 7px}.login-card>.muted{margin:0 0 26px;font-size:12px}.form-stack{display:grid;gap:15px}.form-stack .primary-btn{margin-top:2px}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:#978da0;font-size:9px}.lock-dot{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:850}
/* setup / installer */
.setup-body{min-height:100vh;background:#f7f5fa}.setup-simple{width:min(560px,calc(100% - 28px));margin:70px auto;padding:32px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.setup-logo{display:flex;align-items:center;gap:10px;margin-bottom:30px}.setup-simple h1{font-size:31px;letter-spacing:-.045em;margin:5px 0 7px}.setup-simple>p{color:#827787;line-height:1.6;margin:0 0 22px}.check-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:15px}.check-list>div,.mini-checks>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border-bottom:1px solid #f0edf2;font-size:10px}.check-list>div:last-child,.mini-checks>div:last-child{border-bottom:0}.check-list b,.mini-checks b{font-size:8px;padding:4px 7px;border-radius:999px}.ok{background:var(--green-soft);color:var(--green)}.bad{background:var(--red-soft);color:var(--red)}.setup-facts{display:flex;gap:8px;margin-bottom:16px}.setup-facts span{font-size:9px;padding:6px 8px;background:#f8f5fa;border:1px solid var(--line);border-radius:8px;color:#817589}.installer-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,.72fr) minmax(620px,1.28fr)}.installer-aside{position:relative;overflow:hidden;padding:42px;background:radial-gradient(circle at 15% 10%,rgba(163,96,221,.3),transparent 28%),linear-gradient(150deg,#24172f,#17121d 72%);color:#fff}.installer-aside:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.055);right:-290px;bottom:-220px}.installer-copy{margin-top:92px;max-width:390px;position:relative;z-index:2}.installer-copy h1{font-size:40px;line-height:1.06;letter-spacing:-.05em;margin:20px 0 12px}.installer-copy p{color:rgba(255,255,255,.58);font-size:12px;line-height:1.7}.installer-points{display:grid;gap:10px;margin-top:38px;position:relative;z-index:2}.installer-points>div{display:flex;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:13px}.installer-points b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(255,255,255,.08);font-size:9px}.installer-points span{display:grid;gap:2px}.installer-points strong{font-size:10px}.installer-points small{color:rgba(255,255,255,.46);font-size:9px}.installer-panel{padding:38px 44px 48px;background:#fff}.installer-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.installer-head h2{font-size:29px;letter-spacing:-.04em;margin:5px 0 6px}.installer-head p{margin:0;color:#84798b;font-size:11px;line-height:1.5}.env-chip{font-size:8px;font-weight:850;letter-spacing:.11em;padding:6px 8px;border-radius:8px;background:#f2ebfa;color:#6d45a0}.progress-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.progress-steps span{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:10px;background:#faf8fc;border:1px solid var(--line);font-size:9px;color:#8f8495;font-weight:700}.progress-steps b{width:21px;height:21px;display:grid;place-items:center;border-radius:7px;background:#eee9f2}.progress-steps .active{color:#674492;background:#f8f3fd;border-color:#e7d8f3}.progress-steps .active b{background:#e9daf6;color:#674492}.mini-checks{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:20px}.mini-checks>div:nth-child(odd){border-right:1px solid #f0edf2}.install-section{padding:21px 0;border-top:1px solid var(--line)}.section-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.section-title>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--primary-soft);color:#7145a9;font-size:9px;font-weight:850}.section-title h3{font-size:13px;margin:1px 0 2px}.section-title p{margin:0;color:#948a9a;font-size:9px}.form-grid .full{grid-column:1/-1}.installer-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--line)}.install-success{min-height:calc(100vh - 90px);display:grid;place-items:center;align-content:center;text-align:center;max-width:560px;margin:0 auto}.success-check{width:66px;height:66px;border-radius:21px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:28px;font-weight:850;margin-bottom:17px}.install-success h2{font-size:29px;letter-spacing:-.04em;margin:5px 0 8px}.install-success p{color:#837789;max-width:440px;line-height:1.65;font-size:11px;margin:0 0 20px}
@media(max-width:1050px){.metrics-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:210px 1fr}.installer-shell{grid-template-columns:1fr}.installer-aside{min-height:420px}.installer-copy{margin-top:60px}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:36px}.login-panel{min-height:100vh}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:15px;flex-direction:row;align-items:center;gap:12px}.sidebar-caption,.sidebar-bottom{display:none}.sidebar-nav{display:flex;margin:0 0 0 auto}.nav-item{padding:9px}.nav-item span:last-child{display:none}.app-topbar{height:72px;padding:0 18px}.user-meta{display:none}.content{padding:24px 16px 45px}.hero-row{align-items:flex-start;flex-direction:column}.metrics-grid{grid-template-columns:1fr 1fr}.form-grid.two,.detail-grid,.system-grid,.status-actions{grid-template-columns:1fr}.salon-card{grid-template-columns:auto 1fr auto}.salon-card .db-state,.salon-card .status{display:none}.form-footer,.installer-footer{flex-direction:column;align-items:stretch}.installer-panel{padding:28px 20px}.mini-checks{grid-template-columns:1fr}.mini-checks>div:nth-child(odd){border-right:0}.installer-aside{padding:28px}.installer-copy h1{font-size:34px}}
@media(max-width:500px){.metrics-grid{grid-template-columns:1fr}.sidebar-brand .logo-word{display:none}.sidebar-nav{gap:2px}.salon-hero{align-items:flex-start;flex-wrap:wrap}.salon-hero .status{margin-left:76px}.login-panel{padding:22px}.login-card h2{font-size:28px}.setup-simple{margin:20px auto;padding:24px}.progress-steps{grid-template-columns:1fr}.installer-aside{min-height:360px}.installer-copy{margin-top:45px}.installer-copy h1{font-size:30px}}

/* v0.0.3 - owner + subscription */
.subscription-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 9px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.02em;border:1px solid transparent}.subscription-badge.large{padding:8px 12px;font-size:9px}.subscription-badge.paid{background:#eaf8f0;color:#23764b;border-color:#d4efdf}.subscription-badge.trial{background:#f3edfb;color:#7046a5;border-color:#e7d9f5}.subscription-badge.grace{background:#fff5df;color:#966514;border-color:#f4e4bd}.subscription-badge.overdue,.subscription-badge.unpaid{background:#fff0f0;color:#a34848;border-color:#f3d7d7}.subscription-badge.suspended{background:#f2f0f3;color:#756d79;border-color:#e4e0e6}.salon-card-v3{grid-template-columns:auto minmax(180px,1fr) auto auto auto}.salon-card-main small{display:block;margin-top:4px;color:#a096a5;font-size:9px;font-weight:500}.form-section-title{display:flex;align-items:baseline;gap:10px;margin:19px 0 11px;padding-top:17px;border-top:1px solid var(--line)}.form-section-title:first-of-type{margin-top:0;padding-top:0;border-top:0}.form-section-title strong{font-size:11px;color:#4c4251}.form-section-title span{font-size:9px;color:#9b919f}.detail-grid-v3{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-card{position:relative;overflow:hidden}.subscription-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:var(--primary-soft);right:-75px;bottom:-82px}.subscription-summary{display:grid;gap:3px;padding:10px 0 2px;position:relative;z-index:1}.subscription-summary strong{font-size:27px;letter-spacing:-.04em}.subscription-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:#9a8fa0}.subscription-summary small{font-size:9px;color:#817686;margin-top:5px}.subscription-note{position:relative;z-index:1;margin-top:13px;padding:10px 11px;background:#faf8fc;border:1px solid var(--line);border-radius:11px;color:#766b7b;font-size:9px;line-height:1.5}.database-box.ready{background:#f5fbf7;border-color:#d9efe1}.database-box.ready .db-icon{background:#e5f6eb;color:#29734c}
@media(max-width:1000px){.detail-grid-v3{grid-template-columns:1fr 1fr}.detail-grid-v3>article:last-child{grid-column:1/-1}}
@media(max-width:760px){.detail-grid-v3{grid-template-columns:1fr}.detail-grid-v3>article:last-child{grid-column:auto}.salon-card-v3{grid-template-columns:auto 1fr auto}.salon-card-v3 .db-state,.salon-card-v3 .subscription-badge{display:none}}

/* ========================================================================== */
/* Calendu v0.0.4-dev — light UI foundation + pastel presets                  */
/* ========================================================================== */
:root,
html[data-theme="lavender"]{
  --accent:#7d6be8;--accent-strong:#6f5cd7;--accent-soft:#f1efff;--accent-tint:#f8f7ff;--accent-border:#ddd8ff;--accent-rgb:125,107,232;
  --bg:#f7f7fa;--surface:#ffffff;--surface-2:#fbfbfd;--ink:#232129;--muted:#787681;--muted-2:#9b99a2;--line:#ecebf0;--line-2:#dfdde6;
  --sidebar:#ffffff;--sidebar-2:#ffffff;--primary:var(--accent);--primary-2:var(--accent-strong);--primary-soft:var(--accent-soft);--primary-ink:var(--accent-strong);
  --shadow:0 18px 50px rgba(35,33,41,.06);--shadow-sm:0 8px 24px rgba(35,33,41,.045);--radius:18px;--radius-sm:12px;
}
html[data-theme="blush"]{--accent:#d77796;--accent-strong:#c66182;--accent-soft:#fff0f5;--accent-tint:#fff8fa;--accent-border:#f5d6e0;--accent-rgb:215,119,150}
html[data-theme="sage"]{--accent:#719f84;--accent-strong:#5e8d72;--accent-soft:#edf7f0;--accent-tint:#f7fbf8;--accent-border:#d4e9db;--accent-rgb:113,159,132}
html[data-theme="sky"]{--accent:#659bc9;--accent-strong:#4f86b6;--accent-soft:#edf6fd;--accent-tint:#f7fbfe;--accent-border:#d4e7f6;--accent-rgb:101,155,201}
html[data-theme="peach"]{--accent:#dc8c6c;--accent-strong:#ca7554;--accent-soft:#fff2ec;--accent-tint:#fff9f6;--accent-border:#f4d9cc;--accent-rgb:220,140,108}
html[data-theme="sand"]{--accent:#a88661;--accent-strong:#92714f;--accent-soft:#f8f1e9;--accent-tint:#fcfaf7;--accent-border:#eadccc;--accent-rgb:168,134,97}
html[data-theme="mint"]{--accent:#56a89a;--accent-strong:#438f82;--accent-soft:#eaf8f5;--accent-tint:#f6fbfa;--accent-border:#d0ebe6;--accent-rgb:86,168,154}
html[data-theme="mono"]{--accent:#5f6470;--accent-strong:#484d57;--accent-soft:#f0f1f3;--accent-tint:#f8f8f9;--accent-border:#dcdee3;--accent-rgb:95,100,112}

html{background:var(--bg)}
body{font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

/* Brand */
.logo-mark{width:35px;height:35px;border-radius:11px;background:linear-gradient(145deg,var(--accent),var(--accent-strong));box-shadow:0 8px 22px rgba(var(--accent-rgb),.22)}
.logo-word{font-size:21px;font-weight:780;color:var(--ink);letter-spacing:-.045em}
.logo-word.light{color:var(--ink)}

/* Shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:var(--bg)}
.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px 14px;display:flex;flex-direction:column;gap:0;background:var(--surface);border-right:1px solid var(--line);color:var(--ink);z-index:30}
.sidebar-top{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.sidebar-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.sidebar-close{display:none;border:0;background:transparent;color:var(--muted);font-size:25px;line-height:1;padding:5px 8px;border-radius:9px;cursor:pointer}
.sidebar-context{margin:22px 8px 10px;padding:11px 12px;background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:12px;display:grid;gap:2px}
.sidebar-context span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted-2)}
.sidebar-context strong{font-size:11px;color:var(--ink)}
.sidebar-caption{display:none}
.sidebar-nav{display:grid;gap:4px;margin-top:4px}
.nav-item{height:42px;padding:0 12px;display:flex;align-items:center;gap:11px;border-radius:11px;text-decoration:none;color:#6e6b75;font-weight:650;font-size:12px;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav-item:hover{background:#f7f7fa;color:var(--ink);transform:none}
.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}
.nav-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 19px}
.nav-icon svg,.topbar-icon-btn svg,.mobile-menu-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-icon svg .fill,.topbar-icon-btn svg .fill{fill:currentColor;stroke:none}
.sidebar-spacer{flex:1}
.sidebar-help{margin:0 6px 12px;padding:10px 10px;display:flex;align-items:center;gap:9px;border-radius:11px;background:#fafafa;border:1px solid var(--line)}
.sidebar-help-dot{width:8px;height:8px;border-radius:50%;background:#50a879;box-shadow:0 0 0 4px #eaf7f0;flex:0 0 auto}
.sidebar-help div{display:grid;gap:1px;min-width:0}.sidebar-help strong{font-size:9px}.sidebar-help small{font-size:8px;color:var(--muted-2)}
.sidebar-bottom{margin:0 8px;padding:9px 2px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted-2);font-size:8px}
.sidebar-bottom strong{font-size:8px;color:var(--muted);font-weight:700}.security-pill,.version-text{display:none}
.sidebar-backdrop{display:none}

.app-main{min-width:0;display:flex;flex-direction:column}
.app-topbar{position:sticky;top:0;z-index:20;height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(247,247,250,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(236,235,240,.85)}
.topbar-left,.topbar-actions,.user-chip{display:flex;align-items:center}
.topbar-left{gap:12px}.topbar-actions{gap:8px}.user-chip{gap:10px;margin-left:3px;padding:5px 7px 5px 5px;border-radius:12px}
.page-heading{display:grid;gap:0}.page-heading>span{font-size:9px;color:var(--muted-2);font-weight:700}.page-heading h1{margin:0;font-size:17px;letter-spacing:-.025em;font-weight:760;color:var(--ink)}
.app-topbar>.topbar-left>div:not(.page-heading){display:none}
.eyebrow{display:none}
.avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:850;border:1px solid var(--accent-border)}
.user-meta{display:grid;gap:1px;max-width:175px}.user-meta strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta span{font-size:8px;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-icon-btn,.mobile-menu-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:#74717b;display:grid;place-items:center;text-decoration:none;cursor:pointer;transition:.18s ease}
.topbar-icon-btn:hover,.mobile-menu-btn:hover{color:var(--accent-strong);border-color:var(--accent-border);background:var(--accent-tint)}
.mobile-menu-btn{display:none}
.logout-btn:hover{color:#a64b5c;background:#fff4f5;border-color:#f1d7dc}

.content{width:100%;max-width:1460px;margin:0 auto;padding:34px 34px 64px}

/* Theme picker */
.theme-picker{position:relative}
.theme-popover[hidden]{display:none!important}
.theme-popover{position:absolute;right:0;top:46px;width:326px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 60px rgba(35,33,41,.15);z-index:80}
.theme-popover-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.theme-popover-head strong{font-size:12px}.theme-popover-head span{font-size:9px;color:var(--muted-2)}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.theme-option{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);background:#fff;border-radius:11px;color:var(--ink);cursor:pointer;text-align:left}.theme-option:hover{background:#fafafa}.theme-option.active{border-color:var(--accent-border);background:var(--accent-tint);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.06)}.theme-option b{font-size:9px}
.theme-swatch{width:25px;height:25px;border-radius:8px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.theme-swatch.lavender{background:linear-gradient(135deg,#7d6be8 50%,#f1efff 50%)}.theme-swatch.blush{background:linear-gradient(135deg,#d77796 50%,#fff0f5 50%)}.theme-swatch.sage{background:linear-gradient(135deg,#719f84 50%,#edf7f0 50%)}.theme-swatch.sky{background:linear-gradient(135deg,#659bc9 50%,#edf6fd 50%)}.theme-swatch.peach{background:linear-gradient(135deg,#dc8c6c 50%,#fff2ec 50%)}.theme-swatch.sand{background:linear-gradient(135deg,#a88661 50%,#f8f1e9 50%)}.theme-swatch.mint{background:linear-gradient(135deg,#56a89a 50%,#eaf8f5 50%)}.theme-swatch.mono{background:linear-gradient(135deg,#5f6470 50%,#f0f1f3 50%)}
.theme-popover>small{display:block;margin-top:11px;color:var(--muted-2);font-size:8px;line-height:1.5}

/* Buttons */
.primary-btn,.secondary-btn{min-height:40px;padding:0 15px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:10px;font-weight:780;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.primary-btn{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 8px 18px rgba(var(--accent-rgb),.18)}.primary-btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-1px);box-shadow:0 10px 24px rgba(var(--accent-rgb),.22)}
.secondary-btn{color:#4f4c55;background:#fff;border-color:var(--line)}.secondary-btn:hover{border-color:var(--accent-border);background:var(--accent-tint);color:var(--accent-strong)}
.primary-btn.wide,.secondary-btn.wide{width:100%}.btn-icon{font-size:17px;line-height:0;font-weight:450}
.text-link{font-size:9px;color:var(--muted);font-weight:700;text-decoration:none}.text-link:hover{color:var(--accent-strong)}

/* Page intro */
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px;padding:0;background:transparent;border:0;box-shadow:none}
.hero-row.slim{margin-bottom:22px}.hero-row>div{max-width:720px}.page-kicker,.panel-kicker,.kicker{display:block;color:var(--accent-strong);font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:820}
.hero-row h2{margin:5px 0 6px;font-size:30px;line-height:1.1;letter-spacing:-.045em;font-weight:760}.hero-row p{margin:0;color:var(--muted);font-size:11px;line-height:1.65;max-width:650px}
.dashboard-hero{padding:7px 0 1px}

/* Cards */
.panel-card,.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 1px rgba(35,33,41,.015)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.metric-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;min-height:110px;padding:18px}.metric-card.accent{background:linear-gradient(135deg,var(--accent-tint),#fff 78%);border-color:var(--accent-border)}
.metric-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:#f2f2f5;color:#6b6872;font-size:11px;font-weight:850}.metric-icon.violet,.metric-card.accent .metric-icon{background:var(--accent-soft);color:var(--accent-strong)}.metric-icon.green{background:#eaf7f0;color:#438c68}.metric-icon.amber{background:#fff5e7;color:#b17d35}
.metric-card>div:last-child{display:grid;gap:2px}.metric-card span{font-size:9px;color:var(--muted);font-weight:650}.metric-card strong{font-size:26px;letter-spacing:-.04em;line-height:1.05}.metric-card small{font-size:8px;color:var(--muted-2)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);gap:12px}.span-2{grid-column:auto}.panel-card{padding:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.panel-head h3{margin:3px 0 0;font-size:15px;letter-spacing:-.025em}.panel-kicker{font-size:8px}.soft-note{font-size:8px;color:var(--muted-2);padding:5px 8px;border-radius:8px;background:#f7f7f9;border:1px solid var(--line)}
.quick-card{min-height:100%}.step-list{display:grid;gap:2px}.step-list>div{display:flex;align-items:center;gap:10px;padding:11px 5px;border-bottom:1px solid var(--line)}.step-list>div:last-child{border-bottom:0}.step-list b{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:9px}.step-list span{display:grid;gap:1px}.step-list strong{font-size:9px}.step-list small{font-size:8px;color:var(--muted-2)}.step-list .muted-step{opacity:.66}

/* Tables and lists */
.table-wrap{overflow-x:auto;margin:0 -3px -3px}.data-table{width:100%;border-collapse:collapse;min-width:580px}.data-table th{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);color:var(--muted-2);font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.data-table td{padding:12px 10px;border-bottom:1px solid #f1f0f3;font-size:9px;color:#625f68}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:var(--accent-tint)}.salon-name{font-weight:760;color:var(--ink);text-decoration:none;font-size:10px}.salon-name:hover{color:var(--accent-strong)}
.domain-chip,.code-chip{display:inline-flex;padding:5px 7px;border-radius:8px;background:#f6f6f8;border:1px solid var(--line);color:#74717a;font-size:8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

.salon-cards{display:grid;gap:7px}.salon-card{padding:11px 12px;min-height:66px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;background:#fff;text-decoration:none;color:var(--ink);transition:.17s ease}.salon-card:hover{border-color:var(--accent-border);background:var(--accent-tint);transform:translateY(-1px);box-shadow:0 7px 22px rgba(35,33,41,.04)}.salon-avatar{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-weight:850;font-size:12px;border:1px solid var(--accent-border)}.salon-card-main{min-width:0}.salon-card-main strong{display:block;font-size:10px}.salon-card-main>span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.salon-card-main small{margin-top:3px;color:var(--muted-2);font-size:8px}.db-state{font-size:8px;padding:5px 7px;border-radius:8px;background:#f5f5f7;color:#88858e}.db-state.ready{background:#edf8f1;color:#478260}.chevron{color:#aaa7af;font-size:20px;font-weight:300}

/* Status */
.subscription-badge{padding:5px 8px;font-size:8px;font-weight:800;border-radius:999px}.subscription-badge.large{padding:7px 10px;font-size:8px}.subscription-badge.paid{background:#edf8f1;color:#3e7e5c;border-color:#d8eddf}.subscription-badge.trial{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-border)}.subscription-badge.grace{background:#fff6e7;color:#9b6a29;border-color:#f3e2c6}.subscription-badge.overdue,.subscription-badge.unpaid{background:#fff1f2;color:#a24c5a;border-color:#f2d9dd}.subscription-badge.suspended{background:#f1f1f3;color:#77747c;border-color:#e4e3e7}
.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800}.status.active{background:#edf8f1;color:#3e7e5c}.status.trial{background:var(--accent-soft);color:var(--accent-strong)}.status.suspended{background:#f1f1f3;color:#6f6c74}

/* Forms */
.form-card{margin-top:12px}.admin-form,.form-stack{display:grid;gap:0}.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:6px}.field>span{font-size:9px;font-weight:720;color:#55525a}.field em{font-style:normal;color:var(--muted-2);font-weight:500}.field input,.field textarea,.field select{width:100%;height:42px;padding:0 12px;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);outline:0;font-size:10px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.field input::placeholder{color:#b4b1b9}.field input:hover{border-color:#d1cfd6}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.11)}.field small{font-size:8px;color:var(--muted-2);line-height:1.45}.input-suffix{display:flex;align-items:stretch}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix>span{display:flex;align-items:center;padding:0 10px;border:1px solid var(--line-2);border-left:0;border-radius:0 10px 10px 0;background:#f7f7f9;color:var(--muted);font-size:9px}
.form-section-title{display:flex;align-items:baseline;gap:10px;margin:20px 0 12px;padding-top:18px;border-top:1px solid var(--line)}.form-section-title:first-of-type{margin-top:0;padding-top:0;border-top:0}.form-section-title strong{font-size:11px}.form-section-title span{font-size:8px;color:var(--muted-2)}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.privacy-note{display:flex;align-items:flex-start;gap:8px;max-width:650px;color:var(--muted);font-size:8px;line-height:1.5}.privacy-note>span{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-weight:850;flex:0 0 auto}.privacy-note p{margin:0}.privacy-note strong{color:#55525a}
.form-alert{padding:11px 12px;margin:0 0 14px;border-radius:10px;font-size:9px;line-height:1.5}.form-alert.error{background:#fff2f3;border:1px solid #f2d9de;color:#944555}.form-alert ul{margin:5px 0 0;padding-left:17px}

/* Salon detail */
.salon-hero{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:17px 18px;border-radius:16px;background:linear-gradient(135deg,var(--accent-tint),#fff 78%);border:1px solid var(--accent-border)}.salon-large-avatar{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:17px;font-weight:850;box-shadow:0 8px 20px rgba(var(--accent-rgb),.17)}.salon-hero-copy{min-width:0;flex:1}.salon-hero-copy h2{margin:2px 0 2px;font-size:20px;letter-spacing:-.035em}.salon-domain{font-size:9px;color:var(--muted)}
.detail-grid,.detail-grid-v3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.details-list{display:grid;margin:0}.details-list>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.details-list>div:last-child{border-bottom:0}.details-list dt{color:var(--muted-2);font-size:8px}.details-list dd{margin:0;text-align:right;font-size:9px;font-weight:650;word-break:break-word}.subscription-card:after{background:var(--accent-soft);opacity:.7}.subscription-summary strong{font-size:24px}.subscription-summary span{font-size:8px}.subscription-summary small{font-size:8px}.subscription-note{background:#f8f8fa;border-color:var(--line);font-size:8px}.database-box{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafafa;display:grid;gap:6px}.database-box .db-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong)}.database-box strong{font-size:10px}.database-box p{margin:0;color:var(--muted);font-size:8px;line-height:1.55}.database-box.ready{background:#f6fbf8;border-color:#dceee2}.database-box.ready .db-icon{background:#e9f6ed;color:#438261}
.status-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.status-btn{display:grid;justify-items:start;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.status-btn:hover{border-color:var(--accent-border);background:var(--accent-tint)}.status-btn.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.08)}.status-btn small{color:var(--muted-2);font-size:8px;line-height:1.4}

/* Empty / feedback */
.empty-state{padding:32px 20px;text-align:center;display:grid;justify-items:center;gap:6px}.empty-state.compact{padding:24px}.empty-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:17px;margin-bottom:3px}.empty-state strong{font-size:11px}.empty-state p{margin:0 0 6px;color:var(--muted);font-size:9px;line-height:1.5}.toast{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;padding:11px 13px;border-radius:11px;border:1px solid;font-size:9px}.toast>span{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-weight:850;flex:0 0 auto}.toast.success{background:#f2faf5;border-color:#d7ecdf;color:#386c50}.toast.success>span{background:#dff2e6}.toast.error{background:#fff3f4;border-color:#f0d9dd;color:#8e4553}.toast.error>span{background:#f7e0e4}
.update-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;padding:12px 14px;border:1px solid #f0dfbd;background:#fff9ec;border-radius:12px}.update-banner>div{display:grid;gap:2px}.update-banner strong{font-size:9px;color:#805e29}.update-banner span{font-size:8px;color:#a1814d}

/* System / architecture */
.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.health-list{display:grid}.health-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.health-list>div:last-child{border-bottom:0}.health-dot{width:8px;height:8px;border-radius:50%}.health-dot.ok{background:#58a47a}.health-dot.warn{background:#d69a47}.health-list span:nth-child(2){display:grid}.health-list strong{font-size:9px}.health-list small{font-size:8px;color:var(--muted-2)}.health-list b{font-size:8px;color:var(--muted)}.architecture-note{display:flex;align-items:flex-start;gap:12px;padding:13px;border-radius:12px;background:#fafafa;border:1px solid var(--line)}.arch-badge{padding:6px 8px;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:8px;font-weight:850}.architecture-note p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}.architecture-note strong{color:#4f4c54}

/* Update page */
.update-page{min-height:calc(100vh - 190px);display:grid;place-items:center}.update-card{width:min(520px,100%);padding:32px;background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center;box-shadow:var(--shadow-sm)}.update-icon{width:46px;height:46px;border-radius:14px;margin:0 auto 13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:20px}.update-card h2{margin:5px 0 8px;font-size:24px;letter-spacing:-.035em}.update-card>p{margin:0 auto 18px;max-width:410px;color:var(--muted);font-size:9px;line-height:1.65}.version-flow{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:18px}.version-flow span{padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#f8f8fa;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.update-card>small{display:block;margin-top:12px;color:var(--muted-2);font-size:8px}

/* Login */
.login-body{min-height:100vh;background:#faf9fc;color:var(--ink)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,.95fr) minmax(480px,1.05fr);background:#faf9fc}
.login-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:42px 48px;background:radial-gradient(circle at 18% 18%,rgba(var(--accent-rgb),.16),transparent 30%),linear-gradient(145deg,var(--accent-tint),#f9f8fc 72%);color:var(--ink);border-right:1px solid var(--line)}
.login-visual:before{content:"";position:absolute;width:500px;height:500px;right:-230px;bottom:-250px;border-radius:50%;background:rgba(var(--accent-rgb),.09);filter:blur(2px)}
.login-brand{display:flex;align-items:center;gap:11px;position:relative;z-index:2}.login-brand .logo-word{color:var(--ink)}
.visual-copy{position:relative;z-index:2;margin:auto 0 24px;max-width:540px}.visual-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--accent-border);color:var(--accent-strong);font-size:8px;font-weight:800}.visual-copy h1{margin:18px 0 12px;max-width:530px;color:var(--ink);font-size:44px;line-height:1.05;letter-spacing:-.055em;font-weight:760}.visual-copy p{max-width:460px;margin:0;color:var(--muted);font-size:11px;line-height:1.7}.login-feature-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.login-feature-row span{padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.76);border:1px solid var(--line);font-size:8px;color:#68656d}
.visual-orbit{display:none}
.login-preview{position:relative;z-index:2;width:min(520px,86%);height:205px;margin:0 0 -48px auto;border:1px solid var(--accent-border);border-radius:18px 18px 0 0;background:#fff;box-shadow:0 24px 65px rgba(var(--accent-rgb),.13);overflow:hidden;transform:rotate(-1deg)}.preview-bar{height:29px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:0 10px}.preview-bar i{width:6px;height:6px;border-radius:50%;background:#e7e4ea}.preview-body{height:176px;display:grid;grid-template-columns:82px 1fr}.preview-sidebar{background:#fbfbfd;border-right:1px solid var(--line)}.preview-content{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-content:start}.preview-content>span{grid-column:1/-1;height:9px;width:38%;border-radius:5px;background:#eceaf0}.preview-content>span+span{width:62%;height:6px;background:#f1f0f4}.preview-content>div{height:70px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-border)}
.login-panel{display:grid;place-items:center;padding:48px;background:#fff}.login-card{width:min(400px,100%)}.mobile-brand{display:none}.login-card .kicker{margin-bottom:3px}.login-card h2{margin:3px 0 6px;font-size:31px;letter-spacing:-.045em}.login-card>.muted{margin:0 0 24px;color:var(--muted);font-size:10px}.form-stack{gap:14px}.login-submit{margin-top:2px;height:44px}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:19px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted-2);font-size:8px}.lock-dot{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:#edf8f1;color:#478160;font-size:9px;font-weight:850}

/* Keep setup/installer visually coherent with the new palette */
.setup-body{background:var(--bg)}.setup-simple{border-color:var(--line);box-shadow:var(--shadow-sm)}.installer-aside{background:radial-gradient(circle at 15% 10%,rgba(var(--accent-rgb),.28),transparent 28%),linear-gradient(150deg,#302b38,#201d24 72%)}.env-chip,.section-title>span,.progress-steps .active b{background:var(--accent-soft);color:var(--accent-strong)}.progress-steps .active{color:var(--accent-strong);background:var(--accent-tint);border-color:var(--accent-border)}

/* Responsive */
@media(max-width:1120px){
  .app-shell{grid-template-columns:216px minmax(0,1fr)}
  .content{padding:30px 25px 58px}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid,.detail-grid-v3{grid-template-columns:1fr 1fr}.detail-grid-v3>article:last-child{grid-column:1/-1}
  .login-shell{grid-template-columns:minmax(390px,.9fr) minmax(430px,1.1fr)}.visual-copy h1{font-size:38px}
}
@media(max-width:860px){
  .app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:252px;height:100vh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:0 20px 60px rgba(35,33,41,.18);z-index:100}.sidebar-close{display:block}.sidebar-backdrop{position:fixed;inset:0;background:rgba(28,25,32,.28);backdrop-filter:blur(2px);z-index:90}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block}.mobile-menu-btn{display:grid}.app-topbar{padding:0 18px}.content{padding:26px 18px 50px}
  .dashboard-grid{grid-template-columns:1fr}.system-grid{grid-template-columns:1fr}.detail-grid,.detail-grid-v3{grid-template-columns:1fr}.detail-grid-v3>article:last-child{grid-column:auto}
  .login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:34px}
}
@media(max-width:640px){
  .app-topbar{height:66px}.page-heading>span{display:none}.page-heading h1{font-size:15px}.user-meta{display:none}.user-chip{padding:0;margin-left:0}.topbar-actions{gap:6px}.content{padding:22px 14px 42px}.hero-row{align-items:flex-start;flex-direction:column;gap:15px}.hero-row h2{font-size:25px}.hero-row .primary-btn{width:100%}
  .metrics-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{min-height:98px;padding:14px;gap:9px}.metric-icon{width:34px;height:34px}.metric-card strong{font-size:22px}.metric-card small{display:none}
  .panel-card{padding:15px}.form-grid.two,.status-actions{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.form-footer .primary-btn,.form-footer .secondary-btn{width:100%}
  .salon-card,.salon-card-v3{grid-template-columns:auto minmax(0,1fr) auto}.salon-card .db-state,.salon-card .subscription-badge{display:none}.salon-hero{align-items:flex-start;flex-wrap:wrap}.salon-hero>.subscription-badge{margin-left:64px;margin-top:-15px}
  .theme-popover{position:fixed;left:14px;right:14px;top:76px;width:auto}.theme-grid{grid-template-columns:repeat(2,1fr)}
  .login-panel{padding:28px 20px}.login-card h2{font-size:28px}
}
@media(max-width:420px){
  .metrics-grid{grid-template-columns:1fr}.metric-card{min-height:88px}.metric-card small{display:block}.avatar{width:32px;height:32px}.topbar-icon-btn,.mobile-menu-btn{width:36px;height:36px}
}

/* ========================================================================== */
/* Calendu v0.0.4-dev r2 — preset-coloured sidebar + very soft workspace tint */
/* ========================================================================== */
.app-body,
.app-shell,
.app-main{
  background:var(--accent-tint);
}

.sidebar{
  background:linear-gradient(180deg,var(--accent) 0%,var(--accent-strong) 100%);
  border-right:1px solid rgba(255,255,255,.16);
  color:#fff;
  box-shadow:10px 0 35px rgba(var(--accent-rgb),.08);
}
.sidebar .logo-word{color:#fff}
.sidebar .logo-mark{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.sidebar-close{color:rgba(255,255,255,.78)}
.sidebar-close:hover{background:rgba(255,255,255,.10);color:#fff}
.sidebar-context{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.15);
}
.sidebar-context span{color:rgba(255,255,255,.58)}
.sidebar-context strong{color:#fff}
.nav-item{color:rgba(255,255,255,.72)}
.nav-item:hover{background:rgba(255,255,255,.10);color:#fff}
.nav-item.active{
  background:rgba(255,255,255,.19);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.11);
}
.nav-item.active .nav-icon{color:#fff}
.sidebar-help{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.13);
  color:#fff;
}
.sidebar-help small{color:rgba(255,255,255,.58)}
.sidebar-bottom{
  border-top-color:rgba(255,255,255,.14);
  color:rgba(255,255,255,.48);
}
.sidebar-bottom strong{color:rgba(255,255,255,.72)}

.app-topbar{
  background:rgba(255,255,255,.60);
  border-bottom-color:rgba(var(--accent-rgb),.10);
}

/* White cards stay visually separate from the softly tinted workspace. */
.panel-card,
.metric-card,
.list-card,
.update-card{
  background:#fff;
}


/* ========================================================================== */
/* Calendu v0.0.4-dev r3 — minimalist dashboard inspired by approved mockup   */
/* ========================================================================== */

/* The preset colours the sidebar softly; the workspace uses only a faint tint. */
.app-body,
.app-shell,
.app-main{
  background:var(--accent-tint);
}

.app-main{
  min-width:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* Sidebar: pastel, bright, with clearly separated navigation tiles. */
.sidebar{
  width:auto;
  padding:22px 16px 16px;
  background:linear-gradient(180deg,var(--accent-soft) 0%,var(--accent-tint) 100%);
  border-right:1px solid rgba(var(--accent-rgb),.12);
  color:var(--ink);
  box-shadow:none;
}
.sidebar .logo-word{color:var(--ink)}
.sidebar .logo-mark{
  background:linear-gradient(145deg,var(--accent),var(--accent-strong));
  border:0;
  box-shadow:0 8px 20px rgba(var(--accent-rgb),.18);
}
.sidebar-close{color:var(--muted)}
.sidebar-close:hover{background:rgba(255,255,255,.55);color:var(--ink)}

.sidebar-user{
  margin:20px 0 18px;
  padding:11px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:62px;
  border:1px solid rgba(var(--accent-rgb),.11);
  border-radius:14px;
  background:rgba(255,255,255,.56);
  box-shadow:0 6px 20px rgba(35,33,41,.025);
}
.sidebar-avatar{
  position:relative;
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--accent-strong);
  background:#fff;
  border:1px solid var(--accent-border);
  font-size:12px;
  font-weight:850;
}
.online-dot,
.user-online-dot{
  position:absolute;
  display:block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#42b97a;
  border:2px solid #fff;
}
.online-dot{right:-2px;bottom:1px}
.user-online-dot{right:-3px;bottom:0}
.sidebar-user-meta{min-width:0;display:grid;gap:2px}
.sidebar-user-meta strong{font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-meta span{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.sidebar-nav{
  gap:9px;
  margin-top:0;
}
.nav-item{
  min-height:46px;
  height:auto;
  padding:0 12px;
  color:#53505b;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(var(--accent-rgb),.10);
  border-radius:12px;
  font-size:11px;
  font-weight:680;
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.nav-item:hover{
  background:rgba(255,255,255,.72);
  border-color:rgba(var(--accent-rgb),.18);
  color:var(--ink);
  transform:translateY(-1px);
}
.nav-item.active{
  position:relative;
  background:rgba(var(--accent-rgb),.13);
  border-color:rgba(var(--accent-rgb),.19);
  color:var(--accent-strong);
  box-shadow:0 7px 18px rgba(var(--accent-rgb),.07),inset 0 0 0 1px rgba(255,255,255,.22);
}
.nav-item.active:before{
  content:"";
  position:absolute;
  left:-1px;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:var(--accent);
}
.nav-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  color:var(--muted);
}
.nav-item.active .nav-icon{color:var(--accent-strong)}

.sidebar-health{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 1px 12px;
  padding:10px 11px;
  border:1px solid rgba(var(--accent-rgb),.10);
  border-radius:12px;
  background:rgba(255,255,255,.45);
}
.sidebar-health>div{display:grid;gap:1px;min-width:0}
.sidebar-health strong{font-size:9px;color:var(--ink)}
.sidebar-health small{font-size:7px;color:var(--muted)}
.health-status-dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#45b97b;
  box-shadow:0 0 0 4px rgba(69,185,123,.10);
}
.sidebar-bottom{
  margin:0 2px;
  padding:10px 2px 0;
  border-top:1px solid rgba(var(--accent-rgb),.12);
  color:var(--muted-2);
}
.sidebar-bottom strong{color:var(--muted);font-weight:700}

/* Top bar */
.app-topbar{
  height:70px;
  padding:0 32px;
  background:rgba(255,255,255,.76);
  border-bottom:1px solid rgba(var(--accent-rgb),.09);
  box-shadow:none;
}
.page-heading h1{
  font-size:16px;
  font-weight:760;
  color:var(--ink);
}
.topbar-actions{gap:9px}
.user-chip{
  gap:9px;
  margin-left:2px;
  padding:4px 7px 4px 4px;
  border:1px solid transparent;
}
.avatar{
  position:relative;
  width:35px;
  height:35px;
  border-radius:50%;
  background:#fff;
  color:var(--accent-strong);
  border:1px solid var(--accent-border);
  box-shadow:0 4px 12px rgba(35,33,41,.04);
}
.user-meta strong{font-size:10px}
.user-meta span{font-size:8px;color:var(--muted)}
.topbar-icon-btn,
.mobile-menu-btn{
  width:38px;
  height:38px;
  border-color:rgba(var(--accent-rgb),.10);
  background:rgba(255,255,255,.74);
}
.topbar-icon-btn:hover,
.mobile-menu-btn:hover{
  background:#fff;
  border-color:var(--accent-border);
  color:var(--accent-strong);
}

.content{
  width:100%;
  max-width:1500px;
  flex:1 0 auto;
  padding:28px 32px 34px;
}

/* Dashboard welcome */
.dashboard-welcome{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.dashboard-welcome h2{
  margin:0 0 6px;
  font-size:27px;
  line-height:1.15;
  letter-spacing:-.045em;
  font-weight:760;
}
.dashboard-welcome p{
  margin:0;
  color:var(--muted);
  font-size:11px;
}
.dashboard-add{
  min-height:42px;
  padding:0 16px;
  box-shadow:0 8px 20px rgba(var(--accent-rgb),.14);
}
.btn-icon{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
}
.btn-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Dashboard metrics */
.dashboard-metrics{
  gap:12px;
  margin-bottom:16px;
}
.dashboard-metrics .metric-card{
  min-height:112px;
  padding:17px 18px;
  gap:13px;
  background:#fff;
  border:1px solid rgba(var(--accent-rgb),.10);
  border-radius:15px;
  box-shadow:0 7px 22px rgba(35,33,41,.035);
}
.dashboard-metrics .metric-card:hover{
  border-color:rgba(var(--accent-rgb),.17);
}
.dashboard-metrics .metric-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:var(--accent-soft);
  color:var(--accent-strong);
  border:1px solid var(--accent-border);
}
.dashboard-metrics .metric-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dashboard-metrics .metric-card>div:last-child{
  min-width:0;
  display:grid;
  gap:1px;
}
.dashboard-metrics .metric-card span{
  color:#5d5964;
  font-size:9px;
  letter-spacing:.045em;
  text-transform:uppercase;
  font-weight:800;
}
.dashboard-metrics .metric-card strong{
  margin:2px 0 0;
  color:var(--ink);
  font-size:26px;
  line-height:1;
  letter-spacing:-.04em;
}
.dashboard-metrics .metric-card small{
  margin-top:3px;
  color:var(--muted-2);
  font-size:8px;
}
.dashboard-metrics .metric-active .metric-icon{
  background:#ebf8f1;
  color:#249263;
  border-color:#d3efdf;
}
.dashboard-metrics .metric-paid .metric-icon{
  background:#eef5ff;
  color:#517fc4;
  border-color:#d9e8fa;
}
.dashboard-metrics .metric-attention .metric-icon{
  background:#fff0f1;
  color:#b4505a;
  border-color:#f3d9dc;
}

/* Shared dashboard panels */
.dashboard-panel{
  overflow:hidden;
  margin-bottom:16px;
  background:#fff;
  border:1px solid rgba(var(--accent-rgb),.10);
  border-radius:15px;
  box-shadow:0 7px 24px rgba(35,33,41,.035);
}
.dashboard-panel-head{
  min-height:58px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--line);
}
.dashboard-panel-head h3{
  margin:0;
  color:var(--ink);
  font-size:14px;
  letter-spacing:-.025em;
}
.dashboard-panel-head .panel-kicker{
  margin-bottom:3px;
  font-size:7px;
}
.dashboard-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--accent-strong);
  text-decoration:none;
  font-size:9px;
  font-weight:730;
  white-space:nowrap;
}
.dashboard-link svg,
.dashboard-action svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .15s ease;
}
.dashboard-link:hover svg,
.dashboard-action:hover svg{transform:translateX(2px)}
.dashboard-empty{padding:32px 18px}

/* Recent salons */
.dashboard-table-wrap{
  margin:0;
  overflow:auto;
}
.dashboard-table{
  min-width:760px;
}
.dashboard-table th{
  padding:10px 18px;
  background:rgba(var(--accent-rgb),.025);
  color:#817c88;
  border-bottom:1px solid var(--line);
  font-size:8px;
  font-weight:800;
}
.dashboard-table td{
  padding:13px 18px;
  border-bottom:1px solid #f2f1f5;
  color:#5f5b65;
  font-size:10px;
}
.dashboard-table tbody tr:last-child td{border-bottom:0}
.dashboard-table tbody tr:hover td{background:rgba(var(--accent-rgb),.018)}
.dashboard-salon-cell{
  display:flex;
  align-items:center;
  gap:10px;
}
.dashboard-salon-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:var(--accent-strong);
  background:var(--accent-soft);
  border:1px solid var(--accent-border);
  font-size:12px;
  font-weight:850;
}
.dashboard-salon-cell>div:last-child{display:grid;gap:2px}
.dashboard-salon-cell .salon-name{font-size:10px;color:var(--ink)}
.dashboard-salon-cell small{color:var(--muted-2);font-size:8px}
.dashboard-domain{color:#67626e;font-size:9px}
.dashboard-date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:#6e6974;
}
.dashboard-date svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:var(--muted);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dashboard-action{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:31px;
  padding:0 10px;
  border:1px solid var(--accent-border);
  border-radius:9px;
  color:var(--accent-strong);
  background:var(--accent-tint);
  text-decoration:none;
  font-size:8px;
  font-weight:750;
}
.dashboard-action:hover{background:var(--accent-soft)}

/* Workflow */
.workflow-panel .dashboard-panel-head{
  border-bottom:0;
  padding-bottom:8px;
}
.workflow-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding:22px 24px 26px;
}
.workflow-steps:before{
  content:"";
  position:absolute;
  left:12.5%;
  right:12.5%;
  top:39px;
  height:1px;
  background:var(--accent-border);
}
.workflow-step{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  text-align:center;
  gap:8px;
}
.workflow-number{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--accent-strong);
  background:var(--accent-soft);
  border:1px solid var(--accent-border);
  font-size:10px;
  font-weight:800;
  box-shadow:0 0 0 6px #fff;
}
.workflow-step.current .workflow-number{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
}
.workflow-step>div{display:grid;gap:2px}
.workflow-step strong{font-size:10px;color:var(--ink)}
.workflow-step small{font-size:8px;color:var(--muted-2)}

/* Footer */
.app-footer{
  min-height:48px;
  width:100%;
  padding:0 32px;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:30px;
  color:var(--muted-2);
  background:rgba(255,255,255,.64);
  border-top:1px solid rgba(var(--accent-rgb),.08);
  font-size:8px;
}
.footer-health{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.footer-health i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#45b97b;
}

/* Improve preset popover to mirror the dashboard language. */
.theme-popover{
  width:350px;
  padding:14px;
  border-color:rgba(var(--accent-rgb),.12);
  box-shadow:0 20px 55px rgba(35,33,41,.12);
}
.theme-grid{
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}
.theme-option{
  min-width:0;
  display:grid;
  justify-items:center;
  gap:6px;
  padding:8px 5px;
  border-color:transparent;
  background:transparent;
}
.theme-option:hover{background:var(--accent-tint)}
.theme-option.active{
  background:var(--accent-soft);
  border-color:var(--accent-border);
  box-shadow:none;
}
.theme-option b{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:7px;
  font-weight:700;
}
.theme-swatch{
  width:27px;
  height:27px;
  border-radius:50%;
}

/* Existing cards/pages keep the same bright language. */
.panel-card,
.list-card,
.update-card{
  background:#fff;
  border-color:rgba(var(--accent-rgb),.09);
  box-shadow:0 7px 24px rgba(35,33,41,.03);
}

/* Responsive dashboard */
@media(max-width:1120px){
  .app-shell{grid-template-columns:220px minmax(0,1fr)}
  .content{padding:26px 24px 32px}
  .app-topbar{padding:0 24px}
  .app-footer{padding:0 24px}
  .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .sidebar{
    width:252px;
    background:linear-gradient(180deg,var(--accent-soft) 0%,var(--accent-tint) 100%);
  }
  .sidebar-backdrop{background:rgba(28,25,32,.22)}
  .content{padding:24px 18px 30px}
  .app-topbar{padding:0 18px}
  .app-footer{padding:0 18px;grid-template-columns:1fr auto}
  .app-footer>span:first-child{display:none}
}
@media(max-width:640px){
  .dashboard-welcome{
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
  }
  .dashboard-welcome h2{font-size:24px}
  .dashboard-add{width:100%}
  .dashboard-metrics{grid-template-columns:1fr 1fr}
  .dashboard-metrics .metric-card{min-height:96px;padding:14px}
  .dashboard-metrics .metric-icon{width:38px;height:38px}
  .dashboard-metrics .metric-card small{display:none}
  .dashboard-panel-head{align-items:flex-start;flex-direction:column;gap:7px}
  .dashboard-link{white-space:normal}
  .workflow-steps{
    grid-template-columns:1fr;
    gap:11px;
    padding:12px 16px 20px;
  }
  .workflow-steps:before{display:none}
  .workflow-step{
    grid-template-columns:34px 1fr;
    justify-items:stretch;
    align-items:center;
    text-align:left;
  }
  .workflow-number{box-shadow:none}
  .workflow-step>div{justify-items:start}
  .theme-popover{width:auto}
  .theme-grid{grid-template-columns:repeat(4,1fr)}
  .app-footer{grid-template-columns:1fr}
  .app-footer>span:last-child{display:none}
}
@media(max-width:430px){
  .dashboard-metrics{grid-template-columns:1fr}
  .dashboard-metrics .metric-card{min-height:84px}
  .dashboard-metrics .metric-card small{display:block}
  .theme-grid{grid-template-columns:repeat(2,1fr)}
}


/* ========================================================================== */
/* Calendu v0.0.4-dev r4 — stronger sidebar separation from workspace         */
/* ========================================================================== */
.app-body,
.app-shell{
  background:#fbfbfe;
}

.app-main{
  min-width:0;
  background:linear-gradient(180deg,#fdfcff 0%, var(--accent-tint) 24%, #ffffff 100%);
}

.sidebar{
  position:sticky;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(180deg,var(--accent) 0%, var(--accent-strong) 100%);
  color:#fff;
  border-right:1px solid rgba(255,255,255,.20);
  box-shadow:18px 0 42px rgba(var(--accent-rgb),.14);
}
.sidebar::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:18px;
  height:100%;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0));
}
.sidebar .logo-word,
.sidebar-user-meta strong,
.sidebar-health strong,
.sidebar-bottom strong{
  color:#fff;
}
.sidebar-close,
.sidebar-user-meta span,
.sidebar-health small,
.sidebar-bottom{
  color:rgba(255,255,255,.72);
}

.sidebar-user,
.sidebar-health{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(6px);
}
.sidebar-avatar{
  background:rgba(255,255,255,.96);
  border-color:rgba(255,255,255,.65);
}
.online-dot,
.user-online-dot{border-color:rgba(255,255,255,.94)}

.nav-item{
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}
.nav-item:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.nav-item.active{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.28);
  color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.12);
}
.nav-item .nav-icon,
.nav-item.active .nav-icon{
  color:#fff;
}
.nav-item.active:before{
  background:#ffffff;
}

.app-topbar{
  background:rgba(255,255,255,.84);
  border-bottom-color:rgba(var(--accent-rgb),.08);
}
.content{
  padding-top:26px;
}
.dashboard-welcome,
.dashboard-panel,
.dashboard-metrics .metric-card{
  position:relative;
}

@media(max-width:860px){
  .sidebar{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,.16), transparent 28%),
      linear-gradient(180deg,var(--accent) 0%, var(--accent-strong) 100%);
  }
}


/* ========================================================================== */
/* Calendu v0.0.4-dev r5 — cleaner sidebar edge + larger desktop UI scale     */
/* ========================================================================== */

/* Remove the bright strip that appeared on the right edge of the sidebar. */
.sidebar::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

@media(min-width:861px){
  /* Slightly wider navigation column and a more comfortable overall scale. */
  .app-shell{
    grid-template-columns:270px minmax(0,1fr);
  }
  .sidebar{
    padding:25px 18px 18px;
    box-shadow:12px 0 30px rgba(var(--accent-rgb),.10);
  }
  .sidebar-brand{
    gap:12px;
    padding:0 7px;
  }
  .sidebar .logo-mark{
    width:38px;
    height:38px;
    border-radius:12px;
  }
  .sidebar .logo-word{
    font-size:25px;
  }
  .sidebar-user{
    margin:23px 0 20px;
    min-height:72px;
    padding:13px 14px;
    gap:12px;
    border-radius:15px;
  }
  .sidebar-avatar{
    width:43px;
    height:43px;
    flex-basis:43px;
    font-size:14px;
  }
  .sidebar-user-meta strong{font-size:13px}
  .sidebar-user-meta span{font-size:10px}
  .sidebar-nav{gap:10px}
  .nav-item{
    min-height:51px;
    padding:0 14px;
    gap:12px;
    border-radius:13px;
    font-size:13px;
  }
  .nav-icon{
    width:23px;
    height:23px;
    flex-basis:23px;
  }
  .nav-icon svg{width:20px;height:20px}
  .sidebar-health{
    min-height:57px;
    padding:12px 13px;
    border-radius:13px;
  }
  .sidebar-health strong{font-size:11px}
  .sidebar-health small{font-size:9px}
  .sidebar-bottom{font-size:9px}
  .sidebar-bottom strong{font-size:9px}

  /* Top bar */
  .app-topbar{
    height:78px;
    padding:0 36px;
  }
  .page-heading h1{font-size:19px}
  .topbar-icon-btn,
  .mobile-menu-btn{
    width:42px;
    height:42px;
  }
  .avatar{
    width:40px;
    height:40px;
  }
  .user-meta strong{font-size:12px}
  .user-meta span{font-size:10px}

  /* Main dashboard */
  .content{
    max-width:1440px;
    padding:34px 38px 42px;
  }
  .dashboard-welcome{
    margin-bottom:26px;
  }
  .dashboard-welcome h2{
    margin-bottom:7px;
    font-size:32px;
  }
  .dashboard-welcome p{
    font-size:13px;
  }
  .dashboard-add{
    min-height:47px;
    padding:0 19px;
    font-size:12px;
    border-radius:12px;
  }
  .dashboard-metrics{
    gap:15px;
    margin-bottom:20px;
  }
  .dashboard-metrics .metric-card{
    min-height:132px;
    padding:21px 22px;
    gap:16px;
    border-radius:17px;
  }
  .dashboard-metrics .metric-icon{
    width:52px;
    height:52px;
    border-radius:15px;
  }
  .dashboard-metrics .metric-icon svg{
    width:25px;
    height:25px;
  }
  .dashboard-metrics .metric-card span{
    font-size:10.5px;
  }
  .dashboard-metrics .metric-card strong{
    font-size:31px;
    margin-top:3px;
  }
  .dashboard-metrics .metric-card small{
    margin-top:5px;
    font-size:9.5px;
  }

  .dashboard-panel{
    margin-bottom:20px;
    border-radius:17px;
  }
  .dashboard-panel-head{
    min-height:68px;
    padding:17px 21px;
  }
  .dashboard-panel-head h3{
    font-size:17px;
  }
  .dashboard-panel-head .panel-kicker{
    font-size:8.5px;
    margin-bottom:4px;
  }
  .dashboard-link{
    font-size:10.5px;
  }

  .dashboard-table th{
    padding:13px 20px;
    font-size:9.5px;
  }
  .dashboard-table td{
    padding:16px 20px;
    font-size:11.5px;
  }
  .dashboard-salon-avatar{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:14px;
    border-radius:12px;
  }
  .dashboard-salon-cell{
    gap:12px;
  }
  .dashboard-salon-cell .salon-name{
    font-size:12px;
  }
  .dashboard-salon-cell small,
  .dashboard-domain{
    font-size:10px;
  }
  .dashboard-date{
    font-size:10.5px;
  }
  .subscription-badge{
    font-size:9.5px;
    padding:6px 9px;
  }
  .dashboard-action{
    min-height:36px;
    padding:0 12px;
    font-size:9.5px;
  }

  .workflow-steps{
    padding:27px 28px 31px;
  }
  .workflow-steps:before{
    top:47px;
  }
  .workflow-number{
    width:40px;
    height:40px;
    font-size:12px;
  }
  .workflow-step{
    gap:10px;
  }
  .workflow-step strong{
    font-size:12px;
  }
  .workflow-step small{
    font-size:10px;
  }

  .app-footer{
    min-height:54px;
    padding:0 38px;
    font-size:9px;
  }
}

/* ========================================================================== */
/* Calendu v0.0.5-dev — tenant foundation + consent forms                     */
/* ========================================================================== */
.field select,
.field textarea{
  width:100%;
  border:1px solid var(--line-2);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  outline:none;
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.field select{min-height:46px;padding:0 13px}
.field textarea{padding:13px 14px;line-height:1.6;resize:vertical;min-height:110px}
.field select:focus,
.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.08)}
.form-span-2{grid-column:1/-1}
.secondary-btn:disabled{opacity:.48;cursor:not-allowed;transform:none}

/* Tenant database configuration in Super Admin. */
.tenant-database-card{margin-bottom:20px}
.tenant-db-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:24px;align-items:end}
.tenant-db-copy{padding:16px;border-radius:14px;background:var(--accent-tint);border:1px solid var(--accent-border)}
.tenant-db-copy strong{font-size:12px;color:var(--ink)}
.tenant-db-copy p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.65}
.tenant-db-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.tenant-db-form .field{margin:0}
.tenant-db-form .secondary-btn{min-height:46px;white-space:nowrap}
.tenant-db-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.tenant-db-actions form{margin:0}

/* Tenant/service workspace. */
.tenant-app-body .sidebar{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-strong) 100%)}
.tenant-sidebar-salon{margin-bottom:18px}
.tenant-coming-soon{margin:18px 4px 0;padding:12px;border:1px dashed rgba(255,255,255,.25);border-radius:12px;color:rgba(255,255,255,.78)}
.tenant-coming-soon span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.tenant-coming-soon small{display:block;margin-top:5px;color:rgba(255,255,255,.62);font-size:8px;line-height:1.55}
.tenant-exit-link{display:flex;align-items:center;gap:9px;margin:0 2px 12px;padding:10px 11px;border-radius:11px;color:rgba(255,255,255,.88);text-decoration:none;font-size:10px;font-weight:700;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08)}
.tenant-exit-link:hover{background:rgba(255,255,255,.14)}
.tenant-exit-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-mode-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-tint);color:var(--accent-strong);font-size:8px;font-weight:800}
.service-mode-badge span{width:7px;height:7px;border-radius:50%;background:#48b97b}
.tenant-welcome .primary-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:6px}
.tenant-foundation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 0 2px}
.tenant-foundation-grid>div{padding:15px;border:1px solid rgba(var(--accent-rgb),.10);border-radius:14px;background:#fff}
.tenant-foundation-grid>div>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);margin-bottom:10px}
.tenant-foundation-grid svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tenant-foundation-grid strong{display:block;font-size:10px}
.tenant-foundation-grid small{display:block;margin-top:5px;color:var(--muted);font-size:8px;line-height:1.5}

/* Consent module. */
.consent-hero{margin-bottom:18px}
.consent-feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.consent-feature-strip>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:11px;padding:15px 16px;border-radius:14px;background:#fff;border:1px solid rgba(var(--accent-rgb),.10);box-shadow:0 6px 20px rgba(35,33,41,.025)}
.consent-feature-strip>div>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong)}
.consent-feature-strip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.consent-feature-strip strong{align-self:end;font-size:10px}
.consent-feature-strip small{align-self:start;color:var(--muted);font-size:8px;margin-top:3px}
.consent-list-panel{margin-bottom:20px}
.consent-template-list{display:grid;gap:8px;padding:0 16px 16px}
.consent-template-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;gap:10px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;transition:.16s ease}
.consent-template-row:hover{border-color:var(--accent-border);background:var(--accent-tint);transform:translateY(-1px)}
.consent-template-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent-strong)}
.consent-template-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.consent-template-main{display:grid;gap:3px;min-width:0}.consent-template-main strong{font-size:10px}.consent-template-main small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.consent-meta-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:8px;background:var(--accent-tint);border:1px solid var(--accent-border);color:var(--accent-strong);font-size:8px;font-weight:750;white-space:nowrap}
.consent-editor{max-width:none}
.consent-detail-actions{display:flex;align-items:center;gap:9px}.consent-detail-actions form{margin:0}.consent-detail-actions .primary-btn svg{width:17px;height:17px;margin-right:6px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.consent-detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.45fr);margin-bottom:20px}
.consent-document-preview{padding:17px;border-radius:13px;background:#fbfbfd;border:1px solid var(--line);color:#504b56;font-size:10px;line-height:1.75;white-space:normal}
.consent-check-preview{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.consent-check-preview>strong{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.consent-check-preview>div{display:flex;gap:8px;align-items:flex-start;font-size:9px;color:#5a5560}.consent-check-preview>div>span{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;border-radius:6px;background:var(--accent-soft);color:var(--accent-strong);font-size:9px;font-weight:850}
.hash-code{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.consent-version-history{margin-top:20px}
.version-history-list{display:grid;gap:7px}
.version-history-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:11px}
.version-history-list strong{font-size:9px}.version-history-list small{font-size:8px;color:var(--muted)}.version-history-list code{font-size:8px}

/* Full-screen tablet signing demo. */
.signature-demo-body{min-height:100vh;margin:0;background:linear-gradient(145deg,var(--accent-tint),#fff 72%);color:var(--ink)}
.signature-demo-shell{min-height:100vh;display:flex;flex-direction:column}
.signature-demo-header{min-height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:12px 26px;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(var(--accent-rgb),.10);backdrop-filter:blur(12px)}
.signature-demo-header>div{text-align:center;display:grid;gap:2px}.signature-demo-header strong{font-size:12px}.signature-demo-header small{font-size:8px;color:var(--muted)}.signature-demo-header>.consent-meta-chip{justify-self:end}
.signature-back{display:inline-flex;align-items:center;gap:7px;justify-self:start;color:var(--accent-strong);text-decoration:none;font-size:9px;font-weight:750}.signature-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.signature-demo-main{width:min(1350px,100%);margin:0 auto;padding:28px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:22px;align-items:start}
.signature-document-card,.signature-panel-card{background:#fff;border:1px solid rgba(var(--accent-rgb),.10);border-radius:20px;box-shadow:0 16px 45px rgba(35,33,41,.055)}
.signature-document-card{padding:28px}.signature-document-card h1{margin:5px 0 18px;font-size:26px;letter-spacing:-.035em}.signature-body-copy{color:#4f4b54;font-size:12px;line-height:1.8}
.signature-confirmations{display:grid;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.signature-confirmations h2{margin:0 0 2px;font-size:14px}.signature-confirmations label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fcfcfd;cursor:pointer;font-size:10px;line-height:1.5}.signature-confirmations input{margin-top:2px;accent-color:var(--accent)}
.signature-panel-card{position:sticky;top:20px;padding:24px}.signature-panel-card h2{margin:5px 0 7px;font-size:20px}.signature-panel-card>p{margin:0 0 17px;color:var(--muted);font-size:10px;line-height:1.6}
.signature-canvas-wrap{position:relative;height:250px;border:1px solid var(--accent-border);border-radius:16px;background:linear-gradient(180deg,#fff,#fdfcff);overflow:hidden}.signature-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.signature-line-label{position:absolute;left:20px;right:20px;bottom:22px;padding-top:6px;border-top:1px solid #d8d5dd;color:#aaa6af;font-size:8px;pointer-events:none}
.signature-actions{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:12px}.signature-demo-message{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:9px;font-weight:700}.signature-demo-message.success{display:block;background:var(--green-soft);color:#24704e}.signature-demo-message.error{display:block;background:var(--red-soft);color:#963b4f}.signature-demo-note{display:block;margin-top:14px;color:var(--muted);font-size:8px;line-height:1.55}

@media(max-width:1050px){
  .tenant-foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tenant-db-grid{grid-template-columns:1fr}
  .signature-demo-main{grid-template-columns:1fr}.signature-panel-card{position:static}
}
@media(max-width:760px){
  .consent-feature-strip{grid-template-columns:1fr}
  .consent-template-row{grid-template-columns:auto minmax(0,1fr) auto}.consent-template-row>.consent-meta-chip:nth-of-type(2),.consent-template-row>.subscription-badge{display:none}
  .consent-detail-grid{grid-template-columns:1fr}
  .tenant-db-form{grid-template-columns:1fr}
  .tenant-db-actions{align-items:stretch;flex-direction:column}.tenant-db-actions form,.tenant-db-actions button,.tenant-db-actions a{width:100%}
  .signature-demo-header{grid-template-columns:auto 1fr auto;padding:10px 14px}.signature-demo-header>div{display:none}.signature-demo-main{padding:14px}.signature-document-card,.signature-panel-card{padding:18px;border-radius:16px}.signature-document-card h1{font-size:22px}.signature-canvas-wrap{height:230px}
}
@media(max-width:560px){
  .tenant-foundation-grid{grid-template-columns:1fr}
  .form-span-2{grid-column:auto}
  .consent-detail-actions{width:100%;align-items:stretch;flex-direction:column}.consent-detail-actions .primary-btn,.consent-detail-actions form,.consent-detail-actions button{width:100%}
  .version-history-list>div{grid-template-columns:auto 1fr}.version-history-list small,.version-history-list code{grid-column:2}
}

/* ========================================================================== */
/* Calendu v0.0.5-dev-r1 — login refresh + employees/services management      */
/* ========================================================================== */

/* Login v3 */
.login-v3{background:var(--accent-tint)}
.login-stage{min-height:100vh;width:min(1500px,100%);margin:0 auto;padding:26px 34px 20px;display:flex;flex-direction:column}
.login-topline{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.login-brand-v3{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.login-brand-v3>span:last-child{display:grid;gap:1px}.login-brand-v3 strong{font-size:20px;letter-spacing:-.04em}.login-brand-v3 small{font-size:9px;color:var(--muted)}
.login-theme-strip{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(var(--accent-rgb),.11);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 7px 24px rgba(35,33,41,.025)}
.login-theme-strip>span{margin-right:2px;font-size:9px;font-weight:750;color:var(--muted)}
.login-theme-dot{width:20px;height:20px;padding:0;border:3px solid #fff;border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px rgba(35,33,41,.08);transition:transform .15s ease,box-shadow .15s ease}
.login-theme-dot:hover{transform:translateY(-1px)}.login-theme-dot.active{box-shadow:0 0 0 2px var(--accent)}
.login-theme-dot.lavender{background:#7d6be8}.login-theme-dot.blush{background:#d77796}.login-theme-dot.sage{background:#719f84}.login-theme-dot.sky{background:#659bc9}.login-theme-dot.peach{background:#dc8c6c}.login-theme-dot.sand{background:#a88661}.login-theme-dot.mint{background:#56a89a}.login-theme-dot.mono{background:#5f6470}
.login-product-card{flex:1;min-height:660px;display:grid;grid-template-columns:minmax(420px,.78fr) minmax(620px,1.22fr);overflow:hidden;border:1px solid rgba(var(--accent-rgb),.12);border-radius:28px;background:#fff;box-shadow:0 30px 80px rgba(35,33,41,.08)}
.login-form-side{display:grid;place-items:center;padding:58px 64px;background:#fff}
.login-form-wrap{width:min(430px,100%)}
.login-eyebrow{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:9px;font-weight:800;letter-spacing:.03em}
.login-form-wrap h1{margin:17px 0 8px;font-size:36px;line-height:1.08;letter-spacing:-.05em;font-weight:780}.login-form-wrap>p{margin:0 0 30px;color:var(--muted);font-size:13px;line-height:1.6}
.login-form-v3{gap:17px}.login-field>span{font-size:11px}.login-field input{height:50px;padding:0 15px;border-radius:13px;font-size:12px}.login-submit-v3{min-height:50px;margin-top:2px;font-size:12px;border-radius:13px;gap:9px}
.login-security-v3{display:flex;align-items:center;gap:11px;margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.login-security-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:#edf8f1;color:#478260;font-size:12px;font-weight:850}.login-security-v3>div{display:grid;gap:2px}.login-security-v3 strong{font-size:10px}.login-security-v3 small{font-size:8px;color:var(--muted);line-height:1.45}
.login-showcase{position:relative;overflow:hidden;padding:58px 60px 42px;background:radial-gradient(circle at 95% 5%,rgba(255,255,255,.26),transparent 24%),linear-gradient(145deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;display:flex;flex-direction:column}
.login-showcase:before{content:"";position:absolute;width:520px;height:520px;right:-260px;bottom:-260px;border-radius:50%;border:1px solid rgba(255,255,255,.12)}
.login-showcase-copy{position:relative;z-index:1;max-width:650px}.visual-badge-v3{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.11);font-size:9px;font-weight:750;color:rgba(255,255,255,.9)}
.login-showcase-copy h2{margin:18px 0 12px;font-size:39px;line-height:1.08;letter-spacing:-.05em}.login-showcase-copy p{max-width:570px;margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.65}
.login-schedule-preview{position:relative;z-index:1;width:min(650px,94%);margin:34px auto 27px;padding:20px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 24px 60px rgba(37,29,48,.16);transform:rotate(-.5deg)}
.schedule-preview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 13px;border-bottom:1px solid var(--line)}.schedule-preview-head>div{display:grid;gap:2px}.schedule-preview-head span{font-size:8px;color:var(--muted)}.schedule-preview-head strong{font-size:13px}.schedule-preview-pill{padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong)!important;font-weight:800}
.schedule-preview-list{display:grid}.schedule-preview-row{display:grid;grid-template-columns:45px 9px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 2px;border-bottom:1px solid #f0eef3}.schedule-preview-row:last-child{border-bottom:0}.schedule-preview-row time{font-size:9px;font-weight:800;color:#5d5962}.schedule-preview-row>i{width:7px;height:7px;border-radius:50%;background:#d7d4dc}.schedule-preview-row.active>i{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.schedule-preview-row>span{display:grid;gap:2px}.schedule-preview-row strong{font-size:9px}.schedule-preview-row small{font-size:7px;color:var(--muted)}.schedule-preview-row>b{padding:5px 7px;border-radius:999px;background:#edf8f1;color:#478260;font-size:7px;font-weight:800}.schedule-preview-row.active>b{background:var(--accent-soft);color:var(--accent-strong)}
.schedule-preview-footer{padding:12px 2px 0;color:var(--muted);font-size:7px}.schedule-preview-footer span{display:flex;align-items:center;gap:7px}.schedule-preview-footer i{width:7px;height:7px;border-radius:50%;background:#49b97c}
.login-feature-grid-v3{position:relative;z-index:1;margin-top:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.login-feature-grid-v3>div{padding:13px 14px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(255,255,255,.09)}.login-feature-grid-v3 span{display:block;margin-bottom:7px;font-size:8px;color:rgba(255,255,255,.62)}.login-feature-grid-v3 strong{display:block;font-size:9px}.login-feature-grid-v3 small{display:block;margin-top:4px;color:rgba(255,255,255,.68);font-size:7px;line-height:1.5}
.login-footer-v3{min-height:45px;display:flex;align-items:center;justify-content:space-between;color:var(--muted-2);font-size:8px;padding:0 3px}

/* Employees and services */
.management-hero .primary-btn svg,.management-hero .secondary-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-right:6px}
.management-summary-grid{display:grid;grid-template-columns:220px 220px minmax(0,1fr);gap:12px;margin-bottom:18px}.management-summary-grid>article{min-height:82px;padding:14px 16px;border:1px solid rgba(var(--accent-rgb),.10);border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(35,33,41,.025);display:flex;align-items:center;gap:12px}.management-summary-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong)}.management-summary-icon.active{background:#edf8f1;color:#478260}.management-summary-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.management-summary-grid article>div{display:grid;gap:1px}.management-summary-grid article>div strong{font-size:22px;line-height:1}.management-summary-grid article>div small{font-size:8px;color:var(--muted)}.management-summary-note{display:grid!important;grid-template-columns:28px 1fr!important}.management-summary-note>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-weight:850}.management-summary-note p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}
.management-list-panel{margin-bottom:20px}.management-rows{display:grid;gap:8px;padding:0 16px 16px}.management-row{min-height:72px;padding:11px 13px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;transition:.16s ease}.management-row:hover{background:var(--accent-tint);border-color:var(--accent-border);transform:translateY(-1px);box-shadow:0 7px 22px rgba(35,33,41,.035)}.service-management-row{grid-template-columns:auto minmax(180px,1fr) auto auto auto auto}.management-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-strong);font-size:13px;font-weight:850}.service-avatar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.management-row-main{display:grid;gap:3px;min-width:0}.management-row-main strong{font-size:10px}.management-row-main small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-row-meta{display:grid;justify-items:center;gap:1px;min-width:66px}.management-row-meta strong{font-size:13px}.management-row-meta small{font-size:7px;color:var(--muted)}
.management-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.management-card-flat{margin:0}.form-footer.compact{margin-top:14px;padding-top:14px}.toggle-field{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfbfc;cursor:pointer}.toggle-field input{margin-top:2px;accent-color:var(--accent)}.toggle-field>span{display:grid;gap:2px}.toggle-field strong{font-size:9px}.toggle-field small{font-size:8px;color:var(--muted);line-height:1.45}
.privacy-explain{display:flex;align-items:flex-start;gap:13px;padding:15px;border-radius:13px;background:var(--accent-tint);border:1px solid var(--accent-border)}.privacy-explain>span{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--accent-strong)}.privacy-explain svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.privacy-explain>div{display:grid;gap:4px}.privacy-explain strong{font-size:10px}.privacy-explain p{margin:0;color:var(--muted);font-size:8px;line-height:1.6}.mini-facts{display:grid;gap:0;margin-top:13px}.mini-facts>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 1px;border-bottom:1px solid var(--line)}.mini-facts>div:last-child{border-bottom:0}.mini-facts span{font-size:8px;color:var(--muted)}.mini-facts strong{font-size:8px}
.competencies-panel,.consent-assignment-panel{margin-top:20px}.competency-form{padding:0 16px 16px}.competency-list,.consent-assignment-list{display:grid;gap:8px}.competency-row{min-height:68px;padding:10px 12px;display:grid;grid-template-columns:auto 22px minmax(0,1fr) minmax(145px,190px);align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.competency-row:hover,.consent-assignment-row:hover{border-color:var(--accent-border);background:var(--accent-tint)}.competency-row.inactive,.consent-assignment-row.inactive{opacity:.62}.competency-row>input,.consent-assignment-row>input{position:absolute;opacity:0;pointer-events:none}.competency-check{width:20px;height:20px;border:1px solid var(--line-2);border-radius:7px;background:#fff;position:relative}.competency-row>input:checked+.competency-check,.consent-assignment-row>input:checked+.competency-check{background:var(--accent);border-color:var(--accent)}.competency-row>input:checked+.competency-check:after,.consent-assignment-row>input:checked+.competency-check:after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.competency-main{display:grid;gap:2px}.competency-main strong{font-size:10px}.competency-main small{font-size:8px;color:var(--muted)}.competency-duration{display:grid;gap:3px}.competency-duration>small{font-size:7px;color:var(--muted)}.competency-duration>span{display:grid;grid-template-columns:1fr auto;align-items:stretch}.competency-duration input{min-width:0;height:35px;padding:0 8px;border:1px solid var(--line-2);border-radius:8px 0 0 8px;outline:0;font-size:9px}.competency-duration input:focus{border-color:var(--accent)}.competency-duration b{display:grid;place-items:center;padding:0 8px;border:1px solid var(--line-2);border-left:0;border-radius:0 8px 8px 0;background:#f6f6f8;color:var(--muted);font-size:7px}.competency-footer{margin-bottom:0}
.compact-empty{display:grid;justify-items:start;gap:6px;padding:17px;border:1px dashed var(--line-2);border-radius:13px;background:#fcfcfd}.compact-empty strong{font-size:10px}.compact-empty p{margin:0 0 6px;color:var(--muted);font-size:8px;line-height:1.55}.assigned-list{display:grid;gap:7px}.assigned-list>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;color:var(--ink);text-decoration:none}.assigned-list>a:hover{border-color:var(--accent-border);background:var(--accent-tint)}.mini-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:9px;font-weight:850}.assigned-list>a>span:nth-child(2){display:grid;gap:1px}.assigned-list strong{font-size:8px}.assigned-list small{font-size:7px;color:var(--muted)}.assigned-list b{font-size:7px;color:var(--muted)}
.consent-assignment-panel form{padding:0 16px 16px}.consent-assignment-row{min-height:62px;padding:10px 12px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.consent-assignment-row>span:nth-of-type(2){display:grid;gap:2px}.consent-assignment-row strong{font-size:9px}.consent-assignment-row small{font-size:8px;color:var(--muted)}.consent-assignment-row>b{font-size:7px;padding:5px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong)}
.salon-setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}.salon-setup-grid>a{min-height:115px;padding:14px;display:grid;grid-template-columns:34px 1fr auto;align-items:start;gap:10px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;transition:.16s ease}.salon-setup-grid>a:hover{border-color:var(--accent-border);background:var(--accent-tint);transform:translateY(-1px)}.salon-setup-grid>a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong)}.salon-setup-grid svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.salon-setup-grid>a>div{display:grid;gap:4px}.salon-setup-grid strong{font-size:9px}.salon-setup-grid small{font-size:7px;color:var(--muted);line-height:1.5}.salon-setup-grid b{color:var(--accent-strong);font-size:13px}.availability-explain{display:flex;align-items:flex-start;gap:15px;padding:4px 16px 18px}.availability-icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:13px;background:var(--accent-soft);color:var(--accent-strong)}.availability-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.availability-explain>div{display:grid;gap:5px}.availability-explain strong{font-size:11px}.availability-explain p{margin:0;color:var(--muted);font-size:9px;line-height:1.65;max-width:920px}

@media(max-width:1150px){
  .login-product-card{grid-template-columns:minmax(370px,.8fr) minmax(520px,1.2fr)}.login-form-side{padding:48px 42px}.login-showcase{padding:48px 42px 36px}.login-showcase-copy h2{font-size:34px}
  .management-summary-grid{grid-template-columns:180px 180px minmax(0,1fr)}.salon-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .login-stage{padding:20px}.login-product-card{grid-template-columns:1fr;min-height:0}.login-showcase{display:none}.login-form-side{min-height:650px}.login-topline{margin-bottom:16px}
  .management-summary-grid{grid-template-columns:1fr 1fr}.management-summary-note{grid-column:1/-1}.management-detail-grid{grid-template-columns:1fr}.service-management-row{grid-template-columns:auto minmax(0,1fr) auto auto}.service-management-row>.management-row-meta:nth-of-type(2),.service-management-row>.subscription-badge{display:none}
}
@media(max-width:640px){
  .login-stage{padding:14px}.login-topline{align-items:flex-start}.login-theme-strip{max-width:210px;flex-wrap:wrap;border-radius:14px;justify-content:flex-end}.login-theme-strip>span{width:100%;text-align:right}.login-theme-dot{width:18px;height:18px}.login-product-card{border-radius:20px}.login-form-side{padding:34px 22px;min-height:590px}.login-form-wrap h1{font-size:31px}.login-form-wrap>p{font-size:11px}.login-footer-v3{padding:0 2px}
  .management-summary-grid{grid-template-columns:1fr}.management-summary-note{grid-column:auto}.management-row{grid-template-columns:auto minmax(0,1fr) auto}.management-row>.management-row-meta,.management-row>.subscription-badge{display:none}.service-management-row{grid-template-columns:auto minmax(0,1fr) auto}.competency-row{grid-template-columns:22px minmax(0,1fr)}.competency-row>input{grid-column:1}.competency-row>.competency-check{grid-column:1}.competency-main{grid-column:2}.competency-duration{grid-column:2}.salon-setup-grid{grid-template-columns:1fr}.consent-assignment-row{grid-template-columns:22px 1fr}.consent-assignment-row>b{grid-column:2;justify-self:start}
}


/* ========================================================================== */
/* Calendu v0.0.5-dev-r2 — global comfortable scale for all application views */
/* ========================================================================== */
@media(min-width:861px){
  /* General application chrome */
  .page-heading h1{font-size:21px}
  .page-kicker,.panel-kicker,.eyebrow,.kicker{font-size:10.5px;letter-spacing:.09em}
  .text-link{font-size:11.5px}

  /* Generic cards and section headers — used outside the dashboard as well. */
  .panel-card{padding:24px;border-radius:18px}
  .panel-head{gap:20px;margin-bottom:19px}
  .panel-head h3{font-size:18px}
  .soft-note{padding:7px 10px;font-size:10.5px}

  /* Salon details */
  .salon-hero{gap:18px;margin-bottom:22px;padding:23px 25px;border-radius:18px}
  .salon-large-avatar{width:60px;height:60px;font-size:20px;border-radius:17px}
  .salon-hero-copy h2{font-size:26px;margin:3px 0 3px}
  .salon-domain{font-size:11.5px}
  .subscription-badge{padding:7px 10px;font-size:10px}
  .subscription-badge.large{padding:9px 13px;font-size:10.5px}

  .detail-grid,.detail-grid-v3,.system-grid{gap:16px;margin-bottom:16px}
  .details-list>div{gap:20px;padding:13px 0}
  .details-list dt{font-size:11.5px}
  .details-list dd{font-size:12.5px}
  .subscription-summary{gap:5px;padding:12px 0 4px}
  .subscription-summary strong{font-size:30px}
  .subscription-summary span{font-size:9.5px}
  .subscription-summary small{font-size:10.5px}
  .subscription-note{margin-top:14px;padding:12px 13px;font-size:10.5px}
  .database-box{padding:18px;gap:8px;border-radius:14px}
  .database-box .db-icon,.db-icon{width:42px;height:42px;border-radius:12px}
  .database-box strong{font-size:12.5px}
  .database-box p{font-size:10.5px;line-height:1.6}
  .code-chip,.domain-chip{padding:7px 9px;font-size:10.5px}

  /* Forms */
  .form-grid{gap:17px}
  .field{gap:8px}
  .field>span{font-size:11.5px}
  .field small{font-size:10px}
  .field input,.field select{height:50px;min-height:50px;padding:0 14px;font-size:12.5px;border-radius:12px}
  .field textarea{min-height:130px;padding:14px;font-size:12.5px;border-radius:12px}
  .input-suffix>span,.input-suffix span{padding:0 13px;font-size:11px}
  .form-footer{gap:22px;margin-top:22px;padding-top:20px}
  .privacy-note{gap:10px;font-size:10.5px;line-height:1.55}
  .privacy-note p{font-size:10.5px}
  .privacy-note>span{width:26px;height:26px;flex-basis:26px}
  .form-alert{padding:14px 16px;font-size:12px}
  .primary-btn,.secondary-btn{min-height:44px;font-size:11.5px;padding-left:16px;padding-right:16px}

  /* Status section */
  .status-actions{gap:10px}
  .status-btn{gap:7px;padding:16px;border-radius:13px}
  .status-btn small{font-size:10.5px}
  .status{font-size:10px;padding:6px 9px}

  /* Tenant database configuration */
  .tenant-database-card{margin-bottom:22px}
  .tenant-db-grid{gap:26px}
  .tenant-db-copy{padding:19px;border-radius:15px}
  .tenant-db-copy strong{font-size:13px}
  .tenant-db-copy p{margin-top:8px;font-size:11px}
  .tenant-db-form{gap:12px}
  .tenant-db-form .secondary-btn{min-height:50px}
  .tenant-db-actions{gap:12px;margin-top:19px;padding-top:18px}

  /* Tenant/service workspace */
  .tenant-coming-soon{padding:14px}
  .tenant-coming-soon span{font-size:9px}
  .tenant-coming-soon small{font-size:9.5px}
  .tenant-exit-link{min-height:44px;padding:11px 13px;font-size:11.5px}
  .service-mode-badge{padding:8px 11px;font-size:9.5px}
  .tenant-foundation-grid{gap:15px}
  .tenant-foundation-grid>div{padding:18px;border-radius:15px}
  .tenant-foundation-grid>div>span{width:36px;height:36px;border-radius:11px;margin-bottom:12px}
  .tenant-foundation-grid svg{width:19px;height:19px}
  .tenant-foundation-grid strong{font-size:12px}
  .tenant-foundation-grid small{font-size:10px;margin-top:6px}

  /* Employees / services */
  .management-summary-grid{grid-template-columns:240px 240px minmax(0,1fr);gap:15px;margin-bottom:21px}
  .management-summary-grid>article{min-height:96px;padding:17px 19px;border-radius:16px;gap:14px}
  .management-summary-icon{width:47px;height:47px;border-radius:13px}
  .management-summary-icon svg{width:22px;height:22px}
  .management-summary-grid article>div strong{font-size:26px}
  .management-summary-grid article>div small{font-size:10px}
  .management-summary-note{grid-template-columns:32px 1fr!important}
  .management-summary-note>span{width:32px;height:32px}
  .management-summary-note p{font-size:10.5px}
  .management-rows{gap:10px;padding:0 19px 19px}
  .management-row{min-height:84px;padding:14px 16px;gap:15px;border-radius:14px}
  .management-avatar{width:50px;height:50px;font-size:15px;border-radius:13px}
  .service-avatar svg{width:22px;height:22px}
  .management-row-main strong{font-size:12px}
  .management-row-main small{font-size:10px}
  .management-row-meta{min-width:76px}
  .management-row-meta strong{font-size:16px}
  .management-row-meta small{font-size:9px}
  .toggle-field{gap:13px;padding:15px}
  .toggle-field strong{font-size:11px}
  .toggle-field small{font-size:10px}
  .privacy-explain{gap:15px;padding:18px}
  .privacy-explain>span{width:44px;height:44px;flex-basis:44px}
  .privacy-explain strong{font-size:12px}
  .privacy-explain p{font-size:10px}
  .mini-facts>div{padding:12px 1px}
  .mini-facts span,.mini-facts strong{font-size:10px}

  /* Competencies */
  .competency-form{padding:0 19px 19px}
  .competency-list,.consent-assignment-list{gap:10px}
  .competency-row{min-height:80px;padding:13px 15px;grid-template-columns:auto 25px minmax(0,1fr) minmax(165px,210px);gap:12px;border-radius:13px}
  .competency-check{width:23px;height:23px}
  .competency-row>input:checked+.competency-check:after,.consent-assignment-row>input:checked+.competency-check:after{left:7px;top:4px;width:5px;height:9px}
  .competency-main strong{font-size:12px}
  .competency-main small{font-size:10px}
  .competency-duration>small{font-size:9px}
  .competency-duration input{height:42px;padding:0 10px;font-size:11px}
  .competency-duration b{padding:0 10px;font-size:9px}

  /* Consent lists / editor */
  .consent-feature-strip{gap:15px;margin-bottom:19px}
  .consent-feature-strip>div{grid-template-columns:44px 1fr;padding:18px;border-radius:15px}
  .consent-feature-strip>div>span{width:44px;height:44px}
  .consent-feature-strip strong{font-size:12px}
  .consent-feature-strip small{font-size:10px}
  .consent-template-list{gap:10px;padding:0 19px 19px}
  .consent-template-row{padding:14px 16px;gap:12px;border-radius:14px}
  .consent-template-icon{width:45px;height:45px}
  .consent-template-main strong{font-size:12px}
  .consent-template-main small{font-size:10px}
  .consent-meta-chip{padding:6px 9px;font-size:9.5px}
  .consent-document-preview{padding:20px;font-size:11.5px}
  .consent-check-preview>strong{font-size:10.5px}
  .consent-check-preview>div{font-size:10.5px}
  .version-history-list>div{padding:12px 13px}
  .version-history-list strong{font-size:10.5px}
  .version-history-list small,.version-history-list code{font-size:9.5px}
  .consent-assignment-panel form{padding:0 19px 19px}
  .consent-assignment-row{min-height:72px;padding:12px 14px;gap:13px}
  .consent-assignment-row strong{font-size:11px}
  .consent-assignment-row small{font-size:10px}
  .consent-assignment-row>b{font-size:9px;padding:6px 8px}

  /* Salon setup helpers */
  .salon-setup-grid{gap:13px;padding:0 19px 19px}
  .salon-setup-grid>a{min-height:134px;padding:17px;grid-template-columns:40px 1fr auto;gap:12px;border-radius:14px}
  .salon-setup-grid>a>span{width:40px;height:40px}
  .salon-setup-grid svg{width:20px;height:20px}
  .salon-setup-grid strong{font-size:11px}
  .salon-setup-grid small{font-size:9.5px}
  .salon-setup-grid b{font-size:15px}
  .availability-explain{gap:17px;padding:5px 19px 21px}
  .availability-icon{width:52px;height:52px;flex-basis:52px}
  .availability-icon svg{width:24px;height:24px}
  .availability-explain strong{font-size:13px}
  .availability-explain p{font-size:10.5px}
}

/* ========================================================================== */
/* Calendu v0.0.5-dev r3 — salons registry redesign                           */
/* ========================================================================== */
.salons-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:2px 0 22px;
}
.salons-page-head h2{
  margin:4px 0 5px;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.045em;
}
.salons-page-head p{margin:0;color:var(--muted);font-size:13px}
.salons-add-btn{gap:8px;min-height:46px;padding-inline:18px}
.salons-add-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.salons-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.salons-overview-card{
  min-height:88px;
  padding:16px 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  background:#fff;
  border:1px solid rgba(var(--accent-rgb),.10);
  border-radius:16px;
  box-shadow:0 8px 28px rgba(35,33,41,.035);
}
.salons-overview-card span{color:var(--muted);font-size:12px;font-weight:650}
.salons-overview-card strong{font-size:28px;line-height:1;color:var(--ink);letter-spacing:-.04em}
.salons-overview-card.attention strong{color:#b35162}

.salons-registry{
  background:#fff;
  border:1px solid rgba(var(--accent-rgb),.10);
  border-radius:20px;
  box-shadow:0 10px 32px rgba(35,33,41,.035);
  overflow:hidden;
}
.salons-registry-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 22px;
  border-bottom:1px solid var(--line);
}
.salons-registry-head h3{margin:0 0 3px;font-size:18px;letter-spacing:-.025em}
.salons-registry-head p{margin:0;color:var(--muted);font-size:11px}
.salons-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px;
}
.salon-manage-card{
  min-width:0;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.salon-manage-card:hover{
  transform:translateY(-2px);
  border-color:var(--accent-border);
  box-shadow:0 12px 32px rgba(var(--accent-rgb),.08);
}
.salon-manage-main{display:block;padding:17px;text-decoration:none;color:inherit}
.salon-manage-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.salon-manage-avatar{
  width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:14px;background:var(--accent-soft);border:1px solid var(--accent-border);
  color:var(--accent-strong);font-size:16px;font-weight:850;
}
.salon-manage-title{min-width:0}
.salon-manage-title h4{margin:0 0 3px;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.salon-manage-title span{font-size:10px;color:var(--muted)}
.salon-manage-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent-strong);background:var(--accent-tint)}
.salon-manage-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.salon-manage-owner{
  display:grid;gap:2px;margin:16px 0 14px;padding:13px 14px;
  border-radius:12px;background:#fafafd;border:1px solid #f0eef3;
}
.salon-manage-owner span{font-size:9px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.salon-manage-owner strong{font-size:12px;color:var(--ink)}
.salon-manage-owner small{font-size:10px;color:var(--muted)}
.salon-manage-statuses{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.salons-empty{padding:52px 20px;text-align:center}
.salons-empty h3{margin:8px 0 5px;font-size:20px}.salons-empty p{margin:0 auto 18px;max-width:420px;color:var(--muted);font-size:12px}

.modal-open{overflow:hidden}
.salon-modal{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:24px}
.salon-modal.open{display:flex}
.salon-modal-backdrop{position:absolute;inset:0;background:rgba(29,25,35,.34);backdrop-filter:blur(5px)}
.salon-modal-dialog{
  position:relative;z-index:1;width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;
  background:#fff;border:1px solid rgba(var(--accent-rgb),.13);border-radius:22px;
  box-shadow:0 30px 90px rgba(28,24,34,.22);
}
.salon-modal-head{
  position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:22px 24px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.salon-modal-head h3{margin:4px 0 4px;font-size:22px;letter-spacing:-.035em}
.salon-modal-head p{margin:0;color:var(--muted);font-size:11px}
.salon-modal-close{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.salon-modal-close:hover{background:var(--accent-tint);color:var(--accent-strong);border-color:var(--accent-border)}
.salon-create-form{padding:20px 24px 24px}
.salon-create-form .form-alert{margin:0}
.salon-form-section{padding:2px 0 22px}.salon-form-section+.salon-form-section{padding-top:20px;border-top:1px solid var(--line)}
.salon-form-section-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.salon-form-section-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:850}
.salon-form-section-title>div{display:grid;gap:1px}.salon-form-section-title strong{font-size:13px}.salon-form-section-title small{font-size:9px;color:var(--muted)}
.salon-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid var(--line)}
.salon-privacy-mini{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.salon-privacy-mini>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eaf8f2;color:#27805a;font-weight:850}.salon-privacy-mini p{margin:0}
.salon-modal-actions{display:flex;align-items:center;gap:9px}
.salon-modal-actions .primary-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:1050px){
  .salons-card-grid{grid-template-columns:1fr}
  .salons-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .salons-page-head{align-items:flex-start;flex-direction:column}.salons-add-btn{width:100%}
  .salons-overview{grid-template-columns:1fr 1fr;gap:9px}.salons-overview-card{min-height:76px;padding:13px}.salons-overview-card span{font-size:10px}.salons-overview-card strong{font-size:24px}
  .salons-registry-head{padding:17px}.salons-card-grid{padding:12px;gap:10px}.salon-manage-main{padding:14px}
  .salon-modal{padding:10px;align-items:flex-end}.salon-modal-dialog{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.salon-modal-head{padding:18px}.salon-create-form{padding:16px 18px 20px}.salon-modal-footer{align-items:stretch;flex-direction:column}.salon-modal-actions{display:grid;grid-template-columns:1fr 1fr}.salon-modal-actions button{width:100%}
}
