
:root{
    --lsp-accent:#04d6d5;
    --lsp-accent-2:#03bfc4;
    --lsp-bg:#f4f7f8;
    --lsp-card:#ffffff;
    --lsp-text:#142126;
    --lsp-muted:#6d7a80;
    --lsp-border:#dce6e8;
    --lsp-sidebar:#112127;
}
body.page-template-default.page-id-*{margin:0}
.lsp-shell{min-height:100vh;display:flex;background:var(--lsp-bg);color:var(--lsp-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lsp-sidebar{width:250px;background:var(--lsp-sidebar);color:#fff;display:flex;flex-direction:column;padding:22px 16px;box-sizing:border-box}
.lsp-brand{display:flex;gap:12px;align-items:center;padding:4px 6px 22px}
.lsp-brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--lsp-accent),var(--lsp-accent-2));display:grid;place-items:center;font-weight:800}
.lsp-brand strong,.lsp-brand small{display:block}
.lsp-brand small{opacity:.65;margin-top:2px}
.lsp-nav{display:grid;gap:6px}
.lsp-nav a{color:#dce6e8;text-decoration:none;padding:11px 12px;border-radius:10px}
.lsp-nav a:hover,.lsp-nav a.is-active{background:rgba(23,191,169,.14);color:#fff}
.lsp-sidebar-footer{margin-top:auto;padding:16px 8px 4px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:10px}
.lsp-sidebar-footer a{color:#7be8d8;text-decoration:none}
.lsp-main{flex:1;padding:28px;box-sizing:border-box;min-width:0}
.lsp-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.lsp-topbar h1{margin:3px 0 0;font-size:28px}
.lsp-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--lsp-muted)}
.lsp-status,.lsp-badge{font-size:12px;border:1px solid var(--lsp-border);background:#fff;border-radius:999px;padding:8px 11px}
.lsp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.lsp-kpis article,.lsp-panel{background:var(--lsp-card);border:1px solid var(--lsp-border);border-radius:16px;box-shadow:0 6px 20px rgba(17,33,39,.04)}
.lsp-kpis article{padding:18px}
.lsp-kpis span{display:block;color:var(--lsp-muted);font-size:13px}
.lsp-kpis strong{display:block;font-size:25px;margin-top:8px}
.lsp-panel{padding:22px}
.lsp-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.lsp-panel h2{margin:4px 0 0;font-size:22px}
.lsp-panel p{color:var(--lsp-muted);line-height:1.65;max-width:900px}
.lsp-foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.lsp-foundation-grid>div{border:1px solid var(--lsp-border);border-radius:12px;padding:14px}
.lsp-foundation-grid strong,.lsp-foundation-grid span{display:block}
.lsp-foundation-grid span{color:var(--lsp-muted);font-size:12px;margin-top:4px}
.lsp-login-required{max-width:460px;margin:80px auto;padding:28px;border:1px solid var(--lsp-border);border-radius:16px;background:#fff}
@media(max-width:980px){
    .lsp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lsp-foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .lsp-sidebar{width:82px;padding:18px 10px}
    .lsp-brand div,.lsp-nav a{font-size:0}
    .lsp-nav a:before{content:"•";font-size:22px}
    .lsp-sidebar-footer small{display:none}
    .lsp-main{padding:18px}
    .lsp-topbar{align-items:flex-start;flex-direction:column}
    .lsp-kpis,.lsp-foundation-grid{grid-template-columns:1fr}
}


/* 0.1.0-dev.2 */
.lsp-tenant-chip{margin:0 6px 16px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.lsp-tenant-chip span,.lsp-tenant-chip strong{display:block}
.lsp-tenant-chip span{font-size:11px;opacity:.55;text-transform:uppercase;letter-spacing:.08em}
.lsp-tenant-chip strong{margin-top:4px;font-size:13px}
.lsp-notice{margin:0 0 16px;padding:12px 14px;background:#e9fbf6;border:1px solid #bfeee3;border-radius:12px;color:#145b51}
.lsp-onboarding{min-height:100vh;display:grid;place-items:center;padding:30px;background:#f4f7f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lsp-onboarding-card{width:min(720px,100%);background:#fff;border:1px solid #dce6e8;border-radius:20px;padding:28px;box-shadow:0 18px 45px rgba(17,33,39,.08)}
.lsp-onboarding-card h1{margin:6px 0 8px}
.lsp-onboarding-card p{color:#6d7a80}
.lsp-form{display:grid;gap:14px;margin-top:18px}
.lsp-form label{display:grid;gap:7px;font-size:13px;font-weight:600}
.lsp-form input,.lsp-form textarea,.lsp-form select,.lsp-inline-form input,.lsp-inline-form select{width:100%;box-sizing:border-box;border:1px solid #ccdadd;border-radius:10px;padding:10px 11px;background:#fff;color:#142126}
.lsp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lsp-form-grid-4{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:12px}
.lsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ccdadd;border-radius:10px;padding:10px 14px;background:#fff;color:#142126;text-decoration:none;font-weight:700;cursor:pointer}
.lsp-btn-primary{border-color:transparent;background:linear-gradient(135deg,#17bfa9,#15c68e);color:#fff}
.lsp-btn-small{padding:8px 10px;font-size:12px}
.lsp-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.lsp-empty{padding:20px;border:1px dashed #ccdadd;border-radius:12px;color:#6d7a80;margin-top:16px}
.lsp-table-wrap{overflow:auto;margin-top:16px}
.lsp-table{width:100%;border-collapse:collapse;min-width:760px}
.lsp-table th,.lsp-table td{text-align:left;padding:12px;border-bottom:1px solid #e5edef;vertical-align:top}
.lsp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6d7a80}
.lsp-table td small{display:block;margin-top:3px;color:#6d7a80}
.lsp-status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.lsp-status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#a8b4b8}
.lsp-status-dot.is-on:before{background:#15c68e}
.lsp-status-dot.is-off:before{background:#9da9ad}
.lsp-inline-edit summary{cursor:pointer;font-weight:700;color:#147f70}
.lsp-inline-form{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;gap:8px;margin-top:10px;padding:10px;background:#f7fafb;border-radius:10px}
.lsp-delete-form{display:inline-block;margin-top:8px}
.lsp-link-danger{border:0;background:transparent;padding:0;color:#b84d4d;cursor:pointer}
@media(max-width:980px){
    .lsp-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lsp-inline-form{grid-template-columns:repeat(2,minmax(120px,1fr))}
}
@media(max-width:720px){
    .lsp-form-grid,.lsp-form-grid-4{grid-template-columns:1fr}
    .lsp-tenant-chip{display:none}
}


/* 0.1.0-dev.2a — Fullscreen Application Shell */
html,
body.lsp-app-page{
    margin:0 !important;
    padding:0 !important;
    width:100%;
    min-height:100%;
    background:#f4f7f8;
}
body.lsp-app-page{
    overflow-x:hidden;
}
body.lsp-app-page #wpadminbar{
    position:fixed;
}
body.lsp-app-page.admin-bar .lsp-shell,
body.lsp-app-page.admin-bar .lsp-onboarding{
    min-height:calc(100vh - 32px);
    margin-top:32px;
}
body.lsp-app-page .lsp-shell{
    width:100vw;
    max-width:none;
    min-height:100vh;
    margin:0;
}
body.lsp-app-page .lsp-main{
    width:auto;
    max-width:none;
}
body.lsp-app-page .lsp-sidebar{
    min-height:100vh;
}
body.lsp-app-page .lsp-onboarding{
    width:100vw;
    max-width:none;
    margin:0;
    box-sizing:border-box;
}
@media screen and (max-width:782px){
    body.lsp-app-page.admin-bar .lsp-shell,
    body.lsp-app-page.admin-bar .lsp-onboarding{
        min-height:calc(100vh - 46px);
        margin-top:46px;
    }
}

/* 0.1.0-dev.3 — Staff + Working Hours / mobile-first */
.lsp-form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lsp-mobile-cards{display:grid;gap:12px;margin-top:16px}
.lsp-staff-card{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:14px;align-items:center;padding:15px;border:1px solid #dce6e8;border-radius:13px}
.lsp-staff-card>div>strong,.lsp-staff-card>div>span{display:block}
.lsp-staff-card>div>span{font-size:12px;color:#6d7a80;margin-top:4px}
.lsp-hours-list{display:grid;gap:10px}
.lsp-hours-row{display:grid;grid-template-columns:minmax(140px,1fr) 150px 150px 130px;gap:12px;align-items:end;padding:13px;border:1px solid #dce6e8;border-radius:12px}
.lsp-hours-row label{font-size:11px;color:#6d7a80}
.lsp-hours-row input[type=time]{min-height:42px}
.lsp-check{display:flex!important;align-items:center;gap:8px;min-height:42px}
.lsp-check input{width:auto!important;min-width:20px;min-height:20px}
@media(max-width:800px){
    .lsp-form-grid-3{grid-template-columns:1fr}
    .lsp-staff-card{grid-template-columns:1fr auto}
    .lsp-staff-card details,.lsp-staff-card form{grid-column:1/-1}
    .lsp-hours-row{grid-template-columns:1fr 1fr}
    .lsp-hours-row>strong{grid-column:1/-1}
    .lsp-check{grid-column:1/-1}
}
@media(max-width:520px){
    .lsp-main{padding:14px}
    .lsp-panel{padding:16px}
    .lsp-topbar h1{font-size:23px}
    .lsp-hours-row{grid-template-columns:1fr 1fr}
    .lsp-btn{min-height:44px}
    .lsp-form input,.lsp-form select{min-height:44px;font-size:16px}
}

/* 0.1.0-dev.4 — Staff Services + Individual Hours */
.lsp-staff-config{margin-top:18px}
.lsp-config-columns{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(440px,1.2fr);gap:22px;margin-top:18px}
.lsp-config-columns h3{margin:0 0 12px}
.lsp-service-checks{display:grid;gap:9px}
.lsp-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:11px;padding:12px;border:1px solid #dce6e8;border-radius:12px;cursor:pointer}
.lsp-choice input{width:20px!important;min-width:20px;height:20px}
.lsp-choice span,.lsp-choice strong,.lsp-choice small{display:block}
.lsp-choice small{margin-top:3px;color:#6d7a80;font-weight:400}
.lsp-hours-row-compact{grid-template-columns:minmax(110px,1fr) 125px 125px 110px}
@media(max-width:1000px){.lsp-config-columns{grid-template-columns:1fr}}
@media(max-width:800px){
 .lsp-staff-card{grid-template-columns:1fr}
 .lsp-staff-card>*{grid-column:1!important}
 .lsp-staff-card>.lsp-btn{width:100%;box-sizing:border-box}
}
@media(max-width:560px){
 .lsp-hours-row-compact{grid-template-columns:1fr 1fr}
 .lsp-hours-row-compact>strong,.lsp-hours-row-compact>.lsp-check{grid-column:1/-1}
 .lsp-choice{min-height:48px}
}

/* 0.1.0-dev.5 — Public Registration + Global Service Catalog */
.lsp-register-wrap{min-height:100vh;width:100%;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:#f4f7f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lsp-register-card{width:min(720px,100%);background:#fff;border:1px solid #dce6e8;border-radius:20px;padding:28px;box-sizing:border-box;box-shadow:0 18px 45px rgba(17,33,39,.08)}
.lsp-register-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.lsp-register-brand strong,.lsp-register-brand small{display:block}
.lsp-register-brand small{margin-top:3px;color:#6d7a80}
.lsp-register-card h1{font-size:30px;line-height:1.15;margin:0 0 10px}
.lsp-register-card>p{color:#6d7a80;line-height:1.55}
.lsp-register-login{text-align:center;margin-top:18px;color:#6d7a80;font-size:13px}
.lsp-register-login a{color:#147f70;font-weight:700}
.lsp-btn-wide{width:100%;min-height:48px}
.lsp-notice-error{background:#fff3f3;border-color:#efd0d0;color:#8f3838}
.lsp-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.lsp-catalog-card{border:1px solid #dce6e8;border-radius:14px;padding:16px;background:#fff}
.lsp-catalog-card.is-selected{background:#f2fbf8;border-color:#bfeee3}
.lsp-catalog-card h3{margin:10px 0 5px;font-size:17px}
.lsp-catalog-card>small{color:#6d7a80}
.lsp-category-pill{display:inline-flex;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:#eef5f6;color:#54656b;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.lsp-selected-mark{margin-top:18px;font-size:12px;font-weight:700;color:#147f70}
.lsp-catalog-add{margin-top:14px}
.lsp-service-card{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:14px;align-items:center;padding:15px;border:1px solid #dce6e8;border-radius:13px}
.lsp-service-main strong,.lsp-service-main small{display:block}
.lsp-service-main strong{margin-top:7px}
.lsp-service-main small{margin-top:4px;color:#6d7a80}
.lsp-inline-service-form{grid-template-columns:repeat(4,minmax(110px,1fr)) auto}
@media(max-width:1000px){
 .lsp-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .lsp-service-card{grid-template-columns:1fr auto}
 .lsp-service-card details,.lsp-service-card form{grid-column:1/-1}
 .lsp-inline-service-form{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .lsp-register-wrap{padding:10px}
 .lsp-register-card{padding:20px;border-radius:16px}
 .lsp-register-card h1{font-size:25px}
 .lsp-register-card .lsp-form-grid{grid-template-columns:1fr}
 .lsp-catalog-grid{grid-template-columns:1fr}
 .lsp-catalog-card{padding:14px}
 .lsp-catalog-add .lsp-form-grid{grid-template-columns:1fr 1fr}
 .lsp-inline-service-form{grid-template-columns:1fr}
}
@media(max-width:420px){
 .lsp-catalog-add .lsp-form-grid{grid-template-columns:1fr}
}

/* 0.1.0-dev.5c — Salon Types & Catalog Taxonomy */
.lsp-register-card select{min-height:46px;font-size:16px}
@media(max-width:600px){
    .lsp-register-card select{width:100%}
}

/* 0.1.0-dev.5e — Salon Profile Type + Logo */
.lsp-logo-setting{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1px solid #dce6e8;border-radius:14px}
.lsp-salon-logo-preview{display:block;width:96px;height:96px;object-fit:contain;border:1px solid #dce6e8;border-radius:14px;background:#fff;padding:8px;box-sizing:border-box;margin-top:8px}
.lsp-logo-placeholder{width:96px;height:96px;border-radius:14px;background:#e7f7f3;color:#147f70;display:grid;place-items:center;font-size:30px;font-weight:800;margin-top:8px}
.lsp-logo-setting small{display:block;margin-top:5px;color:#6d7a80;font-weight:400}
.lsp-tenant-chip{display:flex;align-items:center;gap:10px}
.lsp-tenant-logo{width:32px;height:32px;border-radius:9px;object-fit:contain;background:#fff;padding:3px;box-sizing:border-box}
@media(max-width:600px){
    .lsp-logo-setting{grid-template-columns:1fr}
    .lsp-salon-logo-preview,.lsp-logo-placeholder{width:82px;height:82px}
}

/* 0.1.0-dev.5h */
.lsp-additional-types{padding:16px;border:1px solid #dce6e8;border-radius:14px;background:#fbfdfd}
.lsp-additional-types h3{margin:4px 0 5px}.lsp-additional-types p,.lsp-additional-types small{color:#6d7a80;font-size:13px}
.lsp-type-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
.lsp-type-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;padding:11px;border:1px solid #dce6e8;border-radius:10px;background:#fff}
.lsp-type-check input{width:18px!important;height:18px!important;min-width:18px}
@media(max-width:600px){.lsp-type-check-grid{grid-template-columns:1fr}.lsp-type-check{min-height:46px}}

/* 0.1.0-dev.5i — explicit additional activity toggles */
.lsp-type-toggle{
  position:relative;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px;
  padding:11px 12px;
  border:1px solid #dce6e8;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
}
.lsp-type-toggle input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}
.lsp-toggle-box{
  width:22px;
  height:22px;
  min-width:22px;
  border:2px solid #b9c8cc;
  border-radius:6px;
  background:#fff;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  transition:.15s ease;
}
.lsp-toggle-box:after{
  content:"";
  width:10px;
  height:6px;
  border-left:2px solid transparent;
  border-bottom:2px solid transparent;
  transform:rotate(-45deg) translateY(-1px);
}
.lsp-type-toggle input:checked + .lsp-toggle-box{
  background:#17bfa9;
  border-color:#17bfa9;
}
.lsp-type-toggle input:checked + .lsp-toggle-box:after{
  border-left-color:#fff;
  border-bottom-color:#fff;
}
.lsp-type-toggle input:checked ~ .lsp-toggle-label{
  color:#147f70;
}
.lsp-toggle-label{font-weight:700;font-size:13px}
.lsp-type-toggle:has(input:checked){
  border-color:#b7eadf;
  background:#f2fbf8;
}
@media(max-width:600px){
  .lsp-type-toggle{min-height:50px;width:100%}
}

/* 0.1.0-dev.5j — native additional activity selection fix */
.lsp-native-check-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:14px 0;
}
.lsp-native-check-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
    min-height:48px;
    padding:11px 12px;
    border:1px solid #dce6e8;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    box-sizing:border-box;
}
.lsp-native-check-row input[type="checkbox"]{
    position:static!important;
    opacity:1!important;
    display:block!important;
    appearance:auto!important;
    -webkit-appearance:checkbox!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    margin:0!important;
    padding:0!important;
    pointer-events:auto!important;
}
.lsp-native-check-row span{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#142126!important;
    font-size:14px!important;
    font-weight:700!important;
}
.lsp-native-check-row:has(input:checked){
    background:#f2fbf8;
    border-color:#b7eadf;
}
@media(max-width:600px){
    .lsp-native-check-list{grid-template-columns:1fr}
    .lsp-native-check-row{width:100%;min-height:50px}
}


/* 0.1.0-dev.5k1 — SAFE mobile shell override built on dev.5j */
.lsp-mobile-menu-btn,
.lsp-mobile-menu-overlay{display:none}

.lsp-salon-identity{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:16px;
    align-items:center;
    width:100%;
    box-sizing:border-box;
    margin-bottom:18px;
    padding:18px;
    background:#fff;
    border:1px solid #dce6e8;
    border-radius:16px;
}
.lsp-salon-identity-logo img,
.lsp-salon-identity-placeholder{
    display:block;
    width:76px;
    height:76px;
    box-sizing:border-box;
    border:1px solid #dce6e8;
    border-radius:16px;
    background:#fff;
    object-fit:contain;
}
.lsp-salon-identity-logo img{padding:7px}
.lsp-salon-identity-placeholder{
    display:grid;
    place-items:center;
    background:#e7f7f3;
    color:#147f70;
    font-size:28px;
    font-weight:800;
}
.lsp-salon-identity-copy h2{margin:4px 0 7px;font-size:24px}
.lsp-salon-identity-meta{display:flex;flex-wrap:wrap;gap:7px}
.lsp-salon-identity-meta span{
    padding:6px 9px;
    background:#f1f6f7;
    border-radius:999px;
    color:#5f7076;
    font-size:11px;
}

@media(max-width:820px){
    body.lsp-mobile-lock{overflow:hidden!important}

    body.lsp-app-page .lsp-shell{
        display:block!important;
        width:100%!important;
        min-height:100vh!important;
    }

    .lsp-sidebar{
        position:fixed!important;
        z-index:1002!important;
        top:0!important;
        left:0!important;
        bottom:0!important;
        width:min(84vw,320px)!important;
        height:100vh!important;
        min-height:100vh!important;
        padding:18px 14px!important;
        transform:translateX(-105%)!important;
        transition:transform .22s ease!important;
        overflow-y:auto!important;
        box-shadow:16px 0 40px rgba(0,0,0,.2)!important;
    }

    body.admin-bar .lsp-sidebar{
        top:46px!important;
        height:calc(100vh - 46px)!important;
        min-height:calc(100vh - 46px)!important;
    }

    .lsp-shell.is-mobile-menu-open .lsp-sidebar{
        transform:translateX(0)!important;
    }

    .lsp-mobile-menu-overlay{
        display:block;
        position:fixed;
        z-index:1001;
        inset:0;
        border:0;
        background:rgba(10,25,31,.55);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:.2s ease;
    }

    body.admin-bar .lsp-mobile-menu-overlay{top:46px}

    .lsp-shell.is-mobile-menu-open .lsp-mobile-menu-overlay{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    /* Undo old collapsed mobile rail from earlier builds */
    .lsp-brand div{display:block!important}
    .lsp-brand strong,.lsp-brand small{display:block!important}
    .lsp-nav a{
        display:block!important;
        font-size:14px!important;
        padding:11px 12px!important;
    }
    .lsp-nav a:before{content:none!important}
    .lsp-tenant-chip{display:flex!important}
    .lsp-sidebar-footer small{display:block!important}

    .lsp-main{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        padding:12px!important;
        box-sizing:border-box!important;
    }

    .lsp-topbar{
        display:grid!important;
        grid-template-columns:44px minmax(0,1fr)!important;
        gap:10px!important;
        align-items:center!important;
        width:100%!important;
        margin-bottom:14px!important;
    }

    .lsp-topbar-title{min-width:0!important}

    .lsp-topbar .lsp-status{
        grid-column:1/-1!important;
        width:100%!important;
        max-width:none!important;
        box-sizing:border-box!important;
        text-align:center!important;
        font-size:10px!important;
        padding:7px!important;
    }

    .lsp-mobile-menu-btn{
        display:block!important;
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        padding:10px!important;
        border:1px solid #d6e2e4!important;
        border-radius:11px!important;
        background:#fff!important;
        box-sizing:border-box!important;
    }
    .lsp-mobile-menu-btn span{
        display:block!important;
        width:20px!important;
        height:2px!important;
        margin:4px 0!important;
        background:#142126!important;
        border-radius:2px!important;
    }

    /* Mobile-first content */
    .lsp-main > *,
    .lsp-panel,
    .lsp-salon-identity,
    .lsp-kpis,
    .lsp-form,
    .lsp-form-grid,
    .lsp-form-grid-3,
    .lsp-form-grid-4,
    .lsp-foundation-grid,
    .lsp-config-columns,
    .lsp-native-check-list,
    .lsp-logo-setting{
        width:100%!important;
        max-width:none!important;
        box-sizing:border-box!important;
    }

    .lsp-form-grid,
    .lsp-form-grid-3,
    .lsp-form-grid-4,
    .lsp-foundation-grid,
    .lsp-config-columns,
    .lsp-native-check-list,
    .lsp-logo-setting{
        grid-template-columns:1fr!important;
    }

    .lsp-kpis{
        grid-template-columns:1fr 1fr!important;
        gap:10px!important;
    }

    .lsp-panel{
        padding:14px!important;
        border-radius:14px!important;
    }

    .lsp-panel + .lsp-panel{margin-top:12px!important}

    .lsp-form input:not([type="checkbox"]):not([type="radio"]),
    .lsp-form select,
    .lsp-form textarea{
        width:100%!important;
        max-width:none!important;
        min-height:46px!important;
        font-size:16px!important;
        box-sizing:border-box!important;
    }

    .lsp-native-check-row input[type="checkbox"]{
        width:20px!important;
        height:20px!important;
        min-width:20px!important;
    }

    .lsp-service-card,
    .lsp-staff-card{
        grid-template-columns:1fr!important;
    }

    .lsp-service-card > *,
    .lsp-staff-card > *{
        grid-column:1!important;
    }

    .lsp-inline-form,
    .lsp-inline-service-form{
        grid-template-columns:1fr!important;
    }

    .lsp-hours-row,
    .lsp-hours-row-compact{
        grid-template-columns:1fr 1fr!important;
    }

    .lsp-hours-row > strong,
    .lsp-hours-row > .lsp-check,
    .lsp-hours-row-compact > strong,
    .lsp-hours-row-compact > .lsp-check{
        grid-column:1/-1!important;
    }

    .lsp-salon-identity{
        grid-template-columns:64px minmax(0,1fr)!important;
        gap:12px!important;
        padding:14px!important;
    }
    .lsp-salon-identity-logo img,
    .lsp-salon-identity-placeholder{
        width:64px!important;
        height:64px!important;
    }
    .lsp-salon-identity-copy h2{font-size:20px!important}
}

@media(max-width:480px){
    .lsp-main{padding:9px!important}
    .lsp-kpis{grid-template-columns:1fr!important}
    .lsp-kpis article{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:12px!important;
    }
    .lsp-kpis article span,
    .lsp-kpis article strong{margin:0!important}
    .lsp-hours-row,
    .lsp-hours-row-compact{grid-template-columns:1fr!important}
    .lsp-hours-row > *,
    .lsp-hours-row-compact > *{grid-column:1!important}
}

/* 0.1.0-dev.5l — Public Frontend + Auth Modals */
.lsp-public{min-height:100vh;background:#f7fafb;color:#142126;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lsp-public-inner{width:min(1180px,calc(100% - 32px));margin:0 auto}
.lsp-public-header{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e2eaec}
body.admin-bar .lsp-public-header{top:32px}
.lsp-public-header-inner{min-height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.lsp-public-brand{display:flex;align-items:center;gap:11px;color:#142126;text-decoration:none}
.lsp-public-brand strong,.lsp-public-brand small{display:block}
.lsp-public-brand small{margin-top:2px;color:#6d7a80;font-size:11px}
.lsp-public-nav{display:flex;justify-content:center;gap:23px}
.lsp-public-nav a{color:#39484e;text-decoration:none;font-size:14px;font-weight:700}
.lsp-public-nav a:hover{color:#147f70}
.lsp-public-auth{display:flex;gap:8px}
.lsp-public-menu-btn{display:none}
.lsp-public-hero{padding:74px 0 66px;background:linear-gradient(145deg,#f2faf8,#f7fafb 58%,#ecf6f4)}
.lsp-public-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:center;gap:54px}
.lsp-public-kicker{display:inline-block;color:#147f70;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800}
.lsp-public-hero h1{max-width:720px;margin:12px 0 18px;font-size:52px;line-height:1.03;letter-spacing:-.035em}
.lsp-public-hero-copy>p{max-width:650px;margin:0;color:#607077;font-size:18px;line-height:1.6}
.lsp-public-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}
.lsp-public-big-btn{min-height:50px;padding:0 19px}
.lsp-public-mini-stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:#64747a;font-size:12px}
.lsp-public-mini-stats strong{color:#142126}
.lsp-public-hero-visual{display:flex;justify-content:center}
.lsp-public-hero-art{position:relative;width:min(470px,100%);height:430px;border-radius:34px;background:linear-gradient(145deg,#10292d,#15453f);box-shadow:0 30px 70px rgba(16,41,45,.22);overflow:hidden}
.lsp-public-hero-art:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-80px;top:-70px;background:rgba(23,191,169,.2)}
.lsp-public-hero-art:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;left:-100px;bottom:-120px;background:rgba(255,255,255,.08)}
.lsp-public-art-badge{position:absolute;left:26px;top:26px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800}
.lsp-public-art-card{position:absolute;left:42px;right:42px;bottom:56px;padding:20px;border-radius:18px;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.18)}
.lsp-public-art-card-2{left:130px;right:24px;bottom:185px;background:#e8fbf6}
.lsp-public-art-card span,.lsp-public-art-card strong,.lsp-public-art-card small{display:block}
.lsp-public-art-card span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#6d7a80}
.lsp-public-art-card strong{margin-top:5px;font-size:17px}
.lsp-public-art-card small{margin-top:5px;color:#65757b}
.lsp-public-section{padding:72px 0}
.lsp-public-soft{background:#eef6f5}
.lsp-public-section-head{max-width:720px;margin-bottom:30px}
.lsp-public-section-head h2,.lsp-public-owner-grid h2,.lsp-public-cta h2{margin:8px 0 10px;font-size:36px;line-height:1.15}
.lsp-public-section-head p,.lsp-public-owner-grid p{color:#65757b;line-height:1.6}
.lsp-public-steps,.lsp-public-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lsp-public-steps article,.lsp-public-category-grid article,.lsp-public-benefits>div{padding:22px;border:1px solid #dce6e8;border-radius:16px;background:#fff}
.lsp-public-steps article>span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:#e6f8f3;color:#147f70;font-weight:900}
.lsp-public-steps h3{margin:15px 0 7px}.lsp-public-steps p{margin:0;color:#66767c;line-height:1.55}
.lsp-public-category-grid{grid-template-columns:repeat(4,1fr)}
.lsp-public-category-grid strong,.lsp-public-category-grid span{display:block}
.lsp-public-category-grid span{margin-top:5px;color:#66767c;font-size:13px}
.lsp-public-owner-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
.lsp-public-owner-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.lsp-public-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lsp-public-benefits strong,.lsp-public-benefits span{display:block}.lsp-public-benefits span{margin-top:5px;color:#66767c;font-size:13px;line-height:1.5}
.lsp-public-cta{padding:52px 0;background:#112a2e;color:#fff}
.lsp-public-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.lsp-public-cta h2{margin-bottom:0}.lsp-public-cta .lsp-public-kicker{color:#71e1d0}
.lsp-public-footer{padding:28px 0;background:#0b1c20;color:#c3d1d4}
.lsp-public-footer .lsp-public-inner{display:flex;justify-content:space-between;gap:20px}

/* Auth modals */
body.lsp-modal-lock{overflow:hidden}
.lsp-auth-modal-layer{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease}
.lsp-auth-modal-layer.is-open{opacity:1;visibility:visible;pointer-events:auto}
.lsp-auth-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(7,22,27,.68);backdrop-filter:blur(7px)}
.lsp-auth-modal{position:relative;z-index:2;display:none;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:26px;background:#fff;border:1px solid #dce6e8;border-radius:22px;box-shadow:0 34px 90px rgba(0,0,0,.28);box-sizing:border-box}
.lsp-auth-modal.is-active{display:block}
.lsp-auth-modal-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid #dce6e8;border-radius:10px;background:#fff;font-size:23px;line-height:1;cursor:pointer}
.lsp-auth-modal-head{display:flex;gap:13px;align-items:flex-start;padding-right:42px;margin-bottom:20px}
.lsp-auth-icon{width:44px;height:44px;min-width:44px;border-radius:13px;display:grid;place-items:center;background:#e6f8f3;color:#147f70;font-weight:900}
.lsp-auth-modal-head h2{margin:3px 0 5px;font-size:26px}.lsp-auth-modal-head p{margin:0;color:#66767c;font-size:13px}
.lsp-auth-form{margin-top:0}
.lsp-password-wrap{position:relative}
.lsp-password-wrap input{padding-right:82px!important}
.lsp-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#147f70;font-weight:800;cursor:pointer}
.lsp-auth-switch{text-align:center;margin-top:15px;color:#6b7a80;font-size:13px}
.lsp-auth-switch button{border:0;background:none;padding:0;color:#147f70;font-weight:800;cursor:pointer}

/* Public responsive */
@media(max-width:980px){
  .lsp-public-header-inner{grid-template-columns:auto auto;justify-content:space-between}
  .lsp-public-menu-btn{display:block;width:44px;height:44px;border:1px solid #dce6e8;border-radius:11px;background:#fff;padding:10px}
  .lsp-public-menu-btn span{display:block;height:2px;background:#142126;margin:4px 0}
  .lsp-public-nav,.lsp-public-auth{display:none}
  body.lsp-public-menu-open .lsp-public-nav,
  body.lsp-public-menu-open .lsp-public-auth{display:flex}
  body.lsp-public-menu-open .lsp-public-nav{grid-column:1/-1;flex-direction:column;gap:0;padding-top:10px;border-top:1px solid #e3eaec}
  body.lsp-public-menu-open .lsp-public-nav a{padding:11px 0}
  body.lsp-public-menu-open .lsp-public-auth{grid-column:1/-1;flex-direction:column;padding-bottom:12px}
  .lsp-public-hero-grid{grid-template-columns:1fr;gap:34px}
  .lsp-public-hero-copy{text-align:center}.lsp-public-hero h1{margin-left:auto;margin-right:auto;font-size:46px}
  .lsp-public-hero-copy>p{margin-left:auto;margin-right:auto}.lsp-public-hero-actions,.lsp-public-mini-stats{justify-content:center}
  .lsp-public-steps{grid-template-columns:1fr 1fr}.lsp-public-category-grid{grid-template-columns:1fr 1fr}
  .lsp-public-owner-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  body.admin-bar .lsp-public-header{top:46px}
  .lsp-public-inner{width:min(100% - 20px,1180px)}
  .lsp-public-header-inner{min-height:66px}
  .lsp-public-brand small{display:none}
  .lsp-public-hero{padding:46px 0 42px}
  .lsp-public-hero h1{font-size:37px}
  .lsp-public-hero-copy>p{font-size:16px}
  .lsp-public-hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .lsp-public-hero-actions .lsp-btn{width:100%}
  .lsp-public-mini-stats{display:grid;grid-template-columns:1fr;width:100%;gap:7px}
  .lsp-public-hero-art{height:340px;border-radius:24px}
  .lsp-public-art-card{left:18px;right:18px;bottom:25px}.lsp-public-art-card-2{left:75px;right:15px;bottom:160px}
  .lsp-public-section{padding:48px 0}
  .lsp-public-section-head h2,.lsp-public-owner-grid h2,.lsp-public-cta h2{font-size:29px}
  .lsp-public-steps,.lsp-public-category-grid,.lsp-public-benefits{grid-template-columns:1fr}
  .lsp-public-cta-inner{align-items:flex-start;flex-direction:column}.lsp-public-cta-inner .lsp-btn{width:100%}
  .lsp-public-footer .lsp-public-inner{flex-direction:column}
  .lsp-auth-modal-layer{padding:8px;align-items:end}
  .lsp-auth-modal{width:100%;max-height:92vh;padding:20px;border-radius:20px 20px 0 0}
  .lsp-auth-modal .lsp-form-grid{grid-template-columns:1fr}
}

/* 0.1.0-dev.5m — Public Dynamic Polish */
.lsp-public-hero{
    position:relative;
    background-image:
        linear-gradient(90deg,rgba(247,250,251,.97) 0%,rgba(247,250,251,.93) 48%,rgba(238,248,245,.82) 100%),
        url("../img/hero-salon-soft.svg");
    background-size:cover;
    background-position:center;
}
.lsp-public-hero:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.18));
    pointer-events:none;
}
.lsp-public-hero>.lsp-public-inner{position:relative;z-index:1}
.lsp-public-user-chip{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 11px;
    border-radius:999px;
    background:#edf6f4;
    color:#155f56;
    font-size:12px;
    font-weight:800;
}
.lsp-public-art-profile{bottom:50px}
.lsp-public-art-link{display:inline-block;margin-top:10px;color:#147f70;font-weight:800;font-size:12px;text-decoration:none}
.lsp-public-category-grid{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.lsp-public-category-card,
.lsp-public-benefits>a,
.lsp-public-benefits>button{
    display:block;
    padding:22px;
    border:1px solid #dce6e8;
    border-radius:16px;
    background:#fff;
    color:#142126;
    text-decoration:none;
    text-align:left;
    cursor:pointer;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.lsp-public-category-card:hover,
.lsp-public-benefits>a:hover,
.lsp-public-benefits>button:hover{
    transform:translateY(-2px);
    border-color:#b9e6dd;
    box-shadow:0 14px 32px rgba(17,33,39,.08);
}
.lsp-public-card-icon{
    display:grid!important;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#e7f8f3;
    color:#147f70;
    font-size:20px;
    font-style:normal;
    margin-bottom:14px;
}
.lsp-public-category-card strong,
.lsp-public-category-card span,
.lsp-public-category-card em,
.lsp-public-benefits>a strong,
.lsp-public-benefits>a span,
.lsp-public-benefits>a em,
.lsp-public-benefits>button strong,
.lsp-public-benefits>button span,
.lsp-public-benefits>button em{
    display:block;
}
.lsp-public-category-card>span:not(.lsp-public-card-icon),
.lsp-public-benefits>a>span:not(.lsp-public-card-icon),
.lsp-public-benefits>button>span:not(.lsp-public-card-icon){
    margin-top:5px;
    color:#66767c;
    font-size:13px;
    line-height:1.5;
}
.lsp-public-category-card em,
.lsp-public-benefits>a em,
.lsp-public-benefits>button em{
    margin-top:13px;
    color:#147f70;
    font-size:12px;
    font-weight:800;
}
.lsp-public-benefits>button{
    width:100%;
    font:inherit;
}
.lsp-public-cta,
.lsp-public-cta h2,
.lsp-public-cta .lsp-public-kicker{
    color:#fff!important;
}
.lsp-public-cta .lsp-public-kicker{opacity:.8}
@media(max-width:620px){
    .lsp-public-hero{
        background-position:68% center;
    }
}

/* 0.1.0-dev.5n — supplied WEBP brand assets */
.lsp-public-brand-logo{display:flex;align-items:center;text-decoration:none}
.lsp-public-brand-logo img{display:block;width:100%;max-width:200px;height:auto;object-fit:contain}
.lsp-public-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.lsp-public-footer-logo{display:flex;align-items:center;text-decoration:none}
.lsp-public-footer-logo img{display:block;width:100%;max-width:200px;height:auto;object-fit:contain}
.lsp-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.lsp-public-front-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;white-space:nowrap}
@media(max-width:820px){
  .lsp-topbar-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;width:100%}
  .lsp-public-front-btn{width:100%;box-sizing:border-box;min-height:44px}
  .lsp-topbar-actions .lsp-status{width:100%!important;max-width:none!important;box-sizing:border-box!important}
}
@media(max-width:620px){
  .lsp-public-brand-logo img{max-width:170px}
  .lsp-public-footer-inner{flex-direction:column;align-items:flex-start}
  .lsp-public-footer-logo img{max-width:200px}
}

/* 0.1.0-dev.5n1 — owner logo + public header breathing room */
.lsp-public-brand-logo{
    padding-top:10px;
    padding-bottom:10px;
    box-sizing:border-box;
}
.lsp-owner-brand-logo{
    display:flex;
    align-items:center;
    padding:8px 6px;
}
.lsp-owner-brand-logo img{
    display:block;
    width:100%;
    max-width:200px;
    height:auto;
    object-fit:contain;
}
@media(max-width:820px){
    .lsp-owner-brand-logo img{max-width:180px}
}

/* 0.1.0-dev.5o — Owner Dashboard Mockup UI Baseline */
:root{
 --lsp-owner-bg:#f6f9fa;--lsp-owner-panel:#fff;--lsp-owner-border:#dbe6e8;
 --lsp-owner-text:#132229;--lsp-owner-muted:#65767c;--lsp-owner-teal:#17bfa9;
 --lsp-owner-soft:#e8f7f3;
}
.lsp-shell,.lsp-main{background:var(--lsp-owner-bg)!important}
.lsp-sidebar{background:linear-gradient(180deg,#0d252b,#0b2026)!important;border-right:0!important}
.lsp-owner-brand-logo{min-height:84px;justify-content:flex-start;padding:8px 8px 14px!important}
.lsp-owner-brand-logo img{max-width:200px!important}
.lsp-tenant-chip{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;padding:11px!important}
.lsp-nav{gap:5px!important;margin-top:18px!important}
.lsp-nav a{display:flex!important;align-items:center!important;gap:12px!important;min-height:48px!important;padding:0 12px!important;border-radius:10px!important;color:#e9f2f3!important;font-weight:700!important}
.lsp-nav a:hover{background:rgba(23,191,169,.08)!important;color:#fff!important}
.lsp-nav a.is-active{background:linear-gradient(90deg,rgba(23,191,169,.28),rgba(23,191,169,.15))!important;border-left:3px solid var(--lsp-owner-teal)!important;padding-left:9px!important}
.lsp-nav-ico{width:24px;min-width:24px;text-align:center;font-size:19px;color:#fff}

.lsp-topbar{position:sticky!important;top:0!important;z-index:50!important;background:#fff!important;border-bottom:1px solid var(--lsp-owner-border)!important;margin:0 -24px 22px!important;padding:14px 24px!important;min-height:74px!important}
body.admin-bar .lsp-topbar{top:32px!important}
.lsp-topbar-actions{gap:10px!important}
.lsp-public-front-btn{border:2px solid var(--lsp-owner-teal)!important;color:var(--lsp-owner-text)!important;background:#fff!important;border-radius:10px!important;padding:0 16px!important;min-height:42px!important;font-weight:800!important;box-shadow:0 0 0 3px rgba(23,191,169,.06)!important}
.lsp-topbar-icon-btn{position:relative;width:42px;height:42px;border:1px solid var(--lsp-owner-border);border-radius:10px;background:#fff;color:var(--lsp-owner-text);font-size:19px}
.lsp-topbar-icon-btn i{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#ff5b5b}
.lsp-owner-profile{display:flex;align-items:center;gap:10px;padding-left:4px}
.lsp-owner-profile img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--lsp-owner-border)}
.lsp-owner-profile-copy strong,.lsp-owner-profile-copy span{display:block}
.lsp-owner-profile-copy strong{font-size:13px;color:var(--lsp-owner-text)}
.lsp-owner-profile-copy span{width:max-content;margin-top:2px;padding:3px 7px;border-radius:999px;background:var(--lsp-owner-teal);color:#fff;font-size:9px;font-weight:800}

.lsp-owner-welcome{margin:4px 0 18px}
.lsp-owner-welcome h1{margin:0 0 4px;font-size:31px;line-height:1.08;color:var(--lsp-owner-text)}
.lsp-owner-welcome p{margin:0;color:#35515b;font-size:18px}

.lsp-owner-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;align-items:start}
.lsp-owner-profile-card,.lsp-owner-quick-card{background:var(--lsp-owner-panel);border:1px solid var(--lsp-owner-border);border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(13,37,43,.04)}
.lsp-owner-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.lsp-owner-card-head h2{margin:3px 0 0;font-size:20px;color:var(--lsp-owner-text)}
.lsp-owner-status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#e7f8f3;color:#157164;font-size:10px;font-weight:800}
.lsp-owner-status-pill i{width:7px;height:7px;border-radius:50%;background:#14b88f}

.lsp-owner-salon-profile{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid #e1e9eb;border-radius:14px;background:#fff}
.lsp-owner-salon-logo{width:88px;height:88px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid #e0e7e9;box-sizing:border-box;padding:5px}
.lsp-owner-salon-placeholder{display:grid;place-items:center;background:#111;color:#fff;font-size:34px;font-weight:700;padding:0}
.lsp-owner-salon-copy strong{display:block;margin-bottom:10px;font-size:18px;color:var(--lsp-owner-text)}
.lsp-owner-type-chip{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;background:#edf3f8;color:#405b6b;font-size:11px;font-weight:700}
.lsp-owner-location{display:flex;align-items:center;gap:6px;margin-top:10px;color:#425b66;font-size:12px}
.lsp-owner-location b{color:#477083}
.lsp-owner-additional{margin-top:13px;padding-top:13px;border-top:1px solid #e5ecee}
.lsp-owner-additional>span{display:block;margin-bottom:8px;color:var(--lsp-owner-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.lsp-owner-additional div{display:flex;flex-wrap:wrap;gap:6px}
.lsp-owner-additional em{padding:5px 8px;border-radius:999px;background:#f2f7f7;color:#53666d;font-size:10px;font-style:normal}
.lsp-owner-profile-edit{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:11px 12px;border:1px solid var(--lsp-owner-border);border-radius:10px;color:var(--lsp-owner-text);text-decoration:none;font-size:12px;font-weight:800}

.lsp-owner-quick-actions{display:grid;gap:9px}
.lsp-owner-quick-actions a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:52px;padding:8px 11px;border:1px solid #d9e4e6;border-radius:10px;background:#fff;color:var(--lsp-owner-text);text-decoration:none;font-weight:700;font-size:13px;transition:.15s ease}
.lsp-owner-quick-actions a:hover{border-color:#a9ddd3;background:#f5fbf9;transform:translateX(2px)}
.lsp-owner-quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e7f8f3;color:#10a08f;font-size:18px}

.lsp-owner-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.lsp-owner-kpi-strip a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;background:#fff;border:1px solid var(--lsp-owner-border);border-radius:14px;color:var(--lsp-owner-text);text-decoration:none;box-shadow:0 4px 14px rgba(13,37,43,.035)}
.lsp-owner-kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e7f8f3;color:#0ea08f;font-size:19px}
.lsp-owner-kpi-strip small,.lsp-owner-kpi-strip strong{display:block}
.lsp-owner-kpi-strip small{color:var(--lsp-owner-muted);font-size:10px}
.lsp-owner-kpi-strip strong{margin-top:2px;font-size:20px}

.lsp-panel,.lsp-staff-config{border-radius:16px!important;border-color:var(--lsp-owner-border)!important;box-shadow:0 5px 16px rgba(13,37,43,.035)!important}
.lsp-btn{border-radius:9px!important}

@media(max-width:1100px){
 .lsp-owner-dashboard-grid{grid-template-columns:1fr}
 .lsp-owner-kpi-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 body.admin-bar .lsp-topbar{top:46px!important}
 .lsp-topbar{margin:0 -12px 16px!important;padding:10px 12px!important}
 .lsp-topbar-actions{grid-column:1/-1;grid-template-columns:1fr auto!important}
 .lsp-topbar-icon-btn{display:none}
 .lsp-owner-profile{justify-self:end}
 .lsp-owner-profile-card,.lsp-owner-quick-card{padding:14px}
}
@media(max-width:560px){
 .lsp-owner-welcome h1{font-size:26px}.lsp-owner-welcome p{font-size:15px}
 .lsp-owner-salon-profile{grid-template-columns:72px minmax(0,1fr);padding:11px}
 .lsp-owner-salon-logo{width:72px;height:72px}
 .lsp-owner-kpi-strip{grid-template-columns:1fr}
 .lsp-owner-profile-copy{display:none}
}

/* 0.1.0-dev.5o1 — Dark owner header + auth/profile icon polish */

/* Dark owner header */
.lsp-topbar{
  background:linear-gradient(180deg,#0d252b 0%,#102f36 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.lsp-topbar-title h1,
.lsp-topbar-title .lsp-eyebrow{
  color:#fff!important;
}
.lsp-topbar-title .lsp-eyebrow{
  opacity:.72;
}
.lsp-public-front-btn{
  background:transparent!important;
  color:#fff!important;
  border-color:#24d8c0!important;
  box-shadow:0 0 0 3px rgba(36,216,192,.07)!important;
}
.lsp-public-front-btn:hover{
  background:rgba(23,191,169,.12)!important;
  color:#fff!important;
}
.lsp-topbar-icon-btn{
  background:transparent!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.lsp-topbar-icon-btn:hover{
  background:rgba(255,255,255,.06)!important;
}
.lsp-owner-profile{
  display:flex;
  align-items:center;
  gap:10px;
  padding:5px 8px;
  border-radius:10px;
  color:#fff;
  text-decoration:none;
  transition:.15s ease;
}
.lsp-owner-profile:hover{
  background:rgba(255,255,255,.06);
}
.lsp-owner-profile-copy strong{
  color:#fff!important;
}
.lsp-owner-profile-copy span{
  background:#17bfa9!important;
}
.lsp-owner-profile-chevron{
  width:18px;
  height:18px;
  color:#dce7e9;
  flex:0 0 auto;
}

/* Sidebar logout SVG */
.lsp-logout-link{
  display:flex!important;
  align-items:center;
  gap:8px;
  color:#dce7e9!important;
  text-decoration:none!important;
  font-weight:700;
}
.lsp-logout-link:hover{
  color:#fff!important;
}
.lsp-logout-link svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

/* Popup auth SVG icons */
.lsp-auth-icon{
  display:grid;
  place-items:center;
}
.lsp-auth-icon svg{
  width:24px;
  height:24px;
  color:#147f70;
}
@media(max-width:820px){
  .lsp-topbar-title h1,
  .lsp-topbar-title .lsp-eyebrow{
    color:#fff!important;
  }
}

/* 0.1.0-dev.5o3 — Public header logo spacing isolation hotfix
   Keep navigation items on one baseline; apply breathing room only to logo image. */
.lsp-public-brand-logo{
    padding-top:0!important;
    padding-bottom:0!important;
}
.lsp-public-brand-logo img{
    margin-top:10px!important;
    margin-bottom:10px!important;
}

/* 0.1.0-dev.5o4 — owner header uses salon profile logo, never Gravatar */
.lsp-owner-profile .lsp-owner-header-salon-logo{
    width:38px;
    height:38px;
    border-radius:9px;
    object-fit:contain;
    background:#fff;
    padding:2px;
    box-sizing:border-box;
    border:2px solid rgba(255,255,255,.9);
    box-shadow:0 0 0 1px rgba(255,255,255,.14);
}
.lsp-owner-header-salon-placeholder{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:9px;
    background:#17bfa9;
    color:#fff;
    font-size:16px;
    font-weight:800;
    border:2px solid rgba(255,255,255,.16);
    box-sizing:border-box;
}

/* 0.1.0-dev.5o5 — FINAL public header navigation alignment hotfix
   Previous fix still let logo spacing influence the flex row.
   Header owns vertical breathing room; logo and ALL nav anchors stay centered. */
.lsp-public-header .lsp-public-inner{
    padding-top:10px!important;
    padding-bottom:10px!important;
    align-items:center!important;
}
.lsp-public-brand-logo{
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
    align-self:center!important;
}
.lsp-public-brand-logo img{
    margin-top:0!important;
    margin-bottom:0!important;
    display:block!important;
}
.lsp-public-nav{
    align-items:center!important;
}
.lsp-public-nav > a,
.lsp-public-nav > button{
    margin-top:0!important;
    margin-bottom:0!important;
    align-self:center!important;
}

/* 0.1.0-dev.5p — homepage category + owner KPI icon polish */
.lsp-public-category-grid span{
    margin-top:5px;
    color:#66767c;
    font-size:22px!important;
}
.lsp-public-category-grid .lsp-public-category-icon{
    display:inline-grid!important;
    place-items:center;
    width:38px;
    height:38px;
    margin-top:5px!important;
    color:#17bfa9!important;
}
.lsp-public-category-grid .lsp-public-category-icon svg{
    display:block;
    width:22px;
    height:22px;
}

/* Za vlasnike salona: keep current icon meaning, only increase icon size */
.lsp-public-owner-grid .lsp-public-card-icon{
    font-size:22px!important;
    line-height:1!important;
}
.lsp-public-owner-grid .lsp-public-card-icon svg{
    width:22px!important;
    height:22px!important;
}

/* 0.1.0-dev.5p1 — Premium compact homepage category cards */
.lsp-public-category-grid{gap:14px!important}
.lsp-public-category-grid .lsp-public-category-card-premium{
 position:relative;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto;
 align-items:center;column-gap:13px;min-height:86px;padding:15px 16px!important;
 border:1px solid #d9e5e7!important;border-radius:15px!important;background:#fff!important;
 box-shadow:0 8px 24px rgba(13,37,43,.07),0 2px 6px rgba(13,37,43,.035)!important;
 text-align:left!important;text-decoration:none!important;overflow:hidden;
 transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.lsp-public-category-grid .lsp-public-category-card-premium:before{
 content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 4px 4px 0;
 background:#17bfa9;opacity:.55;transition:.18s ease
}
.lsp-public-category-grid .lsp-public-category-card-premium:hover{
 transform:translateY(-2px);border-color:#9fded4!important;background:#fcfefe!important;
 box-shadow:0 13px 30px rgba(13,37,43,.11),0 3px 8px rgba(13,37,43,.045)!important
}
.lsp-public-category-grid .lsp-public-category-card-premium:hover:before{top:10px;bottom:10px;opacity:1}
.lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{
 display:grid!important;place-items:center;width:50px!important;height:50px!important;margin:0!important;
 border:1px solid #ccebe5;border-radius:13px;background:#eaf8f5;color:#109d8b!important;transition:.18s ease
}
.lsp-public-category-grid .lsp-public-category-card-premium:hover .lsp-public-category-icon{
 background:#dcf5ef;border-color:#9fded4;transform:scale(1.03)
}
.lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon svg{width:25px!important;height:25px!important}
.lsp-public-category-grid .lsp-public-category-copy{
 display:block!important;min-width:0;margin:0!important;color:inherit!important
}
.lsp-public-category-grid .lsp-public-category-copy strong{
 display:block;margin:0 0 5px!important;color:#17282e!important;font-size:16px!important;line-height:1.2;font-weight:800!important
}
.lsp-public-category-grid .lsp-public-category-copy small{
 display:block;margin:0!important;color:#748287!important;font-size:11px!important;line-height:1.3;font-weight:500
}
.lsp-public-category-grid .lsp-public-category-open{
 display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:34px;margin:0!important;
 padding:0 11px;border:1px solid #cbdadd;border-radius:9px;background:#fff;color:#304a53!important;
 font-size:11px!important;line-height:1;font-weight:800;white-space:nowrap;transition:.18s ease
}
.lsp-public-category-grid .lsp-public-category-open b{color:#159c8b;font-size:14px;transition:transform .18s ease}
.lsp-public-category-grid .lsp-public-category-card-premium:hover .lsp-public-category-open{
 border-color:#8fd5ca;background:#f0faf8;color:#173f42!important
}
.lsp-public-category-grid .lsp-public-category-card-premium:hover .lsp-public-category-open b{transform:translateX(2px)}
@media(max-width:820px){
 .lsp-public-category-grid .lsp-public-category-card-premium{
  min-height:82px;grid-template-columns:48px minmax(0,1fr) auto;padding:13px 14px!important
 }
 .lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{width:46px!important;height:46px!important}
}
@media(max-width:560px){
 .lsp-public-category-grid{grid-template-columns:1fr!important;gap:10px!important}
 .lsp-public-category-grid .lsp-public-category-card-premium{
  grid-template-columns:46px minmax(0,1fr) auto;min-height:76px;column-gap:11px;padding:12px!important;border-radius:13px!important
 }
 .lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{width:44px!important;height:44px!important;border-radius:11px}
 .lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon svg{width:23px!important;height:23px!important}
 .lsp-public-category-grid .lsp-public-category-copy strong{font-size:15px!important}
 .lsp-public-category-grid .lsp-public-category-copy small{font-size:10px!important}
 .lsp-public-category-grid .lsp-public-category-open{min-height:32px;padding:0 9px;font-size:10px!important}
}

/* 0.1.0-dev.5p2 — ultra-compact category KPI composition
   Preserve premium border/shadow/hover from dev.5p1. */
.lsp-public-category-grid .lsp-public-category-card-premium{
    grid-template-columns:50px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    row-gap:5px!important;
    min-height:68px!important;
    padding:10px 14px!important;
}
.lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:start!important;
    width:46px!important;
    height:46px!important;
    margin:0!important;
}
.lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon svg{
    width:24px!important;
    height:24px!important;
}
.lsp-public-category-grid .lsp-public-category-copy{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
}
.lsp-public-category-grid .lsp-public-category-copy strong{
    margin:0!important;
    font-size:16px!important;
    line-height:1.15!important;
}
.lsp-public-category-grid .lsp-public-category-copy small{
    display:none!important;
}
.lsp-public-category-grid .lsp-public-category-open{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:start!important;
    min-height:27px!important;
    padding:0 9px!important;
    font-size:10px!important;
    border-radius:8px!important;
}
.lsp-public-category-grid .lsp-public-category-open::before{
    content:"Pogledaj";
    margin-right:2px;
}
.lsp-public-category-grid .lsp-public-category-open b{
    font-size:13px!important;
}

/* Keep the accent bar proportional to the shorter card. */
.lsp-public-category-grid .lsp-public-category-card-premium::before{
    top:10px!important;
    bottom:10px!important;
}
.lsp-public-category-grid .lsp-public-category-card-premium:hover::before{
    top:7px!important;
    bottom:7px!important;
}

@media(max-width:820px){
    .lsp-public-category-grid .lsp-public-category-card-premium{
        grid-template-columns:48px minmax(0,1fr)!important;
        min-height:66px!important;
        padding:9px 12px!important;
    }
    .lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{
        width:44px!important;
        height:44px!important;
    }
}
@media(max-width:560px){
    .lsp-public-category-grid .lsp-public-category-card-premium{
        grid-template-columns:46px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        min-height:64px!important;
        padding:9px 11px!important;
        row-gap:4px!important;
    }
    .lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{
        width:42px!important;
        height:42px!important;
    }
    .lsp-public-category-grid .lsp-public-category-copy strong{
        font-size:14px!important;
    }
    .lsp-public-category-grid .lsp-public-category-open{
        min-height:25px!important;
        padding:0 8px!important;
        font-size:9px!important;
    }
}

/* 0.1.0-dev.5p3 — equal-height category KPI rows */
.lsp-public-category-grid{
    align-items:stretch!important;
}
.lsp-public-category-grid .lsp-public-category-card-premium{
    height:100%!important;
    min-height:72px!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
}
@media(max-width:820px){
    .lsp-public-category-grid .lsp-public-category-card-premium{
        min-height:70px!important;
    }
}
@media(max-width:560px){
    .lsp-public-category-grid .lsp-public-category-card-premium{
        min-height:68px!important;
    }
}

/* 0.1.0-dev.5p4 — TRUE fixed-height category KPI hotfix
   dev.5p3 used min-height/100%, which equalized only cards inside the same CSS-grid row.
   This sets one real card height for every row. */
.lsp-public-category-grid{
    align-items:start!important;
}
.lsp-public-category-grid .lsp-public-category-card-premium{
    height:82px!important;
    min-height:82px!important;
    max-height:82px!important;
    box-sizing:border-box!important;
    align-self:start!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    grid-template-rows:minmax(20px,auto) 27px!important;
    row-gap:4px!important;
    padding:10px 12px!important;
}
.lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{
    width:42px!important;
    height:42px!important;
}
.lsp-public-category-grid .lsp-public-category-copy{
    min-height:20px!important;
    align-self:center!important;
}
.lsp-public-category-grid .lsp-public-category-copy strong{
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.08!important;
}
.lsp-public-category-grid .lsp-public-category-open{
    height:27px!important;
    min-height:27px!important;
    align-self:end!important;
}

/* Phone cards remain equal as well, only slightly taller for touch comfort. */
@media(max-width:560px){
    .lsp-public-category-grid .lsp-public-category-card-premium{
        height:78px!important;
        min-height:78px!important;
        max-height:78px!important;
        grid-template-columns:44px minmax(0,1fr)!important;
        grid-template-rows:minmax(20px,auto) 25px!important;
        padding:9px 11px!important;
    }
    .lsp-public-category-grid .lsp-public-category-card-premium .lsp-public-category-icon{
        width:40px!important;
        height:40px!important;
    }
}

/* 0.1.0-dev.5p6 — revert width mistake; set category KPI fixed height to 120px */
.lsp-public-category-grid .lsp-public-category-card-premium{
    height:120px!important;
    min-height:120px!important;
    max-height:120px!important;
}
@media(max-width:560px){
    .lsp-public-category-grid .lsp-public-category-card-premium{
        height:120px!important;
        min-height:120px!important;
        max-height:120px!important;
    }
}

/* 0.1.0-dev.5q — Contact Foundation */
.lsp-public-contact-cta{
    color:#fff;
}
.lsp-public-contact-cta-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:32px;
}
.lsp-public-contact-cta p{
    max-width:720px;
    margin:8px 0 0;
    color:#c9d9dc;
    line-height:1.6;
}
.lsp-public-contact-actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.lsp-btn-on-dark{
    border-color:rgba(255,255,255,.28)!important;
    background:transparent!important;
    color:#fff!important;
}
.lsp-btn-on-dark:hover{
    border-color:#17bfa9!important;
    background:rgba(23,191,169,.1)!important;
}
.lsp-public-nav .is-current{
    color:#147f70!important;
}

/* Contact page hero */
.lsp-contact-hero{
    padding:72px 0 54px;
    background:
        linear-gradient(100deg,rgba(247,250,251,.98),rgba(236,248,245,.88)),
        url("../img/hero-salon-soft.svg");
    background-size:cover;
    background-position:center;
    border-bottom:1px solid #e1eaec;
}
.lsp-contact-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);
    align-items:center;
    gap:44px;
}
.lsp-contact-hero h1{
    max-width:720px;
    margin:10px 0 14px;
    color:#142126;
    font-family:Georgia,"Times New Roman",serif;
    font-size:48px;
    line-height:1.05;
    letter-spacing:-.025em;
}
.lsp-contact-hero p{
    max-width:700px;
    margin:0;
    color:#63757c;
    font-size:17px;
    line-height:1.65;
}
.lsp-contact-hero-card{
    display:flex;
    align-items:center;
    gap:15px;
    padding:20px;
    border:1px solid #cfe4e1;
    border-radius:18px;
    background:rgba(255,255,255,.9);
    box-shadow:0 18px 44px rgba(13,37,43,.09);
}
.lsp-contact-hero-icon{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:15px;
    background:#e6f8f3;
    color:#109c8b;
}
.lsp-contact-hero-icon svg{
    width:27px;
    height:27px;
}
.lsp-contact-hero-card strong,
.lsp-contact-hero-card span,
.lsp-contact-hero-card small{
    display:block;
}
.lsp-contact-hero-card strong{
    color:#17282e;
    font-size:15px;
}
.lsp-contact-hero-card>div>span{
    margin-top:5px;
    color:#147f70;
    font-size:13px;
    font-weight:800;
}
.lsp-contact-hero-card small{
    margin-top:6px;
    color:#728187;
    line-height:1.45;
}

.lsp-contact-section{
    background:#f7fafb;
}
.lsp-contact-grid{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
    align-items:start;
    gap:28px;
}
.lsp-contact-info{
    position:sticky;
    top:108px;
}
.lsp-contact-info h2,
.lsp-contact-form-head h2{
    margin:7px 0 10px;
    color:#17282e;
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;
    line-height:1.15;
}
.lsp-contact-info>p,
.lsp-contact-form-head p{
    margin:0;
    color:#6a7a80;
    line-height:1.6;
}
.lsp-contact-info-cards{
    display:grid;
    gap:10px;
    margin-top:22px;
}
.lsp-contact-info-cards>div{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    column-gap:10px;
    padding:14px;
    border:1px solid #dbe6e8;
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 15px rgba(13,37,43,.035);
}
.lsp-contact-info-icon{
    grid-row:1 / span 2;
    display:grid!important;
    place-items:center;
    width:36px;
    height:36px;
    margin:0!important;
    border-radius:10px;
    background:#e7f8f3;
    color:#119e8c!important;
    font-size:17px!important;
}
.lsp-contact-info-cards strong{
    display:block;
    color:#1a2c32;
    font-size:12px;
}
.lsp-contact-info-cards a,
.lsp-contact-info-cards>div>span:not(.lsp-contact-info-icon){
    margin-top:3px;
    color:#607279;
    font-size:11px;
    line-height:1.4;
    text-decoration:none;
}

.lsp-contact-form-card{
    padding:24px;
    border:1px solid #d9e5e7;
    border-radius:18px;
    background:#fff;
    box-shadow:0 14px 36px rgba(13,37,43,.075);
}
.lsp-contact-form{
    margin-top:20px;
}
.lsp-contact-form textarea{
    min-height:150px;
    resize:vertical;
}
.lsp-contact-submit{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:0 18px!important;
}
.lsp-contact-submit svg{
    width:18px;
    height:18px;
}
.lsp-contact-notice{
    margin-top:16px;
    padding:12px 14px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
}
.lsp-contact-notice.is-success{
    border:1px solid #b7e7da;
    background:#ebfaf5;
    color:#14715f;
}
.lsp-contact-notice.is-error{
    border:1px solid #f0c3c3;
    background:#fff3f3;
    color:#9d3737;
}
.lsp-contact-hp{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

@media(max-width:900px){
    .lsp-public-contact-cta-grid,
    .lsp-contact-hero-grid,
    .lsp-contact-grid{
        grid-template-columns:1fr;
    }
    .lsp-public-contact-actions{
        justify-content:flex-start;
    }
    .lsp-contact-info{
        position:static;
    }
}
@media(max-width:620px){
    .lsp-contact-hero{
        padding:46px 0 38px;
    }
    .lsp-contact-hero h1{
        font-size:36px;
    }
    .lsp-contact-form-card{
        padding:16px;
        border-radius:15px;
    }
    .lsp-contact-info h2,
    .lsp-contact-form-head h2{
        font-size:27px;
    }
    .lsp-public-contact-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }
    .lsp-public-contact-actions .lsp-btn{
        width:100%;
        box-sizing:border-box;
    }
}

/* =========================================================
   0.1.0-dev.5r — Mobile UX Baseline
   Built on confirmed dev.5q. Desktop behavior preserved.
   ========================================================= */

/* Generic mobile safety */
html,body{
    max-width:100%;
}
.lsp-shell,
.lsp-main,
.lsp-public,
.lsp-public-inner,
.lsp-contact-page{
    min-width:0;
}
.lsp-panel,
.lsp-owner-profile-card,
.lsp-owner-quick-card,
.lsp-contact-form-card,
.lsp-contact-info,
.lsp-public-category-card{
    box-sizing:border-box;
}

/* ---------- Owner app: tablet / mobile ---------- */
@media(max-width:820px){

    body.lsp-mobile-lock,
    body.lsp-no-scroll{
        overflow:hidden!important;
        touch-action:none;
    }

    /* App shell */
    body.lsp-app-page .lsp-shell{
        display:block!important;
        width:100%!important;
        min-height:100vh!important;
        overflow-x:hidden!important;
    }

    /* Drawer */
    .lsp-sidebar{
        position:fixed!important;
        z-index:2100!important;
        left:0!important;
        top:0!important;
        bottom:0!important;
        width:min(86vw,320px)!important;
        height:100dvh!important;
        min-height:100dvh!important;
        padding:14px 12px 18px!important;
        transform:translateX(-105%)!important;
        transition:transform .22s ease!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        box-shadow:18px 0 44px rgba(0,0,0,.28)!important;
    }

    body.admin-bar .lsp-sidebar{
        top:46px!important;
        height:calc(100dvh - 46px)!important;
        min-height:calc(100dvh - 46px)!important;
    }

    .lsp-shell.is-mobile-menu-open .lsp-sidebar{
        transform:translateX(0)!important;
    }

    .lsp-mobile-menu-overlay{
        display:block!important;
        position:fixed!important;
        z-index:2050!important;
        inset:0!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:rgba(5,18,22,.62)!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transition:.2s ease!important;
    }

    body.admin-bar .lsp-mobile-menu-overlay{
        top:46px!important;
    }

    .lsp-shell.is-mobile-menu-open .lsp-mobile-menu-overlay{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
    }

    /* Drawer branding */
    .lsp-owner-brand-logo{
        min-height:auto!important;
        margin-bottom:8px!important;
        padding:8px 8px 12px!important;
    }

    .lsp-owner-brand-logo img{
        width:auto!important;
        max-width:190px!important;
        max-height:68px!important;
    }

    .lsp-tenant-chip{
        display:flex!important;
        margin-bottom:12px!important;
    }

    .lsp-nav{
        display:grid!important;
        gap:4px!important;
        margin-top:12px!important;
    }

    .lsp-nav a{
        display:flex!important;
        align-items:center!important;
        gap:12px!important;
        width:100%!important;
        min-height:48px!important;
        padding:0 12px!important;
        box-sizing:border-box!important;
        font-size:14px!important;
    }

    .lsp-nav-ico{
        width:24px!important;
        min-width:24px!important;
        font-size:19px!important;
    }

    .lsp-sidebar-footer{
        margin-top:18px!important;
    }

    .lsp-logout-link{
        min-height:46px!important;
        padding:0 10px!important;
        border-radius:9px!important;
    }

    /* Main workspace */
    .lsp-main{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
        padding:0 12px 18px!important;
        overflow-x:hidden!important;
        box-sizing:border-box!important;
    }

    /* Dark mobile topbar */
    .lsp-topbar{
        position:sticky!important;
        top:0!important;
        z-index:120!important;
        display:grid!important;
        grid-template-columns:44px minmax(0,1fr) auto!important;
        align-items:center!important;
        gap:9px!important;
        width:calc(100% + 24px)!important;
        min-height:64px!important;
        margin:0 -12px 16px!important;
        padding:9px 12px!important;
        background:linear-gradient(180deg,#0d252b,#102f36)!important;
        border-bottom:1px solid rgba(255,255,255,.08)!important;
        box-sizing:border-box!important;
    }

    body.admin-bar .lsp-topbar{
        top:46px!important;
    }

    .lsp-mobile-menu-btn{
        display:grid!important;
        place-items:center!important;
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        padding:10px!important;
        border:1px solid rgba(255,255,255,.16)!important;
        border-radius:11px!important;
        background:rgba(255,255,255,.04)!important;
        box-sizing:border-box!important;
    }

    .lsp-mobile-menu-btn span{
        display:block!important;
        width:20px!important;
        height:2px!important;
        margin:2px 0!important;
        border-radius:2px!important;
        background:#fff!important;
    }

    .lsp-topbar-title{
        min-width:0!important;
        overflow:hidden!important;
    }

    .lsp-topbar-title h1{
        margin:2px 0 0!important;
        color:#fff!important;
        font-size:17px!important;
        line-height:1.1!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    .lsp-topbar-title .lsp-eyebrow{
        color:#c7d6d9!important;
        font-size:9px!important;
        letter-spacing:.08em!important;
    }

    /* Mobile header actions: profile stays visible, secondary actions compact */
    .lsp-topbar-actions{
        display:flex!important;
        grid-column:auto!important;
        align-items:center!important;
        justify-content:flex-end!important;
        gap:6px!important;
        width:auto!important;
    }

    .lsp-public-front-btn{
        display:none!important;
    }

    .lsp-topbar-icon-btn{
        display:none!important;
    }

    .lsp-owner-profile{
        display:flex!important;
        padding:3px!important;
        border-radius:10px!important;
    }

    .lsp-owner-profile .lsp-owner-header-salon-logo,
    .lsp-owner-header-salon-placeholder{
        width:38px!important;
        height:38px!important;
        flex:0 0 38px!important;
    }

    .lsp-owner-profile-copy,
    .lsp-owner-profile-chevron{
        display:none!important;
    }

    /* Dashboard */
    .lsp-owner-welcome{
        margin:0 0 14px!important;
        padding:0 2px!important;
    }

    .lsp-owner-welcome h1{
        font-size:26px!important;
    }

    .lsp-owner-welcome p{
        margin-top:4px!important;
        font-size:15px!important;
    }

    .lsp-owner-dashboard-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
        width:100%!important;
    }

    .lsp-owner-profile-card,
    .lsp-owner-quick-card{
        width:100%!important;
        max-width:none!important;
        padding:14px!important;
        border-radius:14px!important;
        box-sizing:border-box!important;
    }

    .lsp-owner-card-head{
        margin-bottom:12px!important;
    }

    .lsp-owner-card-head h2{
        font-size:18px!important;
    }

    .lsp-owner-salon-profile{
        grid-template-columns:70px minmax(0,1fr)!important;
        gap:12px!important;
        padding:11px!important;
        border-radius:12px!important;
    }

    .lsp-owner-salon-logo{
        width:70px!important;
        height:70px!important;
        border-radius:11px!important;
    }

    .lsp-owner-salon-copy strong{
        margin-bottom:7px!important;
        font-size:16px!important;
    }

    .lsp-owner-type-chip{
        max-width:100%!important;
        white-space:normal!important;
        line-height:1.25!important;
    }

    .lsp-owner-additional{
        margin-top:10px!important;
        padding-top:10px!important;
    }

    .lsp-owner-profile-edit{
        min-height:44px!important;
        box-sizing:border-box!important;
    }

    .lsp-owner-quick-actions{
        gap:8px!important;
    }

    .lsp-owner-quick-actions a{
        min-height:52px!important;
        border-radius:10px!important;
    }

    /* KPI strip */
    .lsp-owner-kpi-strip{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:9px!important;
        width:100%!important;
        margin-top:12px!important;
    }

    .lsp-owner-kpi-strip a{
        min-width:0!important;
        min-height:78px!important;
        grid-template-columns:38px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        gap:7px!important;
        padding:11px!important;
        border-radius:12px!important;
        box-sizing:border-box!important;
    }

    .lsp-owner-kpi-icon{
        grid-row:1 / span 2!important;
        width:38px!important;
        height:38px!important;
        font-size:17px!important;
    }

    .lsp-owner-kpi-strip a>div{
        min-width:0!important;
    }

    .lsp-owner-kpi-strip a>b{
        display:none!important;
    }

    .lsp-owner-kpi-strip small{
        font-size:9px!important;
    }

    .lsp-owner-kpi-strip strong{
        margin-top:2px!important;
        font-size:18px!important;
    }

    /* All owner modules stack full width */
    .lsp-panel,
    .lsp-form,
    .lsp-form-grid,
    .lsp-form-grid-3,
    .lsp-form-grid-4,
    .lsp-foundation-grid,
    .lsp-config-columns,
    .lsp-native-check-list,
    .lsp-logo-setting,
    .lsp-staff-config,
    .lsp-service-card,
    .lsp-staff-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .lsp-form-grid,
    .lsp-form-grid-3,
    .lsp-form-grid-4,
    .lsp-foundation-grid,
    .lsp-config-columns,
    .lsp-native-check-list,
    .lsp-logo-setting,
    .lsp-inline-form,
    .lsp-inline-service-form,
    .lsp-service-card,
    .lsp-staff-card{
        grid-template-columns:1fr!important;
    }

    .lsp-panel{
        padding:14px!important;
        border-radius:14px!important;
    }

    .lsp-panel-head{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:8px!important;
    }

    .lsp-panel-head h2{
        font-size:18px!important;
    }

    .lsp-panel-head .lsp-badge{
        align-self:flex-start!important;
    }

    /* Touch form controls */
    .lsp-form input:not([type="checkbox"]):not([type="radio"]),
    .lsp-form select,
    .lsp-form textarea{
        width:100%!important;
        max-width:none!important;
        min-height:46px!important;
        padding-left:12px!important;
        padding-right:12px!important;
        font-size:16px!important;
        box-sizing:border-box!important;
    }

    .lsp-form textarea{
        min-height:120px!important;
    }

    .lsp-btn{
        min-height:44px!important;
        box-sizing:border-box!important;
    }

    .lsp-actions-row{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    .lsp-actions-row .lsp-btn{
        width:100%!important;
    }

    .lsp-native-check-row{
        min-height:48px!important;
    }

    /* Working hours */
    .lsp-hours-row,
    .lsp-hours-row-compact{
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }

    .lsp-hours-row>strong,
    .lsp-hours-row>.lsp-check,
    .lsp-hours-row-compact>strong,
    .lsp-hours-row-compact>.lsp-check{
        grid-column:1 / -1!important;
    }

    /* Tables: scroll inside card, never page */
    .lsp-table-wrap,
    .lsp-table-scroll,
    .lsp-panel table{
        max-width:100%!important;
    }

    .lsp-table-wrap,
    .lsp-table-scroll{
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .lsp-panel table{
        min-width:640px;
    }
}

/* Small phones */
@media(max-width:520px){

    .lsp-main{
        padding-left:9px!important;
        padding-right:9px!important;
    }

    .lsp-topbar{
        width:calc(100% + 18px)!important;
        margin-left:-9px!important;
        margin-right:-9px!important;
        padding-left:9px!important;
        padding-right:9px!important;
    }

    .lsp-owner-kpi-strip{
        grid-template-columns:1fr!important;
    }

    .lsp-owner-kpi-strip a{
        min-height:64px!important;
    }

    .lsp-owner-salon-profile{
        grid-template-columns:62px minmax(0,1fr)!important;
    }

    .lsp-owner-salon-logo{
        width:62px!important;
        height:62px!important;
    }

    .lsp-owner-status-pill{
        font-size:9px!important;
        padding:5px 7px!important;
    }

    .lsp-hours-row,
    .lsp-hours-row-compact{
        grid-template-columns:1fr!important;
    }

    .lsp-hours-row>*,
    .lsp-hours-row-compact>*{
        grid-column:1!important;
    }
}

/* ---------- Public frontend mobile polish ---------- */
@media(max-width:620px){

    .lsp-public-header-inner{
        min-height:66px!important;
    }

    .lsp-public-brand-logo img{
        max-width:165px!important;
    }

    .lsp-public-hero{
        padding-top:42px!important;
        padding-bottom:38px!important;
    }

    .lsp-public-hero h1{
        font-size:35px!important;
        line-height:1.06!important;
    }

    .lsp-public-hero-copy>p{
        font-size:15px!important;
        line-height:1.55!important;
    }

    .lsp-public-section{
        padding-top:44px!important;
        padding-bottom:44px!important;
    }

    .lsp-public-section-head{
        margin-bottom:22px!important;
    }

    .lsp-public-section-head h2,
    .lsp-public-owner-grid h2,
    .lsp-public-cta h2{
        font-size:28px!important;
    }

    /* Homepage salon category cards: full width on phone */
    .lsp-public-category-grid{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .lsp-public-category-grid .lsp-public-category-card-premium{
        width:100%!important;
        max-width:none!important;
        height:120px!important;
        min-height:120px!important;
        box-sizing:border-box!important;
    }

    /* Owner teaser */
    .lsp-public-benefits{
        grid-template-columns:1fr!important;
    }

    .lsp-public-benefits>a,
    .lsp-public-benefits>button{
        min-height:92px!important;
    }

    /* Public CTA */
    .lsp-public-contact-cta-grid{
        grid-template-columns:1fr!important;
        gap:20px!important;
    }

    .lsp-public-contact-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        width:100%!important;
    }

    .lsp-public-contact-actions .lsp-btn{
        width:100%!important;
    }

    /* Contact page */
    .lsp-contact-hero{
        padding:42px 0 34px!important;
    }

    .lsp-contact-hero-grid{
        grid-template-columns:1fr!important;
        gap:20px!important;
    }

    .lsp-contact-hero h1{
        font-size:34px!important;
    }

    .lsp-contact-hero p{
        font-size:15px!important;
    }

    .lsp-contact-hero-card{
        padding:15px!important;
        border-radius:15px!important;
    }

    .lsp-contact-grid{
        grid-template-columns:1fr!important;
        gap:20px!important;
    }

    .lsp-contact-form-card{
        padding:15px!important;
    }

    .lsp-contact-form .lsp-form-grid{
        grid-template-columns:1fr!important;
    }

    .lsp-contact-submit{
        width:100%!important;
    }

    .lsp-public-footer-inner{
        align-items:flex-start!important;
        gap:14px!important;
    }
}

/* 0.1.0-dev.5r1 — mobile owner access to public frontend */
.lsp-mobile-public-link-wrap{
    display:none;
}
@media(max-width:820px){
    .lsp-mobile-public-link-wrap{
        display:block!important;
        margin-top:14px;
        padding-top:12px;
        border-top:1px solid rgba(255,255,255,.09);
    }
    .lsp-mobile-public-link{
        display:grid!important;
        grid-template-columns:24px minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        width:100%;
        min-height:48px;
        padding:0 12px;
        box-sizing:border-box;
        border:1px solid rgba(23,191,169,.3);
        border-radius:10px;
        background:rgba(23,191,169,.08);
        color:#e9fffb!important;
        font-size:13px;
        font-weight:800;
        text-decoration:none!important;
        transition:.18s ease;
    }
    .lsp-mobile-public-link:hover,
    .lsp-mobile-public-link:focus{
        border-color:rgba(23,191,169,.65);
        background:rgba(23,191,169,.14);
        color:#fff!important;
    }
    .lsp-mobile-public-link .lsp-nav-ico{
        display:grid!important;
        place-items:center;
        color:#38d6bf!important;
    }
    .lsp-mobile-public-link .lsp-nav-ico svg{
        width:20px;
        height:20px;
    }
    .lsp-mobile-public-arrow{
        color:#65ddca;
        font-size:15px;
    }
}

/* 0.1.0-dev.5r2 — mobile hero breathing-room polish */
@media(max-width:620px){
    .lsp-public-hero{
        padding-top:56px!important;
        padding-bottom:54px!important;
    }

    .lsp-public-hero-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:42px!important;
    }

    .lsp-public-hero-copy{
        display:block!important;
    }

    .lsp-public-hero-copy>p{
        margin-top:16px!important;
        margin-bottom:0!important;
    }

    .lsp-public-hero-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
        margin-top:26px!important;
    }

    .lsp-public-hero-actions .lsp-btn{
        width:100%!important;
        min-height:52px!important;
        box-sizing:border-box!important;
    }

    .lsp-public-hero-meta{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:11px!important;
        margin-top:28px!important;
        padding:0 4px!important;
        text-align:center!important;
    }

    .lsp-public-hero-meta span{
        display:block!important;
        line-height:1.45!important;
    }

    .lsp-public-hero-card{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:24px 18px!important;
        border-radius:22px!important;
        box-sizing:border-box!important;
    }

    .lsp-public-hero-card .lsp-public-owner-mini{
        margin-top:0!important;
    }

    /* Give the following section a clean visual break from the large mobile hero card. */
    #kako-radi{
        padding-top:58px!important;
    }
}

@media(max-width:390px){
    .lsp-public-hero{
        padding-top:48px!important;
        padding-bottom:48px!important;
    }
    .lsp-public-hero-grid{
        gap:34px!important;
    }
    .lsp-public-hero-card{
        padding-left:14px!important;
        padding-right:14px!important;
    }
}

/* 0.1.0-dev.5r3 — owner hero preview mobile de-crowding */
@media(max-width:620px){

    /* Owner preview only: stop using desktop absolute card coordinates. */
    .lsp-public-hero-art-owner{
        display:flex!important;
        flex-direction:column!important;
        gap:14px!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        padding:22px 18px 20px!important;
        border-radius:24px!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
    }

    .lsp-public-hero-art-owner .lsp-public-art-badge{
        position:relative!important;
        z-index:3!important;
        left:auto!important;
        top:auto!important;
        right:auto!important;
        bottom:auto!important;
        order:1!important;
        align-self:flex-start!important;
        margin:0 0 2px!important;
        padding:8px 11px!important;
        white-space:nowrap!important;
    }

    /* Brzi pristup / Upravljaj salonom */
    .lsp-public-hero-art-owner .lsp-public-art-card-2{
        position:relative!important;
        z-index:2!important;
        left:auto!important;
        right:auto!important;
        top:auto!important;
        bottom:auto!important;
        order:2!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:19px 18px!important;
        border-radius:18px!important;
        box-sizing:border-box!important;
        transform:none!important;
    }

    /* Salon profil / Trademan Salon */
    .lsp-public-hero-art-owner .lsp-public-art-profile{
        position:relative!important;
        z-index:2!important;
        left:auto!important;
        right:auto!important;
        top:auto!important;
        bottom:auto!important;
        order:3!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:19px 18px!important;
        border-radius:18px!important;
        box-sizing:border-box!important;
        transform:none!important;
    }

    .lsp-public-hero-art-owner .lsp-public-art-card strong{
        margin-top:6px!important;
        font-size:17px!important;
        line-height:1.25!important;
    }

    .lsp-public-hero-art-owner .lsp-public-art-card small{
        margin-top:7px!important;
        line-height:1.45!important;
    }

    .lsp-public-hero-art-owner .lsp-public-art-link{
        margin-top:11px!important;
    }

    /* Decorative circles remain behind content. */
    .lsp-public-hero-art-owner::before,
    .lsp-public-hero-art-owner::after{
        z-index:0!important;
        pointer-events:none!important;
    }
}

@media(max-width:390px){
    .lsp-public-hero-art-owner{
        gap:12px!important;
        padding:18px 14px 16px!important;
    }
    .lsp-public-hero-art-owner .lsp-public-art-card-2,
    .lsp-public-hero-art-owner .lsp-public-art-profile{
        padding:16px 15px!important;
    }
}

/* =====================================================
   0.1.0-dev.6a — Booking Foundation
   ===================================================== */
.lsp-booking-hero{
    padding:62px 0 46px;
    background:
        linear-gradient(100deg,rgba(247,250,251,.98),rgba(232,248,244,.9)),
        url("../img/hero-salon-soft.svg");
    background-size:cover;
    border-bottom:1px solid #dfeaec;
}
.lsp-booking-hero h1{
    margin:8px 0 12px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:46px;
    line-height:1.05;
    color:#15262c;
}
.lsp-booking-hero p{max-width:760px;margin:0;color:#65777d;line-height:1.6}
.lsp-booking-section{background:#f7fafb}
.lsp-booking-progress{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-bottom:24px;
}
.lsp-booking-progress span{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:42px;
    padding:0 11px;
    border:1px solid #dbe6e8;
    border-radius:10px;
    background:#fff;
    color:#78868b;
    font-size:11px;
    font-weight:800;
}
.lsp-booking-progress span.is-active{border-color:#81d8ca;background:#edf9f6;color:#126e62}
.lsp-booking-progress span.is-done{background:#123039;color:#fff;border-color:#123039}
.lsp-booking-progress b{font-weight:800}
.lsp-booking-filter h2,.lsp-booking-selected h2{margin:6px 0 12px;font-size:30px}
.lsp-booking-type-filter{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 24px}
.lsp-booking-type-filter a{
    padding:8px 11px;border:1px solid #d7e4e6;border-radius:999px;background:#fff;
    color:#53666d;text-decoration:none;font-size:11px;font-weight:800
}
.lsp-booking-type-filter a.is-active,.lsp-booking-type-filter a:hover{background:#e7f8f3;border-color:#aee1d7;color:#117567}
.lsp-booking-salon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.lsp-booking-salon-card{
    display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:13px;
    padding:14px;border:1px solid #dbe6e8;border-radius:15px;background:#fff;color:#17282e;text-decoration:none;
    box-shadow:0 7px 22px rgba(13,37,43,.05);transition:.16s ease
}
.lsp-booking-salon-card:hover{transform:translateY(-2px);border-color:#a9ddd3;box-shadow:0 12px 28px rgba(13,37,43,.09)}
.lsp-booking-salon-card img,.lsp-booking-salon-placeholder{
    width:62px;height:62px;border-radius:12px;object-fit:contain;border:1px solid #e0e8ea;background:#fff;box-sizing:border-box
}
.lsp-booking-salon-card img{padding:4px}
.lsp-booking-salon-placeholder{display:grid;place-items:center;background:#123039;color:#fff;font-size:25px;font-weight:800}
.lsp-booking-salon-card strong,.lsp-booking-salon-card span,.lsp-booking-salon-card small{display:block}
.lsp-booking-salon-card span{margin-top:4px;color:#177a6c;font-size:11px;font-weight:700}
.lsp-booking-salon-card small{margin-top:5px;color:#738187}
.lsp-booking-salon-card>b{color:#159d8b}
.lsp-booking-backrow{margin-bottom:14px}
.lsp-booking-backrow a{color:#147f70;text-decoration:none;font-weight:800;font-size:12px}
.lsp-booking-selected{margin-bottom:20px}
.lsp-booking-selected p{margin:0;color:#6b7a80}
.lsp-booking-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.lsp-booking-service-grid>a{
    display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;
    padding:14px;border:1px solid #dbe6e8;border-radius:13px;background:#fff;color:#17282e;text-decoration:none
}
.lsp-booking-service-grid>a:hover{border-color:#a9ddd3;background:#fbfefd}
.lsp-booking-service-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e7f8f3;color:#119d8b;font-size:18px}
.lsp-booking-service-grid small,.lsp-booking-service-grid strong,.lsp-booking-service-grid span{display:block}
.lsp-booking-service-grid small{color:#78868b;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.lsp-booking-service-grid strong{margin-top:3px;font-size:14px}
.lsp-booking-service-grid div>span{margin-top:4px;color:#64757b;font-size:11px}
.lsp-booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}
.lsp-booking-summary>div,.lsp-booking-staff-chip,.lsp-booking-final-time{
    padding:12px;border:1px solid #dbe6e8;border-radius:11px;background:#fff
}
.lsp-booking-summary small,.lsp-booking-summary strong,.lsp-booking-staff-chip small,.lsp-booking-staff-chip strong,.lsp-booking-final-time small,.lsp-booking-final-time strong{display:block}
.lsp-booking-summary small,.lsp-booking-staff-chip small,.lsp-booking-final-time small{color:#748187;font-size:9px;text-transform:uppercase}
.lsp-booking-summary strong,.lsp-booking-staff-chip strong,.lsp-booking-final-time strong{margin-top:4px;color:#17282e;font-size:13px}
.lsp-booking-slot-form,.lsp-booking-customer-form{
    max-width:760px;padding:18px;border:1px solid #dbe6e8;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(13,37,43,.04)
}
.lsp-booking-slots{margin-top:22px}
.lsp-booking-slots-head h3{margin:5px 0 12px;font-size:22px}
.lsp-booking-slot-grid{display:flex;flex-wrap:wrap;gap:8px}
.lsp-booking-slot-grid a{
    display:grid;place-items:center;min-width:72px;min-height:42px;padding:0 10px;border:1px solid #cfe0e2;
    border-radius:9px;background:#fff;color:#18343a;text-decoration:none;font-size:12px;font-weight:800
}
.lsp-booking-slot-grid a:hover{background:#17bfa9;border-color:#17bfa9;color:#fff}
.lsp-booking-final-time{max-width:736px;margin-bottom:10px;background:#eaf9f5;border-color:#b8e5dc}
.lsp-booking-policy{margin:12px 0;padding:11px;border-radius:9px;background:#f1f6f7;color:#607178;font-size:11px;line-height:1.5}
.lsp-booking-submit{min-height:48px}
.lsp-booking-success{
    display:flex;align-items:flex-start;gap:18px;max-width:760px;margin:20px auto;padding:25px;
    border:1px solid #b6e3d9;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(13,37,43,.08)
}
.lsp-booking-success-icon{display:grid;place-items:center;width:50px;height:50px;min-width:50px;border-radius:50%;background:#17bfa9;color:#fff;font-size:23px;font-weight:900}
.lsp-booking-success h2{margin:5px 0 8px;font-size:27px}.lsp-booking-success p{color:#64757b}

/* Owner reservation list */
.lsp-booking-owner-list{display:grid;gap:8px}
.lsp-booking-owner-list article{
    display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:center;
    padding:12px;border:1px solid #dbe6e8;border-radius:12px;background:#fff
}
.lsp-booking-owner-time strong,.lsp-booking-owner-time span,.lsp-booking-owner-main strong,.lsp-booking-owner-main span,.lsp-booking-owner-main small{display:block}
.lsp-booking-owner-time strong{font-size:12px}.lsp-booking-owner-time span{margin-top:4px;color:#147f70;font-size:15px;font-weight:800}
.lsp-booking-owner-main strong{font-size:13px}.lsp-booking-owner-main span{margin-top:4px;color:#51656c;font-size:11px}.lsp-booking-owner-main small{margin-top:4px;color:#7a878c}
.lsp-booking-status{padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.lsp-booking-status.is-pending{background:#fff3d6;color:#8a6513}.lsp-booking-status.is-confirmed{background:#e5f8f1;color:#14715f}.lsp-booking-status.is-cancelled,.lsp-booking-status.is-rejected{background:#fff0f0;color:#9b3e3e}.lsp-booking-status.is-completed{background:#edf2f5;color:#50636b}

@media(max-width:900px){
    .lsp-booking-salon-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
    .lsp-booking-hero{padding:42px 0 34px}.lsp-booking-hero h1{font-size:34px}
    .lsp-booking-progress{grid-template-columns:1fr 1fr}
    .lsp-booking-salon-grid,.lsp-booking-service-grid{grid-template-columns:1fr}
    .lsp-booking-summary{grid-template-columns:1fr 1fr}
    .lsp-booking-slot-form,.lsp-booking-customer-form{padding:14px}
    .lsp-booking-slot-grid{display:grid;grid-template-columns:repeat(3,1fr)}
    .lsp-booking-slot-grid a{min-width:0}
    .lsp-booking-owner-list article{grid-template-columns:72px minmax(0,1fr)}
    .lsp-booking-status{grid-column:1/-1;justify-self:start}
}

/* =========================================================
   0.1.0-dev.6b — Owner Calendar
   ========================================================= */
.lsp-calendar-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:18px;
    margin-bottom:14px;
}
.lsp-calendar-title h2{
    margin:4px 0 4px;
    color:#14262c;
    font-size:27px;
}
.lsp-calendar-title p{
    margin:0;
    color:#65777d;
    font-size:12px;
}
.lsp-calendar-toolbar-actions{
    display:flex;
    align-items:center;
    gap:9px;
}
.lsp-calendar-view-switch,
.lsp-calendar-nav{
    display:flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border:1px solid #d8e4e6;
    border-radius:10px;
    background:#fff;
}
.lsp-calendar-view-switch a,
.lsp-calendar-nav a{
    display:grid;
    place-items:center;
    min-height:34px;
    padding:0 10px;
    border-radius:7px;
    color:#53666d;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}
.lsp-calendar-view-switch a.is-active{
    background:#123039;
    color:#fff;
}
.lsp-calendar-nav a:hover,
.lsp-calendar-nav a.is-today{
    background:#e9f8f4;
    color:#117567;
}
.lsp-calendar-filters{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
    padding:12px 14px;
    border:1px solid #dbe6e8;
    border-radius:13px;
    background:#fff;
}
.lsp-calendar-filters form label{
    display:flex;
    align-items:center;
    gap:9px;
    color:#5d6f76;
    font-size:11px;
    font-weight:800;
}
.lsp-calendar-filters select{
    min-width:180px;
    min-height:36px;
    padding:0 10px;
    border:1px solid #d4e1e3;
    border-radius:8px;
    background:#fff;
}
.lsp-calendar-status-kpis{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.lsp-calendar-status-kpis span{
    display:flex;
    align-items:center;
    gap:6px;
    color:#63747a;
    font-size:10px;
    font-weight:700;
}
.lsp-calendar-status-kpis i{
    width:8px;height:8px;border-radius:50%;
}
.lsp-calendar-status-kpis i.is-pending{background:#d9a82f}
.lsp-calendar-status-kpis i.is-confirmed{background:#17b88f}
.lsp-calendar-status-kpis i.is-completed{background:#6f7d84}
.lsp-calendar-status-kpis b{color:#17282e}

.lsp-calendar-day{
    border:1px solid #dbe6e8;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 7px 20px rgba(13,37,43,.04);
}
.lsp-calendar-day-head{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-bottom:1px solid #e2eaec;
    background:#fbfdfd;
}
.lsp-calendar-day-head>div:first-child{
    display:grid;
    place-items:center;
    width:54px;height:54px;
    border-radius:12px;
    background:#123039;
    color:#fff;
}
.lsp-calendar-day-head>div:first-child strong{font-size:22px;line-height:1}
.lsp-calendar-day-head>div:first-child span{font-size:9px;text-transform:uppercase}
.lsp-calendar-day-head h3{margin:0;font-size:17px}
.lsp-calendar-day-head p{margin:4px 0 0;color:#758389;font-size:10px}

.lsp-calendar-agenda{
    display:grid;
}
.lsp-calendar-agenda article{
    position:relative;
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:14px;
    padding:14px 18px;
    border-bottom:1px solid #edf1f2;
}
.lsp-calendar-agenda article:last-child{border-bottom:0}
.lsp-calendar-agenda article:before{
    content:"";
    position:absolute;
    left:0;top:10px;bottom:10px;
    width:3px;
    background:#789097;
}
.lsp-calendar-agenda article.is-pending:before{background:#d9a82f}
.lsp-calendar-agenda article.is-confirmed:before{background:#17b88f}
.lsp-calendar-agenda article.is-completed:before{background:#6f7d84}
.lsp-calendar-agenda article.is-cancelled:before,
.lsp-calendar-agenda article.is-rejected:before{background:#d46b6b}
.lsp-calendar-time strong,
.lsp-calendar-time span{display:block}
.lsp-calendar-time strong{font-size:18px;color:#173039}
.lsp-calendar-time span{margin-top:4px;color:#839096;font-size:10px}
.lsp-calendar-event-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.lsp-calendar-event-head>strong{font-size:14px}
.lsp-calendar-event-main>span{display:block;margin-top:5px;color:#425d66;font-size:12px}
.lsp-calendar-event-main>small{display:block;margin-top:5px;color:#7a888d;font-size:10px}
.lsp-calendar-empty{
    display:grid;
    place-items:center;
    min-height:230px;
    padding:30px;
    text-align:center;
    color:#78878c;
}
.lsp-calendar-empty>span{
    display:grid;place-items:center;
    width:54px;height:54px;margin-bottom:10px;
    border-radius:14px;background:#eaf8f5;color:#119b89;font-size:23px
}
.lsp-calendar-empty strong{color:#304951}
.lsp-calendar-empty small{margin-top:6px}

/* Week */
.lsp-calendar-week{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    border:1px solid #dbe6e8;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 7px 20px rgba(13,37,43,.04);
}
.lsp-calendar-week-day{
    min-width:0;
    border-right:1px solid #e5ecee;
}
.lsp-calendar-week-day:last-child{border-right:0}
.lsp-calendar-week-day>header{
    padding:11px 8px;
    border-bottom:1px solid #e5ecee;
    background:#fafcfc;
    text-align:center;
}
.lsp-calendar-week-day.is-today>header{
    background:#e9f8f4;
}
.lsp-calendar-week-day>header span,
.lsp-calendar-week-day>header strong,
.lsp-calendar-week-day>header small{display:block}
.lsp-calendar-week-day>header span{color:#6f8086;font-size:9px;text-transform:uppercase}
.lsp-calendar-week-day>header strong{margin-top:3px;color:#17282e;font-size:19px}
.lsp-calendar-week-day>header small{margin-top:3px;color:#89959a;font-size:8px}
.lsp-calendar-week-events{
    display:grid;
    gap:6px;
    min-height:300px;
    padding:7px;
    align-content:start;
}
.lsp-calendar-week-events article{
    padding:8px;
    border-left:3px solid #7d8c91;
    border-radius:7px;
    background:#f6f9fa;
}
.lsp-calendar-week-events article.is-pending{border-left-color:#d9a82f;background:#fffaf0}
.lsp-calendar-week-events article.is-confirmed{border-left-color:#17b88f;background:#f0fbf7}
.lsp-calendar-week-events article.is-cancelled,
.lsp-calendar-week-events article.is-rejected{border-left-color:#d46b6b;background:#fff5f5}
.lsp-calendar-week-events article time,
.lsp-calendar-week-events article strong,
.lsp-calendar-week-events article span,
.lsp-calendar-week-events article small{display:block}
.lsp-calendar-week-events article time{color:#147f70;font-size:9px;font-weight:900}
.lsp-calendar-week-events article strong{margin-top:3px;font-size:10px;line-height:1.2}
.lsp-calendar-week-events article span{margin-top:4px;color:#52676e;font-size:9px}
.lsp-calendar-week-events article small{margin-top:3px;color:#819095;font-size:8px}
.lsp-calendar-week-empty{
    display:grid;place-items:center;
    min-height:54px;
    color:#bcc5c8;
}

/* Mobile calendar */
@media(max-width:820px){
    .lsp-calendar-toolbar{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .lsp-calendar-toolbar-actions{
        width:100%;
        justify-content:space-between;
    }
    .lsp-calendar-filters{
        align-items:flex-start;
        flex-direction:column;
    }
    .lsp-calendar-filters form,
    .lsp-calendar-filters form label{
        width:100%;
    }
    .lsp-calendar-filters select{
        flex:1;
        min-width:0;
    }
    .lsp-calendar-status-kpis{
        width:100%;
    }

    /* Week becomes horizontally scrollable cards instead of crushed columns */
    .lsp-calendar-week{
        grid-template-columns:repeat(7,230px);
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x proximity;
    }
    .lsp-calendar-week-day{
        scroll-snap-align:start;
    }
    .lsp-calendar-week-events{
        min-height:220px;
    }
}
@media(max-width:520px){
    .lsp-calendar-toolbar-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }
    .lsp-calendar-view-switch,
    .lsp-calendar-nav{
        width:100%;
        box-sizing:border-box;
    }
    .lsp-calendar-view-switch a,
    .lsp-calendar-nav a{
        flex:1;
    }
    .lsp-calendar-agenda article{
        grid-template-columns:64px minmax(0,1fr);
        gap:10px;
        padding:12px;
    }
    .lsp-calendar-time strong{font-size:16px}
    .lsp-calendar-event-head{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }
}

/* 0.1.0-dev.6c — Reservation Workflow */
.lsp-booking-owner-side{display:flex;align-items:flex-end;flex-direction:column;gap:8px}
.lsp-booking-owner-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lsp-booking-owner-actions form{margin:0}
.lsp-booking-owner-actions button{min-height:30px;padding:0 9px;border:1px solid #d4e0e2;border-radius:7px;background:#fff;color:#40545c;font-size:9px;font-weight:900;cursor:pointer}
.lsp-booking-owner-actions .is-confirm{border-color:#a8dfd2;background:#eaf9f5;color:#126d60}
.lsp-booking-owner-actions .is-reject,.lsp-booking-owner-actions .is-cancel{border-color:#edc2c2;background:#fff3f3;color:#943d3d}
.lsp-booking-owner-actions .is-complete{border-color:#ccd6da;background:#f1f5f6;color:#42565e}
.lsp-booking-owner-notice{margin:0 0 12px;padding:10px 12px;border-radius:9px;font-size:11px;font-weight:800}
.lsp-booking-owner-notice.is-success{border:1px solid #b7e6db;background:#ebfaf6;color:#126f61}
.lsp-booking-owner-notice.is-error{border:1px solid #ecc4c4;background:#fff3f3;color:#913f3f}
@media(max-width:620px){
 .lsp-booking-owner-side{grid-column:1/-1;align-items:flex-start;width:100%}
 .lsp-booking-owner-actions{width:100%;justify-content:flex-start}
 .lsp-booking-owner-actions form{flex:1}
 .lsp-booking-owner-actions button{width:100%;min-height:40px;font-size:10px}
}

/* 0.1.0-dev.6c2 — Workflow clarity + live dashboard activity */
.lsp-booking-complete-lock{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 9px;
    border:1px dashed #ccd7da;
    border-radius:7px;
    background:#f7f9fa;
    color:#76858a;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
}

.lsp-owner-daily-activity{
    margin-top:16px;
    padding:18px;
    border:1px solid var(--lsp-owner-border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(13,37,43,.04);
}
.lsp-owner-daily-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}
.lsp-owner-daily-head h2{
    margin:4px 0 3px;
    color:var(--lsp-owner-text);
    font-size:20px;
}
.lsp-owner-daily-head p{
    margin:0;
    color:var(--lsp-owner-muted);
    font-size:11px;
}
.lsp-owner-daily-head>a{
    color:#147f70;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}
.lsp-owner-daily-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
}
.lsp-owner-daily-grid>a{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    align-items:center;
    gap:9px;
    min-height:68px;
    padding:11px;
    border:1px solid #dde7e9;
    border-radius:12px;
    background:#fbfdfd;
    color:#17282e;
    text-decoration:none;
    transition:.16s ease;
}
.lsp-owner-daily-grid>a:hover{
    transform:translateY(-1px);
    border-color:#b6dfd7;
    box-shadow:0 7px 18px rgba(13,37,43,.06);
}
.lsp-owner-daily-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:10px;
    background:#edf4f5;
    color:#486068;
    font-size:16px;
    font-weight:900;
}
.lsp-owner-daily-icon.is-pending{background:#fff6dd;color:#a87917}
.lsp-owner-daily-icon.is-confirmed{background:#e8f9f4;color:#11846f}
.lsp-owner-daily-icon.is-completed{background:#edf2f4;color:#52666d}
.lsp-owner-daily-icon.is-cancelled{background:#fff0f0;color:#a64b4b}
.lsp-owner-daily-grid small,
.lsp-owner-daily-grid strong{
    display:block;
}
.lsp-owner-daily-grid small{
    color:#6c7b80;
    font-size:9px;
    line-height:1.25;
}
.lsp-owner-daily-grid strong{
    margin-top:3px;
    color:#17282e;
    font-size:20px;
}

@media(max-width:1100px){
    .lsp-owner-daily-grid{
        grid-template-columns:repeat(3,1fr);
    }
}
@media(max-width:820px){
    .lsp-owner-daily-activity{
        padding:14px;
    }
    .lsp-owner-daily-grid{
        grid-template-columns:1fr 1fr;
    }
    .lsp-owner-daily-head{
        flex-direction:column;
        gap:8px;
    }
}
@media(max-width:520px){
    .lsp-owner-daily-grid{
        grid-template-columns:1fr;
    }
    .lsp-booking-complete-lock{
        width:100%;
        min-height:40px;
        box-sizing:border-box;
        justify-content:center;
        white-space:normal;
        text-align:center;
    }
}

/* 0.1.0-dev.6c3 — booking status filters */
.lsp-booking-filterbar{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 14px;
}
.lsp-booking-filterbar a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 11px;
    border:1px solid #d6e2e4;
    border-radius:999px;
    background:#fff;
    color:#5b6d74;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}
.lsp-booking-filterbar a:hover{
    border-color:#addfd6;
    background:#f4fbf9;
    color:#147565;
}
.lsp-booking-filterbar a.is-active{
    border-color:#17bfa9;
    background:#e7f8f3;
    color:#126f62;
}
@media(max-width:620px){
    .lsp-booking-filterbar{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px;
    }
    .lsp-booking-filterbar a{
        width:100%;
        min-height:40px;
        box-sizing:border-box;
        text-align:center;
    }
    .lsp-booking-filterbar a:last-child{
        grid-column:1/-1;
    }
}

/* 0.1.0-dev.6c4 — No-show + Bosnian calendar */
.lsp-booking-owner-actions .is-noshow{
    border-color:#e3cd97;
    background:#fff8e6;
    color:#886617;
}
.lsp-booking-status.is-no_show{
    background:#fff7de;
    color:#886617;
}
.lsp-owner-daily-icon.is-noshow{
    background:#fff7de;
    color:#957019;
}
.lsp-calendar-status-kpis i.is-noshow{
    background:#c89b2c;
}
.lsp-calendar-agenda article.is-no_show:before{
    background:#c89b2c;
}
.lsp-calendar-week-events article.is-no_show{
    border-left-color:#c89b2c;
    background:#fff9e8;
}

/* =========================================================
   0.1.0-dev.6c5 — Daily Activity KPI emphasis + mobile order
   ========================================================= */

/* Daily Activity is intentionally stronger than ordinary dashboard cards */
.lsp-owner-daily-activity{
    border-color:#cfe5e1;
    background:linear-gradient(180deg,#fbfffe 0%,#f5fbf9 100%);
    box-shadow:0 10px 28px rgba(17,82,75,.07);
}
.lsp-owner-daily-grid>a{
    min-height:78px;
    padding:13px;
    border-color:#d4e6e3;
    background:#fff;
    box-shadow:0 4px 12px rgba(18,61,57,.035);
}
.lsp-owner-daily-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    font-size:20px;
}
.lsp-owner-daily-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.lsp-owner-daily-grid small{
    font-size:10px;
}
.lsp-owner-daily-grid strong{
    font-size:23px;
}

/* very subtle status-tinted card backgrounds */
.lsp-owner-daily-grid>a:nth-child(2){background:#fffdf6}
.lsp-owner-daily-grid>a:nth-child(3){background:#f6fcfa}
.lsp-owner-daily-grid>a:nth-child(4){background:#f8fafb}
.lsp-owner-daily-grid>a:nth-child(5){background:#fffdf5}
.lsp-owner-daily-grid>a:nth-child(6){background:#fff8f8}

@media(max-width:820px){
    /*
     Dashboard mobile order:
     1 Salon profile / welcome
     2 Daily activities
     3 Quick actions
     4 Footer KPI strip
    */
    .lsp-owner-dashboard-grid{
        display:flex !important;
        flex-direction:column;
    }

    /* Existing dashboard sections keep DOM unchanged; order only changes visually */
    .lsp-owner-dashboard-grid > .lsp-owner-welcome{order:1}
    .lsp-owner-dashboard-grid > .lsp-owner-daily-activity{order:2}
    .lsp-owner-dashboard-grid > .lsp-owner-quick{order:3}
    .lsp-owner-dashboard-grid > .lsp-owner-kpi-strip{order:4}

    .lsp-owner-daily-activity{
        margin-top:12px;
        padding:16px;
        border-radius:16px;
    }
    .lsp-owner-daily-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }
    .lsp-owner-daily-grid>a{
        grid-template-columns:50px minmax(0,1fr);
        min-height:86px;
        padding:13px;
        border-radius:13px;
    }
    .lsp-owner-daily-icon{
        width:48px;
        height:48px;
        border-radius:13px;
        font-size:22px;
    }
    .lsp-owner-daily-grid small{
        font-size:10px;
        line-height:1.25;
    }
    .lsp-owner-daily-grid strong{
        margin-top:5px;
        font-size:25px;
    }
}

@media(max-width:520px){
    /* Keep two columns on phones: larger, more dashboard-like KPIs */
    .lsp-owner-daily-grid{
        grid-template-columns:1fr 1fr;
    }
    .lsp-owner-daily-grid>a{
        display:flex;
        align-items:center;
        min-height:92px;
        gap:11px;
    }
    .lsp-owner-daily-grid>a:last-child{
        grid-column:1/-1;
    }
    .lsp-owner-daily-icon{
        flex:0 0 50px;
        width:50px;
        height:50px;
        font-size:23px;
    }
    .lsp-owner-daily-head h2{
        font-size:22px;
    }
}

/* dev.6c5 mobile order correction using actual dashboard class names */
@media(max-width:820px){
    .lsp-owner-dashboard-grid > .lsp-owner-profile-card{order:1}
    .lsp-owner-dashboard-grid > .lsp-owner-daily-activity{order:2}
    .lsp-owner-dashboard-grid > .lsp-owner-quick-card{order:3}
    .lsp-owner-dashboard-grid > .lsp-owner-kpi-strip{order:4}
}

/* =========================================================
   0.1.0-dev.6d — Clients Foundation
   ========================================================= */
.lsp-clients-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}
.lsp-clients-toolbar h2{
    margin:4px 0 4px;
    color:#17282e;
    font-size:27px;
}
.lsp-clients-toolbar p{
    margin:0;
    color:#6f7f84;
    font-size:11px;
}
.lsp-clients-toolbar form{
    display:flex;
    align-items:center;
    gap:7px;
}
.lsp-clients-toolbar input[type="search"]{
    width:260px;
    min-height:40px;
    padding:0 11px;
    border:1px solid #d5e1e3;
    border-radius:9px;
    background:#fff;
}
.lsp-clients-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.lsp-clients-kpis article{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:72px;
    padding:12px;
    border:1px solid #dbe6e8;
    border-radius:13px;
    background:#fff;
}
.lsp-clients-kpi-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:11px;
    background:#e8f8f4;
    color:#128c7d;
    font-size:18px;
}
.lsp-clients-kpis small,
.lsp-clients-kpis strong{display:block}
.lsp-clients-kpis small{color:#6f7d82;font-size:9px}
.lsp-clients-kpis strong{margin-top:3px;font-size:20px;color:#17282e}

.lsp-clients-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.lsp-client-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto auto;
    align-items:center;
    gap:12px;
    min-height:82px;
    padding:12px;
    border:1px solid #dbe6e8;
    border-radius:13px;
    background:#fff;
    color:#17282e;
    text-decoration:none;
    transition:.16s ease;
}
.lsp-client-card:hover{
    transform:translateY(-1px);
    border-color:#acddd4;
    box-shadow:0 8px 20px rgba(13,37,43,.06);
}
.lsp-client-avatar{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#123039;
    color:#fff;
    font-size:17px;
    font-weight:900;
}
.lsp-client-card-main strong,
.lsp-client-card-main span,
.lsp-client-card-main small,
.lsp-client-card-meta strong,
.lsp-client-card-meta span,
.lsp-client-card-meta small{display:block}
.lsp-client-card-main strong{font-size:13px}
.lsp-client-card-main span{margin-top:3px;color:#537078;font-size:10px}
.lsp-client-card-main small{margin-top:3px;color:#839095;font-size:9px}
.lsp-client-card-meta{text-align:right}
.lsp-client-card-meta strong{font-size:18px;color:#147f70}
.lsp-client-card-meta span{font-size:8px;color:#687980;text-transform:uppercase}
.lsp-client-card-meta small{margin-top:5px;color:#89959a;font-size:8px}
.lsp-client-card>b{color:#159d8b}

.lsp-client-detail-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}
.lsp-client-detail-head h2{
    margin:5px 0 4px;
    font-size:28px;
    color:#17282e;
}
.lsp-client-detail-head p{
    margin:0;
    color:#64767c;
    font-size:11px;
}
.lsp-client-back{
    display:inline-block;
    margin-bottom:10px;
    color:#147f70;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}
.lsp-client-id{
    padding:6px 9px;
    border-radius:999px;
    background:#edf5f6;
    color:#607279;
    font-size:9px;
    font-weight:800;
}
.lsp-client-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-bottom:12px;
}
.lsp-client-stats article{
    padding:12px;
    border:1px solid #dbe6e8;
    border-radius:12px;
    background:#fff;
}
.lsp-client-stats span,
.lsp-client-stats strong{display:block}
.lsp-client-stats span{color:#6f7e83;font-size:9px}
.lsp-client-stats strong{margin-top:4px;font-size:21px;color:#17282e}

.lsp-client-next-booking{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
    padding:14px;
    border:1px solid #b9e3db;
    border-radius:13px;
    background:#f0faf7;
}
.lsp-client-next-booking h3{
    margin:4px 0;
    font-size:16px;
}
.lsp-client-next-booking p{
    margin:0;
    color:#65777d;
    font-size:10px;
}
.lsp-client-booking-list{
    display:grid;
    gap:8px;
}
.lsp-client-booking-list article{
    display:grid;
    grid-template-columns:86px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:11px;
    border:1px solid #e0e8ea;
    border-radius:11px;
    background:#fff;
}
.lsp-client-booking-date strong,
.lsp-client-booking-date span,
.lsp-client-booking-main strong,
.lsp-client-booking-main span,
.lsp-client-booking-main small{display:block}
.lsp-client-booking-date strong{font-size:11px}
.lsp-client-booking-date span{margin-top:3px;color:#147f70;font-size:13px;font-weight:800}
.lsp-client-booking-main strong{font-size:12px}
.lsp-client-booking-main span{margin-top:4px;color:#607279;font-size:10px}
.lsp-client-booking-main small{margin-top:4px;color:#849096;font-size:9px}

@media(max-width:900px){
    .lsp-clients-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
    .lsp-clients-toolbar{
        flex-direction:column;
        align-items:stretch;
    }
    .lsp-clients-toolbar form{
        display:grid;
        grid-template-columns:1fr auto;
    }
    .lsp-clients-toolbar input[type="search"]{
        width:100%;
        min-width:0;
        box-sizing:border-box;
    }
    .lsp-clients-kpis{
        grid-template-columns:1fr 1fr;
    }
    .lsp-client-stats{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:520px){
    .lsp-clients-toolbar form{
        grid-template-columns:1fr;
    }
    .lsp-clients-toolbar .lsp-btn{
        width:100%;
    }
    .lsp-clients-kpis{
        grid-template-columns:1fr;
    }
    .lsp-client-card{
        grid-template-columns:46px minmax(0,1fr) auto;
    }
    .lsp-client-card-meta{
        grid-column:2;
        text-align:left;
    }
    .lsp-client-card>b{
        grid-column:3;
        grid-row:1 / span 2;
    }
    .lsp-client-detail-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .lsp-client-stats{
        grid-template-columns:1fr 1fr;
    }
    .lsp-client-booking-list article{
        grid-template-columns:68px minmax(0,1fr);
    }
    .lsp-client-booking-list .lsp-booking-status{
        grid-column:1/-1;
        justify-self:start;
    }
}

/* =========================================================
   0.1.0-dev.6e — Availability Exceptions
   ========================================================= */
.lsp-availability-panel{
    margin-top:14px;
}
.lsp-buffer-form{
    display:flex;
    align-items:flex-end;
    gap:10px;
}
.lsp-buffer-form label{
    min-width:240px;
}
.lsp-availability-form{
    margin-top:14px;
    padding:15px;
    border:1px solid #dde8e9;
    border-radius:13px;
    background:#fbfdfd;
}
.lsp-form-help{
    display:block;
    margin:-2px 0 12px;
    color:#718187;
    font-size:10px;
    line-height:1.45;
}
.lsp-availability-list{
    display:grid;
    gap:8px;
    margin-top:16px;
}
.lsp-availability-list article{
    position:relative;
    display:grid;
    grid-template-columns:126px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:70px;
    padding:11px 12px 11px 15px;
    border:1px solid #dce6e8;
    border-radius:12px;
    background:#fff;
}
.lsp-availability-list article:before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    bottom:9px;
    width:3px;
    border-radius:0 4px 4px 0;
    background:#7a8b91;
}
.lsp-availability-list article.is-closed_day:before{background:#c95d5d}
.lsp-availability-list article.is-custom_hours:before{background:#17a991}
.lsp-availability-list article.is-break:before{background:#d6a32d}
.lsp-availability-list article.is-blocked:before{background:#8d6ec7}
.lsp-availability-list article.is-staff_leave:before{background:#467c9e}
.lsp-availability-date strong,
.lsp-availability-date small,
.lsp-availability-main strong,
.lsp-availability-main span{
    display:block;
}
.lsp-availability-date strong{
    color:#17282e;
    font-size:12px;
}
.lsp-availability-date small{
    margin-top:4px;
    color:#76858a;
    font-size:9px;
}
.lsp-availability-main strong{
    color:#17282e;
    font-size:12px;
}
.lsp-availability-main span{
    margin-top:5px;
    color:#64767c;
    font-size:10px;
}
.lsp-availability-delete{
    min-height:32px;
    padding:0 9px;
    border:1px solid #ebcaca;
    border-radius:7px;
    background:#fff5f5;
    color:#934343;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}
.lsp-availability-delete:hover{
    background:#ffecec;
}
@media(max-width:820px){
    .lsp-buffer-form{
        display:grid;
        grid-template-columns:1fr;
    }
    .lsp-buffer-form label{
        min-width:0;
    }
    .lsp-buffer-form .lsp-btn{
        width:100%;
    }
    .lsp-availability-list article{
        grid-template-columns:100px minmax(0,1fr);
    }
    .lsp-availability-list article form{
        grid-column:1/-1;
    }
    .lsp-availability-delete{
        width:100%;
        min-height:40px;
    }
}
@media(max-width:520px){
    .lsp-availability-form{
        padding:12px;
    }
    .lsp-availability-list article{
        grid-template-columns:1fr;
        gap:8px;
    }
    .lsp-availability-list article form{
        grid-column:1;
    }
}

/* =========================================================
   0.1.0-dev.6f — Client Account Foundation
   ========================================================= */
.lsp-client-account-hero{
    padding:46px 0 34px;
    border-bottom:1px solid #dce7e9;
    background:linear-gradient(100deg,#f7fafb,#eaf8f5);
}
.lsp-client-account-hero-grid{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.lsp-client-account-profile{
    display:flex;
    align-items:center;
    gap:16px;
}
.lsp-client-account-profile img{
    width:82px;
    height:82px;
    border-radius:50%;
    object-fit:cover;
    background:#fff;
    border:4px solid #fff;
    box-shadow:0 0 0 1px #d3e1e3,0 8px 24px rgba(13,37,43,.08);
}
.lsp-client-account-profile h1{
    margin:5px 0 4px;
    color:#17282e;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    line-height:1.05;
}
.lsp-client-account-profile p{
    margin:0;
    color:#65777d;
    font-size:12px;
}
.lsp-client-account-section{
    background:#f7fafb;
}
.lsp-client-account-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-bottom:16px;
}
.lsp-client-account-kpis article{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:72px;
    padding:12px;
    border:1px solid #dbe6e8;
    border-radius:13px;
    background:#fff;
}
.lsp-client-account-kpis article>span{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:11px;
    background:#e8f8f4;
    color:#128b7c;
    font-size:18px;
    font-weight:900;
}
.lsp-client-account-kpis small,
.lsp-client-account-kpis strong{
    display:block;
}
.lsp-client-account-kpis small{
    color:#6f7e83;
    font-size:9px;
}
.lsp-client-account-kpis strong{
    margin-top:3px;
    color:#17282e;
    font-size:20px;
}
.lsp-client-account-layout{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);
    gap:18px;
    align-items:start;
}
.lsp-client-account-main,
.lsp-client-profile-card{
    padding:18px;
    border:1px solid #dbe6e8;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 20px rgba(13,37,43,.04);
}
.lsp-client-profile-card{
    position:sticky;
    top:92px;
}
.lsp-client-profile-card h2,
.lsp-client-section-head h2{
    margin:5px 0 0;
    color:#17282e;
    font-size:21px;
}
.lsp-client-profile-card .lsp-form{
    margin-top:14px;
}
.lsp-client-profile-card .lsp-form small{
    display:block;
    margin-top:4px;
    color:#7a888d;
    font-size:9px;
}
.lsp-client-password-link{
    display:block;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #e4ebed;
    color:#147f70;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}
.lsp-client-upcoming-list,
.lsp-client-history-list{
    display:grid;
    gap:8px;
    margin-top:13px;
}
.lsp-client-upcoming-list article{
    display:grid;
    grid-template-columns:86px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid #dce7e9;
    border-radius:12px;
    background:#fbfdfd;
}
.lsp-client-upcoming-time strong,
.lsp-client-upcoming-time span{
    display:block;
}
.lsp-client-upcoming-time strong{
    color:#17282e;
    font-size:11px;
}
.lsp-client-upcoming-time span{
    margin-top:4px;
    color:#147f70;
    font-size:16px;
    font-weight:900;
}
.lsp-client-upcoming-main small,
.lsp-client-upcoming-main strong,
.lsp-client-upcoming-main span{
    display:block;
}
.lsp-client-upcoming-main small{
    color:#748187;
    font-size:9px;
}
.lsp-client-upcoming-main strong{
    margin-top:4px;
    color:#17282e;
    font-size:13px;
}
.lsp-client-upcoming-main span{
    margin-top:4px;
    color:#64767c;
    font-size:10px;
}
.lsp-client-upcoming-side{
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:8px;
}
.lsp-client-upcoming-side form{
    margin:0;
}
.lsp-client-upcoming-side button{
    min-height:31px;
    padding:0 9px;
    border:1px solid #ebc7c7;
    border-radius:7px;
    background:#fff4f4;
    color:#974343;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}
.lsp-client-account-empty{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:13px;
    padding:16px;
    border:1px dashed #ccdadd;
    border-radius:12px;
    background:#fafcfc;
}
.lsp-client-history-head{
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid #e4ebed;
}
.lsp-client-history-list article{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 11px;
    border:1px solid #e3eaec;
    border-radius:10px;
}
.lsp-client-history-list strong,
.lsp-client-history-list span{
    display:block;
}
.lsp-client-history-list article>div>strong{
    color:#17282e;
    font-size:11px;
}
.lsp-client-history-list article>div>span{
    margin-top:4px;
    color:#718087;
    font-size:9px;
}

@media(max-width:900px){
    .lsp-client-account-layout{
        grid-template-columns:1fr;
    }
    .lsp-client-profile-card{
        position:static;
    }
}
@media(max-width:620px){
    .lsp-client-account-hero{
        padding:34px 0 28px;
    }
    .lsp-client-account-hero-grid{
        align-items:flex-start;
        flex-direction:column;
    }
    .lsp-client-account-hero-grid>.lsp-btn{
        width:100%;
    }
    .lsp-client-account-profile img{
        width:68px;
        height:68px;
    }
    .lsp-client-account-profile h1{
        font-size:27px;
    }
    .lsp-client-account-kpis{
        grid-template-columns:1fr 1fr;
    }
    .lsp-client-upcoming-list article{
        grid-template-columns:70px minmax(0,1fr);
    }
    .lsp-client-upcoming-side{
        grid-column:1/-1;
        align-items:flex-start;
        width:100%;
    }
    .lsp-client-upcoming-side form,
    .lsp-client-upcoming-side button{
        width:100%;
    }
    .lsp-client-upcoming-side button{
        min-height:40px;
    }
    .lsp-client-history-list article{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:420px){
    .lsp-client-account-kpis{
        grid-template-columns:1fr;
    }
}

/* 0.1.0-dev.6g — Notification Center */
.lsp-notification-button{position:relative;text-decoration:none}
.lsp-notification-button>b{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ef5757;color:#fff;font-size:9px;box-sizing:border-box}
.lsp-nav-count{margin-left:auto;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#17bfa9;color:#06272b;font-size:9px;font-style:normal;font-weight:900}
.lsp-notification-center-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.lsp-notification-center-head h2{margin:4px 0;color:#17282e;font-size:27px}
.lsp-notification-center-head p{margin:0;color:#697a80;font-size:11px}
.lsp-notification-list{display:grid;gap:8px}
.lsp-notification-list article{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:12px;border:1px solid #dce6e8;border-radius:13px;background:#fff}
.lsp-notification-list article.is-unread{border-color:#b7e2da;background:#f5fcfa;box-shadow:0 5px 16px rgba(20,101,91,.055)}
.lsp-notification-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e8f8f4;color:#128b7d;font-size:19px;font-weight:900}
.lsp-notification-main>div{display:flex;align-items:center;gap:8px}.lsp-notification-main strong{color:#17282e;font-size:12px}
.lsp-notification-main em{padding:3px 6px;border-radius:999px;background:#17bfa9;color:#073033;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}
.lsp-notification-main p{margin:5px 0 0;color:#586b72;font-size:10px;line-height:1.45}.lsp-notification-main small{display:block;margin-top:5px;color:#879398;font-size:9px}
.lsp-notification-actions form{margin:0}.lsp-notification-actions button,.lsp-notification-actions a{display:inline-grid;place-items:center;min-height:34px;padding:0 10px;border:1px solid #cfe0e2;border-radius:8px;background:#fff;color:#14796b;text-decoration:none;font-size:9px;font-weight:900;cursor:pointer}
@media(max-width:820px){.lsp-topbar-icon-btn.lsp-notification-button{display:grid!important}.lsp-notification-center-head{align-items:flex-start;flex-direction:column}.lsp-notification-center-head form,.lsp-notification-center-head .lsp-btn{width:100%}}
@media(max-width:520px){.lsp-notification-list article{grid-template-columns:44px minmax(0,1fr)}.lsp-notification-actions{grid-column:1/-1}.lsp-notification-actions form,.lsp-notification-actions button,.lsp-notification-actions a{width:100%;box-sizing:border-box}}

/* 0.1.0-dev.6g1 — Notification icon + history backfill polish */
.lsp-notification-button{
    display:grid;
    place-items:center;
}
.lsp-notification-button svg{
    width:20px;
    height:20px;
}
.lsp-nav-ico-svg{
    display:grid!important;
    place-items:center;
}
.lsp-nav-ico-svg svg{
    width:19px;
    height:19px;
}
.lsp-notification-icon svg{
    width:22px;
    height:22px;
}

/* =========================================================
   0.1.0-dev.6h — Client Booking Lifecycle Polish
   ========================================================= */
.lsp-client-booking-detail{
    margin-bottom:18px;
    padding:20px;
    border:1px solid #cfe2df;
    border-radius:17px;
    background:linear-gradient(180deg,#fbfffe,#f5fbf9);
    box-shadow:0 10px 26px rgba(13,37,43,.06);
}
.lsp-client-booking-detail-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding-bottom:15px;
    border-bottom:1px solid #dfe9e8;
}
.lsp-client-detail-back{
    display:inline-block;
    margin-bottom:10px;
    color:#147f70;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}
.lsp-client-booking-detail-head h2{
    margin:5px 0 5px;
    color:#17282e;
    font-size:24px;
}
.lsp-client-booking-detail-head p{
    margin:0;
    color:#66777d;
    font-size:11px;
}
.lsp-client-booking-detail-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:15px;
}
.lsp-client-booking-detail-grid article{
    padding:12px;
    border:1px solid #dbe6e8;
    border-radius:11px;
    background:#fff;
}
.lsp-client-booking-detail-grid small,
.lsp-client-booking-detail-grid strong{
    display:block;
}
.lsp-client-booking-detail-grid small{
    color:#748287;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.lsp-client-booking-detail-grid strong{
    margin-top:5px;
    color:#17282e;
    font-size:13px;
}
.lsp-client-booking-location{
    margin-top:12px;
    padding:13px;
    border:1px solid #dbe6e8;
    border-radius:12px;
    background:#fff;
}
.lsp-client-booking-location>div{
    display:flex;
    align-items:flex-start;
    gap:11px;
}
.lsp-client-booking-location-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    min-width:40px;
    border-radius:10px;
    background:#e8f8f4;
    color:#128b7c;
    font-size:18px;
}
.lsp-client-booking-location small,
.lsp-client-booking-location strong,
.lsp-client-booking-location span{
    display:block;
}
.lsp-client-booking-location small{
    color:#7a878c;
    font-size:9px;
}
.lsp-client-booking-location strong{
    margin-top:2px;
    color:#17282e;
    font-size:12px;
}
.lsp-client-booking-location span{
    margin-top:4px;
    color:#687980;
    font-size:10px;
}
.lsp-client-booking-detail-actions{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
    margin-top:14px;
}
.lsp-client-booking-detail-actions form{
    margin:0;
}
.lsp-client-detail-cancel{
    border-color:#e7c5c5!important;
    background:#fff5f5!important;
    color:#974646!important;
}
.lsp-client-upcoming-card,
.lsp-client-history-card{
    position:relative;
}
.lsp-client-upcoming-card-link,
.lsp-client-history-card-link{
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:inherit;
}
.lsp-client-upcoming-card:hover,
.lsp-client-history-card:hover{
    border-color:#b5ddd6!important;
    box-shadow:0 6px 16px rgba(13,37,43,.05);
}
.lsp-client-upcoming-card>div,
.lsp-client-upcoming-card>.lsp-client-upcoming-side,
.lsp-client-history-card>div,
.lsp-client-history-card>.lsp-booking-status{
    position:relative;
    z-index:2;
    pointer-events:none;
}
.lsp-client-upcoming-side form,
.lsp-client-upcoming-side a,
.lsp-client-booking-open{
    position:relative;
    z-index:3;
    pointer-events:auto!important;
}
.lsp-client-booking-open{
    color:#147f70;
    text-decoration:none;
    font-size:9px;
    font-weight:900;
}

@media(max-width:720px){
    .lsp-client-booking-detail-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:520px){
    .lsp-client-booking-detail{
        padding:14px;
        border-radius:14px;
    }
    .lsp-client-booking-detail-head{
        flex-direction:column;
        gap:9px;
    }
    .lsp-client-booking-detail-grid{
        grid-template-columns:1fr 1fr;
    }
    .lsp-client-booking-detail-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .lsp-client-booking-detail-actions .lsp-btn,
    .lsp-client-booking-detail-actions form,
    .lsp-client-booking-detail-actions button{
        width:100%;
        box-sizing:border-box;
    }
}
@media(max-width:390px){
    .lsp-client-booking-detail-grid{
        grid-template-columns:1fr;
    }
}

/* 0.1.0-dev.6h1 — Client booking salon logo hotfix */
.lsp-client-booking-salon-logo{
    width:40px;
    height:40px;
    min-width:40px;
    border:1px solid #dbe6e8;
    border-radius:10px;
    background:#fff;
    object-fit:contain;
    padding:4px;
    box-sizing:border-box;
}

/* =========================================================
   0.1.0-dev.6i — Location Discovery Foundation
   ========================================================= */
.lsp-booking-city-filter{
    display:flex;
    align-items:flex-end;
    gap:9px;
    flex-wrap:wrap;
    margin:14px 0 12px;
    padding:13px;
    border:1px solid #d9e6e7;
    border-radius:13px;
    background:#fff;
}
.lsp-booking-city-filter label{
    display:grid;
    gap:5px;
    min-width:220px;
}
.lsp-booking-city-filter label>span{
    color:#5f7077;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.lsp-booking-city-filter select{
    min-height:42px;
    padding:0 11px;
    border:1px solid #d4e1e3;
    border-radius:9px;
    background:#fff;
    color:#24393f;
    font-size:12px;
}
.lsp-booking-city-clear,
.lsp-booking-nearby-disabled{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 11px;
    border-radius:9px;
    font-size:10px;
    font-weight:800;
}
.lsp-booking-city-clear{
    border:1px solid #d7e3e5;
    background:#f8fbfb;
    color:#14786b;
    text-decoration:none;
}
.lsp-booking-nearby-disabled{
    border:1px dashed #cfdcdf;
    background:#fafcfc;
    color:#9aa5a9;
    cursor:not-allowed;
}
.lsp-booking-results-meta{
    display:flex;
    align-items:baseline;
    gap:5px;
    margin:0 0 10px;
    color:#6b7b81;
}
.lsp-booking-results-meta strong{
    color:#17282e;
    font-size:18px;
}
.lsp-booking-results-meta span{
    font-size:10px;
    font-weight:700;
}
.lsp-booking-results-meta small{
    font-size:10px;
    color:#14796b;
    font-weight:800;
}

@media(max-width:620px){
    .lsp-booking-city-filter{
        display:grid;
        grid-template-columns:1fr;
        padding:12px;
    }
    .lsp-booking-city-filter label{
        min-width:0;
        width:100%;
    }
    .lsp-booking-city-filter select,
    .lsp-booking-city-clear,
    .lsp-booking-nearby-disabled{
        width:100%;
        box-sizing:border-box;
    }
}

/* =========================================================
   0.1.0-dev.6i1 — Global Client Header Identity
   ========================================================= */
.lsp-public-client-identity{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:4px 10px 4px 5px;
    border:1px solid #d8e4e6;
    border-radius:999px;
    background:#fff;
    color:#18323a;
    text-decoration:none;
    box-sizing:border-box;
    transition:.16s ease;
}
.lsp-public-client-identity:hover{
    border-color:#a9ddd3;
    background:#f7fcfa;
    box-shadow:0 5px 14px rgba(13,37,43,.06);
}
.lsp-public-client-identity img{
    width:32px;
    height:32px;
    min-width:32px;
    border-radius:50%;
    object-fit:cover;
    background:#eef4f5;
}
.lsp-public-client-identity span{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    font-weight:800;
}
.lsp-public-client-identity svg{
    width:15px;
    height:15px;
    color:#708087;
}

@media(max-width:820px){
    .lsp-public-client-identity{
        min-height:40px;
        padding-right:8px;
    }
    .lsp-public-client-identity img{
        width:30px;
        height:30px;
        min-width:30px;
    }
    .lsp-public-client-identity span{
        max-width:110px;
    }
}
@media(max-width:620px){
    .lsp-public-client-identity{
        gap:7px;
        min-height:38px;
        padding:3px 7px 3px 4px;
    }
    .lsp-public-client-identity img{
        width:30px;
        height:30px;
    }
    .lsp-public-client-identity span{
        max-width:92px;
        font-size:10px;
    }
}
@media(max-width:390px){
    .lsp-public-client-identity span{
        display:none;
    }
    .lsp-public-client-identity svg{
        display:none;
    }
    .lsp-public-client-identity{
        width:38px;
        padding:3px;
        justify-content:center;
    }
}

/* 0.1.0-dev.6i2 — Landing client identity integration */
body.home .lsp-public-auth .lsp-public-client-identity{
    display:inline-flex;
    align-items:center;
}

/* =========================================================
   0.1.0-dev.6j — Nearby Salon Discovery
   ========================================================= */
.lsp-booking-nearby-btn,
.lsp-booking-radius{
    min-height:42px;
    border-radius:9px;
    box-sizing:border-box;
}
.lsp-booking-nearby-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 12px;
    border:1px solid #b9ddd7;
    background:#eefaf7;
    color:#13796c;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}
.lsp-booking-nearby-btn:hover{
    background:#e4f7f2;
    border-color:#8fd2c6;
}
.lsp-booking-nearby-btn.is-loading{
    opacity:.75;
}
.lsp-booking-radius{
    padding:0 10px;
    border:1px solid #d4e1e3;
    background:#fff;
    color:#24393f;
    font-size:10px;
    font-weight:800;
}
.lsp-booking-nearby-message{
    margin:0 0 10px;
    padding:9px 11px;
    border:1px solid #ecd8ac;
    border-radius:9px;
    background:#fff9ea;
    color:#7d651f;
    font-size:10px;
}
.lsp-booking-nearby-clear{
    margin-left:5px;
    color:#14796b;
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}
.lsp-booking-distance{
    color:#14796b!important;
    font-weight:800;
}

.lsp-salon-location-setting{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
    gap:18px;
    align-items:center;
    margin:16px 0;
    padding:16px;
    border:1px solid #d7e5e6;
    border-radius:14px;
    background:#f8fcfb;
}
.lsp-salon-location-setting h3{
    margin:5px 0 6px;
    color:#17282e;
    font-size:16px;
}
.lsp-salon-location-setting p{
    max-width:680px;
    margin:0 0 9px;
    color:#65777d;
    font-size:10px;
    line-height:1.55;
}
.lsp-location-status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 8px;
    border-radius:999px;
    background:#eef3f4;
    color:#66787e;
    font-size:9px;
    font-weight:800;
}
.lsp-location-status.is-set{
    background:#e7f8f3;
    color:#127667;
}
.lsp-salon-location-form{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
}
.lsp-salon-location-form small{
    min-height:16px;
    color:#65777d;
    font-size:9px;
    line-height:1.4;
}

@media(max-width:820px){
    .lsp-salon-location-setting{
        grid-template-columns:1fr;
    }
}
@media(max-width:620px){
    .lsp-booking-nearby-btn,
    .lsp-booking-radius{
        width:100%;
    }
    .lsp-salon-location-form .lsp-btn{
        width:100%;
    }
}

/* 0.1.0-dev.6j2 — geolocation button SVG polish */
.lsp-location-capture-btn,
.lsp-booking-nearby-btn{
    gap:7px;
}
.lsp-location-capture-btn svg,
.lsp-booking-nearby-btn svg{
    width:17px;
    height:17px;
    flex:0 0 17px;
}

/* 0.1.0-dev.6k — Manual Reservation */
.lsp-manual-booking-modal[hidden]{display:none!important}.lsp-manual-booking-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.lsp-manual-booking-backdrop{position:absolute;inset:0;background:rgba(8,26,31,.58);backdrop-filter:blur(3px)}.lsp-manual-booking-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:92vh;overflow:auto;border:1px solid #d7e5e7;border-radius:18px;background:#fff;box-shadow:0 26px 70px rgba(6,25,30,.28)}.lsp-manual-booking-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #e2eaec;background:#fff}.lsp-manual-booking-head h2{margin:4px 0 0;font-size:22px}.lsp-manual-booking-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d9e4e6;border-radius:9px;background:#fff;font-size:21px;cursor:pointer}.lsp-manual-booking-form{padding:18px}.lsp-manual-section{display:flex;align-items:center;gap:10px;margin:8px 0 12px;padding-top:8px}.lsp-manual-section:not(:first-child){margin-top:20px;border-top:1px solid #e5ecee;padding-top:16px}.lsp-manual-step{display:grid;place-items:center;width:32px;height:32px;min-width:32px;border-radius:10px;background:#123039;color:#fff;font-size:11px;font-weight:900}.lsp-manual-section h3{margin:0;font-size:14px}.lsp-manual-section p{margin:3px 0 0;color:#738187;font-size:9px}.lsp-manual-slot-help{margin-top:8px;padding:9px 11px;border:1px solid #dce7e8;border-radius:9px;background:#f7fbfa;color:#5d7278;font-size:10px}.lsp-manual-booking-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}html.lsp-modal-open{overflow:hidden}
.lsp-calendar-free-slots{padding:13px 16px;border-bottom:1px solid #e4ebed;background:#f9fcfb}.lsp-calendar-free-slots-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.lsp-calendar-free-slots-head strong{font-size:11px}.lsp-calendar-free-slots-head span{color:#7a878c;font-size:9px}.lsp-calendar-free-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}.lsp-calendar-free-grid button{min-height:34px;border:1px solid #bfe1d9;border-radius:8px;background:#edf9f6;color:#117568;font-size:10px;font-weight:900;cursor:pointer}.lsp-calendar-free-grid button:hover{background:#e0f6f1}.lsp-calendar-free-empty{color:#75858a;font-size:10px}
@media(max-width:620px){.lsp-manual-booking-open{width:100%}.lsp-manual-booking-modal{padding:0;align-items:end}.lsp-manual-booking-dialog{width:100%;max-height:96vh;border-radius:18px 18px 0 0}.lsp-manual-booking-form{padding:14px}.lsp-manual-booking-actions{display:grid;grid-template-columns:1fr}.lsp-manual-booking-actions .lsp-btn{width:100%}}

/* 0.1.0-dev.6k1 — Month Availability Calendar */
.lsp-month-calendar{overflow:hidden;border:1px solid #dce6e8;border-radius:15px;background:#fff}.lsp-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #dfe8ea;background:#f6f9f9}.lsp-month-weekdays span{padding:10px 8px;text-align:center;color:#718087;font-size:9px;font-weight:900;text-transform:uppercase}.lsp-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.lsp-month-day{min-height:116px;padding:9px;border-right:1px solid #e6edef;border-bottom:1px solid #e6edef;color:inherit;text-decoration:none;background:#fff;transition:.16s ease}.lsp-month-day:hover{position:relative;z-index:1;background:#f7fcfb;box-shadow:inset 0 0 0 1px #a8dcd2}.lsp-month-day.is-outside{opacity:.38;background:#fafbfb}.lsp-month-day.is-today{box-shadow:inset 0 0 0 2px #17bfa9}.lsp-month-day.has-bookings{background:#fbfefd}.lsp-month-day-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.lsp-month-day-top strong{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#24383e;font-size:11px}.lsp-month-day.is-today .lsp-month-day-top strong{background:#123039;color:#fff}.lsp-month-day-top span{padding:3px 5px;border-radius:999px;background:#e8f7f3;color:#14796b;font-size:8px;font-weight:900}.lsp-month-day-items{display:grid;gap:4px}.lsp-month-day-items small{display:block;overflow:hidden;padding:4px 5px;border-radius:6px;background:#f1f6f6;color:#53676d;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.lsp-month-day-items small b{color:#183239}.lsp-month-day-items .is-free{background:transparent;color:#a0aaae}.lsp-month-day-items .is-more{background:#eef9f6;color:#14796b;font-weight:900}.lsp-month-agenda{margin-top:14px;border:1px solid #dce6e8;border-radius:15px;background:#fff;overflow:hidden}.lsp-month-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5ecee}.lsp-month-agenda-head h3{margin:3px 0 0;font-size:15px}.lsp-month-agenda-list{display:grid}.lsp-month-agenda-list a{display:grid;grid-template-columns:105px 1fr 22px;align-items:center;gap:10px;padding:11px 15px;border-bottom:1px solid #edf1f2;color:inherit;text-decoration:none}.lsp-month-agenda-list a:hover{background:#f8fcfb}.lsp-month-agenda-list time{color:#14796b;font-size:9px;font-weight:900}.lsp-month-agenda-list strong,.lsp-month-agenda-list small{display:block}.lsp-month-agenda-list strong{font-size:10px}.lsp-month-agenda-list small{margin-top:2px;color:#738187;font-size:9px}
@media(max-width:760px){.lsp-month-calendar{overflow-x:auto}.lsp-month-weekdays,.lsp-month-grid{min-width:700px}.lsp-month-day{min-height:100px}.lsp-month-agenda-head{align-items:flex-start;flex-direction:column}.lsp-month-agenda-head .lsp-btn{width:100%}.lsp-month-agenda-list a{grid-template-columns:82px 1fr 16px}}

/* 0.1.0-dev.6k3 — Month navigation UX hotfix */
.lsp-month-nav-inline{display:inline-flex;align-items:stretch;border:1px solid #dbe5e7;border-radius:10px;overflow:hidden;background:#fff}
.lsp-calendar-view-switch .lsp-month-nav-inline a{border:0!important;border-radius:0!important}
.lsp-calendar-view-switch .lsp-month-nav-inline .lsp-month-arrow{display:grid;place-items:center;min-width:32px;padding:0 8px;font-size:17px;font-weight:900;color:#557078;background:#fff}
.lsp-calendar-view-switch .lsp-month-nav-inline .lsp-month-arrow:hover{background:#eef9f6;color:#117568}
.lsp-calendar-view-switch .lsp-month-nav-inline .lsp-month-active{border-left:1px solid #dbe5e7!important;border-right:1px solid #dbe5e7!important}
.lsp-calendar-nav.is-month{display:flex}
.lsp-month-agenda-empty{display:flex;min-height:118px;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:24px;text-align:center}
.lsp-month-agenda-empty strong{font-size:12px;color:#17343c}.lsp-month-agenda-empty span{max-width:440px;color:#74858a;font-size:10px;line-height:1.5}
@media(max-width:620px){.lsp-month-nav-inline{width:100%}.lsp-calendar-view-switch .lsp-month-nav-inline .lsp-month-active{flex:1;text-align:center}.lsp-calendar-view-switch .lsp-month-nav-inline .lsp-month-arrow{min-width:42px}}

/* 0.1.0-dev.6k4 — unified calendar navigation */
.lsp-calendar-unified-nav{
    display:inline-flex;
    align-items:stretch;
    border:1px solid #dbe5e7;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
}
.lsp-calendar-view-switch.lsp-calendar-unified-nav>a{
    border:0!important;
    border-radius:0!important;
    border-right:1px solid #e2eaec!important;
}
.lsp-calendar-view-switch.lsp-calendar-unified-nav>a:last-child{
    border-right:0!important;
}
.lsp-calendar-view-switch.lsp-calendar-unified-nav .lsp-calendar-step-arrow{
    display:grid;
    place-items:center;
    min-width:34px;
    padding:0 9px;
    background:#fff;
    color:#557078;
    font-size:18px;
    font-weight:900;
}
.lsp-calendar-view-switch.lsp-calendar-unified-nav .lsp-calendar-step-arrow:hover{
    background:#eef9f6;
    color:#117568;
}
.lsp-calendar-view-switch.lsp-calendar-unified-nav .is-active{
    background:#123039!important;
    color:#fff!important;
}
@media(max-width:620px){
    .lsp-calendar-unified-nav{
        width:100%;
    }
    .lsp-calendar-view-switch.lsp-calendar-unified-nav>a:not(.lsp-calendar-step-arrow){
        flex:1;
        text-align:center;
    }
    .lsp-calendar-view-switch.lsp-calendar-unified-nav .lsp-calendar-step-arrow{
        min-width:42px;
    }
}

/* 0.1.0-dev.6l — Staff Operations Foundation */
.lsp-staff-card-actions{display:flex;gap:6px;flex-wrap:wrap}.lsp-staff-profile-head{display:flex;align-items:center;gap:18px;margin-bottom:14px;padding:18px;border:1px solid #dce6e8;border-radius:16px;background:#fff}.lsp-staff-profile-back{align-self:flex-start;color:#14796b;font-size:10px;font-weight:900;text-decoration:none}.lsp-staff-profile-identity{display:flex;align-items:center;gap:13px;flex:1}.lsp-staff-profile-avatar{display:grid;place-items:center;width:58px;height:58px;min-width:58px;border-radius:15px;background:#123039;color:#fff;font-size:24px;font-weight:900}.lsp-staff-profile-identity h1{margin:3px 0;font-size:23px}.lsp-staff-profile-identity p{margin:0;color:#718087;font-size:10px}.lsp-staff-profile-actions{display:flex;gap:8px}.lsp-staff-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.lsp-staff-kpis>a,.lsp-staff-kpis>div{padding:15px;border:1px solid #dce6e8;border-radius:13px;background:#fff;color:inherit;text-decoration:none}.lsp-staff-kpis>a:hover{box-shadow:0 8px 24px rgba(15,47,55,.08);transform:translateY(-1px)}.lsp-staff-kpis span,.lsp-staff-kpis small{display:block;color:#738187;font-size:9px}.lsp-staff-kpis strong{display:block;margin:5px 0 2px;color:#14343b;font-size:24px}.lsp-staff-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.lsp-staff-service-chips{display:flex;flex-wrap:wrap;gap:7px;padding:15px}.lsp-staff-service-chips span{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #cfe4df;border-radius:9px;background:#f2faf8;font-size:10px;font-weight:800}.lsp-staff-service-chips small{color:#718087;font-size:8px}.lsp-staff-availability-copy{padding:5px 15px 0;color:#687b81;font-size:10px;line-height:1.55}.lsp-staff-inline-link{display:inline-block;padding:5px 15px 16px;color:#117568;font-size:10px;font-weight:900;text-decoration:none}.lsp-staff-schedule-panel{margin-top:12px}.lsp-staff-appointment-list{display:grid}.lsp-staff-appointment-list>a{display:grid;grid-template-columns:90px 1fr auto 18px;align-items:center;gap:10px;padding:11px 15px;border-top:1px solid #edf1f2;color:inherit;text-decoration:none}.lsp-staff-appointment-list>a:hover{background:#f8fcfb}.lsp-staff-appointment-list time{color:#14796b;font-size:9px;font-weight:900}.lsp-staff-appointment-list strong,.lsp-staff-appointment-list small{display:block}.lsp-staff-appointment-list strong{font-size:10px}.lsp-staff-appointment-list small{margin-top:2px;color:#75858a;font-size:9px}.lsp-staff-appointment-list>a>span{padding:4px 7px;border-radius:999px;background:#f1f6f6;color:#53676d;font-size:8px;font-weight:800}
@media(max-width:760px){.lsp-staff-profile-head{align-items:flex-start;flex-direction:column}.lsp-staff-profile-identity{width:100%}.lsp-staff-profile-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.lsp-staff-kpis{grid-template-columns:1fr 1fr}.lsp-staff-profile-grid{grid-template-columns:1fr}.lsp-staff-appointment-list>a{grid-template-columns:70px 1fr auto}.lsp-staff-appointment-list>a>b{display:none}}
@media(max-width:430px){.lsp-staff-profile-actions{grid-template-columns:1fr}.lsp-staff-profile-avatar{width:48px;height:48px;min-width:48px;font-size:20px}.lsp-staff-appointment-list>a{grid-template-columns:62px 1fr}.lsp-staff-appointment-list>a>span{grid-column:2}}

/* 0.1.0-dev.6l1 — Staff Availability Profile Hotfix */
.lsp-staff-buffer-row{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:12px 15px;border-bottom:1px solid #edf1f2}
.lsp-staff-buffer-row>span{color:#60747a;font-size:9px;font-weight:800}.lsp-staff-buffer-row>strong{padding:4px 7px;border-radius:999px;background:#eaf8f5;color:#13796c;font-size:9px}.lsp-staff-buffer-row>small{color:#7a898e;font-size:8px}
.lsp-staff-week-summary{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:13px 15px;border-bottom:1px solid #edf1f2}.lsp-staff-week-summary>div{padding:8px 6px;border:1px solid #dce7e8;border-radius:8px;background:#fbfdfd;text-align:center}.lsp-staff-week-summary strong,.lsp-staff-week-summary span{display:block}.lsp-staff-week-summary strong{font-size:9px}.lsp-staff-week-summary span{margin-top:3px;color:#6e8086;font-size:8px}.lsp-staff-week-summary .is-off{background:#f7f7f7;opacity:.72}
.lsp-staff-exception-summary{padding:13px 15px 4px}.lsp-staff-exception-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.lsp-staff-exception-summary-head strong{font-size:10px}.lsp-staff-exception-summary-head span{padding:3px 6px;border-radius:999px;background:#eef6f5;color:#17796e;font-size:8px;font-weight:900}
.lsp-staff-profile-empty.is-compact{padding:12px 0;text-align:left}.lsp-staff-exception-list{display:grid;gap:6px}.lsp-staff-exception-list article{padding:9px;border:1px solid #e1eaec;border-radius:9px;background:#fbfdfd}.lsp-staff-exception-list article>div{display:flex;justify-content:space-between;gap:10px}.lsp-staff-exception-list strong{font-size:9px}.lsp-staff-exception-list span,.lsp-staff-exception-list small{color:#708187;font-size:8px}.lsp-staff-exception-list small{display:block;margin-top:4px}
@media(max-width:760px){.lsp-staff-week-summary{grid-template-columns:repeat(2,1fr)}.lsp-staff-buffer-row{grid-template-columns:auto auto}.lsp-staff-buffer-row>small{grid-column:1/-1}}

/* 0.1.0-dev.6m — Manual Client CRM */
.lsp-clients-toolbar-actions{display:flex;align-items:center}.lsp-manual-client-modal[hidden]{display:none!important}.lsp-manual-client-dialog{max-width:620px}.lsp-existing-client-select{padding:10px 12px;border:1px solid #d8e5e6;border-radius:10px;background:#f8fbfb}.lsp-client-detail-actions{display:flex;align-items:center;gap:9px}.lsp-client-note{margin-bottom:12px;padding:13px 15px;border:1px solid #dce6e8;border-radius:12px;background:#fff}.lsp-client-note p{margin:5px 0 0;color:#65777d;font-size:10px;line-height:1.55}
@media(max-width:760px){.lsp-clients-toolbar-actions{width:100%}.lsp-clients-toolbar-actions .lsp-btn{width:100%}.lsp-client-detail-actions{width:100%;justify-content:space-between;flex-wrap:wrap}}

/* 0.1.0-dev.6m1 — Manual Client Modal Centering / Containment Hotfix */
.lsp-manual-client-modal{
    position:fixed!important;
    inset:0!important;
    z-index:100000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    box-sizing:border-box!important;
}
.lsp-manual-client-modal[hidden]{
    display:none!important;
}
.lsp-manual-client-modal .lsp-manual-booking-backdrop{
    position:absolute!important;
    inset:0!important;
}
.lsp-manual-client-dialog{
    position:relative!important;
    z-index:2!important;
    width:min(620px, calc(100vw - 48px))!important;
    max-width:620px!important;
    max-height:calc(100vh - 48px)!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#fff!important;
}
.lsp-manual-client-dialog .lsp-manual-booking-head{
    position:relative!important;
    top:auto!important;
    flex:0 0 auto!important;
}
.lsp-manual-client-dialog > form{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:18px!important;
    box-sizing:border-box!important;
}
.lsp-manual-client-dialog .lsp-manual-booking-actions{
    position:sticky;
    bottom:-18px;
    z-index:2;
    margin:16px -18px -18px!important;
    padding:12px 18px!important;
    background:#fff!important;
    border-top:1px solid #e5ecee;
}
.lsp-manual-client-dialog textarea{
    min-height:96px;
    max-height:180px;
    resize:vertical;
}
.lsp-manual-client-dialog .lsp-form-help{
    display:block;
    margin-top:8px;
    line-height:1.45;
}

@media(max-width:620px){
    .lsp-manual-client-modal{
        align-items:flex-end!important;
        padding:0!important;
    }
    .lsp-manual-client-dialog{
        width:100%!important;
        max-width:none!important;
        max-height:94vh!important;
        border-radius:18px 18px 0 0!important;
    }
    .lsp-manual-client-dialog > form{
        padding:14px!important;
    }
    .lsp-manual-client-dialog .lsp-manual-booking-actions{
        bottom:-14px;
        margin:14px -14px -14px!important;
        padding:12px 14px!important;
    }
}

/* 0.1.0-dev.6m2 — Client save feedback */
.lsp-client-feedback-toast{
    position:fixed;
    top:86px;
    right:22px;
    z-index:100200;
    display:grid;
    grid-template-columns:36px minmax(220px,1fr) 30px;
    align-items:start;
    gap:10px;
    width:min(430px,calc(100vw - 44px));
    padding:13px;
    border:1px solid #d7e5e7;
    border-radius:13px;
    background:#fff;
    box-shadow:0 18px 45px rgba(5,28,34,.18);
}
.lsp-client-feedback-toast.is-success{border-color:#a9dfd1;background:#f4fcf9}
.lsp-client-feedback-toast.is-warning{border-color:#ead28f;background:#fffaf0}
.lsp-client-feedback-toast.is-error{border-color:#efb3b3;background:#fff6f6}
.lsp-client-feedback-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#e5f8f2;
    color:#117568;
    font-size:16px;
    font-weight:900;
}
.lsp-client-feedback-toast.is-warning .lsp-client-feedback-icon{background:#fff0bf;color:#8a6510}
.lsp-client-feedback-toast.is-error .lsp-client-feedback-icon{background:#fde1e1;color:#aa3434}
.lsp-client-feedback-toast strong{display:block;margin-top:1px;color:#16333a;font-size:11px}
.lsp-client-feedback-toast p{margin:4px 0 0;color:#64767c;font-size:9px;line-height:1.45}
.lsp-client-feedback-toast>button{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#66787e;
    font-size:17px;
    cursor:pointer;
}
.lsp-client-feedback-toast>button:hover{background:rgba(0,0,0,.05)}
@media(max-width:620px){
    .lsp-client-feedback-toast{
        top:72px;
        right:12px;
        left:12px;
        width:auto;
    }
}

/* 0.1.0-dev.6n — Client CRM Operations */
.lsp-client-crm-tag,.lsp-client-mini-tag{display:inline-flex;align-items:center;border-radius:999px;font-style:normal;font-weight:900}.lsp-client-crm-tag{padding:5px 8px;background:#eef5f5;color:#526b70;font-size:8px}.lsp-client-crm-tag.is-loyal,.lsp-client-mini-tag.is-loyal{background:#e9f8f4;color:#13796b}.lsp-client-crm-tag.is-vip,.lsp-client-mini-tag.is-vip{background:#fff2c9;color:#87620d}.lsp-client-mini-tag.is-archived{background:#edf0f1;color:#68777c}.lsp-client-mini-tag{margin-left:5px;padding:2px 5px;font-size:7px;vertical-align:middle}.lsp-client-note>div{display:flex;align-items:center;justify-content:space-between}.lsp-client-note>div button{padding:0;border:0;background:transparent;color:#117568;font-size:9px;font-weight:900;cursor:pointer}.lsp-client-archive-banner{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;border:1px solid #ead28f;border-radius:11px;background:#fffaf0}.lsp-client-archive-banner strong{font-size:10px}.lsp-client-archive-banner span{color:#786d51;font-size:9px}.lsp-client-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;padding:14px 16px;border:1px solid #e2e8e9;border-radius:12px;background:#fafcfc}.lsp-client-danger-zone strong{display:block;margin-top:3px;font-size:11px}.lsp-client-danger-zone p{margin:3px 0 0;color:#748388;font-size:9px}.lsp-btn-danger{border-color:#e3b2b2!important;color:#a43b3b!important;background:#fff8f8!important}.lsp-client-stats{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.lsp-client-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.lsp-client-detail-actions{gap:6px}.lsp-client-crm-tag{order:-1}.lsp-client-danger-zone{align-items:flex-start;flex-direction:column}.lsp-client-danger-zone form,.lsp-client-danger-zone .lsp-btn{width:100%}.lsp-client-archive-banner{align-items:flex-start;flex-direction:column}.lsp-client-stats{grid-template-columns:1fr 1fr}}

/* 0.1.0-dev.6o — Finance & Reporting Foundation */
.lsp-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px;padding:18px;border:1px solid #dce6e8;border-radius:16px;background:#fff}.lsp-report-hero h2{margin:4px 0 5px;font-size:23px}.lsp-report-hero p{max-width:720px;margin:0;color:#687b81;font-size:10px;line-height:1.55}.lsp-report-range{padding:7px 10px;border-radius:9px;background:#eef8f6;color:#14796b;font-size:9px;font-weight:900;white-space:nowrap}.lsp-report-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid #dce6e8;border-radius:12px;background:#fff}.lsp-report-presets{display:flex;gap:5px}.lsp-report-presets a{padding:7px 10px;border:1px solid #dce6e8;border-radius:8px;color:#52686e;font-size:9px;font-weight:900;text-decoration:none}.lsp-report-presets a.is-active{border-color:#b8ded6;background:#eaf8f5;color:#117568}.lsp-report-filter form{display:flex;align-items:end;gap:7px}.lsp-report-filter label{display:grid;gap:3px;color:#6c7d82;font-size:8px;font-weight:800}.lsp-report-filter input{min-height:34px;padding:5px 7px;border:1px solid #d8e4e6;border-radius:7px;background:#fff;font-size:9px}.lsp-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.lsp-report-kpis article{padding:15px;border:1px solid #dce6e8;border-radius:13px;background:#fff}.lsp-report-kpis span,.lsp-report-kpis small{display:block;color:#74858a;font-size:9px}.lsp-report-kpis strong{display:block;margin:6px 0 3px;color:#14343b;font-size:22px}.lsp-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lsp-report-table{display:grid}.lsp-report-row{display:grid;grid-template-columns:1fr 80px 110px;align-items:center;gap:8px;padding:10px 15px;border-top:1px solid #edf1f2}.lsp-report-row strong,.lsp-report-row b{font-size:9px}.lsp-report-row span{color:#6e8086;font-size:9px}.lsp-report-row b{text-align:right;color:#14796b}.lsp-report-row.is-head{background:#f8fbfb;font-weight:900}.lsp-report-row.is-head span:last-child{text-align:right}
@media(max-width:900px){.lsp-report-kpis{grid-template-columns:1fr 1fr}.lsp-report-grid{grid-template-columns:1fr}}
@media(max-width:620px){.lsp-report-hero{align-items:flex-start;flex-direction:column}.lsp-report-filter{align-items:stretch;flex-direction:column}.lsp-report-presets{display:grid;grid-template-columns:repeat(3,1fr)}.lsp-report-presets a{text-align:center}.lsp-report-filter form{display:grid;grid-template-columns:1fr 1fr}.lsp-report-filter form .lsp-btn{grid-column:1/-1}.lsp-report-kpis{grid-template-columns:1fr 1fr}.lsp-report-row{grid-template-columns:1fr 52px 90px;padding:10px}.lsp-report-kpis strong{font-size:18px}}

/* 0.1.0-dev.6o1 — Settings form structure hotfix */
.lsp-additional-types-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #e3ebed;
}
.lsp-additional-types-actions span{
    color:#718187;
    font-size:9px;
}
.lsp-hidden-location-form{
    display:none!important;
}
@media(max-width:620px){
    .lsp-additional-types-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .lsp-additional-types-actions .lsp-btn{
        width:100%;
    }
}

/* 0.1.0-dev.6o2 — Booking Source Reporting */
.lsp-report-source-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.lsp-report-source-split>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #dce6e8;border-radius:14px;background:#fff}.lsp-report-source-split>article.is-online{border-color:#b8ded6;background:#f5fcfa}.lsp-report-source-split h3{margin:3px 0 4px;font-size:14px}.lsp-report-source-split p{max-width:390px;margin:0;color:#718287;font-size:9px;line-height:1.45}.lsp-report-source-metrics{display:flex;gap:8px}.lsp-report-source-metrics>span{min-width:100px;padding:9px 10px;border:1px solid #e0e9ea;border-radius:10px;background:#fff}.lsp-report-source-metrics small,.lsp-report-source-metrics strong{display:block}.lsp-report-source-metrics small{color:#75868b;font-size:8px}.lsp-report-source-metrics strong{margin-top:4px;color:#17363d;font-size:15px}.lsp-report-source-split .is-online .lsp-report-source-metrics strong{color:#117568}.lsp-report-source-rule{display:flex;align-items:flex-start;gap:7px;margin-bottom:12px;padding:9px 12px;border-radius:9px;background:#f5f8f8;color:#6b7c81;font-size:8px;line-height:1.45}.lsp-report-source-rule strong{color:#415a60;white-space:nowrap}.lsp-report-source-rule code{padding:1px 4px;border-radius:4px;background:#e8f1f0;color:#117568}
@media(max-width:900px){.lsp-report-source-split{grid-template-columns:1fr}}
@media(max-width:620px){.lsp-report-source-split>article{align-items:flex-start;flex-direction:column}.lsp-report-source-metrics{width:100%}.lsp-report-source-metrics>span{flex:1;min-width:0}.lsp-report-source-rule{flex-direction:column}.lsp-report-source-rule strong{white-space:normal}}

/* 0.1.0-dev.6q — Commission metrics */
.lsp-report-source-split .is-online .lsp-report-source-metrics{flex-wrap:wrap;justify-content:flex-end}
.lsp-report-source-split .is-online .lsp-report-source-metrics>span{min-width:105px}
@media(max-width:620px){.lsp-report-source-split .is-online .lsp-report-source-metrics{justify-content:stretch}.lsp-report-source-split .is-online .lsp-report-source-metrics>span{min-width:calc(50% - 4px)}}

/* 0.1.0-dev.6r — Business registration */
.lsp-business-register-block{display:grid;gap:9px;margin:4px 0;padding:13px;border:1px solid #dce7e8;border-radius:12px;background:#f8fbfb}.lsp-business-register-block label{margin:0}.lsp-business-register-block small{color:#718287;font-size:9px;line-height:1.4}.lsp-vat-check{display:flex!important;align-items:center;gap:8px;font-weight:800}.lsp-vat-check input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important}

/* 0.1.0-dev.6r2 — Owner ID & VAT profile */
.lsp-business-profile-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 15px 14px}.lsp-business-profile-summary article{padding:14px;border:1px solid #dce6e8;border-radius:12px;background:#f8fbfb}.lsp-business-profile-summary span,.lsp-business-profile-summary small{display:block;color:#718287;font-size:9px}.lsp-business-profile-summary strong{display:block;margin:5px 0;color:#17363d;font-size:15px}.lsp-business-owner-form{max-width:680px}.lsp-business-vat-preview{padding:12px;border:1px solid #dce7e8;border-radius:10px;background:#f7fbfa}.lsp-business-vat-preview span,.lsp-business-vat-preview small{display:block;color:#718287;font-size:9px}.lsp-business-vat-preview strong{display:block;margin:4px 0;color:#117568;font-size:14px}.lsp-inline-notice{margin:0 15px 12px;padding:10px 12px;border-radius:9px;font-size:9px;font-weight:800}.lsp-inline-notice.is-success{background:#eaf8f4;color:#117568}.lsp-inline-notice.is-error{background:#fff0f0;color:#9a3f3f}
@media(max-width:620px){.lsp-business-profile-summary{grid-template-columns:1fr}.lsp-business-owner-form{max-width:none}}

/* 0.1.0-dev.6r3 — Business identity merged into Salon Profile */
.lsp-business-identity-row{align-items:start}.lsp-business-identity-row small{display:block;margin-top:4px;color:#718287;font-size:9px}.lsp-settings-vat-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:-2px 0 12px;padding:10px 12px;border:1px solid #dce7e8;border-radius:10px;background:#f8fbfb}.lsp-settings-vat-row>span{font-size:9px;color:#536a70}.lsp-settings-vat-row>span strong{color:#117568}.lsp-settings-vat-row>small{flex-basis:100%;color:#718287;font-size:8px}
@media(max-width:620px){.lsp-settings-vat-row{align-items:flex-start;flex-direction:column;gap:6px}.lsp-business-identity-row{grid-template-columns:1fr}}

/* 0.1.0-dev.6r5 — Mobile PDV helper text overflow hotfix */
@media(max-width:620px){
    .lsp-settings-vat-row{
        width:100%;
        min-width:0;
        box-sizing:border-box;
        overflow:visible;
    }
    .lsp-settings-vat-row > *,
    .lsp-settings-vat-row small,
    .lsp-settings-vat-row span,
    .lsp-settings-vat-row .lsp-vat-check{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal;
    }
    .lsp-settings-vat-row .lsp-vat-check{
        display:flex!important;
        flex-direction:row;
        align-items:flex-start;
    }
    .lsp-settings-vat-row .lsp-vat-check input{
        flex:0 0 16px;
        width:16px!important;
    }
}

/* 0.1.0-dev.6r6 — Mobile PDV row layout correction */
@media(max-width:620px){
  .lsp-settings-vat-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 12px!important;
    padding:10px!important;
    box-sizing:border-box!important;
  }
  .lsp-settings-vat-row .lsp-vat-check{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;
    align-items:start!important;
    gap:8px!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .lsp-settings-vat-row .lsp-vat-check input{
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    margin:1px 0 0!important;
  }
  .lsp-settings-vat-row > span,
  .lsp-settings-vat-row > small{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    transform:none!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
  }
}
/* 0.1.0-dev.6t — Communication Center */
.lsp-communication-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:15px;border:1px solid #dce7e8;border-radius:14px;background:linear-gradient(135deg,#fff,#f4fbf9)}.lsp-communication-hero h2{margin:2px 0 4px}.lsp-communication-hero p{margin:0;color:#718287;font-size:9px}.lsp-communication-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.lsp-communication-kpis article{padding:12px;border:1px solid #dce7e8;border-radius:11px;background:#fff}.lsp-communication-kpis span{display:block;color:#718287;font-size:8px}.lsp-communication-kpis strong{display:block;margin-top:5px;color:#17363d;font-size:19px}.lsp-communication-list{display:grid;gap:8px;padding:10px}.lsp-communication-list>article{display:grid;grid-template-columns:76px minmax(0,1fr) 145px;gap:12px;align-items:start;padding:12px;border:1px solid #e1e9ea;border-radius:11px;background:#fff}.lsp-communication-channel{display:inline-flex;justify-content:center;padding:6px;border-radius:7px;font-size:8px;font-weight:900}.lsp-communication-channel.is-email{background:#edf4f7;color:#42616b}.lsp-communication-channel.is-whatsapp{background:#eaf8f1;color:#17714f}.lsp-communication-channel.is-viber{background:#f2edfa;color:#65459a}.lsp-communication-main strong,.lsp-communication-main span,.lsp-communication-main small{display:block}.lsp-communication-main span,.lsp-communication-main small{color:#718287;font-size:8px}.lsp-communication-main p{max-height:62px;overflow:auto;margin:7px 0;padding:8px;border-radius:8px;background:#f8fbfb;color:#536a70;font-size:9px;line-height:1.45}.lsp-communication-actions{display:grid;gap:6px}.lsp-communication-status{display:inline-flex;justify-content:center;padding:5px 7px;border-radius:999px;background:#eef3f4;color:#60757a;font-size:8px;font-weight:800}.lsp-communication-status.is-sent,.lsp-communication-status.is-sent_manual{background:#e8f7f3;color:#14796b}.lsp-communication-status.is-failed{background:#fdecec;color:#a13d3d}.lsp-comm-send,.lsp-communication-actions button{display:block;width:100%;box-sizing:border-box;padding:7px 8px;border:1px solid #d4e1e2;border-radius:8px;background:#fff;text-align:center;text-decoration:none;color:#17363d;font-size:8px;font-weight:800;cursor:pointer}.lsp-comm-send.is-whatsapp{border-color:#bfe5d2;color:#17714f}.lsp-comm-send.is-viber{border-color:#d8cdef;color:#65459a}.lsp-viber-note{color:#829196;font-size:7px;line-height:1.3}
@media(max-width:760px){.lsp-communication-kpis{grid-template-columns:1fr 1fr}.lsp-communication-list>article{grid-template-columns:1fr}.lsp-communication-channel{justify-self:start}.lsp-communication-actions{grid-template-columns:1fr 1fr}.lsp-viber-note{grid-column:1/-1}}
@media(max-width:480px){.lsp-communication-kpis{grid-template-columns:1fr 1fr}.lsp-communication-actions{grid-template-columns:1fr}}
/* 0.1.0-dev.6t1 — Communication Center all bookings hotfix */
.lsp-communication-bookings-panel{margin-bottom:10px}.lsp-communication-bookings-panel .lsp-panel-head p{margin:4px 0 0;color:#718287;font-size:8px}.lsp-communication-booking-list{display:grid;gap:7px;padding:10px}.lsp-communication-booking-card{display:grid;grid-template-columns:64px minmax(0,1fr) 170px;gap:11px;align-items:center;padding:11px;border:1px solid #e1e9ea;border-radius:11px;background:#fff}.lsp-comm-booking-date{display:grid;place-items:center;padding:8px;border-radius:9px;background:#f3f8f8}.lsp-comm-booking-date strong{color:#17363d;font-size:12px}.lsp-comm-booking-date span{color:#117568;font-size:9px;font-weight:800}.lsp-comm-booking-main strong,.lsp-comm-booking-main>span,.lsp-comm-booking-main>small{display:block}.lsp-comm-booking-main>span{margin-top:3px;color:#60757a;font-size:9px}.lsp-comm-booking-main>small{margin-top:4px;color:#829196;font-size:8px}.lsp-comm-booking-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.lsp-comm-source{padding:3px 6px;border-radius:999px;background:#eef3f4;color:#60757a;font-size:7px;font-weight:900;text-transform:uppercase}.lsp-comm-source.is-web,.lsp-comm-source.is-online{background:#eaf8f4;color:#14796b}.lsp-comm-booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lsp-comm-no-phone{grid-column:1/-1;padding:7px;border-radius:8px;background:#f4f6f6;color:#8a989c;text-align:center;font-size:8px}
@media(max-width:760px){.lsp-communication-booking-card{grid-template-columns:52px minmax(0,1fr)}.lsp-comm-booking-actions{grid-column:1/-1}.lsp-communication-bookings-panel .lsp-panel-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.lsp-communication-booking-card{grid-template-columns:1fr}.lsp-comm-booking-date{justify-items:start}.lsp-comm-booking-actions{grid-column:auto}}

/* 0.1.0-dev.6t2 — Viber prepared-message modal */
button.lsp-comm-send{font:inherit;cursor:pointer}.lsp-viber-modal[hidden]{display:none!important}.lsp-viber-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:16px}.lsp-viber-modal-backdrop{position:absolute;inset:0;background:rgba(12,34,39,.58)}.lsp-viber-modal-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:16px;border:1px solid #dce7e8;border-radius:15px;background:#fff;box-shadow:0 20px 60px rgba(10,35,40,.25)}.lsp-viber-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lsp-viber-modal-head h3{margin:2px 0 0}.lsp-viber-modal-head>button{border:0;background:transparent;color:#667b80;font-size:24px;line-height:1;cursor:pointer}.lsp-viber-modal-card>p{color:#657a80;font-size:10px;line-height:1.5}.lsp-viber-modal-card textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #d3e0e2;border-radius:10px;background:#f8fbfb;color:#263f45;font-size:11px;line-height:1.55}.lsp-viber-modal-status{margin:8px 0;padding:8px 10px;border-radius:8px;background:#f1f8f6;color:#426a63;font-size:9px}.lsp-viber-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
@media(max-width:620px){.lsp-viber-modal{align-items:end;padding:10px}.lsp-viber-modal-card{width:100%;max-height:85vh;border-radius:15px}.lsp-viber-modal-actions{flex-direction:column}.lsp-viber-modal-actions .lsp-btn{width:100%;text-align:center}}

/* 0.1.0-dev.6u — Client Account Bridge */
.lsp-auth-forgot{color:#117568!important;font-weight:800;text-decoration:none}.lsp-auth-forgot:hover{text-decoration:underline}
.lsp-client-account-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900}
.lsp-client-account-badge.is-linked{background:#e8f7f3;color:#14796b}.lsp-client-account-badge.is-unlinked{background:#f2f4f5;color:#6d7d82}
.lsp-client-account-help{margin:-2px 0 10px;padding:9px 10px;border:1px solid #dce7e8;border-radius:9px;background:#f7fbfa;color:#657a80;font-size:9px;line-height:1.5}
@media(max-width:620px){.lsp-client-account-badge{order:1}.lsp-auth-switch{line-height:1.7}}


/* 0.1.0-dev.6u4 — Daily Activity KPI date-scope consistency */
.lsp-booking-date-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;border:1px solid #bfe1da;border-radius:10px;background:#f2faf8}.lsp-booking-date-scope strong{display:block;margin-top:2px;color:#173b3a;font-size:11px}.lsp-booking-date-scope a{color:#117568;font-size:9px;font-weight:800;text-decoration:none}.lsp-booking-date-scope a:hover{text-decoration:underline}
@media(max-width:620px){.lsp-booking-date-scope{align-items:flex-start;flex-direction:column}}

/* 0.1.0-dev.6v — Client Profile & Contact Identity */
.lsp-client-avatar-editor{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px;border:1px solid #dce7e8;border-radius:11px;background:#f8fbfb}.lsp-client-avatar-editor>img{width:58px;height:58px;flex:0 0 58px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px #d5e3e5}.lsp-client-avatar-editor label{margin:0!important;min-width:0;flex:1}.lsp-client-avatar-editor input[type=file]{display:block;width:100%;margin-top:6px;font-size:9px}.lsp-client-profile-card label small{display:block;margin-top:4px;color:#718287;font-size:8px;line-height:1.45}
@media(max-width:520px){.lsp-client-avatar-editor{align-items:flex-start;flex-direction:column}.lsp-client-avatar-editor>img{width:64px;height:64px;flex-basis:64px}}

/* =========================================================
   0.1.0-dev.6v1 — Unified Client Identity & WP Bar Cleanup
   ========================================================= */
@media(max-width:980px){
  body.lsp-public-menu-open .lsp-public-auth .lsp-public-client-identity{
    width:100%;min-height:54px;padding:7px 10px;border-radius:12px;justify-content:flex-start;
  }
  body.lsp-public-menu-open .lsp-public-auth .lsp-public-client-identity img{
    width:40px;height:40px;min-width:40px;
  }
  body.lsp-public-menu-open .lsp-public-auth .lsp-public-client-identity span{
    display:block;max-width:none;font-size:12px;flex:1;
  }
  body.lsp-public-menu-open .lsp-public-auth .lsp-public-client-identity svg{display:block;margin-left:auto}
}
@media(max-width:390px){
  body.lsp-public-menu-open .lsp-public-auth .lsp-public-client-identity{
    width:100%;padding:7px 10px;justify-content:flex-start;
  }
}
/* 0.1.0-dev.6w — Communication Center final workflow */
.lsp-comm-template-actions form{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.lsp-comm-template-actions select{min-width:135px;padding:7px 9px;border:1px solid #d5e3e4;border-radius:8px;background:#fff;font-size:9px}.lsp-comm-prepare{border:0;border-radius:8px;padding:8px 10px;background:#123039;color:#fff;font-size:9px;font-weight:850;cursor:pointer}.lsp-comm-prepare:hover{opacity:.9}
@media(max-width:720px){.lsp-comm-template-actions form{width:100%;justify-content:stretch}.lsp-comm-template-actions select,.lsp-comm-prepare{width:100%}}
/* 0.1.0-dev.6x — Online Booking Settlement Engine */
.lsp-settlement-attention{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;margin:12px 0;padding:13px 15px;border:1px solid #dce7e8;border-radius:12px;background:#fff}.lsp-settlement-attention.has-items{border-color:#ead7a7;background:#fffaf0}.lsp-settlement-attention-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef8f5;color:#117568;font-size:18px}.lsp-settlement-attention.has-items .lsp-settlement-attention-icon{background:#fff0c8;color:#8a6514}.lsp-settlement-attention h3{margin:2px 0}.lsp-settlement-attention p{margin:0;color:#708287;font-size:9px}.lsp-settlement-attention>strong{font-size:22px;color:#173b3a}.lsp-settlement-attention>a,.lsp-settlement-attention>span{font-size:9px;font-weight:800;color:#117568;text-decoration:none}.lsp-settlement-badge{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}.lsp-settlement-badge.is-awaiting{background:#fff4d9;color:#8b6817}.lsp-settlement-badge.is-billable{background:#e8f7f3;color:#14796b}.lsp-settlement-badge.is-not_billable,.lsp-settlement-badge.is-excluded{background:#f0f2f3;color:#697b80}.lsp-settlement-badge.is-pending{background:#edf4f7;color:#4c6f78}
@media(max-width:620px){.lsp-settlement-attention{grid-template-columns:auto 1fr auto}.lsp-settlement-attention>a,.lsp-settlement-attention>span{grid-column:2/-1}}

/* 0.1.0-dev.6z1 — Owner CRM real client avatars */
.lsp-client-avatar.has-image{overflow:hidden;padding:0;background:#fff}.lsp-client-avatar.has-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.lsp-client-detail-identity{display:flex;align-items:center;gap:13px;min-width:0}.lsp-client-detail-avatar{display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center;border-radius:16px;background:#eaf6f3;color:#14796d;font-size:22px;font-weight:900}.lsp-client-detail-avatar.has-image{overflow:hidden;padding:0;background:#fff;border:1px solid #dce6e8}.lsp-client-detail-avatar img{display:block;width:100%;height:100%;object-fit:cover}.lsp-client-detail-identity>div{min-width:0}@media(max-width:640px){.lsp-client-detail-identity{align-items:flex-start}.lsp-client-detail-avatar{flex-basis:48px;width:48px;height:48px;border-radius:13px}}

/* 0.1.0-dev.6z2 — neutral default client avatar */
.lsp-client-default-avatar{display:grid;width:100%;height:100%;place-items:center}.lsp-client-default-avatar svg{width:62%;height:62%;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.lsp-client-avatar:not(.has-image),.lsp-client-detail-avatar:not(.has-image){background:#edf5f4;color:#68827f}


/* 0.1.0-dev.7a — Salon PRO Frontend Brand Polish Phase 1
   Scoped to the public frontend. Primary logo-derived accent: #04d6d5. */
.lsp-public{
    --lsp-public-accent:#04d6d5;
    --lsp-public-accent-hover:#03bfc4;
    --lsp-public-accent-deep:#078f96;
    --lsp-public-accent-soft:#e9fcfc;
    --lsp-public-dark:#102f36;
    --lsp-public-dark-2:#0a242a;
    --lsp-public-text:#17343b;
    --lsp-public-muted:#6b8186;
    --lsp-public-border:#d9e9eb;
    --lsp-public-bg:#f6fafb;
    background:var(--lsp-public-bg);
    color:var(--lsp-public-text);
}
.lsp-public-header{
    border-bottom-color:var(--lsp-public-border);
    background:rgba(255,255,255,.95);
    box-shadow:0 7px 28px rgba(16,47,54,.035);
}
.lsp-public-brand{color:var(--lsp-public-text)}
.lsp-public-brand small{color:var(--lsp-public-muted)}
.lsp-public-nav a{position:relative;color:#385158;transition:color .18s ease}
.lsp-public-nav a:after{
    content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;
    border-radius:999px;background:var(--lsp-public-accent);
    transform:scaleX(0);transform-origin:center;transition:transform .18s ease
}
.lsp-public-nav a:hover{color:var(--lsp-public-accent-deep)}
.lsp-public-nav a:hover:after{transform:scaleX(1)}
.lsp-public .lsp-btn{border-color:#cfe1e4;border-radius:11px;color:var(--lsp-public-text);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.lsp-public .lsp-btn:hover{transform:translateY(-1px);border-color:#9ddedf;box-shadow:0 9px 22px rgba(16,47,54,.08)}
.lsp-public .lsp-btn-primary{
    border-color:transparent;
    background:linear-gradient(135deg,var(--lsp-public-accent),var(--lsp-public-accent-hover));
    color:#062d31;
    box-shadow:0 10px 24px rgba(4,214,213,.20);
}
.lsp-public .lsp-btn-primary:hover{
    background:linear-gradient(135deg,#09dfde,var(--lsp-public-accent-hover));
    box-shadow:0 13px 28px rgba(4,214,213,.27)
}
.lsp-public-hero{
    position:relative;overflow:hidden;
    background:
      radial-gradient(circle at 84% 12%,rgba(4,214,213,.13),transparent 30%),
      linear-gradient(145deg,#f0fcfc,#f8fbfc 58%,#eaf7f8);
}
.lsp-public-hero:before{
    content:"";position:absolute;width:360px;height:360px;left:-180px;bottom:-250px;
    border-radius:50%;background:rgba(4,214,213,.075);pointer-events:none
}
.lsp-public-kicker{color:var(--lsp-public-accent-deep)}
.lsp-public-hero h1{color:var(--lsp-public-text)}
.lsp-public-hero-copy>p,.lsp-public-section-head p,.lsp-public-owner-grid p{color:var(--lsp-public-muted)}
.lsp-public-mini-stats{color:var(--lsp-public-muted)}
.lsp-public-mini-stats strong{color:var(--lsp-public-text)}
.lsp-public-hero-art{
    background:
      radial-gradient(circle at 78% 16%,rgba(4,214,213,.30),transparent 31%),
      linear-gradient(145deg,var(--lsp-public-dark-2),#12464d);
    box-shadow:0 30px 70px rgba(10,36,42,.24)
}
.lsp-public-hero-art:before{background:rgba(4,214,213,.25)}
.lsp-public-art-card{border:1px solid rgba(217,233,235,.8)}
.lsp-public-art-card-2{background:var(--lsp-public-accent-soft);border-color:#bceff0}
.lsp-public-soft{background:#eef9fa}
.lsp-public-steps article,.lsp-public-category-grid article,.lsp-public-benefits>div{
    border-color:var(--lsp-public-border);
    border-radius:18px;
    box-shadow:0 8px 24px rgba(16,47,54,.035);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.lsp-public-steps article:hover,.lsp-public-category-grid article:hover,.lsp-public-benefits>div:hover{
    transform:translateY(-3px);
    border-color:#a9e5e6;
    box-shadow:0 15px 34px rgba(16,47,54,.075)
}
.lsp-public-steps article>span{background:var(--lsp-public-accent-soft);color:var(--lsp-public-accent-deep)}
.lsp-public-category-grid span,.lsp-public-benefits span,.lsp-public-steps p{color:var(--lsp-public-muted)}
.lsp-public-cta{
    position:relative;overflow:hidden;
    background:linear-gradient(135deg,var(--lsp-public-dark-2),var(--lsp-public-dark));
}
.lsp-public-cta:after{
    content:"";position:absolute;width:280px;height:280px;right:-90px;top:-130px;
    border-radius:50%;background:rgba(4,214,213,.12);pointer-events:none
}
.lsp-public-cta .lsp-public-inner{position:relative;z-index:1}
.lsp-public-cta .lsp-public-kicker{color:#63eeee}
.lsp-public-footer{background:#071c21;color:#bed0d3;border-top:1px solid rgba(4,214,213,.12)}
.lsp-public-footer a{color:#d9eeee}
.lsp-public-footer a:hover{color:var(--lsp-public-accent)}
.lsp-public-menu-btn{border-color:var(--lsp-public-border)}
.lsp-public-menu-btn span{background:var(--lsp-public-text)}
body.lsp-public-menu-open .lsp-public-nav{border-top-color:var(--lsp-public-border)}
@media(max-width:720px){
    .lsp-public-header{box-shadow:0 5px 18px rgba(16,47,54,.04)}
    .lsp-public-nav a:after{display:none}
    .lsp-public-hero{padding-top:42px}
    .lsp-public-hero-art{box-shadow:0 22px 48px rgba(10,36,42,.20)}
}


/* 0.1.0-dev.7a1 — Home "Kako radi" modern KPI/step cards */
.lsp-public-steps{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    counter-reset:lsp-how-step;
}
.lsp-public-steps:before{
    content:"";
    position:absolute;
    top:39px;
    left:16.5%;
    right:16.5%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(4,214,213,.38) 12%,rgba(4,214,213,.38) 88%,transparent);
    pointer-events:none;
}
.lsp-public-steps article{
    counter-increment:lsp-how-step;
    position:relative;
    overflow:hidden;
    min-height:188px;
    padding:27px 24px 23px;
    border:1px solid var(--lsp-public-border);
    border-radius:22px;
    background:linear-gradient(160deg,#fff 0%,#fff 62%,#f2fcfc 100%);
    box-shadow:0 12px 34px rgba(16,47,54,.055);
}
.lsp-public-steps article:before{
    content:"0" counter(lsp-how-step);
    position:absolute;
    top:18px;
    right:19px;
    color:#c5d7d9;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}
.lsp-public-steps article:after{
    content:"";
    position:absolute;
    width:105px;
    height:105px;
    right:-52px;
    bottom:-58px;
    border-radius:50%;
    background:rgba(4,214,213,.09);
    transition:transform .22s ease,background .22s ease;
}
.lsp-public-steps article:hover{
    transform:translateY(-5px);
    border-color:#8ee4e5;
    box-shadow:0 18px 42px rgba(16,47,54,.09);
}
.lsp-public-steps article:hover:after{
    transform:scale(1.18);
    background:rgba(4,214,213,.14);
}
.lsp-public-steps article>span{
    position:relative;
    z-index:2;
    display:grid;
    width:48px;
    height:48px;
    margin:0 0 23px;
    place-items:center;
    border:1px solid #a9eeee;
    border-radius:15px;
    background:linear-gradient(145deg,#e7ffff,#d9fafa);
    color:#087f86;
    font-size:0;
    font-weight:900;
    box-shadow:0 8px 20px rgba(4,214,213,.14);
}
.lsp-public-steps article>span:before{
    font-size:18px;
    line-height:1;
}
.lsp-public-steps article:nth-child(1)>span:before{content:"✓"}
.lsp-public-steps article:nth-child(2)>span:before{content:"⌁";font-size:24px;transform:rotate(-18deg)}
.lsp-public-steps article:nth-child(3)>span:before{content:"✓"}
.lsp-public-steps h3{
    position:relative;
    z-index:2;
    margin:0 0 8px;
    color:var(--lsp-public-text);
    font-size:17px;
    line-height:1.25;
}
.lsp-public-steps p{
    position:relative;
    z-index:2;
    margin:0;
    max-width:31ch;
    line-height:1.65;
}
@media(max-width:820px){
    .lsp-public-steps{grid-template-columns:1fr;gap:12px}
    .lsp-public-steps:before{
        top:42px;bottom:42px;left:24px;right:auto;width:1px;height:auto;
        background:linear-gradient(180deg,transparent,rgba(4,214,213,.34) 10%,rgba(4,214,213,.34) 90%,transparent)
    }
    .lsp-public-steps article{
        min-height:0;
        padding:20px 20px 20px 82px;
    }
    .lsp-public-steps article>span{
        position:absolute;left:18px;top:20px;margin:0;width:46px;height:46px;border-radius:14px
    }
    .lsp-public-steps article:before{top:18px;right:18px}
}
@media(max-width:480px){
    .lsp-public-steps article{padding:76px 18px 20px}
    .lsp-public-steps article>span{left:18px;top:18px}
    .lsp-public-steps:before{display:none}
}


/* 0.1.0-dev.7b — Homepage image hero + modern KPI strip */
.lsp-public-hero-image{
    position:relative;
    min-height:600px;
    padding:0;
    overflow:hidden;
    background:
      linear-gradient(90deg,rgba(247,253,253,.98) 0%,rgba(247,253,253,.94) 28%,rgba(247,253,253,.70) 48%,rgba(247,253,253,.12) 70%,rgba(247,253,253,.02) 100%),
      url("../img/laufer-salon-pro-hero.webp") center center/cover no-repeat;
}
.lsp-public-hero-image:before{display:none}
.lsp-public-hero-overlay{
    position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(180deg,rgba(4,214,213,.025),transparent 40%),
      radial-gradient(circle at 0 70%,rgba(4,214,213,.13),transparent 34%);
}
.lsp-public-hero-content{
    position:relative;
    z-index:2;
    min-height:600px;
    display:flex;
    align-items:center;
    padding-top:42px;
    padding-bottom:94px;
}
.lsp-public-hero-copy-modern{
    width:min(760px,63%);
    padding:18px 0;
}
.lsp-public-hero-slogan{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 16px;
    margin-bottom:17px;
    border:1px solid rgba(4,214,213,.14);
    border-radius:999px;
    background:rgba(4,214,213,.11);
    color:#31585d;
    font-size:13px;
    font-weight:750;
    letter-spacing:-.01em;
    backdrop-filter:blur(7px);
}
.lsp-public-hero-copy-modern h1{
    max-width:720px;
    margin:0 0 15px;
    color:#17343b;
    font-size:clamp(46px,5vw,76px);
    line-height:.98;
    letter-spacing:-.052em;
}
.lsp-public-hero-copy-modern h1 em{
    display:block;
    color:#04bfc3;
    font-style:normal;
}
.lsp-public-hero-copy-modern>p{
    max-width:690px;
    margin:0 0 23px;
    color:#4d6870;
    font-size:15px;
    line-height:1.62;
}
.lsp-public-hero-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    max-width:760px;
}
.lsp-public-hero-kpis article{
    min-height:134px;
    padding:14px 13px 13px;
    border:1px solid rgba(215,233,235,.94);
    border-radius:16px;
    background:rgba(255,255,255,.80);
    box-shadow:0 8px 25px rgba(16,47,54,.055);
    backdrop-filter:blur(12px);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.lsp-public-hero-kpis article:hover{
    transform:translateY(-3px);
    border-color:#9fe4e5;
    box-shadow:0 13px 30px rgba(16,47,54,.09);
}
.lsp-public-hero-kpi-icon{
    display:grid;
    width:42px;height:42px;
    margin:0 0 10px;
    place-items:center;
    border-radius:13px;
    background:rgba(4,214,213,.11);
    color:#04bfc3;
}
.lsp-public-hero-kpi-icon svg{
    width:22px;height:22px;
    fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;
}
.lsp-public-hero-kpis strong,.lsp-public-hero-kpis small{display:block}
.lsp-public-hero-kpis strong{
    color:#17343b;
    font-size:11px;
    line-height:1.25;
}
.lsp-public-hero-kpis small{
    margin-top:6px;
    color:#60767c;
    font-size:9px;
    line-height:1.45;
}
.lsp-public-hero-actions-modern{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:19px;
}
.lsp-public-hero-actions-modern .lsp-public-big-btn{
    min-width:205px;
    justify-content:center;
}
.lsp-public-hero-actions-modern .lsp-public-big-btn span{margin-left:10px;font-size:16px}
.lsp-public-hero-trust{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#496269;
    font-size:11px;
    font-weight:650;
}
.lsp-public-hero-trust svg{
    width:20px;height:20px;
    fill:none;stroke:#04bfc3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.lsp-public-hero-wave{
    position:absolute;
    z-index:3;
    left:-3%;
    right:-3%;
    bottom:-55px;
    height:125px;
    border-radius:50% 50% 0 0/28% 28% 0 0;
    background:
      radial-gradient(ellipse at 52% 0%,rgba(255,255,255,.00) 0 57%,rgba(4,214,213,.23) 58% 60%,rgba(4,214,213,.11) 61% 66%,rgba(255,255,255,.98) 67% 100%);
    pointer-events:none;
}
.lsp-public-hero-wave:after{
    content:"";
    position:absolute;
    left:4%;right:4%;top:38px;height:1px;
    background:linear-gradient(90deg,transparent,rgba(4,214,213,.25),transparent);
}
@media(max-width:1100px){
    .lsp-public-hero-copy-modern{width:min(800px,76%)}
    .lsp-public-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}
    .lsp-public-hero-kpis article{min-height:112px}
}
@media(max-width:820px){
    .lsp-public-hero-image{
        min-height:auto;
        background:
          linear-gradient(180deg,rgba(247,253,253,.93) 0%,rgba(247,253,253,.92) 58%,rgba(247,253,253,.78) 100%),
          url("../img/laufer-salon-pro-hero.webp") 66% center/cover no-repeat;
    }
    .lsp-public-hero-content{
        min-height:auto;
        padding-top:44px;
        padding-bottom:98px;
    }
    .lsp-public-hero-copy-modern{width:100%;padding:0}
    .lsp-public-hero-copy-modern h1{font-size:clamp(42px,10vw,64px);max-width:620px}
    .lsp-public-hero-copy-modern>p{max-width:620px}
}
@media(max-width:620px){
    .lsp-public-hero-content{padding-top:34px;padding-bottom:94px}
    .lsp-public-hero-slogan{font-size:11px;padding:6px 12px}
    .lsp-public-hero-copy-modern h1{font-size:44px;line-height:1.01}
    .lsp-public-hero-copy-modern>p{font-size:13px}
    .lsp-public-hero-kpis{grid-template-columns:1fr 1fr;gap:8px}
    .lsp-public-hero-kpis article{min-height:128px;padding:12px}
    .lsp-public-hero-kpi-icon{width:38px;height:38px}
    .lsp-public-hero-actions-modern{align-items:flex-start;flex-direction:column}
    .lsp-public-hero-actions-modern .lsp-public-big-btn{width:100%}
    .lsp-public-hero-wave{bottom:-65px;height:120px}
}
@media(max-width:430px){
    .lsp-public-hero-copy-modern h1{font-size:39px}
    .lsp-public-hero-kpis{grid-template-columns:1fr}
    .lsp-public-hero-kpis article{
        min-height:0;
        display:grid;
        grid-template-columns:42px 1fr;
        column-gap:10px;
        align-items:center;
    }
    .lsp-public-hero-kpi-icon{grid-row:1/3;margin:0}
    .lsp-public-hero-kpis small{margin-top:2px}
}


/* 0.1.0-dev.7b1 — Hero depth, full-width wave, contextual inline cards */
.lsp-public-hero-image{
    min-height:650px;
    background:
      linear-gradient(90deg,rgba(247,253,253,.985) 0%,rgba(247,253,253,.94) 27%,rgba(247,253,253,.68) 47%,rgba(247,253,253,.14) 66%,rgba(247,253,253,.02) 100%),
      url("../img/laufer-salon-pro-hero.webp") right 50% / auto 92% no-repeat,
      #f6fbfc;
}
.lsp-public-hero-content{
    min-height:650px;
    align-items:flex-start;
    padding-top:48px;
    padding-bottom:118px;
}
.lsp-public-hero-copy-modern{width:min(820px,68%)}
.lsp-public-hero-copy-modern h1{font-size:clamp(43px,4.6vw,69px)}
.lsp-public-hero-kpis{max-width:780px}
.lsp-public-hero-wave{
    left:0;
    right:0;
    bottom:-1px;
    width:100%;
    height:78px;
    border-radius:0;
    background:
      linear-gradient(176deg,transparent 0 49%,rgba(4,214,213,.18) 50% 52%,rgba(4,214,213,.08) 53% 58%,rgba(255,255,255,.98) 59% 100%);
}
.lsp-public-hero-wave:before{
    content:"";
    position:absolute;
    inset:18px 0 auto;
    height:54px;
    background:
      radial-gradient(ellipse at 18% 0%,rgba(4,214,213,.00) 0 45%,rgba(4,214,213,.16) 46% 47%,transparent 48%),
      radial-gradient(ellipse at 68% 0%,rgba(4,214,213,.00) 0 48%,rgba(4,214,213,.12) 49% 50%,transparent 51%);
    opacity:.85;
}
.lsp-public-hero-wave:after{
    left:0;right:0;top:48px;height:1px;
    background:linear-gradient(90deg,rgba(4,214,213,.05),rgba(4,214,213,.36),rgba(4,214,213,.05));
}
.lsp-public-hero-context-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    max-width:780px;
    margin-top:14px;
}
.lsp-public-context-card{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:72px;
    padding:11px 13px;
    border:1px solid rgba(211,230,232,.94);
    border-radius:15px;
    background:rgba(255,255,255,.84);
    color:#17343b;
    text-decoration:none;
    box-shadow:0 9px 25px rgba(16,47,54,.055);
    backdrop-filter:blur(10px);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.lsp-public-context-card:hover{
    transform:translateY(-2px);
    border-color:#99e4e5;
    box-shadow:0 14px 32px rgba(16,47,54,.09);
}
.lsp-public-context-card.is-accent{
    background:linear-gradient(145deg,rgba(234,253,253,.92),rgba(255,255,255,.88));
    border-color:#b6eaeb;
}
.lsp-public-context-icon{
    display:grid;
    width:46px;height:46px;
    place-items:center;
    border-radius:13px;
    background:#e9fbfb;
    color:#049fa5;
}
.lsp-public-context-icon svg{
    width:23px;height:23px;
    fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.lsp-public-context-card small,.lsp-public-context-card strong,.lsp-public-context-card em{display:block}
.lsp-public-context-card small{
    color:#6f878b;
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.lsp-public-context-card strong{
    margin-top:2px;
    font-size:11px;
    line-height:1.25;
}
.lsp-public-context-card em{
    margin-top:3px;
    color:#687e83;
    font-size:8.5px;
    font-style:normal;
    line-height:1.35;
}
.lsp-public-context-card>b{
    color:#04bfc3;
    font-size:16px;
}
@media(max-width:1100px){
    .lsp-public-hero-image{
        background:
          linear-gradient(90deg,rgba(247,253,253,.98) 0%,rgba(247,253,253,.92) 34%,rgba(247,253,253,.56) 58%,rgba(247,253,253,.08) 100%),
          url("../img/laufer-salon-pro-hero.webp") 78% 48% / auto 82% no-repeat,
          #f6fbfc;
    }
    .lsp-public-hero-copy-modern{width:min(800px,78%)}
}
@media(max-width:820px){
    .lsp-public-hero-image{
        min-height:0;
        background:
          linear-gradient(180deg,rgba(247,253,253,.88) 0%,rgba(247,253,253,.78) 48%,rgba(247,253,253,.86) 100%),
          url("../img/laufer-salon-pro-hero.webp") 70% 8% / auto 48% no-repeat,
          #f6fbfc;
    }
    .lsp-public-hero-overlay{
        background:
          linear-gradient(180deg,rgba(4,214,213,.015),rgba(247,253,253,.12) 44%,rgba(247,253,253,.62) 82%),
          radial-gradient(circle at 8% 32%,rgba(4,214,213,.10),transparent 30%);
    }
    .lsp-public-hero-content{
        min-height:0;
        padding-top:300px;
        padding-bottom:105px;
    }
    .lsp-public-hero-copy-modern{width:100%}
}
@media(max-width:620px){
    .lsp-public-hero-image{
        background:
          linear-gradient(180deg,rgba(247,253,253,.72) 0%,rgba(247,253,253,.68) 34%,rgba(247,253,253,.93) 64%,rgba(247,253,253,.98) 100%),
          url("../img/laufer-salon-pro-hero.webp") 68% 0 / auto 285px no-repeat,
          #f6fbfc;
    }
    .lsp-public-hero-content{padding-top:235px;padding-bottom:100px}
    .lsp-public-hero-copy-modern h1{font-size:40px}
    .lsp-public-hero-context-cards{grid-template-columns:1fr}
    .lsp-public-context-card{min-height:68px}
    .lsp-public-hero-wave{height:65px}
}
@media(max-width:430px){
    .lsp-public-hero-image{
        background:
          linear-gradient(180deg,rgba(247,253,253,.58) 0%,rgba(247,253,253,.64) 31%,rgba(247,253,253,.95) 60%,rgba(247,253,253,.99) 100%),
          url("../img/laufer-salon-pro-hero.webp") 66% 0 / auto 250px no-repeat,
          #f6fbfc;
    }
    .lsp-public-hero-content{padding-top:205px}
}


/* 0.1.0-dev.7b2 — Separate context section + expressive full hero wave */
.lsp-public-hero-image{
    padding-bottom:0;
}
.lsp-public-hero-content{
    padding-bottom:118px;
}

/* Stronger, mockup-like wave: full-width cyan band + white cutout */
.lsp-public-hero-wave{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:118px;
    overflow:hidden;
    border-radius:0;
    background:none;
}
.lsp-public-hero-wave:before{
    content:"";
    position:absolute;
    left:-4%;
    right:-4%;
    bottom:-42px;
    height:128px;
    border-radius:50% 50% 0 0 / 68% 68% 0 0;
    background:
      linear-gradient(180deg,rgba(4,214,213,.28),rgba(4,214,213,.12) 48%,rgba(4,214,213,.05));
    transform:rotate(-1.7deg);
    box-shadow:
      0 -3px 0 rgba(4,214,213,.18),
      0 -10px 0 rgba(4,214,213,.07);
}
.lsp-public-hero-wave:after{
    content:"";
    position:absolute;
    left:-5%;
    right:-5%;
    bottom:-73px;
    height:126px;
    border-radius:50% 50% 0 0 / 62% 62% 0 0;
    background:#fff;
    transform:rotate(.9deg);
    box-shadow:0 -2px 0 rgba(4,214,213,.18);
}

/* Context cards are now a standalone bridge section below the hero */
.lsp-public-context-section{
    position:relative;
    z-index:6;
    margin-top:-34px;
    padding:0 0 28px;
    background:#fff;
}
.lsp-public-context-section .lsp-public-inner{
    position:relative;
}
.lsp-public-context-section .lsp-public-hero-context-cards{
    max-width:100%;
    margin:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.lsp-public-context-section .lsp-public-context-card{
    min-height:82px;
    padding:14px 16px;
    border-radius:17px;
    background:#fff;
    box-shadow:0 14px 36px rgba(16,47,54,.08);
}
.lsp-public-context-section .lsp-public-context-card.is-accent{
    background:linear-gradient(145deg,#eefdfd,#fff);
}
.lsp-public-context-section .lsp-public-context-icon{
    width:50px;
    height:50px;
    border-radius:15px;
}
.lsp-public-context-section .lsp-public-context-card strong{
    font-size:12px;
}
.lsp-public-context-section .lsp-public-context-card em{
    font-size:9px;
}

/* Give "Kako radi" a little breathing room after the bridge cards */
.lsp-public-context-section + .lsp-public-section{
    padding-top:42px;
}

@media(max-width:820px){
    .lsp-public-hero-wave{height:96px}
    .lsp-public-hero-wave:before{
        bottom:-36px;height:112px;
        transform:rotate(-2.2deg);
    }
    .lsp-public-hero-wave:after{
        bottom:-68px;height:112px;
        transform:rotate(1.2deg);
    }
    .lsp-public-context-section{
        margin-top:-24px;
        padding-bottom:22px;
    }
}
@media(max-width:620px){
    .lsp-public-hero-content{padding-bottom:96px}
    .lsp-public-hero-wave{height:82px}
    .lsp-public-hero-wave:before{
        left:-12%;right:-12%;
        bottom:-34px;height:96px;
        border-radius:50% 50% 0 0 / 74% 74% 0 0;
    }
    .lsp-public-hero-wave:after{
        left:-12%;right:-12%;
        bottom:-62px;height:95px;
    }
    .lsp-public-context-section{
        margin-top:-18px;
        padding:0 0 20px;
    }
    .lsp-public-context-section .lsp-public-hero-context-cards{
        grid-template-columns:1fr;
        gap:10px;
    }
    .lsp-public-context-section .lsp-public-context-card{
        min-height:72px;
        padding:12px 13px;
    }
}


/* 0.1.0-dev.7b3 — "Kako radi" title-matched fancy icons */
.lsp-public-steps article>span.lsp-how-icon{
    display:grid;
    width:52px;
    height:52px;
    margin:0 0 22px;
    place-items:center;
    border:1px solid #a8eeee;
    border-radius:16px;
    background:
      radial-gradient(circle at 30% 20%,rgba(255,255,255,.96),transparent 38%),
      linear-gradient(145deg,#e9ffff,#d7f9f9);
    color:#059fa6;
    box-shadow:
      0 9px 22px rgba(4,214,213,.15),
      inset 0 1px 0 rgba(255,255,255,.85);
}
.lsp-public-steps article>span.lsp-how-icon:before{
    content:none!important;
}
.lsp-public-steps article>span.lsp-how-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    overflow:visible;
}
.lsp-public-steps article:nth-child(1)>span.lsp-how-icon svg{
    transform:rotate(-3deg);
}
.lsp-public-steps article:nth-child(2)>span.lsp-how-icon svg{
    transform:translateY(1px);
}
.lsp-public-steps article:nth-child(3)>span.lsp-how-icon svg{
    transform:rotate(1.5deg);
}
.lsp-public-steps article:hover>span.lsp-how-icon{
    border-color:#66e3e4;
    color:#048d94;
    box-shadow:
      0 12px 28px rgba(4,214,213,.22),
      inset 0 1px 0 rgba(255,255,255,.9);
    transform:translateY(-2px);
}
.lsp-public-steps article>span.lsp-how-icon{
    transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
@media(max-width:820px){
    .lsp-public-steps article>span.lsp-how-icon{
        position:absolute;
        left:18px;
        top:20px;
        width:48px;
        height:48px;
        margin:0;
        border-radius:15px;
    }
    .lsp-public-steps article>span.lsp-how-icon svg{
        width:27px;
        height:27px;
    }
}
@media(max-width:480px){
    .lsp-public-steps article>span.lsp-how-icon{
        left:18px;
        top:18px;
    }
}


/* 0.1.0-dev.7c — Owner Guide / Benefits page */
.lsp-owner-guide-hero{
    position:relative;overflow:hidden;
    padding:72px 0 68px;
    background:
      radial-gradient(circle at 85% 15%,rgba(4,214,213,.18),transparent 28%),
      linear-gradient(145deg,#f5fdfd,#edf8f9 58%,#f8fbfc);
    border-bottom:1px solid var(--lsp-public-border)
}
.lsp-owner-guide-hero:after{content:"";position:absolute;width:420px;height:420px;right:-160px;bottom:-270px;border-radius:50%;background:rgba(4,214,213,.08)}
.lsp-owner-guide-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:54px}
.lsp-owner-guide-hero h1{max-width:760px;margin:8px 0 17px;color:var(--lsp-public-text);font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em}
.lsp-owner-guide-hero p{max-width:720px;color:var(--lsp-public-muted);font-size:15px;line-height:1.65}
.lsp-owner-guide-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.lsp-owner-guide-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;color:#587075;font-size:10px;font-weight:700}
.lsp-owner-guide-summary{padding:20px;border:1px solid #cfe5e6;border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 20px 48px rgba(16,47,54,.09);backdrop-filter:blur(12px)}
.lsp-owner-guide-summary>div{display:grid;grid-template-columns:44px 1fr;column-gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #e7eff0}.lsp-owner-guide-summary>div:last-child{border-bottom:0}
.lsp-owner-guide-summary strong{grid-row:1/3;display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#e8fbfb;color:#078f96}.lsp-owner-guide-summary span,.lsp-owner-guide-summary small{display:block}.lsp-owner-guide-summary span{font-weight:850}.lsp-owner-guide-summary small{margin-top:2px;color:#718489;font-size:9px}
.lsp-owner-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lsp-owner-benefit-grid article{padding:20px;border:1px solid var(--lsp-public-border);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(16,47,54,.04)}
.lsp-owner-benefit-grid article>span{display:grid;width:44px;height:44px;margin-bottom:13px;place-items:center;border-radius:13px;background:#e9fbfb;color:#059fa6;font-size:18px}.lsp-owner-benefit-grid h3{margin:0 0 7px}.lsp-owner-benefit-grid p{margin:0;color:var(--lsp-public-muted);line-height:1.6}
.lsp-owner-setup-list{display:grid;gap:9px;max-width:1000px}.lsp-owner-setup-list article{display:grid;grid-template-columns:62px 1fr;gap:17px;align-items:start;padding:17px 19px;border:1px solid var(--lsp-public-border);border-radius:16px;background:#fff}.lsp-owner-setup-list b{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;background:#e9fbfb;color:#078f96}.lsp-owner-setup-list h3{margin:2px 0 5px}.lsp-owner-setup-list p{margin:0;color:var(--lsp-public-muted)}
.lsp-owner-daily-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.lsp-owner-daily-guide-grid article{padding:18px;border:1px solid #d4e8e9;border-radius:17px;background:#fff}.lsp-owner-daily-guide-grid article>span{color:#05a8ad;font-size:9px;font-weight:900;letter-spacing:.08em}.lsp-owner-daily-guide-grid h3{margin:7px 0 6px}.lsp-owner-daily-guide-grid p{min-height:44px;margin:0;color:#6d8186;line-height:1.55}.lsp-owner-daily-guide-grid strong{display:block;margin-top:12px;color:#078f96;font-size:9px}
.lsp-owner-guide-compare-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}.lsp-owner-guide-compare h2{font-size:38px;margin:7px 0 12px}.lsp-owner-guide-compare p{color:var(--lsp-public-muted);line-height:1.65}
.lsp-owner-source-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px}.lsp-owner-source-cards article{padding:20px;border:1px solid var(--lsp-public-border);border-radius:18px;background:#fff}.lsp-owner-source-cards article>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e9fbfb;color:#078f96;font-size:8px;font-weight:900;text-transform:uppercase}.lsp-owner-source-cards strong{display:block;margin:12px 0 6px}.lsp-owner-source-cards p{margin:0;font-size:11px}
.lsp-owner-faq-list{display:grid;gap:8px;max-width:1000px}.lsp-owner-faq-list details{border:1px solid var(--lsp-public-border);border-radius:14px;background:#fff}.lsp-owner-faq-list summary{padding:15px 17px;cursor:pointer;font-weight:850}.lsp-owner-faq-list p{margin:0;padding:0 17px 16px;color:var(--lsp-public-muted);line-height:1.6}
.lsp-owner-guide-cta .lsp-public-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.lsp-owner-guide-cta h2{margin:5px 0 7px;color:#fff}.lsp-owner-guide-cta p{margin:0;color:#c6d9dc}.lsp-owner-guide-cta .lsp-public-inner>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:980px){.lsp-owner-guide-hero-grid,.lsp-owner-guide-compare-grid{grid-template-columns:1fr}.lsp-owner-benefit-grid,.lsp-owner-daily-guide-grid{grid-template-columns:1fr 1fr}.lsp-owner-guide-summary{max-width:650px}.lsp-owner-guide-cta .lsp-public-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.lsp-owner-guide-hero{padding:48px 0}.lsp-owner-guide-hero h1{font-size:42px}.lsp-owner-benefit-grid,.lsp-owner-daily-guide-grid,.lsp-owner-source-cards{grid-template-columns:1fr}.lsp-owner-setup-list article{grid-template-columns:48px 1fr;padding:14px}.lsp-owner-setup-list b{width:42px;height:42px}.lsp-owner-guide-trust{flex-direction:column;gap:6px}.lsp-owner-guide-actions .lsp-btn{width:100%;text-align:center;justify-content:center}}


/* 0.1.0-dev.7c3 — Commission transparency + direct support */
.lsp-owner-guide-commission{background:#f8fbfc}
.lsp-owner-guide-commission-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.lsp-owner-guide-commission h2{max-width:760px;margin:7px 0 12px;font-size:38px}
.lsp-owner-guide-commission p{max-width:760px;color:var(--lsp-public-muted);line-height:1.65}
.lsp-owner-commission-rules{display:grid;gap:7px;margin-top:17px}.lsp-owner-commission-rules span{display:flex;gap:8px;color:#47656a;font-size:10px;font-weight:700}
.lsp-owner-commission-example{padding:19px;border:1px solid #cfe7e8;border-radius:20px;background:#fff;box-shadow:0 16px 36px rgba(16,47,54,.07)}
.lsp-owner-commission-example>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:12px 2px;border-bottom:1px solid #e6eff0}
.lsp-owner-commission-example>div:last-child{border-bottom:0}.lsp-owner-commission-example small,.lsp-owner-commission-example strong{display:block}.lsp-owner-commission-example small{grid-column:1;color:#73868b;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.lsp-owner-commission-example strong{grid-column:1;font-size:12px}.lsp-owner-commission-example b{grid-column:2;grid-row:1/3;color:#17343b;font-size:16px}
.lsp-owner-commission-example .is-total{margin-top:4px;padding:14px 10px;border:0;border-radius:13px;background:#ecfbfb}.lsp-owner-commission-example .is-total b{color:#078f96;font-size:20px}

.lsp-direct-support-section{background:#fff}
.lsp-direct-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1000px}
.lsp-direct-support-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;padding:16px 17px;border:1px solid var(--lsp-public-border);border-radius:18px;background:#fff;color:#17343b;text-decoration:none;box-shadow:0 12px 28px rgba(16,47,54,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.lsp-direct-support-card:hover{transform:translateY(-3px);box-shadow:0 17px 36px rgba(16,47,54,.09)}
.lsp-direct-support-card.is-whatsapp:hover{border-color:#a9dfc4}.lsp-direct-support-card.is-viber:hover{border-color:#c8b9e7}
.lsp-direct-support-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:16px}.lsp-direct-support-card.is-whatsapp .lsp-direct-support-icon{background:#edf9f2;color:#239b5b}.lsp-direct-support-card.is-viber .lsp-direct-support-icon{background:#f3effb;color:#6b4cad}
.lsp-direct-support-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.lsp-direct-support-card small,.lsp-direct-support-card strong,.lsp-direct-support-card em{display:block}.lsp-direct-support-card small{color:#7a8c91;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.lsp-direct-support-card strong{margin-top:3px;font-size:16px}.lsp-direct-support-card em{margin-top:3px;color:#667c81;font-size:10px;font-style:normal}.lsp-direct-support-card>b{color:#708589;font-size:10px}
.lsp-contact-direct-support{border-top:1px solid #e3edef}

@media(max-width:820px){.lsp-owner-guide-commission-grid{grid-template-columns:1fr}.lsp-direct-support-grid{grid-template-columns:1fr}.lsp-owner-commission-example{max-width:560px}}
@media(max-width:520px){.lsp-owner-guide-commission h2{font-size:32px}.lsp-direct-support-card{grid-template-columns:52px 1fr;padding:14px}.lsp-direct-support-icon{width:52px;height:52px}.lsp-direct-support-card>b{grid-column:2;margin-top:3px}}


/* 0.1.0-dev.7c4 — Homepage hero dual CTA */
.lsp-public-hero-secondary-btn{
    min-height:40px;
    padding:9px 15px;
    border:1px solid #08bfc0;
    background:rgba(255,255,255,.64);
    color:#087f85;
    box-shadow:none;
    backdrop-filter:blur(8px);
}
.lsp-public-hero-secondary-btn:hover{
    border-color:#04aeb0;
    background:#fff;
    color:#056f74;
    transform:translateY(-1px);
}
.lsp-public-hero-secondary-btn span{
    margin-left:5px;
    transition:transform .18s ease;
}
.lsp-public-hero-secondary-btn:hover span{transform:translateX(2px)}
@media(max-width:620px){
    .lsp-public-hero-actions-modern{
        align-items:stretch;
    }
    .lsp-public-hero-actions-modern>.lsp-public-big-btn,
    .lsp-public-hero-actions-modern>.lsp-public-hero-secondary-btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}


/* 0.1.0-dev.7c5 — Mobile Hero Laufer Cyan Overlay Polish
   Keep the existing approved hero background image; only strengthen the
   mobile treatment with the current Salon PRO cyan/teal palette. */
@media(max-width:620px){
    .lsp-public-hero-image{
        position:relative;
        isolation:isolate;
        background-position:center center!important;
    }

    /* Main branded veil: darker at left/bottom for readable copy,
       transparent enough to preserve the salon photo. */
    .lsp-public-hero-image:before{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:
            linear-gradient(180deg,
                rgba(2,70,77,.18) 0%,
                rgba(3,111,116,.30) 38%,
                rgba(2,77,84,.52) 100%),
            linear-gradient(90deg,
                rgba(2,93,99,.48) 0%,
                rgba(4,214,213,.24) 48%,
                rgba(4,214,213,.08) 100%);
    }

    /* Soft Laufer cyan glow, replacing the washed-out white feeling. */
    .lsp-public-hero-image:after{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:
            radial-gradient(circle at 18% 20%,
                rgba(4,214,213,.25),
                transparent 43%),
            linear-gradient(180deg,
                rgba(4,214,213,.04),
                rgba(0,75,82,.16));
    }

    .lsp-public-hero-content,
    .lsp-public-hero-wave{
        position:relative;
        z-index:2;
    }

    /* Preserve the current typography but increase contrast on the image. */
    .lsp-public-hero-image .lsp-public-hero-copy h1,
    .lsp-public-hero-image .lsp-public-hero-copy h1 *{
        text-shadow:0 2px 18px rgba(0,55,61,.16);
    }

    .lsp-public-hero-secondary-btn{
        background:rgba(255,255,255,.88);
        border-color:rgba(4,214,213,.88);
        backdrop-filter:blur(10px);
    }
}


/* 0.1.0-dev.7c6 — Mobile hero image visibility hotfix
   Root cause: previous mobile rules rendered the hero photo only in a shallow
   top strip (auto 250-285px) and covered the rest with layered pale gradients.
   The image now fills the complete hero area. */
@media(max-width:620px){
    .lsp-public-hero-image{
        min-height:auto;
        background:
            url("../img/laufer-salon-pro-hero.webp") 68% center / cover no-repeat!important;
    }

    /* One controlled Salon PRO tint only — no white wash. */
    .lsp-public-hero-image:before{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        display:block!important;
        background:
            linear-gradient(180deg,
                rgba(4,214,213,.16) 0%,
                rgba(2,92,99,.20) 48%,
                rgba(2,74,82,.30) 100%)!important;
    }

    .lsp-public-hero-image:after{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:
            linear-gradient(90deg,
                rgba(247,253,253,.52) 0%,
                rgba(247,253,253,.27) 42%,
                rgba(247,253,253,.04) 100%)!important;
    }

    .lsp-public-hero-overlay{
        background:
            radial-gradient(circle at 12% 24%,rgba(4,214,213,.12),transparent 34%)!important;
    }

    /* Remove the old artificial top spacer; content sits naturally over photo. */
    .lsp-public-hero-content{
        padding-top:42px!important;
        padding-bottom:104px!important;
    }

    .lsp-public-hero-copy-modern{
        width:100%;
    }

    .lsp-public-hero-slogan{
        background:rgba(231,255,255,.76);
        border-color:rgba(4,214,213,.30);
        backdrop-filter:blur(8px);
    }

    .lsp-public-hero-kpis article{
        background:rgba(255,255,255,.88);
        backdrop-filter:blur(10px);
    }
}

@media(max-width:430px){
    .lsp-public-hero-image{
        background:
            url("../img/laufer-salon-pro-hero.webp") 70% center / cover no-repeat!important;
    }
    .lsp-public-hero-content{
        padding-top:34px!important;
        padding-bottom:96px!important;
    }
}


/* 0.1.0-dev.7c7 — Mobile immersive hero + transparent header
   Homepage only. Existing hero image stays in place; no new image asset. */
@media(max-width:620px){
    .lsp-public-home{
        position:relative;
    }

    /* Header floats over the hero image instead of occupying a white block. */
    .lsp-public-home .lsp-public-header{
        position:absolute;
        top:0;
        left:0;
        right:0;
        z-index:30;
        background:transparent!important;
        border-bottom:0!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
    }

    .lsp-public-home .lsp-public-header-inner{
        min-height:116px;
        background:transparent!important;
    }

    /* Give logo/menu just enough glass separation without creating a header bar. */
    .lsp-public-home .lsp-public-brand-logo{
        position:relative;
        z-index:2;
    }

    .lsp-public-home .lsp-public-menu-btn{
        background:rgba(255,255,255,.14)!important;
        border-color:rgba(255,255,255,.48)!important;
        box-shadow:0 8px 24px rgba(0,43,48,.16);
        backdrop-filter:blur(10px);
    }

    .lsp-public-home .lsp-public-menu-btn span{
        background:#ffffff!important;
    }

    /* Hero photo now starts at the very top and continues behind the transparent header. */
    .lsp-public-home .lsp-public-hero-image{
        margin-top:0;
        min-height:auto;
        background:
            url("../img/laufer-salon-pro-hero.webp") 69% center / cover no-repeat!important;
    }

    /* Stronger dark cyan/teal treatment inspired by the approved mobile mockup.
       Keeps real photo detail visible while making live HTML text readable. */
    .lsp-public-home .lsp-public-hero-image:before{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        display:block!important;
        pointer-events:none;
        background:
            linear-gradient(180deg,
                rgba(4,57,64,.68) 0%,
                rgba(2,78,85,.64) 38%,
                rgba(1,59,67,.78) 100%)!important;
    }

    .lsp-public-home .lsp-public-hero-image:after{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:
            linear-gradient(90deg,
                rgba(1,61,68,.34) 0%,
                rgba(4,214,213,.18) 48%,
                rgba(0,50,57,.22) 100%),
            radial-gradient(circle at 17% 22%,
                rgba(4,214,213,.22),
                transparent 38%)!important;
    }

    .lsp-public-home .lsp-public-hero-overlay{
        background:
            linear-gradient(180deg,
                rgba(0,33,38,.06),
                rgba(0,37,43,.14) 58%,
                rgba(0,31,37,.24) 100%)!important;
    }

    /* Reserve visual space for the floating header while keeping image continuous. */
    .lsp-public-home .lsp-public-hero-content{
        padding-top:148px!important;
        padding-bottom:106px!important;
    }

    /* Mobile copy switches to high-contrast light text on the darker photo. */
    .lsp-public-home .lsp-public-hero-slogan{
        color:#f7ffff!important;
        background:rgba(0,73,80,.34)!important;
        border-color:rgba(4,214,213,.72)!important;
        box-shadow:0 8px 22px rgba(0,30,35,.16);
        backdrop-filter:blur(10px);
    }

    .lsp-public-home .lsp-public-hero-copy-modern h1{
        color:#ffffff!important;
        text-shadow:0 3px 22px rgba(0,26,31,.34);
    }

    .lsp-public-home .lsp-public-hero-copy-modern h1 em{
        color:#11e0df!important;
    }

    .lsp-public-home .lsp-public-hero-copy-modern>p{
        color:rgba(255,255,255,.92)!important;
        text-shadow:0 2px 14px rgba(0,26,31,.28);
    }

    /* KPI cards become dark glass, so they belong to the image instead of hiding it. */
    .lsp-public-home .lsp-public-hero-kpis article{
        background:rgba(0,57,64,.58)!important;
        border-color:rgba(4,214,213,.42)!important;
        box-shadow:0 12px 28px rgba(0,30,35,.18)!important;
        backdrop-filter:blur(12px);
    }

    .lsp-public-home .lsp-public-hero-kpis strong{
        color:#ffffff!important;
    }

    .lsp-public-home .lsp-public-hero-kpis small{
        color:rgba(239,255,255,.82)!important;
    }

    .lsp-public-home .lsp-public-hero-kpi-icon{
        background:rgba(4,214,213,.15)!important;
        color:#12e1e0!important;
        border:1px solid rgba(4,214,213,.16);
    }

    /* Primary CTA remains bright; secondary becomes transparent/glass. */
    .lsp-public-home .lsp-public-hero-secondary-btn{
        background:rgba(0,61,68,.34)!important;
        border-color:#10dedd!important;
        color:#ffffff!important;
        box-shadow:0 10px 24px rgba(0,30,35,.16);
        backdrop-filter:blur(10px);
    }

    .lsp-public-home .lsp-public-hero-secondary-btn:hover{
        background:rgba(0,76,83,.52)!important;
        color:#ffffff!important;
    }
}

@media(max-width:430px){
    .lsp-public-home .lsp-public-header-inner{
        min-height:108px;
    }

    .lsp-public-home .lsp-public-hero-content{
        padding-top:138px!important;
        padding-bottom:98px!important;
    }

    .lsp-public-home .lsp-public-hero-image{
        background:
            url("../img/laufer-salon-pro-hero.webp") 70% center / cover no-repeat!important;
    }
}


/* 0.1.0-dev.7c8 — Mobile hero mockup alignment + menu readability */
@media(max-width:620px){
    /* No decorative circle / radial disc over the hero. */
    .lsp-public-home .lsp-public-hero-image:after{
        background:
            linear-gradient(180deg,
                rgba(0,48,55,.34) 0%,
                rgba(0,69,76,.43) 42%,
                rgba(0,43,50,.64) 100%)!important;
    }
    .lsp-public-home .lsp-public-hero-overlay{
        background:
            linear-gradient(90deg,
                rgba(0,46,53,.48) 0%,
                rgba(0,67,73,.24) 48%,
                rgba(0,40,47,.38) 100%)!important;
    }

    /* Dark logo, clean transparent header over the image. */
    .lsp-public-home .lsp-public-brand-logo img{
        filter:drop-shadow(0 3px 12px rgba(0,0,0,.18))!important;
    }

    /* Hamburger trigger matches the dark mockup treatment. */
    .lsp-public-home .lsp-public-menu-btn{
        background:rgba(0,38,45,.78)!important;
        border-color:rgba(4,214,213,.38)!important;
        box-shadow:0 10px 28px rgba(0,20,25,.22)!important;
        backdrop-filter:blur(10px);
    }
    .lsp-public-home .lsp-public-menu-btn span{
        background:#fff!important;
    }

    /* Open mobile menu: dark glass panel + white readable labels. */
    body.lsp-public-menu-open .lsp-public-home .lsp-public-header{
        background:rgba(0,35,42,.94)!important;
        border-bottom:1px solid rgba(4,214,213,.28)!important;
        backdrop-filter:blur(16px)!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-header-inner{
        background:transparent!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-nav,
    body.lsp-public-menu-open .lsp-public-home .lsp-public-auth{
        background:transparent!important;
        border-top-color:rgba(255,255,255,.14)!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-nav a,
    body.lsp-public-menu-open .lsp-public-home .lsp-public-nav .is-current{
        color:#fff!important;
        text-shadow:none!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-nav a:hover{
        color:#19e4e2!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-auth .lsp-btn{
        color:#fff!important;
        border-color:rgba(4,214,213,.55)!important;
        background:rgba(0,58,65,.72)!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-auth .lsp-btn-primary{
        color:#052d32!important;
        background:#04d6d5!important;
        border-color:#04d6d5!important;
    }
    body.lsp-public-menu-open .lsp-public-home .lsp-public-client-identity,
    body.lsp-public-menu-open .lsp-public-home .lsp-public-client-identity span{
        color:#fff!important;
        background:rgba(255,255,255,.06)!important;
        border-color:rgba(255,255,255,.15)!important;
    }

    /* Keep the mockup's simple rectangular/glass hierarchy. */
    .lsp-public-home .lsp-public-hero-slogan{
        border-radius:999px!important;
        background:rgba(0,47,54,.60)!important;
    }
    .lsp-public-home .lsp-public-hero-kpis article{
        background:rgba(0,47,54,.70)!important;
        border-color:rgba(4,214,213,.36)!important;
    }
}


/* 0.1.0-dev.7c9 — Remove mobile hero decorative circle only */
@media(max-width:620px){
    .lsp-public-home .lsp-public-hero-image:after{
        content:none!important;
        display:none!important;
        background:none!important;
    }
}


/* 0.1.0-dev.7c10 — Correct mobile hero circle removal
   The visible disc comes from the legacy .lsp-public-hero:before decoration,
   not from .lsp-public-hero-image:after. */
@media(max-width:620px){
    .lsp-public-home .lsp-public-hero.lsp-public-hero-image:before,
    .lsp-public-home .lsp-public-hero:before{
        content:none!important;
        display:none!important;
        width:0!important;
        height:0!important;
        background:none!important;
        border-radius:0!important;
    }

    /* Keep the uniform dark cyan/teal treatment without any radial/circular layer. */
    .lsp-public-home .lsp-public-hero-image:after{
        content:""!important;
        display:block!important;
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:linear-gradient(180deg,
            rgba(0,48,55,.34) 0%,
            rgba(0,69,76,.43) 42%,
            rgba(0,43,50,.64) 100%)!important;
    }
}


/* 0.1.0-dev.7c11 — Mobile Smart Sticky Header + Cyan/Teal Consistency Audit */
@media(max-width:620px){
    /* Smart header states:
       top = transparent over hero
       scroll down = hidden
       scroll up = compact dark glass */
    .lsp-public .lsp-public-header{
        transition:
            transform .22s ease,
            background .22s ease,
            border-color .22s ease,
            box-shadow .22s ease,
            backdrop-filter .22s ease!important;
        will-change:transform;
    }

    body.lsp-public-header-is-scrolled .lsp-public .lsp-public-header{
        position:fixed!important;
        top:0!important;
        left:0!important;
        right:0!important;
        z-index:80!important;
        background:rgba(0,39,46,.91)!important;
        border-bottom:1px solid rgba(4,214,213,.30)!important;
        box-shadow:0 10px 30px rgba(0,24,29,.20)!important;
        backdrop-filter:blur(14px)!important;
        transform:translateY(0);
    }

    body.lsp-public-header-hidden .lsp-public .lsp-public-header{
        transform:translateY(-105%)!important;
    }

    /* Open menu always wins over the hide state. */
    body.lsp-public-menu-open .lsp-public .lsp-public-header{
        transform:translateY(0)!important;
    }

    body.lsp-public-header-is-scrolled .lsp-public .lsp-public-header-inner{
        min-height:72px!important;
    }

    body.lsp-public-header-is-scrolled .lsp-public .lsp-public-brand-logo img{
        max-height:56px!important;
        width:auto!important;
    }

    body.lsp-public-header-is-scrolled .lsp-public .lsp-public-menu-btn{
        width:52px!important;
        height:52px!important;
        background:rgba(0,26,32,.72)!important;
        border-color:rgba(4,214,213,.42)!important;
    }

    /* Public mobile accent authority: Salon PRO cyan/teal. */
    .lsp-public{
        --lsp-accent:#04d6d5;
        --lsp-accent-2:#03bfc4;
        --lsp-mobile-accent:#04d6d5;
        --lsp-mobile-accent-hover:#03bfc4;
        --lsp-mobile-accent-deep:#078f96;
        --lsp-mobile-accent-soft:#e9fcfc;
    }

    .lsp-public .lsp-public-kicker,
    .lsp-public .lsp-public-nav .is-current,
    .lsp-public .lsp-public-category-icon,
    .lsp-public .lsp-public-card-icon,
    .lsp-public .lsp-public-art-link,
    .lsp-public .lsp-public-category-open,
    .lsp-public .lsp-client-detail-back,
    .lsp-public .lsp-inline-edit summary{
        color:var(--lsp-mobile-accent-deep)!important;
    }

    .lsp-public .lsp-btn-primary{
        background:linear-gradient(135deg,var(--lsp-mobile-accent),var(--lsp-mobile-accent-hover))!important;
        border-color:transparent!important;
    }

    .lsp-public .lsp-public-category-card-premium:before,
    .lsp-public .lsp-booking-success-icon,
    .lsp-public .lsp-nav-count,
    .lsp-public .lsp-notification-main em{
        background:var(--lsp-mobile-accent)!important;
    }

    .lsp-public .lsp-booking-slot-grid a:hover,
    .lsp-public .lsp-booking-filterbar a.is-active{
        border-color:var(--lsp-mobile-accent)!important;
    }

    .lsp-public .lsp-booking-slot-grid a:hover{
        background:var(--lsp-mobile-accent)!important;
        color:#053338!important;
    }

    .lsp-public .lsp-booking-filterbar a.is-active{
        background:var(--lsp-mobile-accent-soft)!important;
        color:var(--lsp-mobile-accent-deep)!important;
    }

    .lsp-public .lsp-month-day.is-today{
        box-shadow:inset 0 0 0 2px var(--lsp-mobile-accent)!important;
    }

    /* Icons and small branded surfaces consistently follow new cyan. */
    .lsp-public .lsp-public-steps article>span,
    .lsp-public .lsp-how-icon,
    .lsp-public .lsp-public-hero-kpi-icon,
    .lsp-public .lsp-public-context-icon,
    .lsp-public .lsp-owner-benefit-grid article>span,
    .lsp-public .lsp-direct-support-icon{
        border-color:rgba(4,214,213,.42);
    }

    .lsp-public a:focus-visible,
    .lsp-public button:focus-visible,
    .lsp-public input:focus-visible,
    .lsp-public select:focus-visible,
    .lsp-public textarea:focus-visible{
        outline:2px solid var(--lsp-mobile-accent)!important;
        outline-offset:2px;
    }
}


/* 0.1.0-dev.7c14 — Mobile public-page immersive header/hero parity
   Homepage appearance remains the approved reference.
   Contact, Booking and Owner Guide receive the same treatment on mobile only. */
.lsp-public-brand-picture{
    display:block;
    line-height:0;
}
.lsp-public-brand-picture img{
    display:block;
    width:100%;
    height:auto;
}

@media(max-width:620px){
    /* Extend the approved transparent-over-image header to the other public pages. */
    .lsp-contact-page,
    .lsp-booking-page,
    .lsp-owner-guide-page{
        position:relative;
    }

    .lsp-contact-page .lsp-public-header,
    .lsp-booking-page .lsp-public-header,
    .lsp-owner-guide-page .lsp-public-header{
        position:absolute;
        top:0;
        left:0;
        right:0;
        z-index:30;
        background:transparent!important;
        border-bottom:0!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
    }

    .lsp-contact-page .lsp-public-header-inner,
    .lsp-booking-page .lsp-public-header-inner,
    .lsp-owner-guide-page .lsp-public-header-inner{
        min-height:116px;
        background:transparent!important;
    }

    /* Same dark hamburger treatment as approved homepage. */
    .lsp-contact-page .lsp-public-menu-btn,
    .lsp-booking-page .lsp-public-menu-btn,
    .lsp-owner-guide-page .lsp-public-menu-btn{
        background:rgba(0,38,45,.78)!important;
        border-color:rgba(4,214,213,.38)!important;
        box-shadow:0 10px 28px rgba(0,20,25,.22)!important;
        backdrop-filter:blur(10px);
    }
    .lsp-contact-page .lsp-public-menu-btn span,
    .lsp-booking-page .lsp-public-menu-btn span,
    .lsp-owner-guide-page .lsp-public-menu-btn span{
        background:#fff!important;
    }

    /* Existing Salon PRO hero image is reused; no new asset. */
    .lsp-contact-page .lsp-contact-hero,
    .lsp-booking-page .lsp-booking-hero,
    .lsp-owner-guide-page .lsp-owner-guide-hero{
        position:relative;
        isolation:isolate;
        overflow:hidden;
        padding-top:148px!important;
        background:
            linear-gradient(180deg,rgba(0,48,55,.34) 0%,rgba(0,69,76,.43) 42%,rgba(0,43,50,.64) 100%),
            url("../img/laufer-salon-pro-hero.webp") 69% center / cover no-repeat!important;
    }

    /* Remove legacy decorative circles on secondary public heroes. */
    .lsp-contact-page .lsp-contact-hero:before,
    .lsp-contact-page .lsp-contact-hero:after,
    .lsp-booking-page .lsp-booking-hero:before,
    .lsp-booking-page .lsp-booking-hero:after,
    .lsp-owner-guide-page .lsp-owner-guide-hero:before,
    .lsp-owner-guide-page .lsp-owner-guide-hero:after{
        content:none!important;
        display:none!important;
    }

    /* High-contrast mobile hero typography follows homepage treatment. */
    .lsp-contact-page .lsp-contact-hero h1,
    .lsp-booking-page .lsp-booking-hero h1,
    .lsp-owner-guide-page .lsp-owner-guide-hero h1{
        color:#fff!important;
        text-shadow:0 3px 22px rgba(0,26,31,.34);
    }
    .lsp-contact-page .lsp-contact-hero p,
    .lsp-booking-page .lsp-booking-hero p,
    .lsp-owner-guide-page .lsp-owner-guide-hero p{
        color:rgba(255,255,255,.92)!important;
        text-shadow:0 2px 14px rgba(0,26,31,.28);
    }
    .lsp-contact-page .lsp-contact-hero .lsp-public-kicker,
    .lsp-booking-page .lsp-booking-hero .lsp-public-kicker,
    .lsp-owner-guide-page .lsp-owner-guide-hero .lsp-public-kicker{
        color:#12e1e0!important;
    }

    /* Glass cards/summary inside secondary heroes. */
    .lsp-contact-page .lsp-contact-hero-card,
    .lsp-owner-guide-page .lsp-owner-guide-summary{
        background:rgba(0,57,64,.64)!important;
        border-color:rgba(4,214,213,.42)!important;
        box-shadow:0 12px 28px rgba(0,30,35,.18)!important;
        backdrop-filter:blur(12px);
    }
    .lsp-contact-page .lsp-contact-hero-card *,
    .lsp-owner-guide-page .lsp-owner-guide-summary *{
        color:#fff!important;
    }

    /* When smart sticky activates, generic dev.7c11 fixed dark header rules take over. */
    body.lsp-public-header-is-scrolled .lsp-contact-page .lsp-public-header,
    body.lsp-public-header-is-scrolled .lsp-booking-page .lsp-public-header,
    body.lsp-public-header-is-scrolled .lsp-owner-guide-page .lsp-public-header{
        position:fixed!important;
    }

    /* Open menu must stay readable on all public pages. */
    body.lsp-public-menu-open .lsp-contact-page .lsp-public-header,
    body.lsp-public-menu-open .lsp-booking-page .lsp-public-header,
    body.lsp-public-menu-open .lsp-owner-guide-page .lsp-public-header{
        background:rgba(0,35,42,.94)!important;
        border-bottom:1px solid rgba(4,214,213,.28)!important;
        backdrop-filter:blur(16px)!important;
    }
    body.lsp-public-menu-open .lsp-contact-page .lsp-public-nav a,
    body.lsp-public-menu-open .lsp-booking-page .lsp-public-nav a,
    body.lsp-public-menu-open .lsp-owner-guide-page .lsp-public-nav a{
        color:#fff!important;
    }
}

@media(max-width:430px){
    .lsp-contact-page .lsp-public-header-inner,
    .lsp-booking-page .lsp-public-header-inner,
    .lsp-owner-guide-page .lsp-public-header-inner{
        min-height:108px;
    }
    .lsp-contact-page .lsp-contact-hero,
    .lsp-booking-page .lsp-booking-hero,
    .lsp-owner-guide-page .lsp-owner-guide-hero{
        padding-top:138px!important;
        background-position:70% center!important;
    }
}


/* 0.1.0-dev.7c15 — Secondary mobile hero contrast + icon visibility */
@media(max-width:620px){
    /* Stronger cyan/teal veil for Contact, Booking and Owner Guide only. */
    .lsp-contact-page .lsp-contact-hero,
    .lsp-booking-page .lsp-booking-hero,
    .lsp-owner-guide-page .lsp-owner-guide-hero{
        background:
            linear-gradient(180deg,rgba(0,73,80,.60) 0%,rgba(0,80,86,.66) 46%,rgba(0,45,52,.80) 100%),
            url("../img/laufer-salon-pro-hero.webp") 69% center / cover no-repeat!important;
    }

    /* Contact support icon: cyan tile + bright line icon. */
    .lsp-contact-page .lsp-contact-hero-icon{
        background:rgba(4,214,213,.18)!important;
        color:#20f1ef!important;
        border:1px solid rgba(32,241,239,.38)!important;
        box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
    }
    .lsp-contact-page .lsp-contact-hero-icon svg{
        color:#20f1ef!important;
        stroke:#20f1ef!important;
        opacity:1!important;
    }

    /* Owner summary numbered icon tiles were washed out by the generic white rule. */
    .lsp-owner-guide-page .lsp-owner-guide-summary>div>strong{
        color:#073b42!important;
        background:#dffafa!important;
        border:1px solid rgba(4,214,213,.45)!important;
        text-shadow:none!important;
    }
    .lsp-owner-guide-page .lsp-owner-guide-summary>div>span{
        color:#fff!important;
    }
    .lsp-owner-guide-page .lsp-owner-guide-summary>div>small{
        color:rgba(255,255,255,.82)!important;
    }

    /* Trust checkmarks above the owner summary must remain readable over photo. */
    .lsp-owner-guide-page .lsp-owner-guide-trust{
        color:rgba(255,255,255,.94)!important;
    }
    .lsp-owner-guide-page .lsp-owner-guide-trust span{
        color:rgba(255,255,255,.94)!important;
        text-shadow:0 2px 12px rgba(0,28,33,.38);
    }

    /* Booking hero has no icon card, so preserve strong text contrast. */
    .lsp-booking-page .lsp-booking-hero strong{
        color:#fff!important;
    }
}
