/* A horizontal studio workspace, deliberately distinct from previous sidebars. */
.v4-panel{--ink:#31233a;--muted:#7c7086;--paper:#fff;--cream:#f4f1f7;--sage:#ede3f4;--green:#7c4695;--green-dark:#623078;--line:#e5dfeb;--on-accent:#fff;background:#f4f1f7;color:var(--ink);font-family:'Segoe UI',Tahoma,Arial,sans-serif;line-height:1.6;font-size:14px}html[data-theme=dark] .v4-panel{--ink:#eee7f4;--muted:#b6aabe;--paper:#26232c;--cream:#1c1a21;--sage:#3b3046;--green:#bc95d4;--green-dark:#a87fc0;--line:#4a4054;--on-accent:#211829;background:#1c1a21}.v4-panel h1,.v4-panel h2,.v4-panel h3{font-family:inherit;letter-spacing:-.035em;line-height:1.3}.v4-panel h1{font-size:2rem;font-weight:650}.v4-panel h2{font-size:1.27rem;font-weight:650}.v4-panel h3{font-size:1.05rem}.v4-panel p{color:var(--muted)}.v4-panel .eyebrow{font-size:.65rem;letter-spacing:.14em;color:var(--green)}.v4-panel .logo{width:175px;max-width:100%;height:auto;background:#fff;border-radius:7px;padding:6px 8px}.v4-panel .button{border-radius:9px;min-height:42px;font-size:.82rem;padding:10px 18px;background:var(--green);color:var(--on-accent);border:1px solid var(--green);font-weight:600}.v4-panel .button.outline{background:var(--paper);border-color:var(--line);color:var(--ink)}.v4-panel .button:hover{filter:brightness(.95)}.v4-panel .button.small{padding:8px 13px;min-height:36px}.v4-panel .text-link,.v4-panel .link-button{color:var(--green);font-size:.8rem}.v4-panel a:focus-visible,.v4-panel button:focus-visible,.v4-panel input:focus-visible{outline:3px solid var(--green);outline-offset:3px}.workspace-header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 4vw;background:var(--paper);border-bottom:1px solid var(--line)}.workspace-brand{display:flex;align-items:center;gap:20px}.workspace-brand>span{font-size:.75rem;font-weight:700;border-inline-start:1px solid var(--line);padding-inline-start:20px;letter-spacing:.08em}.workspace-brand small{display:block;color:var(--muted);font-size:.55rem;font-weight:500;letter-spacing:.15em;margin-top:3px}.workspace-tools{display:flex;align-items:center;gap:18px}.workspace-tools form{margin:0}.v4-panel .languages{gap:2px}.v4-panel .languages a{font-size:.7rem;color:var(--muted);padding:6px 9px;border-radius:7px}.v4-panel .languages a.active{background:var(--sage);color:var(--green)}.v4-panel .theme-toggle{background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:10px;width:34px;height:34px;padding:6px}.workspace-nav{display:flex;gap:6px;flex-wrap:wrap;padding:12px 4vw;background:var(--paper);border-bottom:1px solid var(--line)}.workspace-nav a{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:9px;color:var(--muted);font-size:.8rem;font-weight:600}.workspace-nav a[aria-current]{color:var(--green);background:var(--sage)}.workspace-nav a:hover{background:var(--cream)}.v4-panel .admin-main{max-width:1460px;margin:0 auto;padding:32px 4vw 65px;min-width:0;width:100%}.v4-panel .admin-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:27px;padding:0;border:0}.admin-heading h1{margin:6px 0 0}.admin-heading>p{font-size:.8rem;max-width:400px;margin:0}.v4-panel .panel{padding:28px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 26px #35203e04;border-radius:16px;margin-bottom:24px;min-width:0}.v4-panel .panel h2{margin-top:0}.v4-panel label{font-size:.78rem;color:var(--muted);margin-bottom:17px}.v4-panel input:not([type=checkbox]):not([type=radio]),.v4-panel select,.v4-panel textarea{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:43px;font-family:inherit;font-size:.88rem;padding:10px 12px;width:100%;max-width:100%;margin-top:6px}.v4-panel textarea{line-height:1.6}.v4-panel input:disabled,.v4-panel select:disabled,.v4-panel textarea:disabled{opacity:.7}.v4-panel small{color:var(--muted);line-height:1.5;font-size:.72rem}.v4-panel .check{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:.8rem}.v4-panel input[type=checkbox],.v4-panel input[type=radio]{width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--green);flex-shrink:0}.v4-panel .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.v4-panel .button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.v4-panel .content-form-actions{margin-top:25px}.v4-panel .module-tabs{display:flex;gap:7px;flex-wrap:wrap;background:transparent;margin-bottom:25px}.v4-panel .module-tabs a{padding:8px 13px;border:1px solid var(--line);border-radius:30px;background:var(--paper);color:var(--muted);font-size:.75rem}.v4-panel .module-tabs a.active{background:var(--green);color:var(--on-accent);border-color:var(--green)}.v4-panel .table-wrap{border:1px solid var(--line);border-radius:13px;background:var(--paper);overflow:auto}.v4-panel table{width:100%;font-size:.8rem}.v4-panel th{background:var(--sage);color:var(--ink);font-weight:600}.v4-panel td,.v4-panel th{padding:16px;border-bottom:1px solid var(--line)}.v4-panel .row-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.v4-panel .row-actions form{margin:0}.v4-panel .pill{font-size:.66rem;border-radius:30px;background:var(--sage);color:var(--green);padding:4px 10px}.v4-panel .notice{border:1px solid var(--line);border-inline-start:4px solid var(--green);padding:17px 20px;border-radius:10px;background:var(--paper);color:var(--ink);font-size:.84rem;margin-bottom:20px}.v4-panel .notice.error{border-inline-start-color:#ba4a6b}.v4-panel .toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.v4-panel .salon-stats,.v4-panel .stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:25px}.v4-panel .salon-stats{grid-template-columns:1fr 1fr}.v4-panel .salon-stats>a,.v4-panel .stat-grid>article{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:24px;color:var(--ink)}.v4-panel .salon-stats>a:first-child{background:var(--green);color:var(--on-accent)}.v4-panel .salon-stats span,.v4-panel .stat-grid span{display:block;font-size:.8rem}.v4-panel .salon-stats strong,.v4-panel .stat-grid strong{display:block;font-size:2.25rem;font-weight:500;margin-top:10px}.v4-panel .salon-recent{display:grid;gap:8px}.v4-panel .salon-recent>a{display:grid;grid-template-columns:1fr 1fr auto auto;gap:18px;align-items:center;padding:14px;background:var(--cream);border-radius:9px;font-size:.78rem;color:var(--ink)}.v4-panel .module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v4-panel .module-grid a{padding:16px;background:var(--cream);border-radius:10px;border:1px solid var(--line);font-size:.8rem;color:var(--green)}.v4-panel .translation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.v4-panel .translation{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--paper);min-width:0}.translation-language-tabs{display:flex;gap:8px;margin-bottom:15px}.translation-language-tabs button{border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);font:inherit;font-size:.8rem;padding:9px 18px;cursor:pointer}.translation-language-tabs button[aria-pressed=true]{background:var(--green);color:var(--on-accent)}.translation-grid.enhanced{grid-template-columns:1fr}.translation-grid.enhanced>.translation{padding:22px}.translation[hidden]{display:none}.v4-panel .skin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:25px}.v4-panel label.skin-choice{display:grid;grid-template-columns:20px 1fr;gap:12px;border:2px solid var(--line);border-radius:15px;padding:18px;position:relative;margin:0;cursor:pointer;background:var(--paper)}.skin-choice:has(input:checked){border-color:var(--green);box-shadow:0 0 0 3px var(--sage)}.skin-choice .skin-preview{grid-column:1/-1;display:grid;height:130px;background:#fce6f3;border-radius:9px;padding:15px;gap:10px;grid-template-columns:.9fr 1.1fr;position:relative;overflow:hidden}.skin-preview i{background:#8b4c9e;border-radius:30px;height:8px;grid-column:1/-1}.skin-preview b{background:#edb8d9;border-radius:30px 30px 3px 3px}.skin-preview em{background:#fff8fc;display:block;border-radius:40%}.skin-choice small{grid-column:1/-1;display:block}.skin-choice strong{font-size:.94rem;color:var(--ink)}.skin-preview-rose .skin-preview{background:#f5e5e0;grid-template-columns:1fr 1fr}.skin-preview-rose .skin-preview i{background:#a35365}.skin-preview-rose .skin-preview b{background:#dba8b0;border-radius:2px}.skin-preview-rose .skin-preview em{background:#fff;border-radius:0}.skin-preview-botanic .skin-preview{background:#e1eadc}.skin-preview-botanic .skin-preview i{background:#466b58}.skin-preview-botanic .skin-preview b{background:#afc4ac;border-radius:5px}.skin-preview-botanic .skin-preview em{background:#f3d9d7;border-radius:50% 50% 3px 50%}.appearance-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:28px}.v4-panel .menu-layout-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:24px}.v4-panel label.menu-layout-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:16px;margin:0;cursor:pointer}.menu-layout-option:has(input:checked){background:var(--sage);border-color:var(--green)}.menu-layout-option strong{display:block;color:var(--ink);font-size:.85rem;margin-bottom:7px}.menu-layout-option small{display:block}.v4-panel .social-row{display:grid;grid-template-columns:1fr 2fr 80px auto auto;gap:15px;align-items:center;padding:18px;background:var(--cream);border:1px solid var(--line);border-radius:9px;margin-bottom:15px}.v4-panel .media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.v4-panel .media-grid figure{margin:0;border:1px solid var(--line);background:var(--paper);border-radius:13px;overflow:hidden}.v4-panel .media-grid figure>img{width:100%;height:210px;object-fit:contain;background:var(--cream)}.v4-panel .media-grid figcaption{padding:20px}.v4-panel .media-grid figcaption>strong{font-size:.88rem}.v4-panel .thumb{max-width:130px;height:100px;object-fit:contain}.v4-panel .media-dialog{max-width:1000px;width:90vw;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px}.v4-panel .media-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v4-panel .media-choice{background:var(--cream);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:10px}.v4-panel .media-choice img{height:110px;width:100%;object-fit:contain}.v4-panel .appointment-filter{display:flex;gap:15px;flex-wrap:wrap;align-items:end}.v4-panel .appointment-filter label{flex:1;min-width:160px}.v4-panel .appointment-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px}.v4-panel .salon-hours-admin{display:grid;gap:15px}.v4-panel fieldset{min-width:0}.v4-panel [hidden]{display:none!important}.login-page.v4-panel{display:grid;place-items:center;min-height:100dvh;background:radial-gradient(ellipse at 15% 20%,#dfc6ee88,transparent 45%),radial-gradient(ellipse at 90% 80%,#f3c5d588,transparent 45%),var(--cream);padding:30px 20px}.v4-panel .login-layout{width:min(100%,960px);display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper);box-shadow:0 28px 100px #53206912;min-height:0}.v4-panel .login-story{display:flex;flex-direction:column;justify-content:space-between;gap:50px;padding:45px;background:#5e3379;color:#fff;min-height:530px}.login-story h1{font-family:Georgia,serif;font-size:2.6rem;font-weight:400;line-height:1.2}.v4-panel .login-story p,.v4-panel .login-story .eyebrow{color:#ecdcf3}.v4-panel .login-story .lead{font-size:.9rem;line-height:1.8}.v4-panel .login-card{padding:38px;max-width:500px;width:100%;border:0;background:var(--paper);box-shadow:none;min-width:0;border-radius:0}.v4-panel .login-card h2{font-size:1.6rem;margin-top:25px}.v4-panel .login-card>.languages{margin-block:12px}.v4-panel .login-card .full{width:100%}.v4-panel .password-wrap{display:flex;position:relative}.v4-panel .password-wrap input{padding-inline-end:48px!important}.v4-panel .password-wrap button{position:absolute;inset-inline-end:7px;top:14px;width:34px;height:34px;border:0;background:var(--cream);color:var(--green);border-radius:7px}.v4-panel .narrow{max-width:700px}
@media(max-width:1100px){.workspace-header{padding:18px 25px;gap:20px}.workspace-brand>span{display:none}.workspace-tools{gap:12px}.workspace-nav{padding-inline:25px}.workspace-nav a{padding-inline:11px;font-size:.76rem}.v4-panel .admin-main{padding-inline:25px}.v4-panel .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v4-panel .social-row{grid-template-columns:1fr 1fr}.v4-panel .translation-grid{grid-template-columns:1fr}.v4-panel .skin-options{gap:12px}.v4-panel .menu-layout-options{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.workspace-header{flex-wrap:wrap;padding:15px 18px;gap:15px}.workspace-brand{width:100%}.workspace-brand>span{display:block;font-size:.6rem;margin-inline-start:auto}.workspace-brand .logo{width:150px}.workspace-tools{width:100%;justify-content:space-between;gap:8px;flex-wrap:wrap}.workspace-tools .button{font-size:.7rem;padding:6px 9px;min-height:34px}.workspace-nav{padding:10px 18px;gap:5px}.workspace-nav a{padding:8px 10px;font-size:.72rem;background:var(--cream)}.v4-panel .admin-main{padding:24px 16px 45px}.v4-panel .admin-heading{display:block;margin-bottom:22px}.admin-heading>p{margin-top:13px;font-size:.76rem}.v4-panel h1{font-size:1.7rem}.v4-panel .panel{padding:21px 18px;border-radius:13px}.v4-panel .form-grid,.v4-panel .translation-grid,.v4-panel .appointment-detail{grid-template-columns:1fr}.v4-panel .skin-options,.v4-panel .menu-layout-options{grid-template-columns:1fr}.skin-choice .skin-preview{height:100px}.v4-panel .skin-options label.skin-choice{grid-template-columns:20px 1fr}.appearance-switches{grid-template-columns:1fr;gap:5px}.v4-panel .stat-grid{grid-template-columns:1fr}.v4-panel .salon-stats{gap:12px}.v4-panel .salon-stats>a{padding:20px 16px}.v4-panel .salon-stats strong{font-size:1.9rem}.v4-panel .salon-recent>a{grid-template-columns:1fr;gap:6px}.v4-panel .module-grid{grid-template-columns:1fr 1fr}.v4-panel .media-grid{grid-template-columns:1fr}.v4-panel .media-picker-grid{grid-template-columns:1fr 1fr}.v4-panel .social-row{grid-template-columns:1fr;gap:4px}.v4-panel .toolbar{flex-wrap:wrap}.v4-panel .login-layout{grid-template-columns:1fr;max-width:480px}.v4-panel .login-story{min-height:0;padding:25px;gap:25px}.login-story h1{font-size:2rem;margin:0 0 15px}.v4-panel .login-story>p{display:none}.v4-panel .login-card{padding:28px 25px}.v4-panel .login-story .logo{width:160px}.v4-panel .translation{padding:16px}.v4-panel .translation-grid.enhanced>.translation{padding:16px}}
.v4-panel .skin-choice>input{grid-column:1;grid-row:1;align-self:center}.v4-panel .skin-choice>strong{grid-column:2;grid-row:1;align-self:center}.v4-panel .skin-choice>.skin-preview{grid-column:1/-1;grid-row:2}.v4-panel .skin-choice>small{grid-column:1/-1;grid-row:3}

/* v4.0.1: framed appointment workspace, reset native definition-list indents. */
.v4-panel .salon-filter{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:18px;align-items:end;margin-bottom:18px}.v4-panel .salon-filter label{margin:0;min-width:0}.v4-panel .salon-filter .button{min-height:43px}.v4-panel .appointment-record{padding:24px}.appointment-record>.toolbar{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px;align-items:center}.appointment-record>.toolbar h2{margin:0;font-size:1.14rem;overflow-wrap:anywhere}.v4-panel .salon-record-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.salon-record-details>div{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--cream);padding:15px 17px}.v4-panel .salon-record-details dt{font-size:.73rem;font-weight:500;color:var(--muted);margin:0 0 7px}.v4-panel .salon-record-details dd{font-size:.87rem;font-weight:600;line-height:1.6;color:var(--ink);margin:0;overflow-wrap:anywhere}.salon-record-details dd a{color:var(--green)}.appointment-note{border:1px solid var(--line);border-radius:10px;padding:17px 19px;margin-top:18px;background:var(--paper)}.appointment-note h3{font-size:.76rem;margin:0 0 8px;color:var(--muted);font-weight:500}.appointment-note .prose p{margin:0;font-size:.85rem;color:var(--ink);overflow-wrap:anywhere;white-space:normal}.appointment-note .prose p+p{margin-top:10px}.appointment-edit{border:1px solid var(--line);border-radius:10px;background:var(--paper);margin-top:18px;overflow:hidden}.appointment-edit>summary{padding:15px 18px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--green);background:var(--cream)}.appointment-edit[open]>summary{border-bottom:1px solid var(--line)}.appointment-edit>form{padding:20px}.appointment-edit .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-delete{display:flex;justify-content:flex-end;margin-top:16px}.appointment-delete .link-button{border:1px solid var(--line);border-radius:7px;padding:8px 15px;min-height:36px;color:var(--muted);font-size:.76rem}.appointment-delete .link-button:not(:disabled):hover{border-color:#b45b78;color:#b45b78}.appointment-record .pill{flex-shrink:0;white-space:nowrap}.appointment-record .status-confirmed{background:var(--sage);color:var(--green)}
@media(max-width:1000px){.v4-panel .salon-record-details{grid-template-columns:repeat(2,minmax(0,1fr))}.v4-panel .salon-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-edit .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v4-panel .appointment-record{padding:18px}.appointment-record>.toolbar{align-items:flex-start;gap:12px}.appointment-record>.toolbar h2{font-size:1rem;flex:1}.v4-panel .salon-record-details{grid-template-columns:1fr;gap:10px}.salon-record-details>div{padding:12px 14px}.v4-panel .salon-filter,.appointment-edit .form-grid{grid-template-columns:1fr}.appointment-edit>form{padding:17px 14px}.appointment-note{padding:14px}.appointment-edit>summary{padding:14px;font-size:.8rem}}
/* Compact weekly hours: one framed row per day, same fields and submission names. */
.v4-panel .salon-hours-editor{display:grid;gap:10px;margin:22px 0 25px}.salon-hours-editor>div{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(130px,1fr) minmax(130px,1fr);align-items:center;gap:24px;padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.v4-panel .salon-hours-editor>div>label{margin:0;min-width:0}.v4-panel .salon-hours-editor .check{font-size:.84rem;font-weight:600;color:var(--ink)}.salon-hours-editor>div:has(.check input:not(:checked)){background:var(--paper);border-style:dashed}.salon-hours-editor>div:has(.check input:not(:checked))>label:not(.check){opacity:.6}.v4-panel .salon-hours-editor input[type=time]{background:var(--paper);margin-top:4px;min-height:40px}.v4-panel .salon-hours-editor .check input{margin:0}
@media(max-width:700px){.salon-hours-editor>div{grid-template-columns:1fr 1fr;gap:12px;padding:15px}.salon-hours-editor>div>.check{grid-column:1/-1}.v4-panel .salon-hours-editor input[type=time]{padding:9px;min-width:0;font-size:.85rem}}
