/* ============================================================
   Skin Remedy Clinic CRM - Operations Premium v3
   Scope: Patch 3A Appointments + Staff only
   ============================================================ */

.sr-crm-body{
    --ops-ink:#172117;
    --ops-olive:#2b3d25;
    --ops-olive-deep:#1d2f1d;
    --ops-olive-soft:#e9efe4;
    --ops-gold:#cba76b;
    --ops-gold-deep:#a98249;
    --ops-cream:#f8f3e9;
    --ops-surface:#fffdf8;
    --ops-line:rgba(45,61,37,.13);
    --ops-muted:#73776e;
    --ops-shadow:0 22px 58px rgba(34,47,29,.10),0 3px 10px rgba(34,47,29,.05);
    --ops-shadow-soft:0 12px 28px rgba(34,47,29,.07),inset 0 1px 0 rgba(255,255,255,.92);
}

.sr-ops-page{
    background:transparent!important;
}

.sr-ops-shell{
    width:min(100%,1580px);
    margin:0 auto;
    padding:34px 36px 74px;
}

.sr-ops-page-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:26px;
    margin-bottom:22px;
}

.sr-ops-page-head>div{
    min-width:0;
}

.sr-ops-kicker,
.sr-ops-card-head span{
    display:block;
    margin:0 0 8px;
    color:var(--ops-gold-deep);
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.sr-ops-page-head h1{
    margin:0;
    color:var(--ops-ink);
    font-size:clamp(42px,4.5vw,68px);
    line-height:.98;
    letter-spacing:-.055em;
}

.sr-ops-page-head p{
    max-width:820px;
    margin:13px 0 0;
    color:var(--ops-muted);
    font-size:15px;
    line-height:1.75;
}

.sr-ops-btn{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border:1px solid var(--ops-line);
    border-radius:15px;
    padding:0 18px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
    text-decoration:none;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.sr-ops-btn:hover{
    transform:translateY(-2px);
}

.sr-ops-btn-primary{
    border-color:rgba(117,85,39,.28);
    background:linear-gradient(145deg,#edd6aa,#cda668);
    color:#152115;
    box-shadow:0 11px 22px rgba(127,93,43,.16),inset 0 1px 0 rgba(255,255,255,.75);
}

.sr-ops-btn-soft{
    background:rgba(255,253,248,.88);
    color:var(--ops-olive);
    box-shadow:var(--ops-shadow-soft);
}

.sr-ops-alert{
    margin:0 0 18px;
    border:1px solid rgba(58,96,54,.18);
    border-radius:16px;
    background:#edf4e9;
    padding:14px 17px;
    color:#294326;
    font-weight:700;
}

.sr-ops-alert.is-error{
    border-color:rgba(134,61,54,.20);
    background:#f8e9e5;
    color:#7a3530;
}

.sr-ops-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.sr-ops-metrics article{
    min-height:126px;
    border:1px solid var(--ops-line);
    border-radius:22px;
    background:
        radial-gradient(circle at 90% 10%,rgba(203,167,107,.16),transparent 42%),
        rgba(255,253,248,.86);
    box-shadow:var(--ops-shadow-soft);
    padding:19px 20px;
}

.sr-ops-metrics article.is-alert{
    border-color:rgba(151,75,60,.20);
    background:#fff7f3;
}

.sr-ops-metrics span{
    display:block;
    color:var(--ops-gold-deep);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.sr-ops-metrics strong{
    display:block;
    margin:9px 0 4px;
    color:var(--ops-olive-deep);
    font-family:Georgia,'Times New Roman',serif;
    font-size:38px;
    font-weight:500;
    line-height:1;
}

.sr-ops-metrics small{
    color:var(--ops-muted);
    font-size:12px;
}

.sr-ops-card{
    border:1px solid var(--ops-line);
    border-radius:28px;
    background:rgba(255,253,248,.91);
    box-shadow:var(--ops-shadow);
    overflow:hidden;
}

.sr-ops-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.sr-ops-card-head h2{
    margin:0;
    color:var(--ops-ink);
    font-size:clamp(26px,2.5vw,36px);
    line-height:1;
    letter-spacing:-.035em;
}

.sr-ops-card-head b{
    flex:0 0 auto;
    border-radius:999px;
    background:#f0e5d0;
    padding:7px 10px;
    color:#755a31;
    font-size:10px;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sr-ops-form{
    display:grid;
    gap:13px;
}

.sr-ops-form label>span,
.sr-staff-v3-access-form label>span{
    display:block;
    margin-bottom:7px;
    color:#735c38;
    font-size:10px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.sr-ops-form input,
.sr-ops-form select,
.sr-ops-form textarea,
.sr-staff-v3-tools input,
.sr-staff-v3-tools select,
.sr-staff-v3-access-form select,
.sr-crm-appointments-premium-v3 .sr-appointment-form input,
.sr-crm-appointments-premium-v3 .sr-appointment-form select,
.sr-crm-appointments-premium-v3 .sr-appointment-form textarea{
    width:100%;
    min-height:48px;
    border:1px solid rgba(45,61,37,.15)!important;
    border-radius:14px!important;
    outline:none;
    background:#fffdf9!important;
    color:var(--ops-ink)!important;
    padding:11px 13px!important;
    font:inherit;
    box-shadow:inset 0 1px 2px rgba(34,47,29,.03);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.sr-ops-form textarea,
.sr-crm-appointments-premium-v3 .sr-appointment-form textarea{
    min-height:96px;
    resize:vertical;
}

.sr-ops-form input:focus,
.sr-ops-form select:focus,
.sr-ops-form textarea:focus,
.sr-staff-v3-tools input:focus,
.sr-staff-v3-tools select:focus,
.sr-staff-v3-access-form select:focus,
.sr-crm-appointments-premium-v3 .sr-appointment-form input:focus,
.sr-crm-appointments-premium-v3 .sr-appointment-form textarea:focus{
    border-color:rgba(170,130,71,.58)!important;
    box-shadow:0 0 0 4px rgba(203,167,107,.13)!important;
    background:#fff!important;
}

.sr-ops-check{
    display:flex!important;
    align-items:flex-start;
    gap:10px;
    margin:2px 0;
    border:1px solid rgba(45,61,37,.10);
    border-radius:14px;
    background:#f8f3e9;
    padding:12px;
    color:var(--ops-muted);
    font-size:12px;
    line-height:1.55;
}

.sr-ops-check input{
    width:17px!important;
    min-width:17px!important;
    height:17px!important;
    min-height:17px!important;
    margin:2px 0 0!important;
    padding:0!important;
}

.sr-ops-check span{
    margin:0!important;
    color:inherit!important;
    font-size:inherit!important;
    font-weight:600!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

.sr-ops-check strong{
    display:block;
    margin-bottom:2px;
    color:var(--ops-ink);
}

/* STAFF ------------------------------------------------------ */

.sr-staff-v3-workspace{
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.55fr);
    gap:20px;
    align-items:start;
}

.sr-staff-v3-invite,
.sr-staff-v3-directory{
    padding:24px;
}

.sr-staff-v3-invite{
    position:sticky;
    top:26px;
}

.sr-staff-v3-card-copy{
    margin:-7px 0 18px;
    color:var(--ops-muted);
    font-size:13px;
    line-height:1.65;
}

.sr-staff-v3-policy-note{
    margin-top:18px;
    border-top:1px solid var(--ops-line);
    padding-top:17px;
}

.sr-staff-v3-policy-note strong{
    display:block;
    color:var(--ops-olive-deep);
    font-size:12px;
}

.sr-staff-v3-policy-note p{
    margin:6px 0 0;
    color:var(--ops-muted);
    font-size:11px;
    line-height:1.65;
}

.sr-staff-v3-qa-link{
    display:grid;
    grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
    gap:18px;
    align-items:center;
    margin-bottom:18px;
    border:1px solid rgba(178,132,61,.22);
    border-radius:20px;
    background:linear-gradient(135deg,#fff9ec,#f4e5c5);
    padding:17px 19px;
    box-shadow:var(--ops-shadow-soft);
}

.sr-staff-v3-qa-link span{
    display:block;
    color:#9b7137;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}

.sr-staff-v3-qa-link strong{
    display:block;
    margin:4px 0;
    color:var(--ops-ink);
}

.sr-staff-v3-qa-link p{
    margin:0;
    color:var(--ops-muted);
    font-size:11px;
}

.sr-staff-v3-qa-link input{
    width:100%;
    min-width:0;
    border:1px solid rgba(45,61,37,.13);
    border-radius:13px;
    background:#fffdf8;
    padding:12px 13px;
    color:#665b49;
}

.sr-staff-v3-tools{
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px 160px;
    gap:10px;
    margin-bottom:15px;
}

.sr-staff-v3-list{
    display:grid;
    gap:11px;
}

.sr-staff-v3-row{
    display:grid;
    grid-template-columns:minmax(250px,1.1fr) minmax(175px,.65fr) minmax(300px,1.15fr);
    gap:16px;
    align-items:center;
    border:1px solid rgba(45,61,37,.10);
    border-radius:20px;
    background:#fffdf9;
    padding:15px;
    box-shadow:0 8px 20px rgba(34,47,29,.04);
}

.sr-staff-v3-row[hidden]{
    display:none!important;
}

.sr-staff-v3-identity{
    display:flex;
    gap:12px;
    align-items:center;
    min-width:0;
}

.sr-staff-v3-avatar{
    flex:0 0 44px;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(125,93,48,.17);
    border-radius:14px;
    background:linear-gradient(145deg,#f8ecd5,#e9d1a5);
    color:#344329;
    font-family:Georgia,'Times New Roman',serif;
    font-size:20px;
    box-shadow:0 7px 14px rgba(90,70,40,.12),inset 0 1px 0 rgba(255,255,255,.8);
}

.sr-staff-v3-identity>div{
    min-width:0;
}

.sr-staff-v3-name-line{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.sr-staff-v3-name-line strong{
    color:var(--ops-ink);
    font-size:14px;
}

.sr-staff-v3-name-line em{
    border-radius:999px;
    background:#e8f1e5;
    padding:3px 7px;
    color:#3e5d38;
    font-size:9px;
    font-style:normal;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sr-staff-v3-identity a{
    display:block;
    max-width:100%;
    margin-top:3px;
    overflow:hidden;
    color:#516049;
    font-size:12px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sr-staff-v3-identity small,
.sr-staff-v3-access-summary small{
    display:block;
    margin-top:4px;
    color:#8a8c84;
    font-size:10px;
}

.sr-staff-v3-access-summary strong{
    display:block;
    margin-top:7px;
    color:var(--ops-ink);
    font-size:13px;
}

.sr-staff-v3-status{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    border-radius:999px;
    background:#efeee8;
    padding:0 9px;
    color:#5f625b;
    font-size:9px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.sr-staff-v3-status.is-active{
    background:#e6f1e3;
    color:#356032;
}

.sr-staff-v3-status.is-invited{
    background:#f5ead3;
    color:#80602e;
}

.sr-staff-v3-status.is-suspended{
    background:#f5e3df;
    color:#854a42;
}

.sr-staff-v3-access-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    align-items:end;
}

.sr-staff-v3-access-form label{
    min-width:0;
}

.sr-staff-v3-access-form .sr-ops-check,
.sr-staff-v3-access-form .sr-ops-btn{
    grid-column:span 2;
}

.sr-staff-v3-access-form .sr-ops-check.is-compact{
    min-height:38px;
    align-items:center;
    padding:8px 10px;
}

.sr-staff-v3-invite-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:14px;
    border-top:1px solid rgba(45,61,37,.08);
    padding-top:10px;
}

.sr-staff-v3-invite-actions form{
    margin:0;
}

.sr-staff-v3-invite-actions button{
    border:0;
    background:transparent;
    color:#5a654f;
    font-size:10px;
    font-weight:900;
    text-decoration:underline;
    cursor:pointer;
}

.sr-staff-v3-invite-actions button.is-danger{
    color:#8b463f;
}

.sr-ops-empty{
    border:1px dashed rgba(45,61,37,.18);
    border-radius:18px;
    padding:26px 18px;
    text-align:center;
}

.sr-ops-empty strong{
    display:block;
    color:var(--ops-ink);
}

.sr-ops-empty span{
    display:block;
    margin-top:5px;
    color:var(--ops-muted);
    font-size:12px;
}

/* APPOINTMENTS ----------------------------------------------- */

.sr-crm-appointments-premium-v3{
    background:
        radial-gradient(circle at 78% 4%,rgba(203,167,107,.13),transparent 31rem),
        linear-gradient(180deg,#f8f4ec 0%,#f3eee5 100%)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-suite{
    background:transparent!important;
    color:var(--ops-ink)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-shell{
    width:min(100%,1580px)!important;
    margin:0 auto!important;
    padding:34px 36px 74px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero,
.sr-crm-appointments-premium-v3 .sr-appointment-hero--compact{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(220px,.34fr)!important;
    gap:22px!important;
    align-items:end!important;
    margin:0 0 16px!important;
    border:1px solid var(--ops-line)!important;
    border-radius:28px!important;
    background:
        radial-gradient(circle at 91% 6%,rgba(203,167,107,.21),transparent 26rem),
        rgba(255,253,248,.90)!important;
    padding:28px 30px!important;
    color:var(--ops-ink)!important;
    box-shadow:var(--ops-shadow)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero>div{
    min-width:0;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero .sr-v10-eyebrow{
    color:var(--ops-gold-deep)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero h1{
    max-width:850px!important;
    margin:6px 0 10px!important;
    color:var(--ops-olive-deep)!important;
    font-size:clamp(38px,4.3vw,64px)!important;
    line-height:.98!important;
    letter-spacing:-.05em!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero p{
    max-width:820px!important;
    margin:0!important;
    color:var(--ops-muted)!important;
    font-size:14px!important;
    line-height:1.7!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero aside{
    min-width:0!important;
    min-height:138px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    border:1px solid rgba(45,61,37,.13)!important;
    border-radius:22px!important;
    background:linear-gradient(145deg,#34472e,#22351f)!important;
    padding:20px!important;
    color:#fffdf8!important;
    box-shadow:0 16px 32px rgba(32,49,29,.15)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero aside span{
    color:#d8bb82!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero aside strong{
    margin:8px 0 2px!important;
    color:#f0cf8a!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:40px!important;
    font-weight:500!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-hero aside small{
    color:#d8ddd3!important;
    font-size:11px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:9px!important;
    margin-top:17px!important;
}

.sr-crm-appointments-premium-v3 .sr-v10-btn,
.sr-crm-appointments-premium-v3 .sr-appointment-actions a{
    min-height:43px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(45,61,37,.13)!important;
    border-radius:14px!important;
    background:#fffdf8!important;
    padding:0 16px!important;
    color:#263821!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    box-shadow:0 7px 16px rgba(34,47,29,.06)!important;
}

.sr-crm-appointments-premium-v3 .sr-v10-btn-primary,
.sr-crm-appointments-premium-v3 .sr-appointment-actions .sr-v10-btn-primary{
    border-color:rgba(130,95,44,.22)!important;
    background:linear-gradient(145deg,#ead2a5,#c9a264)!important;
    color:#182216!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-toolbar{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin:0 0 16px!important;
    border:1px solid var(--ops-line)!important;
    border-radius:18px!important;
    background:rgba(255,253,248,.82)!important;
    padding:7px!important;
    box-shadow:var(--ops-shadow-soft)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-toolbar a{
    min-height:40px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    padding:0 15px!important;
    color:#5d6657!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-toolbar a.is-active{
    background:var(--ops-olive)!important;
    color:#fffdf8!important;
    box-shadow:0 7px 16px rgba(36,54,31,.14)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr)!important;
    gap:18px!important;
    align-items:start!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-card{
    border:1px solid var(--ops-line)!important;
    border-radius:26px!important;
    background:rgba(255,253,248,.92)!important;
    padding:22px!important;
    color:var(--ops-ink)!important;
    box-shadow:var(--ops-shadow)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-card--primary{
    background:
        radial-gradient(circle at 88% 4%,rgba(203,167,107,.15),transparent 22rem),
        rgba(255,253,248,.94)!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-card-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin-bottom:18px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-card-head h2{
    margin:4px 0 5px!important;
    color:var(--ops-olive-deep)!important;
    font-size:clamp(26px,2.6vw,38px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-card-head span{
    color:var(--ops-muted)!important;
    font-size:12px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-card-head>b{
    border-radius:999px!important;
    background:#eef2e9!important;
    padding:7px 10px!important;
    color:#385034!important;
    font-size:9px!important;
    text-transform:uppercase!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-form{
    display:grid!important;
    gap:13px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-form label{
    color:#765d36!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-form-grid,
.sr-crm-appointments-premium-v3 .sr-form-grid-2{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-days{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:7px!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-days label{
    display:block!important;
    position:relative!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-days input{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-days span{
    min-height:38px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(45,61,37,.13)!important;
    border-radius:11px!important;
    background:#fffdf9!important;
    color:#5c6656!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-days input:checked+span{
    border-color:#32472d!important;
    background:#32472d!important;
    color:#fff!important;
}

.sr-crm-appointments-premium-v3 .sr-appointment-submit,
.sr-crm-appointments-premium-v3 .sr-submit-booking{
    min-height:50px!important;
    border:1px solid rgba(125,91,40,.25)!important;
    border-radius:15px!important;
    background:linear-gradient(145deg,#ecd3a2,#cda35e)!important;
    color:#172017!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
    box-shadow:0 10px 22px rgba(129,93,40,.14)!important;
    cursor:pointer!important;
}

.sr-crm-appointments-premium-v3 .sr-timesheet-board,
.sr-crm-appointments-premium-v3 .sr-calendar-board-card{
    margin-top:18px!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-week-grid,
.sr-crm-appointments-premium-v3 .sr-appointment-week-grid,
.sr-crm-appointments-premium-v3 .sr-calendar-week-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(150px,1fr))!important;
    gap:9px!important;
    overflow-x:auto!important;
    padding-bottom:5px!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-week-grid>article{
    min-width:150px!important;
    border:1px solid rgba(45,61,37,.10)!important;
    border-radius:16px!important;
    background:#fffdf9!important;
    padding:12px!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-week-grid>article>header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    border-bottom:1px solid rgba(45,61,37,.09)!important;
    padding-bottom:9px!important;
    color:#7b643f!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-week-grid>article>header strong{
    color:var(--ops-ink)!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot{
    margin-top:9px!important;
    border:1px solid rgba(45,61,37,.09)!important;
    border-radius:12px!important;
    background:#f6f1e8!important;
    padding:9px!important;
    color:#273824!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot.available{
    border-color:rgba(55,103,57,.18)!important;
    background:#edf5e9!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot.request{
    border-color:rgba(174,129,59,.20)!important;
    background:#fff1d9!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot b,
.sr-crm-appointments-premium-v3 .sr-manager-slot span,
.sr-crm-appointments-premium-v3 .sr-manager-slot small{
    display:block!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot small{
    margin-top:3px!important;
    color:#81857b!important;
    font-size:9px!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot form{
    margin-top:7px!important;
}

.sr-crm-appointments-premium-v3 .sr-manager-slot form button{
    min-height:30px!important;
    border:1px solid rgba(45,61,37,.12)!important;
    border-radius:9px!important;
    background:#fff!important;
    padding:0 10px!important;
    color:#40533b!important;
    font-size:9px!important;
    font-weight:900!important;
    cursor:pointer!important;
}

.sr-crm-appointments-premium-v3 .sr-empty-mini{
    margin:14px 0 0!important;
    color:#9a9b94!important;
    font-size:11px!important;
}

/* Existing booking-request rows/forms get a calm premium treatment
   without changing any field name or action. */
.sr-crm-appointments-premium-v3 .sr-booking-request,
.sr-crm-appointments-premium-v3 .sr-appointment-request,
.sr-crm-appointments-premium-v3 .sr-manager-request{
    border-color:var(--ops-line)!important;
    border-radius:18px!important;
    background:#fffdf9!important;
    box-shadow:0 8px 20px rgba(34,47,29,.04)!important;
}

/* RESPONSIVE -------------------------------------------------- */

@media(max-width:1180px){
    .sr-staff-v3-workspace{
        grid-template-columns:1fr;
    }

    .sr-staff-v3-invite{
        position:static;
    }

    .sr-staff-v3-row{
        grid-template-columns:minmax(220px,1fr) minmax(160px,.6fr);
    }

    .sr-staff-v3-access-form,
    .sr-staff-v3-invite-actions{
        grid-column:1/-1;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-grid{
        grid-template-columns:1fr!important;
    }
}

@media(max-width:980px){
    .sr-ops-shell,
    .sr-crm-appointments-premium-v3 .sr-appointment-shell{
        padding:22px 18px 70px!important;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-hero,
    .sr-crm-appointments-premium-v3 .sr-appointment-hero--compact{
        grid-template-columns:1fr!important;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-hero aside{
        min-height:110px!important;
    }
}

@media(max-width:760px){
    .sr-ops-page-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .sr-ops-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sr-staff-v3-tools{
        grid-template-columns:1fr;
    }

    .sr-staff-v3-row{
        grid-template-columns:1fr;
    }

    .sr-staff-v3-access-form,
    .sr-staff-v3-invite-actions{
        grid-column:auto;
    }

    .sr-staff-v3-access-form{
        grid-template-columns:1fr;
    }

    .sr-staff-v3-access-form .sr-ops-check,
    .sr-staff-v3-access-form .sr-ops-btn{
        grid-column:auto;
    }

    .sr-staff-v3-qa-link{
        grid-template-columns:1fr;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-hero,
    .sr-crm-appointments-premium-v3 .sr-appointment-hero--compact{
        padding:22px!important;
        border-radius:22px!important;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-form-grid,
    .sr-crm-appointments-premium-v3 .sr-form-grid-2{
        grid-template-columns:1fr!important;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-days{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}

@media(max-width:520px){
    .sr-ops-shell,
    .sr-crm-appointments-premium-v3 .sr-appointment-shell{
        padding-left:12px!important;
        padding-right:12px!important;
    }

    .sr-ops-metrics{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .sr-ops-metrics article{
        min-height:108px;
        border-radius:18px;
        padding:15px;
    }

    .sr-ops-metrics strong{
        font-size:32px;
    }

    .sr-staff-v3-invite,
    .sr-staff-v3-directory,
    .sr-crm-appointments-premium-v3 .sr-appointment-card{
        padding:17px!important;
        border-radius:20px!important;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-toolbar{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }

    .sr-crm-appointments-premium-v3 .sr-appointment-days{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .sr-ops-btn,
    .sr-ops-form input,
    .sr-ops-form select,
    .sr-staff-v3-tools input,
    .sr-staff-v3-tools select,
    .sr-crm-appointments-premium-v3 a,
    .sr-crm-appointments-premium-v3 button{
        transition:none!important;
    }
}
