:root{--ink:#102a32;--accent:#c79a52;--bg:#f3f6f6;--line:#dce3e3;--muted:#6a777a;--green:#14846e;--red:#b94040}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",sans-serif;background:var(--bg);color:#243236}a{text-decoration:none;color:inherit}.admin-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}aside{background:#091d24;color:#c8d2d3;padding:22px 14px;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 9px 23px;color:#fff}.admin-brand img{width:42px;height:42px}.admin-brand span{display:grid;font-weight:900;letter-spacing:.08em}.admin-brand small{font-weight:400;font-size:9px;letter-spacing:0;color:#8fa1a4}aside nav{display:grid;gap:4px}aside nav a{padding:11px 12px;border-radius:5px;font-size:13px}aside nav a:hover{background:#17343d;color:#fff}.admin-main{min-width:0}.admin-main>header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px;position:sticky;top:0;z-index:10}.admin-main header>div{display:grid}.admin-main header strong{color:var(--ink)}.admin-main header small{font-size:11px;color:var(--muted)}.content{padding:24px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat-grid>a,.stat-grid>div{background:#fff;border:1px solid var(--line);padding:20px;border-top:3px solid var(--accent)}.stat-grid span{font-size:12px;color:var(--muted)}.stat-grid strong{display:block;font-size:35px;color:var(--ink);margin-top:5px}.panel{background:#fff;border:1px solid var(--line);padding:20px;margin-bottom:18px}.panel h2{margin-top:0;color:var(--ink)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid #e8eeee;text-align:left;vertical-align:top;white-space:nowrap}th{font-size:11px;color:#697779;background:#f7f9f9}td{font-size:13px}td small,th small{display:block;color:#7b888b;margin-top:4px;max-width:340px;white-space:normal}.text-link{color:#176e7c;text-decoration:underline}.btn{border:1px solid transparent;border-radius:5px;padding:10px 14px;font-weight:800;cursor:pointer;background:#e8eeee;display:inline-flex;justify-content:center;align-items:center}.btn.primary{background:var(--ink);color:#fff}.btn.ghost{background:#fff;border-color:var(--line)}.btn.small{padding:7px 10px;font-size:11px}.btn.tiny{padding:4px 7px;font-size:10px}.btn.danger{background:var(--red);color:#fff}.full{width:100%}.badge{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;background:#e6ebeb}.badge.pending,.badge.new{background:#fff0c7;color:#765b0b}.badge.confirmed,.badge.paid,.badge.accepted{background:#dcefe8;color:#176450}.badge.cancelled,.badge.rejected,.badge.failed{background:#f8dddd;color:#902e2e}.badge.completed,.badge.contacted{background:#e4e9ec;color:#4f6066}.badge.interview{background:#e4e2f8;color:#52449a}.filter-row{display:flex;gap:8px;align-items:end;margin-bottom:16px;flex-wrap:wrap}.filter-row label{font-size:11px;font-weight:700}.filter-row input,.filter-row select{display:block}.filter-form input[name=q]{min-width:230px}.stack-form{display:grid;gap:13px}.stack-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row.three{grid-template-columns:repeat(3,1fr)}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.check-stack{display:flex;align-items:center;gap:13px;flex-wrap:wrap}select,input,textarea{padding:9px;border:1px solid #cad5d5;border-radius:4px;background:#fff;max-width:100%}textarea{resize:vertical}.two-col{display:grid;grid-template-columns:420px 1fr;gap:18px}.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.admin-cast-layout{display:grid;grid-template-columns:minmax(480px,.95fr) minmax(360px,1.05fr);gap:18px}.cast-admin-list{display:grid;gap:7px;max-height:720px;overflow:auto}.cast-admin-list>div{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid #edf1f1;padding-bottom:7px}.cast-admin-list img{width:58px;height:72px;object-fit:cover}.cast-admin-list small{display:block;color:var(--muted)}.translation-box{background:#f5f8f8;border:1px solid var(--line);padding:12px}.translation-box h3{margin-top:0}.translation-box details,.stack-form details{background:#fff;border:1px solid var(--line);padding:8px;margin-bottom:7px}.translation-box summary,.stack-form summary{cursor:pointer;font-weight:800}.gallery-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:15px}.gallery-admin-grid>div{position:relative}.gallery-admin-grid img{width:100%;height:130px;object-fit:cover}.gallery-admin-grid form{position:absolute;right:4px;bottom:4px}.weekly-admin{padding:0}.weekly-admin th,.weekly-admin td{text-align:center}.weekly-admin td select,.weekly-admin td input{width:100px;margin-bottom:4px;font-size:11px;padding:6px}.weekly-admin th:first-child,.weekly-admin td:first-child{position:sticky;left:0;background:#fff;z-index:2;text-align:left}.sticky-save{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px;text-align:right}.detail-profile{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:15px}.detail-profile img{width:90px;height:110px;object-fit:cover}.detail-profile span{font-size:9px;letter-spacing:.15em;color:var(--accent)}.detail-profile h2{margin:2px 0}.admin-dl{margin:15px 0}.admin-dl>div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);padding:9px}.admin-dl dt{font-size:11px;color:var(--muted)}.admin-dl dd{margin:0;white-space:normal}.settings-panel{max-width:850px}.alert{padding:12px;margin-bottom:15px}.alert.success{background:#dff2eb;color:#17624f}.alert.error{background:#fbe2e2;color:#8b2f2f}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071a21,#1a3b44)}.login-card{width:min(430px,calc(100% - 30px));background:#fff;padding:35px;display:grid;gap:15px;border-top:4px solid var(--accent)}.login-card h1{margin:0;color:var(--ink)}.login-card p{color:var(--muted);margin:0}.login-card label{display:grid;gap:6px;font-size:12px;font-weight:800}.login-card>a{text-align:center;font-size:12px;color:#657579}code{background:#eef2f2;padding:2px 5px}
@media(max-width:1050px){.admin-shell{grid-template-columns:1fr}aside{position:static;height:auto;display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col,.admin-cast-layout,.detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.content{padding:12px}.admin-main>header{padding:0 13px}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-grid>a{padding:13px}.stat-grid strong{font-size:28px}.form-row,.form-row.three{grid-template-columns:1fr}.panel{padding:13px}.filter-form input[name=q]{min-width:0;width:100%}}

.admin-trait-field{border:1px solid var(--line);padding:12px}.admin-trait-field legend{font-size:12px;font-weight:800}.admin-trait-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.video-admin-list{display:grid;gap:7px;margin-top:14px}.video-admin-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.video-admin-list span{min-width:0}.video-admin-list strong,.video-admin-list small{display:block}.video-admin-list small{max-width:540px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.admin-dl.compact>div{grid-template-columns:80px 1fr;padding:6px}.badge.approved{background:#dcefe8;color:#176450}.badge.rejected{background:#f8dddd;color:#902e2e}
@media(max-width:1200px){.admin-trait-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.admin-trait-grid{grid-template-columns:repeat(2,1fr)}}

.admin-brand{background:#111;border-bottom:1px solid #4a3d27}.admin-brand span{color:#e2cd98}.admin-shell>aside{background:#090909}.admin-shell>aside nav a:hover,.admin-shell>aside nav a.active{background:#2b2417;color:#e6cb8a}.admin-main>header{border-bottom-color:#c0a15a}.btn.primary{background:#9d8045;border-color:#9d8045;color:#090909}.admin-play-field{border:1px solid #d7d1c4;padding:14px}.admin-play-field legend{font-weight:800}.admin-play-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.admin-play-grid label{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:8px;background:#f4f1ea;border:1px solid #ddd4c4;padding:8px}.admin-play-grid label span{font-size:12px}.admin-play-grid select{padding:7px}.admin-empty-media{display:grid;place-items:center;min-height:120px;background:#151515;color:#cbb37a;border:1px solid #5a4a2e;margin-top:12px}.cast-admin-list strong em{display:inline-block;font-style:normal;font-size:9px;color:#8b713c;background:#f2e7c9;padding:2px 5px;margin-left:5px}.field-help{display:block;font-size:11px;color:#777;margin:3px 0 6px}.text-link{color:#856927;text-decoration:underline;font-size:11px}
@media(max-width:850px){.admin-play-grid{grid-template-columns:1fr}}
:root{color-scheme:dark;--ink:#090909;--accent:#b39350;--bg:#0b0b0b;--line:#493e2a;--muted:#aaa08d;--green:#2f9d73;--red:#b54848;--panel:#141414;--panel2:#1b1914;--gold-light:#e9d8ac}body{background:#0b0b0b;color:#ddd4bf}.admin-shell{background:#0b0b0b}.admin-shell>aside{background:#060606;border-right:1px solid #3d3424;color:#bdb3a0}.admin-brand{background:#0a0a0a;border-bottom-color:#493e2a}.admin-brand span,.admin-brand strong{color:#e9d8ac}.admin-brand small{color:#8f846d}.admin-shell>aside nav a{color:#bdb3a0;border:1px solid transparent}.admin-shell>aside nav a:hover,.admin-shell>aside nav a.active{background:#262116;border-color:#55482f;color:#f0dca9}.admin-main{background:#0b0b0b}.admin-main>header{background:#111;border-bottom:1px solid #5b4b2d;color:#ddd4bf}.admin-main header strong{color:#e9d8ac}.admin-main header small{color:#9f9581}.content{background:#0b0b0b}.stat-grid>a,.stat-grid>div,.panel,.login-card,.translation-box,.stack-form details,.gallery-admin-grid>div{background:#141414;border-color:#493e2a;color:#ddd4bf}.stat-grid>a,.stat-grid>div{border-top-color:#b39350}.stat-grid span{color:#aaa08d}.stat-grid strong{color:#e9d8ac}.panel h1,.panel h2,.panel h3,.panel-head h2,.login-card h1,.translation-box h3{color:#e9d8ac}.panel p,.panel small,.login-card p,.field-help{color:#aaa08d}.panel-head{border-color:#493e2a}table{background:#141414;color:#ddd4bf}th{background:#211d15;color:#d1ba82;border-color:#493e2a}td{background:#141414;color:#d8cfbd;border-color:#332d20}tr:hover td{background:#191713}th,td{border-bottom-color:#332d20}.weekly-admin th:first-child,.weekly-admin td:first-child{background:#171510;color:#ddd4bf}.sticky-save{background:#111;border-top-color:#5b4b2d}.btn{background:#211d15;border-color:#4d412c;color:#d8cbaa}.btn:hover{background:#2d281e;border-color:#806b3d}.btn.primary{background:#b39350;border-color:#dec47f;color:#090909}.btn.primary:hover{background:#d1b46d;border-color:#efd28d}.btn.ghost{background:#171510;border-color:#57492f;color:#dfcfaa}.btn.danger{background:#7f3030;border-color:#ad4f4f;color:#fff}.btn.danger:hover{background:#9d3939}.badge{background:#29251d;color:#c8b991}.badge.pending,.badge.new{background:#4a3a12;color:#f0d271}.badge.confirmed,.badge.paid,.badge.accepted,.badge.approved{background:#163a2d;color:#82d0aa}.badge.cancelled,.badge.rejected,.badge.failed{background:#481e1e;color:#f1a0a0}.badge.completed,.badge.contacted{background:#252525;color:#c2c2c2}.badge.interview{background:#282346;color:#bbb0ef}.filter-row label,.stack-form label,.form-row label,.check,.admin-trait-field legend,.admin-play-field legend{color:#d6cbb5}select,input,textarea{background:#0d0d0d;border-color:#55482f;color:#eee3ca}select:focus,input:focus,textarea:focus{outline:0;border-color:#d0b168;box-shadow:0 0 0 2px rgba(185,154,85,.16)}input::placeholder,textarea::placeholder{color:#736b5c}.translation-box,.stack-form details{background:#171510;border-color:#493e2a}.translation-box summary,.stack-form summary{color:#d8c69a}.admin-trait-field,.admin-play-field{background:#111;border-color:#55482f;color:#d8cfbd}.admin-trait-grid label,.admin-play-grid label{background:#191713;border-color:#493e2a;color:#d8cfbd}.admin-play-grid label span{color:#d8cbaa}.cast-admin-list>div,.video-admin-list>div,.detail-profile,.admin-dl>div{border-color:#332d20}.cast-admin-list>div:hover{background:#191713}.cast-admin-list small,.video-admin-list small,.admin-dl dt{color:#9f9581}.gallery-admin-grid img,.cast-admin-list img,.detail-profile img{background:#090909;border:1px solid #493e2a}.admin-empty-media{background:#0d0d0d;color:#cbb37a;border-color:#5a4a2e}.detail-profile span{color:#c2a25b}.admin-dl dd{color:#ddd4bf}.settings-panel{color:#ddd4bf}.alert.success{background:#15372b;color:#82d0aa;border:1px solid #2d6e53}.alert.error{background:#451e1e;color:#ef9b9b;border:1px solid #824040}.login-page{background:radial-gradient(circle at 70% 10%,#302819,#111 45%,#050505)}.login-card{background:#141414;border:1px solid #493e2a;border-top:4px solid #b39350;color:#ddd4bf;box-shadow:0 24px 70px rgba(0,0,0,.65)}.login-card>a{color:#c7ae72}.text-link{color:#e2c477}.admin-dl.compact>div{border-color:#332d20}code{background:#211d15;color:#e2c477;border:1px solid #493e2a}.form-row,.form-row.three{color:#ddd4bf}.check-stack{color:#ddd4bf}
@media(max-width:1050px){.admin-main>header{background:#111}.admin-shell{background:#0b0b0b}}
.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-card{display:flex;flex-direction:column}.account-card .btn{margin-top:auto}.badge.cast{background:#4a3a12;color:#efd078}.badge.owner{background:#3d2d4f;color:#d9b9ff}.badge.manager{background:#20364a;color:#9fd0fb}.badge.staff{background:#292929;color:#d0c8b8}
.attendance-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.attendance-summary-note{margin-bottom:12px}.advanced-attendance-table table{min-width:1750px}.advanced-attendance-table th:not(:first-child),.advanced-attendance-table td:not(:first-child){min-width:210px}.shift-input-row{display:grid;grid-template-columns:18px 1fr 12px 1fr;align-items:center;gap:3px;margin-top:5px}.shift-input-row input{min-width:0;width:100%!important;margin:0!important;padding:5px!important}.shift-input-row b{color:#c6a65d}.shift-input-row span{color:#827762}.attendance-note-input{width:100%!important;margin:6px 0!important;padding:6px!important}.attendance-cell-metrics{display:grid;grid-template-columns:1fr;gap:2px;padding:6px;margin:6px 0;background:#0d0d0d;border:1px solid #3e3525;color:#bdb29c;font-size:10px}.attendance-edit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.attendance-segment-card{background:#171510;border:1px solid #4d412c;padding:14px;margin-bottom:10px}.attendance-segment-card h3{color:#e9d8ac}.attendance-segment-card .form-row{margin-bottom:8px}.punch-log-list{display:grid;gap:6px}.punch-log-list>div{display:grid;grid-template-columns:130px 90px 1fr;gap:8px;background:#111;border:1px solid #3b3325;padding:9px;color:#c9c0ae}
.punch-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.punch-card{background:#171510;border:1px solid #4d412c;padding:16px}.punch-card>span{color:#b39350;font-size:10px}.punch-card h3{color:#e9d8ac}.punch-card dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #332d20;padding:7px 0}.punch-card dt{color:#aaa08d}.punch-card dd{margin:0;color:#e2d8c4}
.diary-media-admin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.diary-media-admin article{background:#111;border:1px solid #4d412c;padding:8px}.diary-media-admin img,.diary-media-admin video{width:100%;height:130px;object-fit:cover;background:#080808}.diary-editor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.row-actions form{margin:0}.recruit-application-media{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.recruit-application-media img{width:100%;height:150px;object-fit:cover;background:#080808;border:1px solid #4d412c}.recruit-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
@media(max-width:1200px){.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-edit-grid,.diary-editor-grid,.recruit-detail-grid{grid-template-columns:1fr}.punch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-grid,.punch-card-grid{grid-template-columns:1fr}.attendance-toolbar{align-items:stretch;flex-direction:column}.diary-media-admin,.recruit-application-media{grid-template-columns:repeat(2,1fr)}}
.attendance-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:15px 0}.attendance-metric-grid>div{background:#0e0e0e;border:1px solid #4d412c;padding:12px}.attendance-metric-grid span{display:block;color:#9f9581;font-size:10px}.attendance-metric-grid strong{display:block;color:#e9d8ac;font-size:18px;margin-top:4px}.shift-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shift-editor-grid fieldset{background:#111;border:1px solid #55482f;padding:14px}.shift-editor-grid legend{color:#e9d8ac;font-weight:800;padding:0 6px}.diary-admin-media{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.diary-admin-media article{position:relative;background:#111;border:1px solid #4d412c;padding:7px}.diary-admin-media img{width:100%;height:150px;object-fit:cover;background:#080808}.diary-admin-media form{margin-top:6px}.video-file-label{display:grid;place-items:center;height:150px;background:#0b0b0b;color:#c6a65d;text-align:center;overflow-wrap:anywhere;padding:10px}.diary-editor-form{max-width:1000px}
.badge.subscribed{background:#163a2d;color:#82d0aa}.badge.unsubscribed{background:#481e1e;color:#f1a0a0}
@media(max-width:900px){.attendance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-editor-grid{grid-template-columns:1fr}.diary-admin-media{grid-template-columns:repeat(2,minmax(0,1fr))}}

.recruit-admin-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 14px}
.recruit-admin-photos img{width:100%;height:110px;object-fit:cover;background:#090909;border:1px solid #493e2a;border-radius:3px}
.account-top-grid{align-items:start}
.account-summary-panel{min-height:220px}
.account-summary-count{display:flex;align-items:end;justify-content:space-between;margin-top:25px;padding:18px;background:#0d0d0d;border:1px solid #493e2a}
.account-summary-count span{color:#aaa08d}.account-summary-count strong{font-size:42px;color:#e9d8ac;line-height:1}
.account-card{gap:12px}.account-card.is-disabled{opacity:.72;border-color:#5d3030}.account-card-head{align-items:flex-start}.account-card-head h2{word-break:break-all;margin-bottom:2px}.account-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.account-meta-list{margin:0}.account-edit-details{background:#111!important;border:1px solid #493e2a!important;padding:9px!important}.account-edit-details summary{color:#dcc58f!important;cursor:pointer;font-weight:800}.account-edit-form{margin-top:12px}.account-toggle-form{margin-top:auto}.account-toggle-form .btn{width:100%}
.new-cast-account-field{background:#171510;border:1px solid #80683a;padding:15px;margin:0}.new-cast-account-field legend{color:#f0dca9;font-weight:900;padding:0 7px}.new-cast-account-field p{margin:0 0 12px;color:#aaa08d;font-size:11px}.linked-account-box{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#111;border:1px solid #4d412c;padding:12px;color:#d8cfbd}.linked-account-box strong{color:#e9d8ac}.linked-account-box.warning{border-color:#7a5c2d;background:#211d15}
@media(max-width:900px){.recruit-admin-photos img{height:92px}.account-top-grid{grid-template-columns:1fr}.account-summary-panel{min-height:0}}

.attendance-filter-form{flex-wrap:wrap}.attendance-export-actions{display:flex;gap:7px;flex-wrap:wrap}.attendance-person-list{display:grid;gap:14px}.attendance-person-panel{padding:0;overflow:hidden}.attendance-person-head{padding:15px 17px;margin:0}.attendance-person-head>div:first-child>span,.account-create-panel .panel-head span,.account-list-panel .panel-head span,.admin-modal-card .panel-head span{display:block;color:#a98b4a;font-size:9px;letter-spacing:.16em}.attendance-person-head h2{margin:2px 0}.attendance-week-summary{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.attendance-week-summary span{background:#211d15;border:1px solid #4d412c;color:#d9c794;padding:5px 8px;font-size:10px}.attendance-person-table{min-width:1320px}.attendance-person-table th,.attendance-person-table td{vertical-align:middle}.attendance-person-table th:first-child,.attendance-person-table td:first-child{position:static;background:#171510}.attendance-date-cell strong,.attendance-date-cell small{display:block}.attendance-date-cell strong{color:#e9d8ac}.attendance-date-cell small{color:#9f9581}.shift-input-row.compact{grid-template-columns:minmax(72px,1fr) 12px minmax(72px,1fr);margin:0}.shift-input-row.compact input{padding:6px!important}.attendance-actual-cell strong,.attendance-actual-cell small{display:block}.attendance-actual-cell strong{color:#e9d8ac}.attendance-actual-cell small{color:#9f9581;white-space:nowrap}.attendance-delay{display:block;font-size:10px}.attendance-delay.late{color:#e5ae67}.attendance-delay.early{color:#d98b8b}.attendance-person-footer{display:flex;gap:18px;justify-content:flex-end;padding:10px 16px;background:#111;border-top:1px solid #332d20}.account-create-panel{margin-bottom:14px}.account-create-form{display:grid;grid-template-columns:1.15fr 1fr 1fr .8fr 1fr auto;gap:8px;align-items:end}.account-create-form label{display:grid;gap:5px;color:#d6cbb5;font-size:11px}.account-list-panel{padding:0;overflow:hidden}.account-list-panel>.panel-head{padding:15px 17px}.account-total-count{color:#e9d8ac;font-size:20px}.account-list-head,.account-list-row{display:grid;grid-template-columns:1.25fr 1fr 1.35fr 210px 70px;gap:12px;align-items:center}.account-list-head{padding:8px 16px;background:#211d15;color:#a99d84;font-size:10px;border-block:1px solid #493e2a}.account-list-row{padding:12px 16px;border-bottom:1px solid #332d20;background:#141414}.account-list-row:hover{background:#191713}.account-list-row.is-disabled{opacity:.68}.account-identity,.account-role-info,.account-date-info{display:grid;min-width:0}.account-identity strong{color:#e9d8ac;overflow-wrap:anywhere}.account-identity span,.account-role-info strong{color:#d8cfbd;font-size:11px}.account-identity small,.account-date-info small,.account-date-info span{color:#9f9581;font-size:10px}.account-role-info{gap:5px;justify-items:start}.account-state-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid #4d412c;background:#0d0d0d;padding:3px}.account-state-switch button{border:0;padding:7px 5px;background:transparent;color:#817866;font-weight:800;cursor:pointer}.account-state-switch button.selected.state-on{background:#235342;color:#91ddba}.account-state-switch button.selected.state-off{background:#5c2525;color:#f0a6a6}.account-state-switch button:not(:disabled):hover{background:#2c271d;color:#e9d8ac}.account-state-switch button:disabled{cursor:default}.admin-modal{position:fixed;z-index:400;inset:0;display:grid;place-items:center;padding:24px}.admin-modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.82);cursor:pointer}.admin-modal-card{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#141414;border:1px solid #80683a;box-shadow:0 28px 90px rgba(0,0,0,.75);padding:18px}.admin-modal-card>.panel-head{margin:-18px -18px 18px;padding:15px 18px;background:#1b1812}.modal-close-button{border:1px solid #5a4a2e;background:#0d0d0d;color:#e9d8ac;width:34px;height:34px;font-size:22px;cursor:pointer}.modal-form-actions{display:flex;justify-content:flex-end;gap:8px}.cast-profile-catalog-panel{margin-bottom:14px;padding:0}.cast-profile-catalog-panel>summary{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:15px 17px;cursor:pointer;list-style:none}.cast-profile-catalog-panel>summary::-webkit-details-marker{display:none}.cast-profile-catalog-panel>summary span{grid-row:1/3;color:#a98b4a;font-size:9px;letter-spacing:.16em;writing-mode:vertical-rl}.cast-profile-catalog-panel>summary strong{color:#e9d8ac;font-size:18px}.cast-profile-catalog-panel>summary small{color:#9f9581}.profile-catalog-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 17px 17px}.profile-catalog-form label{display:grid;gap:5px;color:#d6cbb5}.profile-catalog-form>div{grid-column:1/-1;text-align:right}
@media(max-width:1200px){.account-create-form{grid-template-columns:repeat(3,minmax(0,1fr))}.account-list-head,.account-list-row{grid-template-columns:1.15fr .9fr 1.1fr 190px 65px}.attendance-person-table{min-width:1200px}}
@media(max-width:820px){.account-create-form,.profile-catalog-form{grid-template-columns:1fr}.profile-catalog-form>div{grid-column:auto}.account-list-head{display:none}.account-list-row{grid-template-columns:1fr 1fr;gap:9px}.account-state-switch{grid-column:1/2}.account-list-row>.btn{grid-column:2/3}.attendance-week-summary{justify-content:flex-start}.attendance-person-head{display:grid;gap:10px}}
@media(max-width:560px){.account-create-form,.account-list-row{grid-template-columns:1fr}.account-state-switch,.account-list-row>.btn{grid-column:auto}.account-list-row>.btn{width:100%}.attendance-export-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}}

.rich-editor{border:1px solid #5a4b30;background:#0e0e0e;border-radius:4px;overflow:hidden}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;background:#191712;border-bottom:1px solid #5a4b30}.rich-editor-toolbar button{border:1px solid #6b5833;background:#272116;color:#ead7a6;padding:6px 9px;border-radius:3px;cursor:pointer;font-size:11px}.rich-editor-toolbar button:hover{background:#b39350;color:#090909}.rich-editor-surface{min-height:280px;padding:16px;color:#e3dac8;background:#111;line-height:1.9;outline:none;overflow:auto}.rich-editor-surface h2,.rich-editor-surface h3{color:#e9d8ac}.rich-editor-surface a{color:#e6bd62;text-decoration:underline}.rich-editor-surface .text-small{font-size:.78em}.rich-editor-surface .text-large{font-size:1.25em}.rich-editor-surface .text-xlarge{font-size:1.55em}.rich-editor-surface blockquote{border-left:3px solid #b39350;margin:12px 0;padding:8px 12px;background:#1a1711}.recruit-admin-photos button{position:relative;padding:0;border:1px solid #493e2a;background:#090909;cursor:zoom-in;border-radius:3px;overflow:hidden}.recruit-admin-photos button img{display:block;border:0!important;border-radius:0!important}.recruit-admin-photos button span{position:absolute;right:5px;bottom:5px;background:rgba(0,0,0,.78);color:#e9d8ac;border:1px solid #7b663c;padding:3px 6px;font-size:9px}.admin-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.admin-lightbox[hidden]{display:none}.admin-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88)}.admin-lightbox-card{position:relative;z-index:1;max-width:min(1000px,95vw);max-height:92vh;background:#0b0b0b;border:1px solid #8d743e;padding:10px}.admin-lightbox-card img{display:block;max-width:100%;max-height:86vh;object-fit:contain}.admin-lightbox-card button{position:absolute;right:8px;top:8px;width:36px;height:36px;border:1px solid #bea15e;background:#111;color:#f1dca5;font-size:24px;cursor:pointer}.badge.draft{background:#29251c;color:#d8c28d}.badge.published{background:#294236;color:#bfe3cf}.selected-payment-method strong{color:#e9d8ac}

.cast-photo-manager>.panel-head span{display:block;color:#a98b4a;font-size:9px;letter-spacing:.16em}.cast-photo-manager>.panel-head strong{color:#e9d8ac}.cast-photo-upload-form{padding-bottom:16px;border-bottom:1px solid #413722;margin-bottom:16px}.sortable-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sortable-photo-grid article{background:#111;border:1px solid #493e2a;padding:8px;display:grid;gap:7px}.sortable-photo-grid img{width:100%;height:190px;object-fit:cover}.sortable-photo-grid label{display:grid;gap:4px;color:#bcb09a;font-size:10px}.sortable-photo-grid input{width:100%}.photo-delete-choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;color:#efaaaa!important}.photo-delete-choice input{width:auto!important}.cast-photo-order-form>.btn{margin-top:12px}
.flexible-shift-table{min-width:1450px}.flexible-shift-table td:nth-child(3){min-width:520px}.dynamic-shift-list{display:grid;gap:6px}.dynamic-shift-row{display:grid;grid-template-columns:48px 83px 12px 83px minmax(100px,1fr) 48px;gap:5px;align-items:center;background:#0f0f0f;border:1px solid #3f3626;padding:5px}.dynamic-shift-row input{min-width:0;padding:6px!important}.shift-number{color:#e9d8ac;font-size:10px;font-weight:800}.shift-remove{border:1px solid #6c3838;background:#2a1515;color:#eab2b2;padding:6px 4px;font-size:9px;cursor:pointer}.shift-add{justify-self:start}.shift-note-mini{font-size:10px}.dynamic-detail-shifts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-shift-card{position:relative}.manager-punch-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #3c3324}
.permission-editor{grid-column:1/-1;background:#101010;border:1px solid #55482f;padding:12px}.permission-editor.is-disabled{opacity:.45;pointer-events:none}.permission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.permission-toolbar strong{color:#e9d8ac}.permission-toolbar span{display:flex;gap:5px}.permission-matrix{border:1px solid #3f3626}.permission-head,.permission-matrix>label{display:grid;grid-template-columns:minmax(170px,1fr) 70px 70px 90px;align-items:center;gap:7px;padding:7px 10px;border-bottom:1px solid #302a20}.permission-head{background:#211d15;color:#b6a78c;font-size:10px;font-weight:800}.permission-head span:nth-child(n+2){text-align:center}.permission-matrix>label{margin:0!important;color:#d8cfbd!important}.permission-matrix>label>input{width:auto!important;justify-self:center}.permission-matrix>label>small{color:#8f8572}.permission-editor>p{color:#968b77;font-size:10px;margin:8px 0 0}.account-permission-modal{width:min(860px,100%)}.account-create-form.account-permission-form{grid-template-columns:repeat(5,minmax(0,1fr))}.account-create-form.account-permission-form>.permission-editor{grid-column:1/-1}.account-create-form.account-permission-form>.btn{grid-column:1/-1;justify-self:end}
@media(max-width:1100px){.sortable-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-detail-shifts{grid-template-columns:1fr}.account-create-form.account-permission-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sortable-photo-grid{grid-template-columns:1fr}.dynamic-shift-row{grid-template-columns:42px 1fr 12px 1fr}.dynamic-shift-row .shift-note-mini{grid-column:2/5}.dynamic-shift-row .shift-remove{grid-column:2/5;justify-self:end}.permission-head,.permission-matrix>label{grid-template-columns:1fr 52px 52px}.permission-head span:nth-child(4),.permission-matrix>label>small{display:none}.account-create-form.account-permission-form{grid-template-columns:1fr}}

.video-admin-list{display:grid;gap:12px;margin-top:16px}
.video-admin-list .video-admin-item{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid #493e2a;background:#111}

.video-admin-item span strong{display:block;color:#e9d8ac}
@media(max-width:800px){.video-admin-list .video-admin-item{grid-template-columns:1fr}.video-admin-item form{justify-self:start}}

.alert.warning{background:#302713!important;color:#f0d48b!important;border:1px solid #80683a!important;border-left:4px solid #c6a65d!important}
.booking-notify-toggle{display:flex!important;align-items:center!important;gap:12px!important;padding:13px 14px;border:1px solid #55482f;background:#111;color:#e9d8ac!important;cursor:pointer}
.booking-notify-toggle input{position:absolute;opacity:0;pointer-events:none}
.booking-notify-toggle .toggle-track{position:relative;flex:0 0 48px;width:48px;height:26px;border:1px solid #655536;border-radius:999px;background:#29251d;transition:.18s ease}
.booking-notify-toggle .toggle-track::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#887b62;transition:.18s ease}
.booking-notify-toggle input:checked+.toggle-track{background:#b39350;border-color:#e0c276}
.booking-notify-toggle input:checked+.toggle-track::after{left:25px;background:#090909}
.booking-notify-toggle .toggle-copy{display:grid;gap:2px}.booking-notify-toggle .toggle-copy b{color:#e9d8ac}.booking-notify-toggle .toggle-copy small{color:#9f9581}
.booking-send-status{display:grid;gap:5px;padding:12px 14px;border:1px solid #4d412c;background:#0e0e0e}.booking-send-status strong{color:#e9d8ac}.booking-send-status small{color:#aaa08d}.booking-send-status.success{border-left:4px solid #4f9b75}.booking-send-status.failed{border-left:4px solid #b54848}
.notification-history{display:grid;gap:10px}.notification-history article{background:#101010;border:1px solid #493e2a;padding:14px}.notification-history header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.notification-history header strong{color:#e9d8ac}.notification-history header small{color:#9f9581}.notification-history dl{display:grid;grid-template-columns:130px 1fr;margin:0}.notification-history dt,.notification-history dd{padding:7px 8px;border-bottom:1px solid #332d20}.notification-history dt{color:#a99b82;font-size:11px}.notification-history dd{margin:0;color:#ddd4bf;white-space:normal;overflow-wrap:anywhere}.notification-history .result-ok{color:#87d1aa}.notification-history .result-ng{color:#f0a0a0}
@media(max-width:700px){.notification-history header{display:grid}.notification-history dl{grid-template-columns:1fr}.notification-history dt{padding-bottom:2px;border-bottom:0}.notification-history dd{padding-top:2px}}

.admin-sidebar-top{display:block}
.admin-mobile-menu-button,.admin-sidebar-close,.admin-sidebar-backdrop{display:none}
.admin-header-title{display:grid;min-width:0}
.admin-main>header form{margin:0;flex:0 0 auto}

@media(max-width:1050px){
  body.admin-menu-open{overflow:hidden}
  .admin-shell>aside{
    display:block;
    position:fixed;
    inset:0 auto 0 0;
    width:min(320px,86vw);
    height:100vh;
    height:100dvh;
    padding:16px 14px 24px;
    overflow-y:auto;
    transform:translateX(-105%);
    transition:transform .22s ease;
    z-index:1002;
    box-shadow:18px 0 45px rgba(0,0,0,.48);
  }
  body.admin-menu-open .admin-shell>aside{transform:translateX(0)}
  .admin-sidebar-top{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:start;gap:6px}
  .admin-sidebar-top .admin-brand{min-width:0;padding:4px 7px 20px}
  .admin-sidebar-top .admin-brand span{min-width:0;overflow-wrap:anywhere}
  .admin-sidebar-close{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid #5b4b2d;
    background:#171510;
    color:#e9d8ac;
    font-size:27px;
    line-height:1;
    cursor:pointer;
  }
  .admin-sidebar-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:1001;
    border:0;
    padding:0;
    background:rgba(0,0,0,.68);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }
  body.admin-menu-open .admin-sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .admin-mobile-menu-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:62px;
    min-height:40px;
    padding:8px 10px;
    border:1px solid #806b3d;
    background:#211d15;
    color:#e9d8ac;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    cursor:pointer;
  }
  .admin-main>header{height:auto;min-height:68px;gap:10px}
  .admin-header-title{flex:1 1 auto;overflow:hidden}
  .admin-header-title strong,.admin-header-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .admin-shell>aside nav a{display:block;min-height:44px;padding:12px}
}

@media(max-width:520px){
  .admin-main>header{padding:10px 9px}
  .admin-mobile-menu-button{min-width:56px;padding-inline:8px}
  .admin-main>header .btn.ghost{padding:8px 9px;font-size:11px;white-space:nowrap}
  .admin-header-title small{font-size:9px}
}

@media(max-width:390px){
  .admin-header-title small{display:none}
  .admin-header-title strong{font-size:13px}
}

html,body.admin-page{min-width:320px}
body.admin-page{overflow-x:hidden}
body.admin-page .admin-shell{width:100%;max-width:100%;align-items:start}
body.admin-page .admin-shell>aside{box-sizing:border-box}
body.admin-page .admin-main{width:100%;max-width:100%;min-width:0;overflow:hidden}
body.admin-page .admin-main>header{width:100%;max-width:100%}
body.admin-page .content{width:100%;max-width:100%;min-width:0}
body.admin-page .panel,
body.admin-page .stat-grid,
body.admin-page .two-col,
body.admin-page .detail-grid,
body.admin-page .admin-cast-layout{min-width:0;max-width:100%}
body.admin-page .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.admin-page form{max-width:100%}
body.admin-page input,
body.admin-page select,
body.admin-page textarea,
body.admin-page button{font:inherit}
body.admin-page img,
body.admin-page video{max-width:100%}
@media(min-width:1051px){
  body.admin-page .admin-shell{grid-template-columns:245px minmax(0,1fr)!important}
  body.admin-page .admin-shell>aside{display:block!important;position:sticky!important;top:0!important;left:auto!important;width:auto!important;height:100vh!important;transform:none!important;overflow-y:auto!important;box-shadow:none!important;z-index:20!important}
  body.admin-page .admin-sidebar-backdrop,
  body.admin-page .admin-mobile-menu-button,
  body.admin-page .admin-sidebar-close{display:none!important}
}
@media(max-width:1050px){
  body.admin-page .admin-shell{display:block!important}
  body.admin-page .admin-main{width:100%!important}
  body.admin-page .content{padding-left:16px;padding-right:16px}
}
@media(max-width:620px){
  body.admin-page .content{padding-left:10px;padding-right:10px}
  body.admin-page .panel{width:100%;overflow:hidden}
  body.admin-page .filter-row>*{min-width:0;max-width:100%}
  body.admin-page .filter-row input,
  body.admin-page .filter-row select{width:100%}
  body.admin-page .logout-form{flex:0 0 auto}
}

:root{
  --admin-control-height:42px;
  --admin-control-radius:5px;
}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]),
body.admin-page select,
body.login-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]),
body.login-page select{
  box-sizing:border-box;
  height:var(--admin-control-height);
  min-height:var(--admin-control-height);
  margin:0;
  padding:0 12px;
  border-radius:var(--admin-control-radius);
  line-height:1.2;
  vertical-align:middle;
}
body.admin-page select,
body.login-page select{
  padding-right:34px;
}
body.admin-page .btn,
body.login-page .btn{
  box-sizing:border-box;
  height:var(--admin-control-height);
  min-height:var(--admin-control-height);
  margin:0;
  padding:0 14px;
  border-radius:var(--admin-control-radius);
  line-height:1;
  white-space:nowrap;
  vertical-align:middle;
}
body.admin-page .btn.small,
body.admin-page .btn.tiny,
body.login-page .btn.small,
body.login-page .btn.tiny{
  height:var(--admin-control-height);
  min-height:var(--admin-control-height);
  padding:0 12px;
}
body.admin-page input[type="date"],
body.admin-page input[type="time"],
body.admin-page input[type="datetime-local"],
body.admin-page input[type="month"],
body.login-page input[type="date"],
body.login-page input[type="time"],
body.login-page input[type="datetime-local"],
body.login-page input[type="month"]{
  line-height:normal;
}
body.admin-page input[type="date"]::-webkit-date-and-time-value,
body.admin-page input[type="time"]::-webkit-date-and-time-value,
body.admin-page input[type="datetime-local"]::-webkit-date-and-time-value,
body.admin-page input[type="month"]::-webkit-date-and-time-value,
body.login-page input[type="date"]::-webkit-date-and-time-value,
body.login-page input[type="time"]::-webkit-date-and-time-value,
body.login-page input[type="datetime-local"]::-webkit-date-and-time-value,
body.login-page input[type="month"]::-webkit-date-and-time-value{
  min-height:20px;
  line-height:20px;
  text-align:left;
}
body.admin-page input[type="date"]::-webkit-calendar-picker-indicator,
body.admin-page input[type="time"]::-webkit-calendar-picker-indicator,
body.admin-page input[type="datetime-local"]::-webkit-calendar-picker-indicator,
body.admin-page input[type="month"]::-webkit-calendar-picker-indicator,
body.login-page input[type="date"]::-webkit-calendar-picker-indicator,
body.login-page input[type="time"]::-webkit-calendar-picker-indicator,
body.login-page input[type="datetime-local"]::-webkit-calendar-picker-indicator,
body.login-page input[type="month"]::-webkit-calendar-picker-indicator{
  margin:0;
  padding:4px;
}
body.admin-page .filter-row{
  align-items:end;
}
body.admin-page .filter-row label{
  display:grid;
  gap:5px;
}
body.admin-page .filter-row input[type="date"]{
  min-width:150px;
}
body.admin-page .filter-row .btn{
  align-self:end;
}
body.admin-page .filter-auto-note{
  width:100%;
  margin:0;
  color:#8f8572;
  font-size:10px;
}
@media(max-width:620px){
  body.admin-page .filter-row{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  body.admin-page .filter-row>*{
    width:100%;
  }
  body.admin-page .filter-row .btn{
    width:100%;
  }
}

:root{--admin-neon:#d7b45a;--admin-black:#1C180D;--admin-h1:#8A8783;--admin-h2:#B4B1AB;--admin-h3:#D4D0C9;--admin-bg:#0d0d0a;--admin-panel:#161611;--admin-line:#3d3d30;--admin-text:#f0efe7;--admin-muted:#aaa99f;color-scheme:dark}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--admin-bg)}
body.admin-page{background:var(--admin-bg)!important;color:var(--admin-text)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif!important;-webkit-font-smoothing:antialiased}
.admin-page *, .admin-page *::before,.admin-page *::after{box-sizing:border-box}
.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="date"]):not([type="time"]):not([type="datetime-local"]):not([type="month"]),.admin-page select,.admin-page textarea{-webkit-appearance:none;appearance:none;border-radius:0!important}
.admin-page input[type="date"],.admin-page input[type="time"],.admin-page input[type="datetime-local"],.admin-page input[type="month"]{color-scheme:dark;min-height:42px!important}
.admin-page button,.admin-page input,.admin-page select,.admin-page textarea{font-family:inherit}
.admin-page :focus-visible{outline:2px solid var(--admin-neon);outline-offset:2px}
.admin-page aside{background:#090907!important;border-right:1px solid #303026!important}
.admin-brand{color:var(--admin-neon)!important}
.admin-brand small{color:#8e8d84!important}
.admin-page aside nav a{color:#c9c8be!important;border-color:#292920!important}
.admin-page aside nav a:hover,.admin-page aside nav a.active{color:var(--admin-neon)!important;border-left-color:var(--admin-neon)!important}
.admin-main>header{background:#10100c!important;border-bottom-color:#343429!important}
.admin-header-title strong{color:#f0efe7!important}
.admin-header-title small{color:#9e9d94!important}
.admin-page .content{background:var(--admin-bg)!important}
.admin-page .panel,.admin-page .card,.admin-page .stat-card,.admin-page .form-card,.admin-page .table-wrap,.admin-page .filter-card{background:var(--admin-panel)!important;border-color:var(--admin-line)!important;box-shadow:none!important}
.admin-page h1,.admin-page h2,.admin-page h3{color:#f0efe7!important}
.admin-page .eyebrow,.admin-page .kicker,.admin-page .stat-card strong{color:var(--admin-neon)!important}
.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.admin-page select,.admin-page textarea{background:#0d0d0a!important;color:#f0efe7!important;min-height:42px!important}
.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{border-color:var(--admin-neon)!important;box-shadow:0 0 0 1px var(--admin-neon)!important}
.admin-page .btn{min-height:42px!important;border-radius:0!important;font-weight:900!important}
.admin-page .btn.primary,.admin-page button.primary{background:var(--admin-neon)!important;border-color:var(--admin-neon)!important;color:#15160d!important}
.admin-page .btn.ghost{background:#151510!important;border-color:#4a4a3b!important;color:#d9d8cf!important}
.admin-page .btn.ghost:hover{border-color:var(--admin-neon)!important;color:var(--admin-neon)!important}
.admin-page table{background:#13130f!important;color:#e4e3da!important}
.admin-page th{background:#1b1b15!important;color:var(--admin-neon)!important;border-color:#3c3c30!important}
.admin-page td{border-color:#313128!important}
.admin-mobile-menu-button{background:var(--admin-neon)!important;color:#15160d!important;border-color:var(--admin-neon)!important;border-radius:0!important}
.admin-sidebar-close{color:var(--admin-neon)!important}
.admin-page .alert.success{border-left-color:var(--admin-neon)!important;background:#17190e!important;color:#dbf498!important}
.admin-page .alert.error{background:#281414!important;color:#ffc0c0!important}
@media(max-width:760px){.admin-main>header{min-height:62px!important}.admin-page .content{padding:14px!important}.admin-page table{min-width:680px}.admin-page .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}

body.login-page{min-height:100vh;min-height:100svh;background:linear-gradient(135deg,#090907 0%,#1C180D 58%,#34342d 100%)!important;color:#f0efe7!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.login-page .login-card{background:#141410!important;border:1px solid #444436!important;border-top:4px solid #d7b45a!important;box-shadow:0 22px 70px rgba(0,0,0,.48)!important;color:#f0efe7!important}
body.login-page .login-card h1{color:#d7b45a!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:950!important;letter-spacing:-.03em!important}
body.login-page .login-card p,body.login-page .login-card>a{color:#aaa99f!important}
body.login-page .login-card label{color:#d8d7ce!important}
body.login-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),body.login-page select,body.login-page textarea{background:#0c0c09!important;border:1px solid #48483a!important;color:#f0efe7!important;border-radius:0!important;min-height:44px!important}
body.login-page input:focus,body.login-page select:focus,body.login-page textarea:focus{border-color:#d7b45a!important;box-shadow:0 0 0 1px #d7b45a!important;outline:0!important}
body.login-page .btn.primary{background:#d7b45a!important;border-color:#d7b45a!important;color:#15160d!important;border-radius:0!important;min-height:46px!important}
body.login-page :focus-visible{outline:2px solid #d7b45a;outline-offset:2px}
.admin-page .stat-grid>a,.admin-page .stat-grid>div{background:var(--admin-panel)!important;border-color:var(--admin-line)!important;border-top-color:var(--admin-neon)!important;box-shadow:none!important}
.admin-page .stat-grid span{color:var(--admin-muted)!important}
.admin-page .stat-grid strong{color:var(--admin-neon)!important}
.admin-page .text-link,.admin-page a.text-link{color:var(--admin-neon)!important}
.admin-page .translation-box,.admin-page .stack-form details{background:#141410!important;border-color:var(--admin-line)!important}
.admin-page .weekly-admin th:first-child,.admin-page .weekly-admin td:first-child{background:#171711!important}
.admin-page .sticky-save{background:#10100c!important;border-color:#3c3c30!important}
.admin-page code{background:#1b1b15!important;color:var(--admin-neon)!important;border-color:#414134!important}

.cast-media-manager{border-radius:10px!important}.cast-media-manager .media-upload-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cast-media-manager .media-upload-box{padding:14px;border:1px solid var(--line);border-radius:8px;background:#10110d}.cast-media-manager .media-upload-box h3{margin:0 0 10px;color:#d7b45a}.cast-media-manager .admin-media-library{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;margin-top:16px}.cast-media-manager .admin-media-library>section>h3{color:#d7b45a;margin:0 0 10px}.cast-media-manager .video-admin-preview video{width:150px;max-height:190px;border-radius:7px;background:#000}.cast-media-manager .video-admin-item{border-radius:7px;padding:9px;background:#10110d;border:1px solid #333228}@media(max-width:960px){.cast-media-manager .media-upload-columns,.cast-media-manager .admin-media-library{grid-template-columns:1fr}}

body.admin-page{
  --ops-neon:#d7b45a;
  --ops-panel:#141510;
  --ops-panel-2:#1b1c16;
  --ops-border:#34362b;
  --ops-muted:#9c9f91;
}
body.admin-page .content{padding:28px 30px 54px!important;max-width:1680px!important;margin:0 auto!important}
body.admin-page .panel,
body.admin-page .business-kpi-grid>* ,
body.admin-page .staff-status-hero,
body.admin-page .admin-page-heading{
  border-radius:14px!important;
}
body.admin-page .panel{padding:20px!important;background:linear-gradient(145deg,#171812,#11120e)!important;border:1px solid var(--ops-border)!important}
body.admin-page .admin-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 20px;padding:22px 24px;background:linear-gradient(135deg,#171812,#0d0e0b);border:1px solid var(--ops-border)}
body.admin-page .admin-page-heading>div>span,body.admin-page .panel-head>div>span{display:block;color:var(--ops-neon);font-size:11px;font-weight:900;letter-spacing:.16em;margin-bottom:5px}
body.admin-page .admin-page-heading h1{font-size:clamp(25px,2vw,38px);margin:0 0 8px;line-height:1.05}
body.admin-page .admin-page-heading p{max-width:780px;margin:0;color:var(--ops-muted);font-size:13px}
body.admin-page .dashboard-date{text-align:right;color:#f0f0e8;font-weight:900;font-size:20px}.dashboard-date small{display:block;color:var(--ops-neon);font-size:11px;margin-top:4px}
body.admin-page .business-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
body.admin-page .dashboard-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
body.admin-page .business-kpi-grid>*{display:grid;align-content:center;min-height:116px;padding:18px;text-decoration:none;background:linear-gradient(145deg,#181914,#11120f)!important;border:1px solid var(--ops-border)!important;border-top:3px solid var(--ops-neon)!important;color:#f1f1e9}
body.admin-page .business-kpi-grid span{font-size:12px;color:var(--ops-muted);font-weight:800}
body.admin-page .business-kpi-grid strong{font-size:clamp(24px,2vw,34px);line-height:1.1;margin:8px 0 3px;color:#fff!important;letter-spacing:-.03em}
body.admin-page .business-kpi-grid small{color:var(--ops-neon);font-size:10px}
body.admin-page .business-kpi-grid>a:hover{border-color:var(--ops-neon)!important;transform:translateY(-1px)}
body.admin-page .dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;margin-bottom:16px}
body.admin-page .attention-list{display:grid;gap:8px}.attention-list a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#10110d;border:1px solid #2f3127;color:#f2f2ea;text-decoration:none}.attention-list a:hover{border-color:var(--ops-neon)}.attention-list i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#26291a;color:var(--ops-neon);font-style:normal;font-weight:900}.attention-list span{display:grid;gap:2px}.attention-list small{color:var(--ops-muted)}.attention-list b{font-size:22px;color:var(--ops-neon)}
body.admin-page .dashboard-sales-amount{padding:18px 0;border-bottom:1px solid #303128}.dashboard-sales-amount span{display:block;color:var(--ops-muted);font-size:12px}.dashboard-sales-amount strong{display:block;margin-top:5px;font-size:38px;color:#fff}.dashboard-sales-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:14px;color:var(--ops-muted);font-size:11px}.dashboard-sales-meta b{display:block;color:var(--ops-neon);font-size:15px;margin-top:3px}
body.admin-page .panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-head h2{margin:0;font-size:18px}.panel-head>strong{font-size:20px;color:var(--ops-neon)!important}
body.admin-page .performance-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;margin-bottom:16px}
body.admin-page .svg-chart-wrap{width:100%;overflow:hidden;padding-top:8px}.line-chart{display:block;width:100%;height:auto;max-height:270px}.line-chart line{stroke:#4c4f3b;stroke-width:1}.line-chart polyline{fill:none;stroke:var(--ops-neon);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(215,180,90,.15))}.line-chart circle{fill:#10110d;stroke:var(--ops-neon);stroke-width:3}.chart-axis-note{display:flex;justify-content:space-between;color:var(--ops-muted);font-size:10px;padding:0 14px}
body.admin-page .bar-chart-list{display:grid;gap:10px}.bar-chart-list>a{display:grid;grid-template-columns:minmax(110px,.42fr) 1fr auto;align-items:center;gap:10px;text-decoration:none;color:#f0f0e8}.bar-chart-list>a>span{display:grid}.bar-chart-list small{color:var(--ops-muted);font-size:10px}.bar-chart-list i{display:block;height:11px;border-radius:99px;background:#292b21;overflow:hidden}.bar-chart-list em{display:block;height:100%;background:linear-gradient(90deg,#849f00,var(--ops-neon));border-radius:inherit}.bar-chart-list strong{font-size:12px;min-width:78px;text-align:right}
body.admin-page .daily-bar-chart{height:230px;display:flex;align-items:flex-end;gap:3px;padding:18px 6px 0;border-bottom:1px solid #434534;overflow:hidden}.daily-bar-chart>div{flex:1;min-width:4px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.daily-bar-chart i{display:block;width:min(100%,18px);min-height:3px;border-radius:5px 5px 0 0;background:var(--ops-neon)}.daily-bar-chart small{font-size:7px;color:#7d806f}
body.admin-page .rank-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #4a4b40;border-radius:999px;background:#11120e;color:#eee;white-space:nowrap}.rank-badge svg{width:26px;height:26px}.rank-badge svg path,.rank-badge svg circle{fill:currentColor}.rank-badge svg text{fill:#111;font-size:12px;font-weight:900}.rank-badge strong{font-size:11px!important;color:inherit!important}.rank-copper{color:#c47d4d!important;border-color:#6d442d!important}.rank-silver{color:#d5d8dc!important;border-color:#73777b!important}.rank-gold{color:#e8c84e!important;border-color:#9e842d!important}
body.admin-page .staff-status-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin:0 0 16px;background:linear-gradient(135deg,#202117,#11120e);border:1px solid var(--ops-border)}.staff-status-hero>div>span{color:var(--ops-neon);font-size:11px;font-weight:900;letter-spacing:.14em}.staff-status-hero h1{margin:5px 0;font-size:30px}.staff-status-hero p{margin:0;color:var(--ops-muted)}.staff-status-hero .rank-badge{padding:10px 14px}.staff-status-hero .rank-badge svg{width:42px;height:42px}.staff-status-hero .rank-badge strong{font-size:16px!important}
body.admin-page .benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.benefit-grid>div{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:9px;background:#10110d;border:1px solid #303228}.benefit-grid>div>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--ops-neon);color:#111;font-weight:900}.benefit-grid strong{font-size:12px}.benefit-note{margin-top:12px;padding:12px;border-radius:9px;background:#202116;border-left:3px solid var(--ops-neon)}.benefit-note p{margin:5px 0 0;color:#c4c5b8}
body.admin-page .compensation-editor{margin:15px 0;padding:15px;border:1px solid #434536;border-radius:12px;background:#11120e}.compensation-editor legend{padding:0 8px;color:var(--ops-neon);font-weight:900}.benefit-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.benefit-checks .check{display:flex;align-items:center;gap:7px;padding:10px;border-radius:8px;background:#181914;border:1px solid #303228}.benefit-checks input{width:17px;height:17px;accent-color:var(--ops-neon)}
body.admin-page .booking-admin-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:16px;margin-bottom:16px}.booking-summary-panel{align-self:start;position:sticky;top:82px}.detail-profile{display:flex;align-items:center;gap:14px;margin-bottom:18px}.detail-profile img{width:82px;height:104px;object-fit:cover;border-radius:10px}.detail-profile span{color:var(--ops-neon);font-size:10px;font-weight:900}.detail-profile h2{margin:4px 0}.admin-dl{display:grid;gap:0}.admin-dl>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #2f3027}.admin-dl dt{color:var(--ops-muted);font-size:11px}.admin-dl dd{margin:0;color:#f0f0e8;word-break:break-word}.workflow-control-panel{display:grid;gap:12px}.workflow-action-card{display:grid;gap:10px;padding:14px;border-radius:11px;background:#10110d;border:1px solid #35372b}.workflow-action-card h3{margin:0;color:#fff}.workflow-action-card.danger-zone{border-color:#6c3434;background:#1c1010}.workflow-inline-form{display:inline-flex;margin-right:8px}.admin-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.message-thread{display:grid;gap:8px}.message-thread .message{padding:11px 12px;border-radius:10px;background:#10110d;border:1px solid #303228}.message-thread .message.admin{border-left:3px solid var(--ops-neon)}.message-thread .message.therapist{border-left:3px solid #72d5ff}.message-thread .message.customer{border-left:3px solid #f1c86d}.message-thread header{display:flex;justify-content:space-between;gap:8px}.message-thread header small{color:var(--ops-muted)}.message-thread p{margin:6px 0 0}.status-history-list{display:grid;gap:7px}.status-history-list article{display:grid;grid-template-columns:135px 1fr;gap:4px 12px;padding:10px 0;border-bottom:1px solid #303228}.status-history-list article>span{grid-row:1/3;color:var(--ops-muted);font-size:10px}.status-history-list small{color:var(--ops-muted)}
body.admin-page .row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.row-actions form{margin:0}.admin-page .btn.danger{background:#6e2020!important;border-color:#8b3131!important;color:#fff!important}.admin-page .btn.danger:hover{background:#8b2929!important}
body.admin-page .badge.requested{background:#4d4418;color:#f9dd6b}.badge.available{background:#28491d;color:#bbf28d}.badge.alternative_proposed{background:#213b51;color:#98d4ff}.badge.unavailable,.badge.cancelled_admin,.badge.cancelled_customer,.badge.cancelled_therapist{background:#532525;color:#ffaaaa}.badge.awaiting_payment{background:#55460e;color:#ffe875}.badge.in_service{background:#1f4f45;color:#a2f4dc}.badge.completed{background:#2d4932;color:#b9efc2}
body.admin-page .account-list-row{border-radius:11px!important}.account-role-info{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap}.account-role-info .rank-badge{order:-1}.account-permission-modal{border-radius:16px!important}
@media(max-width:1320px){body.admin-page .dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.business-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){body.admin-page .content{padding:18px 16px 44px!important}.dashboard-main-grid,.performance-layout,.booking-admin-grid,.admin-history-grid{grid-template-columns:1fr!important}.booking-summary-panel{position:static}.business-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.benefit-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){body.admin-page .content{padding:12px 10px 38px!important}.admin-page-heading,.staff-status-hero{align-items:flex-start!important;flex-direction:column}.business-kpi-grid,.dashboard-kpis{grid-template-columns:1fr 1fr!important}.business-kpi-grid>*{min-height:96px!important;padding:13px!important}.business-kpi-grid strong{font-size:23px!important}.benefit-grid,.benefit-checks{grid-template-columns:1fr}.admin-dl>div{grid-template-columns:95px 1fr}.bar-chart-list>a{grid-template-columns:95px 1fr}.bar-chart-list>a>strong{grid-column:2;text-align:left}.status-history-list article{grid-template-columns:1fr}.status-history-list article>span{grid-row:auto}.dashboard-sales-meta{grid-template-columns:1fr}}
body.admin-page .btn,body.login-page .btn{border-radius:9px!important}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),body.admin-page select,body.admin-page textarea,body.login-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),body.login-page select,body.login-page textarea{border-radius:9px!important}
body.admin-page aside nav a{border-radius:8px;margin:2px 8px}

body.admin-page{font-size:14px;line-height:1.6}
body.admin-page .content>.panel,
body.admin-page .content>.two-col,
body.admin-page .content>.detail-grid,
body.admin-page .content>.admin-cast-layout{margin-bottom:18px}
body.admin-page .panel h2{font-size:18px;line-height:1.35}
body.admin-page .panel h3{font-size:15px;line-height:1.45}
body.admin-page label{font-size:12px;line-height:1.5}
body.admin-page input,body.admin-page select,body.admin-page textarea{font-size:13px!important}
body.admin-page textarea{line-height:1.65;min-height:90px}
body.admin-page .field-help,body.admin-page .form-help{color:var(--ops-muted)!important;font-size:10px!important;font-weight:500}
body.admin-page .panel>h2:first-child{margin-bottom:14px}
body.admin-page .filter-row{padding:13px 14px;border:1px solid var(--ops-border);border-radius:12px;background:#141510}
body.admin-page .filter-row label{color:#d7d8ce}
body.admin-page .badge.manual{background:#3e4618;color:#dcff66;border:1px solid #677422}

body.admin-page .performance-filter-revised{display:flex;align-items:end;gap:10px;margin-bottom:18px}
body.admin-page .performance-period-badge{min-width:132px;padding:11px 14px;border:1px solid #434633;border-radius:10px;background:#0e0f0c;text-align:right}
body.admin-page .performance-period-badge span{display:block;color:var(--ops-neon);font-size:9px;font-weight:900;letter-spacing:.18em}
body.admin-page .performance-period-badge strong{font-size:18px;color:#fff}
body.admin-page .performance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
body.admin-page .performance-comparison-chart .previous-line{stroke:#6e7166!important;stroke-width:3!important;stroke-dasharray:7 7!important;filter:none!important}
body.admin-page .performance-comparison-chart .current-line{stroke:var(--ops-neon)!important;stroke-width:4!important}
body.admin-page .performance-comparison-chart .previous-point{fill:#161711!important;stroke:#8b8e82!important;stroke-width:2!important}
body.admin-page .performance-comparison-chart .current-point{fill:#10110d!important;stroke:var(--ops-neon)!important;stroke-width:3!important;cursor:help}
body.admin-page .performance-chart-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:2px 0 4px;font-size:11px}
body.admin-page .performance-chart-legend span{display:inline-flex;align-items:center;gap:7px;font-weight:800}
body.admin-page .performance-chart-legend span::before{content:"";width:23px;height:3px;border-radius:4px;background:var(--ops-neon)}
body.admin-page .performance-chart-legend .previous::before{background:#7a7d71;background:repeating-linear-gradient(90deg,#7a7d71 0 6px,transparent 6px 10px)}
body.admin-page .performance-chart-legend small{margin-left:auto;color:var(--ops-muted)}
body.admin-page .revised-bar-chart-list>a{padding:9px;border-radius:9px;border:1px solid transparent}
body.admin-page .revised-bar-chart-list>a:hover{border-color:#4b4e3a;background:#10110d}

body.admin-page details.manual-order-panel{padding:0!important;overflow:hidden}
body.admin-page details.manual-order-panel>summary{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:15px 18px;cursor:pointer;list-style:none;background:#181914;border-bottom:1px solid transparent}
body.admin-page details.manual-order-panel[open]>summary{border-bottom-color:#34362b}
body.admin-page details.manual-order-panel>summary::-webkit-details-marker{display:none}
body.admin-page details.manual-order-panel>summary>span{grid-row:1/3;color:var(--ops-neon);font-size:9px;font-weight:900;letter-spacing:.16em;writing-mode:vertical-rl}
body.admin-page details.manual-order-panel>summary>strong{color:#fff;font-size:17px}
body.admin-page details.manual-order-panel>summary>small{color:var(--ops-muted);font-size:11px}
body.admin-page .manual-order-form{display:grid;gap:12px;padding:18px}
body.admin-page .manual-order-note{padding:10px 12px;border-left:3px solid var(--ops-neon);background:#202116;color:#cdd1b9;font-size:11px}
body.admin-page .manual-order-form>.btn{justify-self:start}

body.admin-page .cast-management-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
body.admin-page .admin-cast-layout{grid-template-columns:minmax(520px,.95fr) minmax(440px,1.05fr);align-items:start}
body.admin-page .admin-cast-layout>.panel:first-child{position:sticky;top:88px}
body.admin-page .new-cast-account-field,body.admin-page .admin-trait-field{border:1px solid #3b3d31;border-radius:10px;background:#10110d;padding:14px}
body.admin-page .cast-editor-flags{justify-content:flex-start;padding-top:18px}
body.admin-page .cast-editor-state{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border:1px solid #495033;border-radius:999px;font-size:10px;font-weight:900}
body.admin-page .cast-editor-state.is-public{color:#dfff71;background:#232a12;border-color:#53631e}
body.admin-page .cast-editor-state.is-hidden{color:#c4c4bc;background:#22231e;border-color:#46483e}
body.admin-page .cast-management-list-panel{padding:0!important;overflow:hidden}
body.admin-page .cast-management-list-panel>.panel-head{padding:17px 18px;border-bottom:1px solid #303228}
body.admin-page .revised-cast-admin-list{max-height:760px;gap:0}
body.admin-page .revised-cast-admin-list .cast-admin-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px 14px;border-bottom:1px solid #2f3027;background:#13140f}
body.admin-page .revised-cast-admin-list .cast-admin-card:hover{background:#181914}
body.admin-page .revised-cast-admin-list .cast-admin-card.is-hidden{opacity:.72}
body.admin-page .revised-cast-admin-list img{width:72px;height:88px;object-fit:cover;border-radius:8px;border:1px solid #3e4033;background:#090a08}
body.admin-page .cast-admin-summary{min-width:0;display:grid;gap:8px}
body.admin-page .cast-admin-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
body.admin-page .cast-admin-name strong{font-size:15px;color:#fff}
body.admin-page .cast-admin-name em{font-style:normal;color:#bfc0b7;font-size:10px}
body.admin-page .cast-admin-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
body.admin-page .cast-admin-meta small{width:100%;color:var(--ops-muted);font-size:10px}
body.admin-page .cast-admin-actions{justify-content:flex-end;max-width:235px}

body.admin-page .compensation-permission-grid{grid-column:1/-1;display:grid;grid-template-columns:minmax(330px,.72fr) minmax(520px,1.28fr);gap:12px;align-items:stretch}
body.admin-page .compensation-permission-grid>.compensation-editor{margin:0;min-width:0;height:100%}
body.admin-page .compensation-permission-grid>.permission-editor{grid-column:auto;min-width:0;height:100%;border-radius:12px;border-color:#434536;background:#11120e}
body.admin-page .account-create-form.account-permission-form>.compensation-permission-grid{grid-column:1/-1}
body.admin-page .account-create-form.account-permission-form>.btn{grid-column:1/-1;justify-self:end}
body.admin-page .account-permission-modal{width:min(1180px,calc(100vw - 40px))}

body.admin-page .staff-profile-editor-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:start}
body.admin-page .staff-profile-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.admin-page .staff-profile-photo-grid article{padding:9px;border:1px solid #34362b;border-radius:10px;background:#10110d}
body.admin-page .staff-profile-photo-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:7px;background:#080908}

body.admin-page .heading-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.admin-page details.panel>summary{color:#f1f1e9}
body.admin-page .account-list-row{border-radius:0!important}
body.admin-page .account-list-panel{border-radius:14px!important}
body.admin-page .modal-form-actions{padding-top:6px}

@media(max-width:1250px){
  body.admin-page .performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.admin-page .compensation-permission-grid{grid-template-columns:1fr}
  body.admin-page .admin-cast-layout{grid-template-columns:1fr}
  body.admin-page .admin-cast-layout>.panel:first-child{position:static}
}
@media(max-width:900px){
  body.admin-page .cast-management-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-page .staff-profile-editor-layout{grid-template-columns:1fr}
  body.admin-page .staff-profile-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
  body.admin-page .performance-kpis{grid-template-columns:1fr 1fr!important}
  body.admin-page .performance-filter-revised{display:grid;grid-template-columns:1fr 1fr}
  body.admin-page .performance-filter-revised>*{width:100%}
  body.admin-page .revised-cast-admin-list .cast-admin-card{grid-template-columns:62px minmax(0,1fr)}
  body.admin-page .revised-cast-admin-list img{width:62px;height:76px}
  body.admin-page .cast-admin-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}
  body.admin-page .staff-profile-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  body.admin-page .cast-management-kpis,body.admin-page .performance-kpis{grid-template-columns:1fr!important}
  body.admin-page .performance-filter-revised{grid-template-columns:1fr}
  body.admin-page .performance-chart-legend small{margin-left:0;width:100%}
}

body.admin-page .performance-period-badge small{display:block;margin-top:4px;color:var(--ops-muted);font-size:9px;font-weight:800}
body.admin-page .performance-compare-filter{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px!important;align-items:end!important}
body.admin-page .performance-compare-filter label{display:grid;gap:5px;min-width:0}
body.admin-page .performance-compare-filter label[hidden]{display:none!important}
body.admin-page .performance-comparison-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 16px;padding:11px 14px;border:1px solid #35372c;border-radius:10px;background:#10110d;color:#d9dbd0;font-size:11px}
body.admin-page .performance-comparison-summary>span{color:var(--ops-muted);font-size:10px;font-weight:800}
body.admin-page .performance-comparison-summary>strong{color:#fff;font-size:12px}
body.admin-page .performance-comparison-summary>b{display:inline-flex;align-items:center;min-height:28px;padding:3px 9px;border-radius:6px;background:#202218;color:#f2f3ea;font-size:11px}
body.admin-page .performance-comparison-summary>i{color:var(--ops-neon);font-style:normal;font-size:9px;font-weight:950;letter-spacing:.12em}
body.admin-page .performance-chart-layout{grid-template-columns:minmax(0,1.3fr) minmax(390px,.7fr)}
body.admin-page .chartjs-frame{position:relative;width:100%;min-width:0;margin-top:12px}
body.admin-page .chartjs-frame-trend{height:360px}
body.admin-page .chartjs-frame-top{height:330px}
body.admin-page .chartjs-frame canvas{display:block;width:100%!important;height:100%!important}
body.admin-page .chart-library-warning{margin:12px 0 0;padding:10px 12px;border:1px solid #675f29;border-radius:8px;background:#242112;color:#e3d993;font-size:11px}
body.admin-page .performance-top5-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid #303228}
body.admin-page .performance-top5-links a{min-width:0;display:grid;gap:2px;padding:8px 9px;border:1px solid #34362b;border-radius:8px;background:#10110d;text-decoration:none;color:#e8e9df}
body.admin-page .performance-top5-links a:hover,body.admin-page .performance-top5-links a.active{border-color:#748322;background:#171a0f}
body.admin-page .performance-top5-links span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850}
body.admin-page .performance-top5-links b{font-size:12px;color:#fff}
body.admin-page .performance-top5-links small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ops-muted);font-size:8px}
body.admin-page .performance-ranking-panel td.positive{color:var(--ops-neon);font-weight:850}
body.admin-page .performance-ranking-panel td.negative{color:#ff8d82;font-weight:850}

@media(max-width:1280px){
  body.admin-page .performance-compare-filter{grid-template-columns:repeat(3,minmax(150px,1fr))!important}
  body.admin-page .performance-chart-layout{grid-template-columns:1fr!important}
  body.admin-page .performance-top5-links{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto;padding-bottom:4px}
}
@media(max-width:760px){
  body.admin-page .performance-compare-filter{grid-template-columns:1fr 1fr!important}
  body.admin-page .chartjs-frame-trend{height:300px}
  body.admin-page .chartjs-frame-top{height:300px}
}
@media(max-width:480px){
  body.admin-page .performance-compare-filter{grid-template-columns:1fr!important}
  body.admin-page .performance-comparison-summary{gap:7px}
  body.admin-page .chartjs-frame-trend{height:280px}
  body.admin-page .chartjs-frame-top{height:300px}
}

.admin-logo-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:78px!important;
  padding:10px 10px 18px!important;
  background:transparent!important;
  border-bottom:0!important;
}
.admin-logo-brand img{
  width:184px!important;
  height:auto!important;
  max-height:52px!important;
  object-fit:contain!important;
}
.staff-admin-brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  padding:8px 8px 20px!important;
  background:transparent!important;
  border-bottom:0!important;
  text-align:center!important;
}
.staff-admin-brand>img{
  width:178px!important;
  height:auto!important;
  max-height:50px!important;
  object-fit:contain!important;
}
.staff-admin-brand .staff-brand-copy{
  display:grid!important;
  gap:5px!important;
  width:100%!important;
  color:#fff!important;
  text-align:center!important;
  letter-spacing:0!important;
}
.staff-admin-brand .staff-brand-copy strong{
  color:#f2f2ea!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
.staff-admin-brand .staff-brand-copy small{
  color:var(--admin-neon)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
.staff-page .admin-main>header{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
}
.staff-header-logo{
  display:flex!important;
  align-items:center!important;
  width:124px!important;
  min-width:124px!important;
}
.staff-header-logo img{
  display:block!important;
  width:118px!important;
  height:auto!important;
  max-height:38px!important;
  object-fit:contain!important;
}
.staff-header-title strong{
  font-size:15px!important;
  line-height:1.2!important;
}
.staff-header-title small{
  margin-top:3px!important;
  font-size:11px!important;
}
.login-brand-logo{
  display:block!important;
  width:190px!important;
  height:auto!important;
  margin:0 auto 3px!important;
}

@media(max-width:760px){
  .admin-logo-brand img{width:165px!important}
  .staff-admin-brand>img{width:160px!important}
  .staff-admin-brand .staff-brand-copy strong{font-size:15px!important}
  .staff-admin-brand .staff-brand-copy small{font-size:12px!important}
  .staff-page .admin-main>header{
    grid-template-columns:auto 96px minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:0 12px!important;
  }
  .staff-header-logo{width:96px!important;min-width:96px!important}
  .staff-header-logo img{width:92px!important;max-height:30px!important}
  .staff-header-title strong{font-size:13px!important}
  .staff-header-title small{font-size:9px!important}
}
@media(max-width:520px){
  .staff-page .admin-main>header{grid-template-columns:auto 86px minmax(0,1fr) auto!important}
  .staff-header-logo{width:86px!important;min-width:86px!important}
  .staff-header-logo img{width:82px!important}
  .staff-header-title small{display:none!important}
  .staff-page .logout-form .btn{padding:8px 9px!important;font-size:10px!important}
}

body.admin-page .admin-main>header>.logout-form{
  margin-left:auto!important;
  justify-self:end!important;
  flex:0 0 auto!important;
}
body.admin-page .admin-main>header>.logout-form .btn{
  white-space:nowrap!important;
}

.staff-admin-brand .staff-brand-copy{
  gap:8px!important;
}
.staff-admin-brand .staff-brand-copy>strong{
  font-size:18px!important;
  line-height:1.2!important;
}
.staff-brand-identity{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  flex-wrap:wrap!important;
}
.staff-brand-identity>small{
  color:var(--admin-neon)!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
}
.staff-brand-identity .rank-badge{
  padding:3px 8px 3px 5px!important;
  gap:5px!important;
  border-radius:999px!important;
  background:#0e0f0c!important;
}
.staff-brand-identity .rank-badge svg{
  width:22px!important;
  height:22px!important;
}
.staff-brand-identity .rank-badge strong{
  font-size:10px!important;
}
.staff-header-meta{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.staff-header-rank{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:2px 7px!important;
  border:1px solid currentColor!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.staff-header-rank.rank-copper{color:#c47d4d!important}
.staff-header-rank.rank-silver{color:#d5d8dc!important}
.staff-header-rank.rank-gold{color:#e8c84e!important}

body.admin-page .workflow-control-panel{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:18px!important;
}
body.admin-page .workflow-control-panel>.panel-head,
body.admin-page .workflow-control-panel>.staff-warning-box,
body.admin-page .workflow-control-panel>.booking-response-sent{
  grid-column:1/-1!important;
}
body.admin-page .workflow-control-panel>.panel-head{
  margin-bottom:2px!important;
  padding-bottom:13px!important;
  border-bottom:1px solid #34362c!important;
}
body.admin-page .workflow-control-panel>.panel-head h2{
  margin:3px 0 0!important;
  font-size:21px!important;
}
body.admin-page .workflow-action-card{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-width:0!important;
  min-height:100%!important;
  padding:18px!important;
  border:1px solid #3d4032!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#151611,#0e0f0c)!important;
}
body.admin-page .workflow-action-card>label{
  display:grid!important;
  gap:6px!important;
  color:#c9c9bd!important;
  font-size:11px!important;
  font-weight:800!important;
}
body.admin-page .workflow-action-card textarea{
  width:100%!important;
}
body.admin-page .workflow-action-card .btn{
  width:100%!important;
  margin-top:auto!important;
}
body.admin-page .workflow-action-available{
  border-top:3px solid var(--ops-neon)!important;
}
body.admin-page .workflow-action-propose{
  border-top:3px solid #d6b85f!important;
}
body.admin-page .workflow-action-unavailable{
  border:2px solid #8d3f3f!important;
  border-top:3px solid #ff6565!important;
  background:linear-gradient(145deg,#211111,#100b0b)!important;
}
body.admin-page .workflow-action-confirm{
  grid-column:1 / span 2!important;
  border-top:3px solid #75b8d8!important;
}
body.admin-page .workflow-action-cancel{
  grid-column:3!important;
}
body.admin-page .workflow-inline-form{
  min-width:0!important;
  margin:0!important;
}
body.admin-page .workflow-inline-form .btn{
  width:100%!important;
}
.workflow-card-title{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.workflow-card-title>span{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#d6b85f!important;
  color:#111!important;
  font-size:10px!important;
  font-weight:950!important;
}
.workflow-card-title h3{
  margin:0!important;
  font-size:17px!important;
}
.workflow-card-lead{
  margin:0!important;
  color:#9fa093!important;
  font-size:11px!important;
  line-height:1.65!important;
}
.proposal-slot-field select{
  width:100%!important;
  min-height:46px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#f4f2e8!important;
  border-color:#75672e!important;
  background:#0b0c09!important;
}
.proposal-slot-field optgroup{
  color:#d8c985!important;
  background:#11120e!important;
}
.proposal-slot-field option{
  color:#f1f1e8!important;
  background:#11120e!important;
}
.proposal-slot-field>small{
  color:#7f8177!important;
  font-size:9px!important;
  line-height:1.5!important;
}
.proposal-slot-empty{
  display:grid!important;
  gap:4px!important;
  padding:12px!important;
  border:1px solid #66592b!important;
  border-radius:7px!important;
  background:#211e10!important;
}
.proposal-slot-empty strong{color:#ead781!important;font-size:12px!important}
.proposal-slot-empty span{color:#aaa58f!important;font-size:10px!important}
body.admin-page .workflow-action-card .btn:disabled{
  cursor:not-allowed!important;
  opacity:.45!important;
}

@media(max-width:1280px){
  body.admin-page .workflow-control-panel{grid-template-columns:1fr 1fr!important}
  body.admin-page .workflow-action-propose{grid-column:1/-1!important}
  body.admin-page .workflow-action-confirm{grid-column:1!important}
  body.admin-page .workflow-action-cancel{grid-column:2!important}
}
@media(max-width:760px){
  body.admin-page .workflow-control-panel{grid-template-columns:1fr!important;padding:13px!important}
  body.admin-page .workflow-control-panel>*{grid-column:1!important}
  .staff-admin-brand .staff-brand-copy>strong{font-size:16px!important}
  .staff-brand-identity>small{font-size:14px!important}
  .staff-header-meta{gap:5px!important}
}

body.admin-page .workflow-control-panel{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
}
body.admin-page .workflow-control-panel>.panel-head,
body.admin-page .workflow-control-panel>.staff-warning-box,
body.admin-page .workflow-control-panel>.booking-response-sent,
body.admin-page .workflow-control-panel>.workflow-action-card,
body.admin-page .workflow-control-panel>.workflow-inline-form{
  grid-column:1!important;
  width:100%!important;
}
body.admin-page .workflow-action-card{
  min-height:0!important;
}
body.admin-page .workflow-action-confirm,
body.admin-page .workflow-action-cancel,
body.admin-page .workflow-action-propose{
  grid-column:1!important;
}

/* Therapist self-service area: no top <header>; utilities live in the sidebar. */
.staff-page .staff-sidebar-actions{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #303026;
}
.staff-page .staff-sidebar-actions .logout-form{margin:0!important}
.staff-page .staff-sidebar-actions .btn{width:100%!important}
.staff-page .staff-floating-menu-button{display:none}
@media(max-width:1050px){
  .staff-page .staff-floating-menu-button{
    display:inline-flex!important;
    position:fixed!important;
    top:12px!important;
    left:12px!important;
    z-index:1000!important;
    box-shadow:0 8px 24px rgba(0,0,0,.28)!important;
  }
  .staff-page.admin-menu-open .staff-floating-menu-button{
    opacity:0!important;
    pointer-events:none!important;
  }
  .staff-page .admin-main>.content{
    padding-top:68px!important;
  }
}
@media(min-width:1051px){
  .staff-page .staff-floating-menu-button{display:none!important}
}

/* Unified action button geometry for Admin / Therapist management. */
:root{--admin-action-radius:8px}
.btn,
button.btn,
a.btn,
.admin-mobile-menu-button,
.staff-floating-menu-button,
.admin-sidebar-close,
.modal-close-button,
.shift-add,
.shift-remove{
  border-radius:var(--admin-action-radius)!important;
}
.state-on,
.state-off,
.menu-btn{
  border-radius:var(--admin-action-radius)!important;
}
button{
  border-radius:var(--admin-action-radius)!important;
}

/* Booking workflow: compact choose-first controls + booking email history. */
body.admin-page .admin-main>header{justify-content:flex-end!important}
body.admin-page .admin-mobile-menu-button{margin-right:auto!important}

body.admin-page .workflow-control-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  padding:18px!important;
}
body.admin-page .workflow-control-panel>.panel-head{
  grid-column:1!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 13px!important;
  border-bottom:1px solid #34362c!important;
}
body.admin-page .workflow-control-panel>.panel-head p{
  margin:5px 0 0!important;
  color:#96988b!important;
  font-size:11px!important;
  line-height:1.6!important;
}
body.admin-page .workflow-action-picker{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid #4a402c!important;
  border-radius:8px!important;
  background:#0d0e0b!important;
}
body.admin-page .workflow-action-picker label{
  display:grid!important;
  gap:7px!important;
  color:#e7d6a9!important;
  font-size:12px!important;
  font-weight:900!important;
}
body.admin-page .workflow-action-picker select{
  width:100%!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid #756238!important;
  border-radius:8px!important;
  background:#15140f!important;
  color:#f2ead8!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.admin-page .workflow-action-picker>small{
  padding-bottom:10px!important;
  color:#9e9684!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
body.admin-page .workflow-action-placeholder{
  display:grid!important;
  place-items:center!important;
  min-height:84px!important;
  padding:18px!important;
  border:1px dashed #454234!important;
  border-radius:8px!important;
  background:#10100d!important;
  color:#8f8e84!important;
  font-size:11px!important;
  text-align:center!important;
}
body.admin-page .workflow-action-placeholder[hidden],
body.admin-page .workflow-action-card[hidden]{display:none!important}
body.admin-page .workflow-control-panel>.workflow-action-card{
  grid-column:1!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:17px!important;
  border-radius:8px!important;
}
body.admin-page .workflow-control-panel.has-selected-action>.workflow-action-card:not([hidden]){
  animation:workflowPanelIn .2s ease both!important;
}
@keyframes workflowPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

body.admin-page .booking-mail-history-panel>.panel-head{
  align-items:flex-start!important;
  padding-bottom:14px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid #34362c!important;
}
body.admin-page .booking-mail-history-panel>.panel-head span{
  color:var(--ops-neon,#d7b45a)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
}
body.admin-page .booking-mail-history-panel>.panel-head h2{margin:4px 0 0!important}
body.admin-page .booking-mail-history-panel>.panel-head p{
  margin:6px 0 0!important;
  color:#96988b!important;
  font-size:11px!important;
  line-height:1.6!important;
}
body.admin-page .mail-history-empty{
  padding:22px!important;
  border:1px dashed #454234!important;
  border-radius:8px!important;
  color:#99968c!important;
  text-align:center!important;
}
body.admin-page .booking-notification-history{display:grid!important;gap:9px!important}
body.admin-page .notification-history-item{
  overflow:hidden!important;
  border:1px solid #45402f!important;
  border-radius:8px!important;
  background:#0d0e0b!important;
}
body.admin-page .notification-history-item>summary{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:68px!important;
  padding:12px 14px!important;
  cursor:pointer!important;
  list-style:none!important;
}
body.admin-page .notification-history-item>summary::-webkit-details-marker{display:none!important}
body.admin-page .notification-history-item[open]>summary{background:#15150f!important;border-bottom:1px solid #45402f!important}
body.admin-page .notification-history-result{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  padding:5px 8px!important;
  border:1px solid currentColor!important;
  border-radius:999px!important;
  font-size:9px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.admin-page .notification-history-result.is-success{color:#83cea5!important;background:#102219!important}
body.admin-page .notification-history-result.is-failed{color:#ee9696!important;background:#251212!important}
body.admin-page .notification-history-subject{display:grid!important;gap:4px!important;min-width:0!important}
body.admin-page .notification-history-subject strong{
  overflow:hidden!important;
  color:#eee4cf!important;
  font-size:12px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.admin-page .notification-history-subject small{color:#8f8c82!important;font-size:9px!important;overflow-wrap:anywhere!important}
body.admin-page .notification-history-open{color:#d7c27f!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important}
body.admin-page .notification-history-item[open] .notification-history-open{font-size:0!important}
body.admin-page .notification-history-item[open] .notification-history-open::after{content:"閉じる";font-size:10px!important}
body.admin-page .notification-history-body{display:grid!important;gap:14px!important;padding:15px!important}
body.admin-page .notification-history-body dl{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;margin:0!important;border:1px solid #37352b!important;border-radius:7px!important;overflow:hidden!important}
body.admin-page .notification-history-body dl>div{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;border-bottom:1px solid #37352b!important}
body.admin-page .notification-history-body dl>div:nth-last-child(-n+2){ }
body.admin-page .notification-history-body dt,
body.admin-page .notification-history-body dd{padding:8px 9px!important;white-space:normal!important;overflow-wrap:anywhere!important}
body.admin-page .notification-history-body dt{margin:0!important;background:#171712!important;color:#a69d87!important;font-size:10px!important}
body.admin-page .notification-history-body dd{margin:0!important;color:#ddd4bf!important;font-size:11px!important}
body.admin-page .notification-history-body .result-ok{color:#87d1aa!important}
body.admin-page .notification-history-body .result-ng{color:#f0a0a0!important}
body.admin-page .notification-mail-content{
  min-width:0!important;
  padding:14px!important;
  border:1px solid #45402f!important;
  border-radius:8px!important;
  background:#080907!important;
}
body.admin-page .notification-mail-content>span{color:var(--ops-neon,#d7b45a)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.14em!important}
body.admin-page .notification-mail-content h3{margin:4px 0 10px!important;color:#f1eadb!important;font-size:14px!important}
body.admin-page .notification-mail-content pre{
  max-height:340px!important;
  margin:0!important;
  padding:13px!important;
  overflow:auto!important;
  border:1px solid #333127!important;
  border-radius:6px!important;
  background:#11110e!important;
  color:#d4cdbf!important;
  font-family:inherit!important;
  font-size:11px!important;
  line-height:1.75!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}
body.admin-page .notification-resend-form{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
body.admin-page .notification-resend-form small{color:#918a7d!important;font-size:9px!important;overflow-wrap:anywhere!important}

@media(max-width:760px){
  body.admin-page .workflow-action-picker{grid-template-columns:1fr!important}
  body.admin-page .workflow-action-picker>small{padding:0!important;white-space:normal!important}
  body.admin-page .notification-history-item>summary{grid-template-columns:72px minmax(0,1fr)!important}
  body.admin-page .notification-history-open{grid-column:2!important}
  body.admin-page .notification-history-body dl{grid-template-columns:1fr!important}
  body.admin-page .notification-resend-form .btn{width:100%!important}
}
body.admin-page .mail-content-unavailable{
  margin:0!important;
  padding:13px!important;
  border:1px dashed #484435!important;
  border-radius:6px!important;
  color:#938e82!important;
  font-size:11px!important;
  line-height:1.7!important;
}

/* Admin shell: no top header. Navigation and logout live entirely in the sidebar. */
body.admin-page .admin-main>header{display:none!important}
body.admin-page .admin-shell>aside{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.admin-page .admin-shell>aside .admin-sidebar-top{flex:0 0 auto}
body.admin-page .admin-shell>aside nav{
  flex:0 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#454737 transparent;
}
body.admin-page .admin-sidebar-logout{
  flex:0 0 auto;
  width:calc(100% - 16px);
  margin:auto 8px 2px!important;
  padding-top:16px;
  border-top:1px solid #303127;
}
body.admin-page .admin-sidebar-logout .btn{
  width:100%!important;
  min-height:42px!important;
  justify-content:center!important;
}
body.admin-page .admin-floating-menu-button{display:none!important}

@media(min-width:1051px){
  body.admin-page .admin-shell>aside{
    display:flex!important;
    overflow:hidden!important;
  }
}
@media(max-width:1050px){
  body.admin-page .admin-shell>aside{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  body.admin-page .admin-shell>aside nav{overflow-y:auto!important}
  body.admin-page .admin-floating-menu-button{
    display:inline-flex!important;
    position:fixed!important;
    top:12px!important;
    left:12px!important;
    z-index:1000!important;
    min-width:64px!important;
    box-shadow:0 10px 28px rgba(0,0,0,.34)!important;
  }
  body.admin-page.admin-menu-open .admin-floating-menu-button{
    opacity:0!important;
    pointer-events:none!important;
  }
  body.admin-page .admin-main>.content{padding-top:76px!important}
}

/* Reservations page: one consistent vertical rhythm for every major panel. */
body.admin-page .booking-admin-stack{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  width:100%;
}
body.admin-page .booking-admin-stack>.admin-page-heading,
body.admin-page .booking-admin-stack>.panel,
body.admin-page .booking-admin-stack>.filter-row{
  width:100%;
  margin:0!important;
}

/* Manual order uses the same dark/neon panel language as the rest of Admin. */
body.admin-page details.manual-order-panel{
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--ops-border)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#171812,#11120e)!important;
}
body.admin-page details.manual-order-panel>summary{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  grid-template-rows:auto auto auto!important;
  column-gap:18px!important;
  row-gap:3px!important;
  align-items:center!important;
  min-height:92px;
  padding:18px 20px!important;
  cursor:pointer;
  list-style:none;
  background:linear-gradient(135deg,#1a1b15,#12130f)!important;
  border:0!important;
  border-bottom:1px solid transparent!important;
  transition:background .18s ease,border-color .18s ease;
}
body.admin-page details.manual-order-panel>summary:hover{background:linear-gradient(135deg,#1d1f17,#151610)!important}
body.admin-page details.manual-order-panel[open]>summary{border-bottom-color:#34362b!important}
body.admin-page details.manual-order-panel>summary::-webkit-details-marker{display:none}
body.admin-page details.manual-order-panel>summary>span{
  grid-column:1!important;
  grid-row:1!important;
  writing-mode:horizontal-tb!important;
  color:var(--ops-neon)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.18em!important;
}
body.admin-page details.manual-order-panel>summary>strong{
  grid-column:1!important;
  grid-row:2!important;
  color:#f2f3ea!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:900!important;
}
body.admin-page details.manual-order-panel>summary>small{
  grid-column:1!important;
  grid-row:3!important;
  color:var(--ops-muted)!important;
  font-size:11px!important;
  line-height:1.55!important;
}
body.admin-page details.manual-order-panel>summary::after{
  content:"＋";
  grid-column:2;
  grid-row:1/4;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  justify-self:end;
  border:1px solid #4a4d39;
  border-radius:8px;
  background:#10110d;
  color:var(--ops-neon);
  font-size:22px;
  line-height:1;
  font-weight:500;
}
body.admin-page details.manual-order-panel[open]>summary::after{content:"−"}
body.admin-page .manual-order-form{
  display:grid!important;
  gap:16px!important;
  padding:20px!important;
  background:#11120e!important;
}
body.admin-page .manual-order-form .form-row{
  gap:14px!important;
}
body.admin-page .manual-order-form label{
  display:grid;
  gap:7px;
  min-width:0;
  color:#dadbd1;
  font-weight:800;
}
body.admin-page .manual-order-form input,
body.admin-page .manual-order-form select,
body.admin-page .manual-order-form textarea{
  width:100%!important;
}
body.admin-page .manual-order-note{
  margin:2px 0 0;
  padding:12px 14px!important;
  border:1px solid #3b3f2b!important;
  border-left:3px solid var(--ops-neon)!important;
  border-radius:9px!important;
  background:#191b12!important;
  color:#d3d6c3!important;
  font-size:11px!important;
  line-height:1.7!important;
}
body.admin-page .manual-order-form>.btn{
  justify-self:start!important;
  min-width:190px;
}
body.admin-page .booking-admin-stack>.booking-filter-revised{
  padding:14px!important;
  border-radius:14px!important;
}
body.admin-page .booking-admin-stack>.bookings-table-panel{
  overflow:hidden;
}

@media(max-width:700px){
  body.admin-page .booking-admin-stack{gap:12px}
  body.admin-page details.manual-order-panel>summary{
    grid-template-columns:minmax(0,1fr) 38px!important;
    column-gap:12px!important;
    min-height:84px;
    padding:15px!important;
  }
  body.admin-page details.manual-order-panel>summary::after{width:36px;height:36px;font-size:20px}
  body.admin-page details.manual-order-panel>summary>strong{font-size:16px!important}
  body.admin-page .manual-order-form{padding:15px!important;gap:13px!important}
  body.admin-page .manual-order-form .form-row{grid-template-columns:1fr!important;gap:12px!important}
  body.admin-page .manual-order-form>.btn{width:100%!important;min-width:0}
}

/* =========================================================
   ADMIN USABILITY REBALANCE — 2026-08
   Larger operating text, consistent panel rhythm, and compact
   task-focused layouts for reservations/attendance/recruiting.
   ========================================================= */
body.admin-page{
  font-size:14px!important;
  line-height:1.6;
}
body.admin-page .content{padding:30px 32px 58px!important}
body.admin-page .panel{padding:22px!important;border-radius:12px!important}
body.admin-page .admin-page-heading{margin-bottom:20px!important;border-radius:12px!important}
body.admin-page .admin-page-heading>div>span,
body.admin-page .panel-head>div>span{font-size:12px!important}
body.admin-page .admin-page-heading p{font-size:14px!important;line-height:1.7!important}
body.admin-page .panel-head h2,
body.admin-page .panel h2{font-size:20px!important;line-height:1.35!important}
body.admin-page .panel h3{font-size:17px!important}
body.admin-page label{font-size:13px!important;line-height:1.45}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body.admin-page select,
body.admin-page textarea{font-size:14px!important}
body.admin-page textarea{line-height:1.65}
body.admin-page .btn{font-size:13px!important;font-weight:850!important}
body.admin-page .btn.small{font-size:12px!important}
body.admin-page .btn.tiny{font-size:11px!important}
body.admin-page table th{font-size:12px!important}
body.admin-page table td{font-size:14px!important}
body.admin-page td small,
body.admin-page th small{font-size:11px!important;line-height:1.5}
body.admin-page .badge{font-size:11px!important}
body.admin-page .field-help{font-size:11.5px!important;line-height:1.55!important;color:#9f9f94!important}
body.admin-page .admin-shell>aside nav a,
body.admin-page .admin-shell>aside nav .admin-nav-logout-button{
  min-height:44px;
  padding:11px 12px;
  border:1px solid transparent;
  border-radius:8px;
  color:#c9c8be!important;
  font:inherit;
  font-size:14px!important;
  font-weight:700;
  line-height:1.25;
  text-align:left;
  background:transparent;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
body.admin-page .admin-shell>aside nav .admin-nav-logout-form{display:block;margin:0;padding:0}
body.admin-page .admin-shell>aside nav .admin-nav-logout-button{display:block;width:100%}
body.admin-page .admin-shell>aside nav a:hover,
body.admin-page .admin-shell>aside nav a.active,
body.admin-page .admin-shell>aside nav .admin-nav-logout-button:hover{
  color:var(--admin-neon)!important;
  border-color:#34362b!important;
  border-left-color:var(--admin-neon)!important;
}
body.admin-page .admin-shell>aside nav .admin-nav-logout-form:last-child{margin-top:4px}

/* Manual onsite order: staff schedule -> course -> date -> available shift time. */
body.admin-page .manual-order-form{gap:18px!important}
body.admin-page .manual-order-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.admin-page .manual-order-schedule-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.52fr);
  gap:14px;
  align-items:stretch;
}
body.admin-page .manual-order-schedule-grid>label{display:grid;grid-template-rows:auto 42px auto;gap:7px;min-width:0}
body.admin-page .manual-order-sales-preview{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:94px;
  padding:14px 16px;
  border:1px solid #454936;
  border-left:3px solid var(--ops-neon);
  border-radius:10px;
  background:linear-gradient(135deg,#1a1c14,#11120e);
}
body.admin-page .manual-order-sales-preview>span{color:#aaa99f;font-size:12px;font-weight:850}
body.admin-page .manual-order-sales-preview>strong{margin:3px 0;color:#fff;font-size:28px;line-height:1.1;letter-spacing:-.03em}
body.admin-page .manual-order-sales-preview>small{color:var(--ops-neon);font-size:11px;line-height:1.4}
body.admin-page .manual-order-form select:disabled{opacity:.7;cursor:not-allowed;background:#0d0e0b!important}

/* Attendance: filtering/export controls are part of the staff list, not a detached block. */
body.admin-page .attendance-person-list{display:grid!important;gap:16px!important}
body.admin-page .attendance-list-controls{margin:0!important;padding:16px 18px!important}
body.admin-page .attendance-list-controls .attendance-toolbar{margin:0!important;align-items:flex-end!important}
body.admin-page .attendance-list-controls .attendance-filter-form{margin:0!important}
body.admin-page .attendance-schedule-form{display:grid;gap:16px;min-width:0}
body.admin-page .attendance-schedule-form>.attendance-person-panel{margin:0!important}
body.admin-page .attendance-person-head{padding:18px 20px!important}
body.admin-page .attendance-person-head>div:first-child>span{font-size:10px!important}
body.admin-page .attendance-person-head h2{font-size:21px!important}
body.admin-page .attendance-week-summary span{font-size:11px!important;padding:6px 9px!important;border-radius:7px}
body.admin-page .attendance-person-table th,
body.admin-page .attendance-person-table td{padding:12px 10px!important}
body.admin-page .attendance-person-footer{padding:12px 18px!important}
body.admin-page .attendance-schedule-form>.sticky-save{margin:0!important;border:1px solid #3d4032!important;border-radius:10px!important;background:#13140f!important}

/* Announcements: filters/actions and the list now share one card. */
body.admin-page .announcement-list-panel{padding:0!important;overflow:hidden}
body.admin-page .announcement-list-head{margin:0!important;padding:16px 18px!important;border-bottom:1px solid #34362b!important;background:#151610!important}
body.admin-page .announcement-list-head .filter-row{margin:0!important}
body.admin-page .announcement-list-panel>.table-wrap{border:0!important;border-radius:0!important}

/* Recruit applications: master/detail workspace. */
body.admin-page .recruit-management-layout{
  display:grid;
  grid-template-columns:minmax(310px,.62fr) minmax(0,1.38fr);
  gap:18px;
  align-items:start;
}
body.admin-page .recruit-applicant-list-panel,
body.admin-page .recruit-applicant-detail-panel{margin:0!important;min-width:0}
body.admin-page .recruit-applicant-list-panel{padding:0!important;overflow:hidden;position:sticky;top:18px}
body.admin-page .recruit-list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid #34362b;background:#151610}
body.admin-page .recruit-list-header span,
body.admin-page .recruit-detail-header>div>span,
body.admin-page .recruit-section-title>span,
body.admin-page .recruit-detail-empty>span{display:block;color:var(--ops-neon);font-size:10px;font-weight:950;letter-spacing:.16em}
body.admin-page .recruit-list-header h2{margin:3px 0 0!important;font-size:20px!important}
body.admin-page .recruit-list-header>strong{color:var(--ops-neon);font-size:20px}
body.admin-page .recruit-status-filter{padding:14px 16px;border-bottom:1px solid #303228;background:#11120e}
body.admin-page .recruit-status-filter label{display:grid;gap:7px}
body.admin-page .recruit-status-filter select{width:100%}
body.admin-page .recruit-applicant-list{display:grid;max-height:calc(100vh - 310px);overflow:auto;scrollbar-width:thin;scrollbar-color:#454737 transparent}
body.admin-page .recruit-applicant-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:12px 14px;
  border-bottom:1px solid #2d2f26;
  color:#dfdfd5;
  text-decoration:none;
  background:#12130f;
  transition:background .15s ease,border-color .15s ease;
}
body.admin-page .recruit-applicant-item:hover{background:#191b14}
body.admin-page .recruit-applicant-item.active{background:#202316;border-left:3px solid var(--ops-neon);padding-left:11px}
body.admin-page .recruit-applicant-thumb{width:58px;height:68px;display:grid;place-items:center;overflow:hidden;border:1px solid #454737;border-radius:8px;background:#090a08;color:#76786b}
body.admin-page .recruit-applicant-thumb img{width:100%;height:100%;object-fit:cover}
body.admin-page .recruit-applicant-thumb i{font-size:8px;font-style:normal;text-align:center}
body.admin-page .recruit-applicant-copy{display:grid;gap:2px;min-width:0}
body.admin-page .recruit-applicant-copy strong{display:flex;align-items:baseline;gap:7px;color:#fff;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-page .recruit-applicant-copy strong small{color:var(--ops-neon);font-size:10px}
body.admin-page .recruit-applicant-copy>span{color:#b5b6aa;font-size:11px}
body.admin-page .recruit-applicant-copy time{color:#7f8175;font-size:10px}
body.admin-page .recruit-applicant-detail-panel{padding:0!important;overflow:hidden}
body.admin-page .recruit-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;border-bottom:1px solid #34362b;background:linear-gradient(135deg,#1a1c14,#11120e)}
body.admin-page .recruit-detail-header h2{display:flex;align-items:baseline;gap:9px;margin:4px 0 4px!important;font-size:28px!important;color:#fff!important}
body.admin-page .recruit-detail-header h2 small{color:var(--ops-neon);font-size:13px}
body.admin-page .recruit-detail-header p{margin:0;color:var(--ops-muted);font-size:11px}
body.admin-page .recruit-contact-strip{display:grid;grid-template-columns:1fr 1.25fr 1fr;border-bottom:1px solid #34362b;background:#10110d}
body.admin-page .recruit-contact-strip>*{display:grid;gap:3px;padding:13px 16px;border-right:1px solid #303228;min-width:0;color:inherit;text-decoration:none}
body.admin-page .recruit-contact-strip>*:last-child{border-right:0}
body.admin-page .recruit-contact-strip span{color:#85877b;font-size:9px;font-weight:900;letter-spacing:.12em}
body.admin-page .recruit-contact-strip strong{color:#efefe8;font-size:13px;overflow-wrap:anywhere}
body.admin-page .recruit-detail-section{padding:20px 22px;border-bottom:1px solid #303228}
body.admin-page .recruit-section-title{margin-bottom:12px}
body.admin-page .recruit-section-title h3{margin:3px 0 0!important;color:#f0f0e8!important;font-size:18px!important}
body.admin-page .recruit-detail-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0!important}
body.admin-page .recruit-detail-photos img{height:150px!important}
body.admin-page .recruit-no-photo{grid-column:1/-1;padding:28px;border:1px dashed #454737;border-radius:8px;color:#85877b;text-align:center}
body.admin-page .recruit-profile-dl{display:grid;grid-template-columns:1fr 1fr;margin:0!important;border:1px solid #34362b;border-radius:9px;overflow:hidden}
body.admin-page .recruit-profile-dl>div{grid-template-columns:120px minmax(0,1fr)!important;padding:10px 12px!important;border-bottom:1px solid #303228!important;background:#12130f}
body.admin-page .recruit-profile-dl>div:nth-last-child(-n+2){border-bottom:0!important}
body.admin-page .recruit-profile-dl>div:nth-child(odd){border-right:1px solid #303228}
body.admin-page .recruit-profile-dl dt{font-size:11px!important;color:#8f9185!important}
body.admin-page .recruit-profile-dl dd{font-size:13px;color:#ededE5}
body.admin-page .recruit-application-message{padding:14px 16px;border:1px solid #3a3d2f;border-left:3px solid var(--ops-neon);border-radius:9px;background:#181a12;color:#dedfd4;font-size:14px;line-height:1.8}
body.admin-page .recruit-review-form{padding:20px 22px!important;background:#10110d}
body.admin-page .recruit-review-grid{display:grid;grid-template-columns:minmax(180px,.4fr) minmax(0,1.6fr);gap:14px;align-items:start}
body.admin-page .recruit-review-grid label{display:grid;gap:7px}
body.admin-page .recruit-review-form .row-actions{justify-content:flex-end;margin-top:2px}
body.admin-page .recruit-detail-empty{padding:50px 24px;text-align:center}
body.admin-page .recruit-detail-empty h2{margin:6px 0!important}
body.admin-page .recruit-detail-empty p{margin:0;color:var(--ops-muted)}

@media(max-width:1100px){
  body.admin-page .recruit-management-layout{grid-template-columns:1fr}
  body.admin-page .recruit-applicant-list-panel{position:static}
  body.admin-page .recruit-applicant-list{max-height:420px}
  body.admin-page .manual-order-schedule-grid{grid-template-columns:1fr 1fr}
  body.admin-page .manual-order-sales-preview{grid-column:1/-1;min-height:84px}
}
@media(max-width:700px){
  body.admin-page .content{padding:76px 12px 36px!important}
  body.admin-page .panel{padding:16px!important}
  body.admin-page .manual-order-form .form-row,
  body.admin-page .manual-order-schedule-grid,
  body.admin-page .recruit-review-grid,
  body.admin-page .recruit-contact-strip,
  body.admin-page .recruit-profile-dl{grid-template-columns:1fr!important}
  body.admin-page .manual-order-sales-preview{grid-column:auto}
  body.admin-page .announcement-list-head{align-items:stretch!important;flex-direction:column!important}
  body.admin-page .announcement-list-head .btn{width:100%}
  body.admin-page .recruit-contact-strip>*{border-right:0;border-bottom:1px solid #303228}
  body.admin-page .recruit-contact-strip>*:last-child{border-bottom:0}
  body.admin-page .recruit-detail-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-page .recruit-profile-dl>div{border-right:0!important}
  body.admin-page .recruit-profile-dl>div:nth-last-child(2){border-bottom:1px solid #303228!important}
}
body.admin-page .newsletter-subscriber-panel{padding-top:16px!important}
body.admin-page .newsletter-panel-actions{display:flex;justify-content:flex-end;margin-bottom:12px}
body.admin-page .newsletter-subscriber-panel>.filter-row{margin-bottom:12px!important}
body.admin-page .newsletter-subscriber-panel>p{margin:0 0 16px;color:var(--ops-muted);font-size:13px;line-height:1.7}


/* =========================================================
   ADMIN SIDEBAR / FILTER / TABLE SORT REBALANCE — 2026-08-19
   ========================================================= */
body.admin-page .admin-shell>aside{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  overflow:hidden;
}
body.admin-page .admin-sidebar-top{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
body.admin-page .admin-logo-brand,
body.admin-page .staff-admin-brand{
  min-width:0;
  padding:4px 7px 15px!important;
  border:0!important;
  background:transparent!important;
}
body.admin-page .admin-logo-brand img,
body.admin-page .staff-admin-brand>img{
  width:min(190px,100%)!important;
  height:auto!important;
  object-fit:contain!important;
}
body.admin-page .admin-sidebar-session{
  flex:0 0 auto;
  display:grid;
  gap:10px;
  margin:0 6px 15px;
  padding:13px 12px;
  border:1px solid #303327;
  border-radius:10px;
  background:linear-gradient(145deg,#13140f,#0c0d0a);
}
body.admin-page .admin-sidebar-user{display:grid;gap:2px;min-width:0}
body.admin-page .admin-sidebar-user>span{
  color:var(--admin-neon)!important;
  font-size:9px!important;
  font-weight:950;
  letter-spacing:.15em;
}
body.admin-page .admin-sidebar-user>strong{
  overflow:hidden;
  color:#f1f1e9!important;
  font-size:15px!important;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.admin-page .admin-sidebar-user>small{
  overflow:hidden;
  color:#97988e!important;
  font-size:10.5px!important;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.admin-page .staff-sidebar-rank{margin-top:6px}
body.admin-page .staff-sidebar-rank .rank-badge{transform:scale(.9);transform-origin:left center}
body.admin-page .admin-sidebar-clock{
  display:grid;
  gap:2px;
  padding-top:10px;
  border-top:1px solid #2d3025;
  font-variant-numeric:tabular-nums;
}
body.admin-page .admin-sidebar-clock>span{
  color:#b5b6aa!important;
  font-size:11px!important;
  font-weight:750;
  letter-spacing:.01em;
}
body.admin-page .admin-sidebar-clock>strong{
  color:var(--admin-neon)!important;
  font-size:23px!important;
  line-height:1.15;
  letter-spacing:.055em;
}
body.admin-page .admin-shell>aside nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding-right:2px;
}
body.admin-page .admin-shell>aside nav .admin-nav-logout-form:last-child{margin-top:auto!important;padding-top:8px!important}
body.admin-page .dashboard-heading .dashboard-date{display:none!important}

/* Keep compact filters on one operating line; scroll horizontally before wrapping. */
body.admin-page .announcement-list-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0;
  overflow-x:auto;
}
body.admin-page .announcement-list-head .filter-row{
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.admin-page .announcement-list-head .filter-row label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  white-space:nowrap;
}
body.admin-page .announcement-list-head .filter-row select{width:130px!important;min-width:130px!important}
body.admin-page .announcement-list-head>.btn{flex:0 0 auto!important;white-space:nowrap}

body.admin-page .newsletter-subscriber-panel{min-width:0!important}
body.admin-page .newsletter-inline-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 15px;
  min-width:0;
  overflow-x:auto;
}
body.admin-page .newsletter-inline-filter{
  flex:1 1 auto;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  gap:9px!important;
  min-width:max-content;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.admin-page .newsletter-inline-filter label{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:0;
  white-space:nowrap;
}
body.admin-page .newsletter-inline-filter label:first-child select{width:145px!important}
body.admin-page .newsletter-inline-filter input[type="search"]{width:230px!important;min-width:190px!important}
body.admin-page .newsletter-inline-toolbar>.btn{flex:0 0 auto;white-space:nowrap}
body.admin-page .newsletter-subscriber-panel>p{margin-top:0!important}

/* Course editor must never overflow its card. */
body.admin-page .course-management-layout{
  grid-template-columns:minmax(340px,420px) minmax(0,1fr)!important;
  align-items:start!important;
}
body.admin-page .course-management-layout>*{min-width:0!important}
body.admin-page .course-editor-panel,
body.admin-page .course-editor-panel .stack-form,
body.admin-page .course-editor-panel .form-row,
body.admin-page .course-editor-panel label{min-width:0!important;max-width:100%!important}
body.admin-page .course-editor-panel .form-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.admin-page .course-editor-panel input,
body.admin-page .course-editor-panel select,
body.admin-page .course-editor-panel textarea{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}

/* Clickable table headers: sorting is available across admin + staff management pages. */
body.admin-page table th.admin-sortable-column{
  position:relative;
  padding-right:27px!important;
  cursor:pointer;
  user-select:none;
  outline:none;
  transition:background .15s ease,color .15s ease;
}
body.admin-page table th.admin-sortable-column::after{
  content:'↕';
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  color:#74766b;
  font-size:12px;
  font-weight:900;
}
body.admin-page table th.admin-sortable-column[aria-sort="ascending"]::after{content:'↑';color:var(--admin-neon)}
body.admin-page table th.admin-sortable-column[aria-sort="descending"]::after{content:'↓';color:var(--admin-neon)}
body.admin-page table th.admin-sortable-column:hover,
body.admin-page table th.admin-sortable-column:focus-visible{background:#282b1f!important;color:#f2f4df!important}
body.admin-page table th.admin-sortable-column:focus-visible{box-shadow:inset 0 0 0 1px var(--admin-neon)}

/* Date-first mail history layout. */
body.admin-page .notification-history-item>summary .notification-history-date{
  color:var(--admin-neon)!important;
  font-size:11px!important;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

@media(max-width:1050px){
  body.admin-page .admin-shell>aside{position:fixed!important;height:100dvh!important;display:flex!important}
  body.admin-page .course-management-layout{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  body.admin-page .announcement-list-head{padding:12px!important}
  body.admin-page .announcement-list-head .filter-row{min-width:max-content!important}
  body.admin-page .newsletter-inline-toolbar{align-items:flex-end!important}
  body.admin-page .newsletter-inline-filter{min-width:max-content!important}
  body.admin-page .course-editor-panel .form-row{grid-template-columns:1fr!important}
}


/* Mail histories place the sent date before status/subject. */
body.admin-page .notification-history-item>summary{
  grid-template-columns:150px 88px minmax(0,1fr) auto!important;
}
@media(max-width:760px){
  body.admin-page .notification-history-item>summary{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px 10px!important;
  }
  body.admin-page .notification-history-item>summary .notification-history-date{grid-column:1!important;grid-row:1!important}
  body.admin-page .notification-history-item>summary .notification-history-result{grid-column:2!important;grid-row:1!important}
  body.admin-page .notification-history-item>summary .notification-history-subject{grid-column:1 / -1!important;grid-row:2!important}
  body.admin-page .notification-history-item>summary .notification-history-open{grid-column:1 / -1!important;grid-row:3!important;justify-self:end!important}
}

/* =========================================================
   ADMIN OPERABILITY PASS — compact sidebar / readable tables / shift only
   2026-08-19
   ========================================================= */
body.admin-page .admin-shell>aside nav{
  display:grid!important;
  align-content:start!important;
  gap:2px!important;
}
body.admin-page .admin-shell>aside nav>a,
body.admin-page .admin-shell>aside nav .admin-nav-logout-button{
  min-height:34px!important;
  height:34px!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  border-radius:7px!important;
  font-size:12.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.admin-page .admin-shell>aside nav .admin-nav-logout-form{
  margin-top:auto!important;
  padding:4px 0 0!important;
}
body.admin-page .admin-sidebar-session{
  gap:8px!important;
  margin:0 6px 10px!important;
  padding:10px 11px!important;
}
body.admin-page .admin-sidebar-user>span{display:none!important}
body.admin-page .admin-sidebar-user>strong{
  font-size:14px!important;
  line-height:1.25!important;
}
body.admin-page .admin-sidebar-user>small{
  font-size:10.5px!important;
  line-height:1.25!important;
}
body.admin-page .staff-sidebar-identity{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
body.admin-page .staff-sidebar-rank{margin:0!important;flex:0 0 auto!important}
body.admin-page .staff-sidebar-rank .rank-badge{
  transform:none!important;
  padding:3px 7px!important;
  gap:4px!important;
}
body.admin-page .staff-sidebar-rank .rank-badge svg{width:18px!important;height:18px!important}
body.admin-page .staff-sidebar-rank .rank-badge strong{font-size:10px!important}
body.admin-page .admin-sidebar-clock{padding-top:8px!important;gap:1px!important}
body.admin-page .admin-sidebar-clock>span{font-size:10.5px!important}
body.admin-page .admin-sidebar-clock>strong{font-size:19px!important;letter-spacing:.045em!important}

/* General management form readability without creating oversized controls. */
body.admin-page .content label,
body.admin-page .filter-row label,
body.admin-page .stack-form label,
body.admin-page .form-row label{font-size:12.5px!important;line-height:1.45!important}
body.admin-page .content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.admin-page .content select,
body.admin-page .content textarea{
  font-size:13.5px!important;
  line-height:1.45!important;
}
body.admin-page .content table th{font-size:11.5px!important}
body.admin-page .content table td{font-size:13.5px!important}
body.admin-page .content table td small{font-size:11px!important;line-height:1.5!important}
body.admin-page .btn{font-size:12.5px!important;min-height:38px!important;padding:8px 13px!important}
body.admin-page .btn.small{font-size:11.5px!important;min-height:34px!important;padding:6px 10px!important}
body.admin-page .btn.tiny{font-size:10.5px!important;min-height:30px!important;padding:4px 8px!important}

/* Table action columns stay aligned at the far right with equal button heights. */
body.admin-page .table-wrap td:last-child{text-align:right!important}
body.admin-page .table-wrap td:last-child>.row-actions,
body.admin-page .table-wrap td:last-child .row-actions{
  width:100%!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
}
body.admin-page .table-wrap td:last-child .row-actions form{display:flex!important;align-items:center!important;margin:0!important}
body.admin-page .table-wrap td:last-child .row-actions .btn{min-height:34px!important;height:34px!important;white-space:nowrap!important}

/* Mail history: larger typography, recipient gets its own line, compact detail trigger. */
body.admin-page .global-mail-log-history .notification-history-item>summary{
  grid-template-columns:165px 72px minmax(0,1fr) 68px!important;
  grid-template-rows:auto auto!important;
  gap:7px 10px!important;
  align-items:center!important;
  padding:13px 14px!important;
}
body.admin-page .global-mail-log-history .notification-history-date{font-size:11.5px!important;line-height:1.45!important}
body.admin-page .global-mail-log-history .notification-history-result{font-size:11px!important;padding:5px 7px!important}
body.admin-page .global-mail-log-history .notification-history-subject{grid-column:3!important;grid-row:1!important}
body.admin-page .global-mail-log-history .notification-history-subject strong{font-size:13.5px!important;line-height:1.45!important}
body.admin-page .global-mail-log-history .notification-history-recipient{
  grid-column:1 / 4!important;
  grid-row:2!important;
  color:#d7d6cd!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
body.admin-page .global-mail-log-history .notification-history-transport{
  grid-column:4!important;
  grid-row:2!important;
  justify-self:end!important;
  color:#8f9087!important;
  font-size:10.5px!important;
}
body.admin-page .global-mail-log-history .notification-history-open{
  grid-column:4!important;
  grid-row:1!important;
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
  min-height:30px!important;
  padding:0 9px!important;
  border:1px solid #5e632f!important;
  border-radius:7px!important;
  color:var(--admin-neon)!important;
  font-size:11.5px!important;
}
body.admin-page .global-mail-log-history .notification-history-item[open] .notification-history-open{font-size:0!important}
body.admin-page .global-mail-log-history .notification-history-item[open] .notification-history-open::after{content:"閉じる"!important;font-size:11.5px!important}
body.admin-page .notification-history-body dt{font-size:11.5px!important}
body.admin-page .notification-history-body dd{font-size:12.5px!important;line-height:1.55!important}
body.admin-page .notification-mail-content pre{font-size:12.5px!important;line-height:1.75!important}

/* Profile catalog becomes a compact row + modal editor. */
body.admin-page .cast-profile-catalog-panel{padding:0!important;margin-bottom:14px!important}
body.admin-page .cast-profile-catalog-row{
  min-height:72px!important;
  padding:12px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
body.admin-page .cast-profile-catalog-row>div{display:grid!important;gap:2px!important;min-width:0!important}
body.admin-page .cast-profile-catalog-row span{color:var(--admin-neon)!important;font-size:9.5px!important;font-weight:900!important;letter-spacing:.14em!important}
body.admin-page .cast-profile-catalog-row strong{color:#efeee7!important;font-size:16px!important;line-height:1.35!important}
body.admin-page .cast-profile-catalog-row small{color:#9b9b91!important;font-size:11px!important;line-height:1.4!important}
body.admin-page .admin-dialog{width:min(680px,calc(100% - 28px));max-height:calc(100vh - 42px);padding:0;border:1px solid #54582b;border-radius:12px;background:#12130f;color:#efeee7;box-shadow:0 30px 100px rgba(0,0,0,.72)}
body.admin-page .admin-dialog::backdrop{background:rgba(0,0,0,.78)}
body.admin-page .admin-dialog-card{display:grid;min-width:0}
body.admin-page .admin-dialog .panel-head{margin:0!important;padding:15px 17px!important;border-bottom:1px solid #363829!important}
body.admin-page .admin-dialog .panel-head h2{margin:2px 0!important;font-size:20px!important}
body.admin-page .admin-dialog .panel-head p{margin:2px 0 0!important;font-size:11.5px!important}
body.admin-page .admin-dialog-close{width:34px;height:34px;border:1px solid #464936;border-radius:7px;background:#0b0c09;color:#d9d8d0;font-size:22px;cursor:pointer}
body.admin-page .admin-dialog .profile-catalog-form{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:16px 17px 18px!important}
body.admin-page .admin-dialog .profile-catalog-form textarea{min-height:260px!important}
body.admin-page .admin-dialog-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important}

/* Shift management is schedule-only: four useful columns, no punch/metrics dead space. */
body.admin-page .shift-only-table{min-width:900px!important}
body.admin-page .shift-only-table th:nth-child(1),body.admin-page .shift-only-table td:nth-child(1){width:190px!important}
body.admin-page .shift-only-table th:nth-child(2),body.admin-page .shift-only-table td:nth-child(2){width:120px!important}
body.admin-page .shift-only-table th:nth-child(4),body.admin-page .shift-only-table td:nth-child(4){width:210px!important}
body.admin-page .shift-only-table .attendance-date-cell strong{font-size:12.5px!important;white-space:nowrap!important}
body.admin-page .shift-only-admin .attendance-person-head{padding:13px 17px!important}
body.admin-page .shift-only-admin .attendance-person-head h2{font-size:18px!important;margin:1px 0!important}
body.admin-page .shift-only-admin .attendance-list-controls{padding:13px 15px!important}
body.admin-page .shift-only-admin .attendance-toolbar{margin:0!important}
.staff-shift-time{display:block!important;font-size:12.5px!important;margin:2px 0!important;color:#e2dfd4!important}

/* Reservation / order list: larger, clearer data hierarchy. */
body.admin-page .bookings-table-panel .panel-head{padding:15px 18px!important}
body.admin-page .bookings-table-panel th{padding:11px 12px!important;font-size:12px!important}
body.admin-page .bookings-table-panel td{padding:13px 12px!important;font-size:13.5px!important;line-height:1.5!important}
body.admin-page .bookings-table-panel td>strong{font-size:14px!important;color:#f0efe7!important}
body.admin-page .bookings-table-panel td small{margin-top:4px!important;font-size:11.5px!important;line-height:1.5!important}
body.admin-page .bookings-table-panel .badge{font-size:10.5px!important;padding:5px 8px!important}
body.admin-page .booking-filter-revised{gap:9px!important;padding:12px 14px!important}

@media(max-width:760px){
  body.admin-page .global-mail-log-history .notification-history-item>summary{grid-template-columns:1fr auto!important;grid-template-rows:auto auto auto!important}
  body.admin-page .global-mail-log-history .notification-history-date{grid-column:1!important;grid-row:1!important}
  body.admin-page .global-mail-log-history .notification-history-result{grid-column:2!important;grid-row:1!important}
  body.admin-page .global-mail-log-history .notification-history-subject{grid-column:1/-1!important;grid-row:2!important}
  body.admin-page .global-mail-log-history .notification-history-recipient{grid-column:1!important;grid-row:3!important}
  body.admin-page .global-mail-log-history .notification-history-transport{display:none!important}
  body.admin-page .global-mail-log-history .notification-history-open{grid-column:2!important;grid-row:3!important}
  body.admin-page .table-wrap td:last-child .row-actions{flex-wrap:wrap!important}
}

/* Final alignment refinements. */
body.admin-page .table-wrap td:last-child{vertical-align:middle!important}
body.admin-page .booking-actions-cell{text-align:right!important;vertical-align:middle!important}
body.admin-page .notification-history-item>summary .notification-history-subject strong{font-size:13px!important;line-height:1.45!important}
body.admin-page .notification-history-item>summary .notification-history-subject small{font-size:11px!important;line-height:1.45!important}
body.admin-page .notification-history-item>summary .notification-history-open{font-size:11.5px!important}
body.admin-page .notification-history-item[open]>summary .notification-history-open{font-size:0!important}
body.admin-page .notification-history-item[open]>summary .notification-history-open::after{font-size:11.5px!important}
body.admin-page .staff-shift-kpi{font-size:19px!important;line-height:1.25!important}

/* External payment workflow controls */
.workflow-action-payment-link input[type=url]{width:100%;max-width:100%;box-sizing:border-box}
.workflow-action-payment-paid .workflow-card-lead,.workflow-action-payment-link .workflow-card-lead{font-size:14px;line-height:1.75}

/* =========================================================
   BREEZE ADMIN DESIGN SYSTEM — 2026 master screen reference
   Shared visual layer for Admin and Therapist portals.
   ========================================================= */
body.admin-page{
  --design-bg:#0b0d0a;
  --design-surface:#12150f;
  --design-surface-2:#181b13;
  --design-surface-3:#202419;
  --design-line:#353b2d;
  --design-line-strong:#566044;
  --design-text:#f4f5ed;
  --design-muted:#9da492;
  --design-neon:#d7b45a;
  --design-neon-soft:#e8ff90;
  --design-danger:#ff8278;
  --design-info:#83c8e6;
  background:var(--design-bg)!important;
  color:var(--design-text)!important;
}
body.admin-page .admin-shell{
  grid-template-columns:272px minmax(0,1fr)!important;
  background:var(--design-bg)!important;
}
body.admin-page .admin-shell>aside{
  background:#080a07!important;
  border-right:1px solid var(--design-line)!important;
  padding:18px 14px 14px!important;
}
body.admin-page .admin-logo-brand{min-height:72px!important;padding:7px 8px 17px!important}
body.admin-page .admin-logo-brand img{width:190px!important;max-height:48px!important}
body.admin-page .staff-admin-brand{padding:6px 8px 17px!important}
body.admin-page .staff-admin-brand>img{width:184px!important;max-height:48px!important}
body.admin-page .admin-sidebar-session{
  display:grid!important;
  gap:13px!important;
  margin:0 2px 15px!important;
  padding:13px!important;
  border:1px solid var(--design-line)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#171b12,#0e100c)!important;
}
body.admin-page .admin-sidebar-user{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
body.admin-page .admin-sidebar-avatar{
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border:1px solid #71862b!important;
  border-radius:50%!important;
  background:#293417!important;
  color:var(--design-neon)!important;
  font-size:15px!important;
  font-weight:950!important;
}
body.admin-page .admin-sidebar-user>div{min-width:0!important;display:grid!important;gap:3px!important}
body.admin-page .admin-sidebar-user strong{display:block!important;color:var(--design-text)!important;font-size:13px!important;line-height:1.25!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-page .admin-sidebar-user small{display:block!important;color:var(--design-neon)!important;font-size:10px!important;line-height:1.25!important}
body.admin-page .admin-sidebar-clock{padding-top:11px!important;border-top:1px solid #2c3325!important}
body.admin-page .admin-sidebar-clock>span{color:var(--design-muted)!important;font-size:10px!important}
body.admin-page .admin-sidebar-clock>strong{color:var(--design-text)!important;font-size:21px!important;letter-spacing:.05em!important}
body.admin-page .admin-shell>aside nav{gap:4px!important}
body.admin-page .admin-shell>aside nav a,
body.admin-page .admin-shell>aside nav .admin-nav-logout-button{
  min-height:42px!important;
  height:42px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#c8cec0!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
}
body.admin-page .admin-shell>aside nav a .admin-nav-icon{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  color:#828c76!important;
}
body.admin-page .admin-shell>aside nav a:hover,
body.admin-page .admin-shell>aside nav a.active,
body.admin-page .admin-shell>aside nav .admin-nav-logout-button:hover{
  border-left:3px solid var(--design-neon)!important;
  color:var(--design-neon)!important;
}
body.admin-page .admin-shell>aside nav a:hover .admin-nav-icon,
body.admin-page .admin-shell>aside nav a.active .admin-nav-icon{color:var(--design-neon)!important}
body.admin-page .admin-shell>aside nav .admin-nav-logout-form{margin-top:auto!important;padding-top:12px!important;border-top:1px solid #2b3226!important}
body.admin-page .admin-shell>aside nav .admin-nav-logout-button{color:#aeb5a5!important}

body.admin-page .admin-main>header.admin-topbar{
  display:flex!important;
  position:sticky!important;
  top:0!important;
  z-index:10!important;
  min-height:78px!important;
  height:auto!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:15px 30px!important;
  background:rgba(14,17,11,.96)!important;
  border-bottom:1px solid var(--design-line)!important;
  backdrop-filter:blur(14px)!important;
}
body.admin-page .admin-topbar-page{display:grid!important;gap:3px!important;min-width:0!important}
body.admin-page .admin-topbar-kicker{color:var(--design-neon)!important;font-size:9px!important;font-weight:950!important;letter-spacing:.19em!important;line-height:1.2!important}
body.admin-page .admin-topbar-page>strong{color:var(--design-text)!important;font-size:20px!important;font-weight:900!important;line-height:1.2!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-page .admin-topbar-page>small{color:var(--design-muted)!important;font-size:11px!important;line-height:1.3!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-page .admin-topbar-tools{display:flex!important;align-items:center!important;gap:20px!important;flex:0 0 auto!important}
body.admin-page .admin-topbar-clock{display:grid!important;gap:2px!important;text-align:right!important}
body.admin-page .admin-topbar-clock span{color:var(--design-muted)!important;font-size:10px!important}
body.admin-page .admin-topbar-clock strong{color:var(--design-text)!important;font-size:16px!important;letter-spacing:.04em!important}
body.admin-page .admin-topbar-user{display:flex!important;align-items:center!important;gap:7px!important;padding-left:18px!important;border-left:1px solid var(--design-line)!important;color:var(--design-text)!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
body.admin-page .admin-topbar-user .icon{width:19px!important;height:19px!important;color:var(--design-neon)!important}
body.admin-page .staff-topbar-user{gap:8px!important}
body.admin-page .staff-topbar-rank{padding:4px 7px!important;border:1px solid #70833c!important;border-radius:999px!important;color:var(--design-neon-soft)!important;font-size:9px!important;line-height:1!important}

body.admin-page .content{padding:30px 32px 60px!important;max-width:1720px!important;background:var(--design-bg)!important}
body.admin-page .admin-page-heading,
body.admin-page .panel,
body.admin-page .business-kpi-grid>*{
  border-radius:12px!important;
}
body.admin-page .admin-page-heading{
  padding:22px 24px!important;
  margin-bottom:18px!important;
  background:linear-gradient(135deg,#1b2114,#10130d)!important;
  border:1px solid var(--design-line)!important;
  border-left:3px solid var(--design-neon)!important;
}
body.admin-page .admin-page-heading h1{font-size:clamp(24px,2vw,34px)!important;letter-spacing:-.03em!important}
body.admin-page .admin-page-heading p{color:var(--design-muted)!important}
body.admin-page .panel,
body.admin-page .card,
body.admin-page .stat-card,
body.admin-page .form-card,
body.admin-page .table-wrap,
body.admin-page .filter-card{
  background:linear-gradient(145deg,var(--design-surface-2),var(--design-surface))!important;
  border:1px solid var(--design-line)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.14)!important;
}
body.admin-page .panel{padding:20px!important}
body.admin-page .panel-head{border-color:var(--design-line)!important}
body.admin-page h1,body.admin-page h2,body.admin-page h3,body.admin-page h4{color:var(--design-text)!important}
body.admin-page .panel p,body.admin-page .panel small,body.admin-page .field-help{color:var(--design-muted)!important}
body.admin-page .business-kpi-grid{gap:13px!important}
body.admin-page .business-kpi-grid>*{
  min-height:122px!important;
  padding:19px!important;
  background:linear-gradient(145deg,#1c2114,#11140e)!important;
  border:1px solid var(--design-line)!important;
  border-top:3px solid var(--design-neon)!important;
}
body.admin-page .business-kpi-grid strong{color:var(--design-text)!important}
body.admin-page .business-kpi-grid span,body.admin-page .business-kpi-grid small{color:var(--design-muted)!important}
body.admin-page .business-kpi-grid small{color:var(--design-neon)!important}
body.admin-page table{background:#11140f!important;color:var(--design-text)!important}
body.admin-page th{background:#20261a!important;color:var(--design-neon)!important;border-color:var(--design-line)!important}
body.admin-page td{background:#11140f!important;color:#dfe4d8!important;border-color:#2b3325!important}
body.admin-page tr:hover td{background:#1b2115!important}
body.admin-page input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),body.admin-page select,body.admin-page textarea{
  color:var(--design-text)!important;border-radius:8px!important
}
body.admin-page input:focus,body.admin-page select:focus,body.admin-page textarea:focus{border-color:var(--design-neon)!important;box-shadow:0 0 0 2px rgba(215,180,90,.12)!important}
body.admin-page .btn.primary,body.admin-page button.primary{background:var(--design-neon)!important;border-color:var(--design-neon)!important;color:#13180a!important}
body.admin-page .btn.primary:hover,body.admin-page button.primary:hover{background:#e3ff69!important;border-color:#e3ff69!important}
body.admin-page .btn.ghost{background:#171c12!important;border-color:#536044!important;color:#dce5d1!important}
body.admin-page .btn.ghost:hover{border-color:var(--design-neon)!important;color:var(--design-neon)!important}
body.admin-page .badge{border:1px solid transparent!important;border-radius:999px!important}
body.admin-page .alert{border-radius:9px!important}

@media(max-width:1050px){
  body.admin-page .admin-shell{grid-template-columns:1fr!important}
  body.admin-page .admin-shell>aside{padding:16px 14px 24px!important}
  body.admin-page .admin-main>header.admin-topbar{padding-left:82px!important}
}
@media(max-width:760px){
  body.admin-page .admin-main>header.admin-topbar{min-height:70px!important;padding:12px 14px 12px 78px!important;gap:10px!important}
  body.admin-page .admin-topbar-kicker{font-size:8px!important}
  body.admin-page .admin-topbar-page>strong{font-size:16px!important}
  body.admin-page .admin-topbar-page>small{font-size:9px!important}
  body.admin-page .admin-topbar-tools{gap:0!important}
  body.admin-page .admin-topbar-clock{display:none!important}
  body.admin-page .admin-topbar-user{padding-left:10px!important;font-size:10px!important}
  body.admin-page .admin-topbar-user>span{max-width:100px!important;overflow:hidden;text-overflow:ellipsis}
  body.admin-page .content{padding:18px 14px 42px!important}
  body.admin-page .business-kpi-grid,.staff-page .business-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* =========================================================
   BOOKING DETAIL — reservation reference layout
   ========================================================= */
body.admin-page .booking-detail-redesign{
  display:grid;
  gap:14px;
  width:100%;
  color:#eee8dc;
}
body.admin-page .booking-detail-page-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:2px 4px 0;
}
body.admin-page .booking-detail-breadcrumb{
  margin-bottom:5px;
  color:#9d927e;
  font-size:11px;
}
body.admin-page .booking-detail-breadcrumb span{padding:0 7px;color:#d7b45a}
body.admin-page .booking-detail-title-row{display:flex;align-items:center;gap:12px}
body.admin-page .booking-detail-title-row h1{
  margin:0;
  color:#f3eadb;
  font-size:clamp(27px,3vw,38px);
  line-height:1.05;
  letter-spacing:-.04em;
}
body.admin-page .booking-detail-page-heading p{
  margin:7px 0 0;
  color:#b7ad9c;
  font-size:13px;
}
body.admin-page .booking-detail-title-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 13px;
  border:1px solid #786339;
  border-radius:999px;
  color:#e0c475;
  font-size:11px;
  font-weight:800;
}
body.admin-page .booking-detail-title-status::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#d7b45a;
}
body.admin-page .booking-detail-title-status.confirmed::before,
body.admin-page .booking-detail-title-status.completed::before{background:#b2c978}
body.admin-page .booking-detail-title-status.cancelled_customer::before,
body.admin-page .booking-detail-title-status.cancelled_therapist::before,
body.admin-page .booking-detail-title-status.cancelled_admin::before,
body.admin-page .booking-detail-title-status.no_show::before{background:#ad5a4d}
body.admin-page .booking-detail-back{
  min-height:36px;
  padding:0 14px!important;
  border:1px solid #4d412d!important;
  background:#13140f!important;
  color:#d5c7ae!important;
  font-size:12px;
}
body.admin-page .booking-detail-back:hover{border-color:#d7b45a!important;color:#e6ca83!important}
body.admin-page .booking-detail-summary-strip{
  display:grid;
  grid-template-columns:1.1fr .75fr 1.35fr .85fr 1.05fr;
  min-height:95px;
  border:1px solid #3d3527;
  border-radius:9px;
  overflow:hidden;
  background:#121510;
}
body.admin-page .booking-detail-summary-strip>div{
  display:grid;
  grid-template-columns:28px 1fr;
  grid-template-rows:auto 1fr;
  column-gap:8px;
  align-content:center;
  padding:14px 17px;
  border-right:1px solid #393326;
}
body.admin-page .booking-detail-summary-strip>div:last-child{border-right:0}
body.admin-page .booking-detail-summary-strip>div>span{
  grid-row:1/3;
  color:#d7b45a;
  font-size:21px;
}
body.admin-page .booking-detail-summary-strip small{
  color:#a89d89;
  font-size:10px;
}
body.admin-page .booking-detail-summary-strip strong{
  align-self:start;
  color:#f0e8d9;
  font-size:14px;
  line-height:1.45;
}
body.admin-page .booking-summary-person{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center;
  gap:10px;
}
body.admin-page .booking-summary-person img{
  width:49px;
  height:58px;
  object-fit:cover;
  border:1px solid #665536;
  border-radius:50%;
}
body.admin-page .booking-summary-person>span{display:grid;gap:2px}
body.admin-page .booking-summary-person em{color:#a89d89;font-size:9px;font-style:normal;letter-spacing:.1em}
body.admin-page .booking-detail-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 225px;
  grid-template-rows:max-content max-content;
  gap:12px;
  align-items:stretch;
  align-content:start;
}
body.admin-page .booking-customer-card{grid-column:1;grid-row:1}
body.admin-page .booking-reservation-card{grid-column:2;grid-row:1}
body.admin-page .booking-detail-action-sidebar{grid-column:3;grid-row:1/3}
body.admin-page .booking-note-card{grid-column:1;grid-row:2}
body.admin-page .booking-status-card{grid-column:2;grid-row:2}
body.admin-page .booking-detail-card{
  min-width:0;
  min-height:0;
  height:auto;
  align-self:stretch;
  padding:16px;
  border:1px solid #3d3527;
  border-radius:9px;
  background:#121510;
}
body.admin-page .booking-detail-card>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:13px;
}
body.admin-page .booking-detail-card>header h2{
  margin:0;
  color:#e9d8ac!important;
  font-size:15px!important;
}
body.admin-page .booking-detail-card>header h2 small{
  color:#a89d89;
  font-size:10px;
  font-weight:500;
}
body.admin-page .booking-detail-card>header .btn{
  min-height:30px;
  padding:0 10px!important;
  border:1px solid #54462e!important;
  background:#181914!important;
  color:#d7c6a5!important;
}
body.admin-page .booking-customer-head{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
}
body.admin-page .booking-customer-initial{
  display:grid;
  place-items:center;
  width:47px;
  height:47px;
  border-radius:50%;
  background:#62645d;
  color:#f4eee2;
  font-size:20px;
  font-weight:800;
}
body.admin-page .booking-customer-head>strong{color:#f0e8d9;font-size:18px}
body.admin-page .booking-customer-head>b{
  padding:4px 8px;
  border-radius:999px;
  background:#54471d;
  color:#e0c474;
  font-size:10px;
}
body.admin-page .booking-contact-list{
  display:grid;
  gap:9px;
  margin:15px 0 12px;
  color:#d9d0bf;
  font-size:12px;
}
body.admin-page .booking-contact-list a:hover{color:#e4c475}
body.admin-page .booking-card-actions{display:grid;gap:7px;margin-left:auto;max-width:150px}
body.admin-page .booking-card-actions .btn{
  min-height:31px;
  padding:0 9px!important;
  border-color:#50442e!important;
  background:#171914!important;
  color:#d5c4a2!important;
  font-size:11px!important;
}
body.admin-page .booking-detail-table{display:grid;gap:0;margin:0}
body.admin-page .booking-detail-table>div{
  display:grid;
  grid-template-columns:95px minmax(0,1fr);
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #302b22;
}
body.admin-page .booking-detail-table dt{color:#aa9c84;font-size:11px}
body.admin-page .booking-detail-table dd{margin:0;color:#dfd6c5;font-size:11px;word-break:break-word}
body.admin-page .booking-detail-action-sidebar{
  display:grid;
  align-content:start;
  gap:7px;
  padding:12px;
  border:1px solid #3d3527;
  border-radius:9px;
  background:#121510;
  min-height:0;
  height:auto;
  align-self:stretch;
}
body.admin-page .booking-detail-action-sidebar>a{
  display:flex;
  align-items:center;
  min-height:39px;
  padding:0 12px;
  border:1px solid #4c412d;
  border-radius:6px;
  color:#e0d4bd;
  font-size:12px;
  font-weight:800;
}
body.admin-page .booking-detail-action-sidebar>a:hover{border-color:#d7b45a;color:#edce81;background:#1d1a13}
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:39px;
  padding:0 12px;
  border:1px solid #4c412d;
  border-radius:6px;
  background:#121510;
  color:#e0d4bd;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-toggle:hover,
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-toggle[aria-expanded="true"]{border-color:#d7b45a;color:#edce81;background:#1d1a13}
body.admin-page .booking-detail-contact-toggle span{color:#d7b45a;font-size:16px}
body.admin-page .booking-detail-contact-menu{
  display:grid;
  gap:5px;
  padding:6px;
  border:1px solid #4d412d;
  border-radius:6px;
  background:#0e100c;
}
body.admin-page .booking-detail-contact-menu[hidden]{display:none!important}
body.admin-page .booking-detail-contact-menu a{
  display:block;
  padding:8px 9px;
  color:#d4c5a8;
  font-size:11px;
}
body.admin-page .booking-detail-contact-menu a:hover{background:#211d15;color:#e4c477}
body.admin-page .booking-detail-action-sidebar .booking-detail-primary-action{
  justify-content:center;
  border-color:#d7b45a;
  background:#d7b45a;
  color:#17130d;
}
body.admin-page .booking-detail-action-sidebar .booking-detail-primary-action:hover{background:#ead18c;color:#17130d}
body.admin-page .booking-detail-action-sidebar .booking-detail-danger-action{
  justify-content:center;
  margin-top:2px;
  border-color:#9e4539;
  color:#dd8376;
}
body.admin-page .booking-detail-other-actions{
  display:grid;
  gap:11px;
  margin-top:9px;
  padding:15px 3px 3px;
  border-top:1px solid #3d3527;
}
body.admin-page .booking-detail-other-actions strong{color:#e1d3b7;font-size:12px}
body.admin-page .booking-detail-other-actions a{
  color:#bcb09d;
  font-size:11px;
}
body.admin-page .booking-detail-other-actions a:hover{color:#d7b45a}
body.admin-page .booking-detail-lower-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:12px;
}
body.admin-page .booking-note-card>div{
  min-height:73px;
  padding:12px;
  border:1px solid #4b422f;
  border-radius:6px;
  background:#171914;
  color:#dcd2c0;
  font-size:12px;
  line-height:1.7;
}
body.admin-page .booking-status-card>header>a{color:#d7b45a;font-size:11px}
body.admin-page .booking-status-timeline{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  position:relative;
  padding:7px 0 0;
}
body.admin-page .booking-status-timeline::before{
  content:"";
  position:absolute;
  top:17px;
  right:8%;
  left:8%;
  height:2px;
  background:#51452e;
}
body.admin-page .booking-status-timeline>div{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:5px;
  color:#998e7d;
  font-size:10px;
  text-align:center;
}
body.admin-page .booking-status-timeline b{
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border:1px solid #6a5a39;
  border-radius:50%;
  background:#171914;
  color:#8e806b;
  font-size:11px;
}
body.admin-page .booking-status-timeline>div.is-done b,
body.admin-page .booking-status-timeline>div.is-current b{
  border-color:#d7b45a;
  background:#d7b45a;
  color:#19140d;
}
body.admin-page .booking-status-timeline>div.is-done,
body.admin-page .booking-status-timeline>div.is-current{color:#e2d4b6}
body.admin-page .booking-status-timeline small{color:#a89d89;font-size:9px}
body.admin-page .booking-internal-note-card{
  display:grid;
  grid-template-columns:1fr 92px;
  gap:10px 13px;
  align-items:center;
}
body.admin-page .booking-internal-note-card>header{grid-column:1/-1;margin:0}
body.admin-page .booking-internal-note-card textarea{
  width:100%;
  min-height:60px;
  margin:0;
  border-color:#4b422f;
  background:#171914;
}
body.admin-page .booking-internal-note-card>button{min-height:45px}
body.admin-page.admin-modal-open{overflow:hidden}
body.admin-page .booking-contact-modal{
  position:fixed;
  z-index:500;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
}
body.admin-page .booking-contact-modal[hidden]{display:none!important}
body.admin-page .booking-contact-modal .admin-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,0,0,.78);
  cursor:pointer;
}
body.admin-page .booking-contact-modal-card{
  position:relative;
  z-index:1;
  width:min(620px,calc(100vw - 32px));
  max-height:min(760px,calc(100vh - 32px));
  overflow:auto;
  padding:20px;
  border:1px solid #765f35;
  border-radius:10px;
  background:#121510;
  box-shadow:0 24px 80px rgba(0,0,0,.72);
}
body.admin-page .booking-contact-modal-card>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid #3d3527;
}
body.admin-page .booking-contact-modal-card>header>div>span{
  display:block;
  margin-bottom:4px;
  color:#a98b4a;
  font-size:9px;
  letter-spacing:.16em;
}
body.admin-page .booking-contact-modal-card h2{
  margin:0;
  color:#e9d8ac;
  font-size:20px;
}
body.admin-page .booking-contact-modal-card p{
  margin:6px 0 0;
  color:#a89d89;
  font-size:11px;
}
body.admin-page .booking-contact-modal-close{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #54462e;
  border-radius:5px;
  background:#181914;
  color:#e9d8ac;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
body.admin-page .booking-contact-modal-close:hover{border-color:#d7b45a;color:#fff0bd}
body.admin-page .booking-contact-modal-form{
  display:grid!important;
  gap:12px!important;
  margin-top:14px!important;
  padding:16px!important;
  border:1px solid #4d412d!important;
  border-radius:8px!important;
  background:#171914!important;
}
body.admin-page .booking-contact-modal-form .workflow-card-title{display:flex;align-items:center;gap:9px;margin:0}
body.admin-page .booking-contact-modal-form .workflow-card-title span{color:#d7b45a;font-size:11px}
body.admin-page .booking-contact-modal-form .workflow-card-title h3{margin:0;color:#e9d8ac;font-size:16px}
body.admin-page .booking-contact-modal-form label{display:grid;gap:6px;color:#d9cfbb;font-size:12px}
body.admin-page .booking-contact-modal-form textarea,
body.admin-page .booking-contact-modal-form input,
body.admin-page .booking-contact-modal-form select{width:100%!important;box-sizing:border-box}
body.admin-page .booking-contact-modal-form .btn{width:100%;min-height:42px}
body.admin-page .booking-detail-legacy{
  display:grid;
  gap:14px;
  margin-top:2px;
}
body.admin-page .booking-detail-legacy .booking-summary-panel{display:none!important}
body.admin-page .booking-detail-legacy .booking-admin-grid{
  grid-template-columns:minmax(0,1fr)!important;
  margin:0!important;
}
body.admin-page .booking-detail-legacy .workflow-control-panel{
  min-width:0;
  border-color:#3d3527!important;
  background:#121510!important;
}
body.admin-page .booking-detail-legacy .workflow-control-panel>.panel-head h2,
body.admin-page .booking-detail-legacy .workflow-control-panel>.panel-head p{color:#e9d8ac!important}
body.admin-page .booking-detail-legacy .workflow-control-panel>.panel-head,
body.admin-page .booking-detail-legacy .workflow-action-picker,
body.admin-page .booking-detail-legacy .workflow-action-placeholder{display:none!important}
body.admin-page .booking-detail-legacy .workflow-control-panel[hidden]{display:none!important}
body.admin-page .booking-mail-history-panel,
body.admin-page #booking-message-history{display:none!important}
body.admin-page #booking-mail-history{scroll-margin-top:90px}
body.admin-page #booking-message-history{scroll-margin-top:90px}
@media(max-width:1100px){
  body.admin-page .booking-detail-content-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body.admin-page .booking-detail-action-sidebar{grid-column:1/-1;grid-row:3;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
  body.admin-page .booking-note-card{grid-column:1;grid-row:2}
  body.admin-page .booking-status-card{grid-column:2;grid-row:2}
  body.admin-page .booking-detail-other-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr);align-items:center}
}
@media(max-width:760px){
  body.admin-page .booking-detail-page-heading{align-items:flex-start;flex-direction:column}
  body.admin-page .booking-detail-summary-strip{grid-template-columns:1fr 1fr}
  body.admin-page .booking-detail-summary-strip>div{border-bottom:1px solid #393326}
  body.admin-page .booking-detail-summary-strip>div:nth-child(2n){border-right:0}
  body.admin-page .booking-summary-person{grid-column:1/-1}
  body.admin-page .booking-detail-content-grid,
  body.admin-page .booking-detail-lower-grid{grid-template-columns:1fr}
  body.admin-page .booking-customer-card,
  body.admin-page .booking-reservation-card,
  body.admin-page .booking-detail-action-sidebar,
  body.admin-page .booking-note-card,
  body.admin-page .booking-status-card{grid-column:1;grid-row:auto}
  body.admin-page .booking-detail-action-sidebar{grid-template-columns:1fr 1fr}
  body.admin-page .booking-detail-action-sidebar .booking-detail-primary-action,
  body.admin-page .booking-detail-action-sidebar .booking-detail-danger-action,
  body.admin-page .booking-detail-other-actions{grid-column:1/-1}
  body.admin-page .booking-detail-other-actions{grid-template-columns:1fr}
  body.admin-page .booking-internal-note-card{grid-template-columns:1fr}
  body.admin-page .booking-internal-note-card>button{width:100%}
}
@media(max-width:480px){
  body.admin-page .admin-main>header.admin-topbar{padding-left:76px!important}
  body.admin-page .admin-topbar-user>span{display:none!important}
  body.admin-page .business-kpi-grid,.staff-page .business-kpi-grid{grid-template-columns:1fr!important}
}

/* Intro/explanation panels are intentionally omitted; keep standalone actions usable. */
body.admin-page .page-actions-only{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  margin:0 0 16px!important;
}
body.admin-page .page-actions-only .btn{margin:0!important}

/* Sidebar navigation: grouped links with visible category icons. */
body.admin-page .admin-sidebar-nav{display:grid!important;align-content:start!important;gap:9px!important;min-height:0!important;overflow-y:auto!important}
body.admin-page .admin-nav-group{display:grid!important;gap:3px!important;min-width:0!important}
body.admin-page .admin-nav-group-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-height:24px!important;
  padding:0 8px!important;
  border:0!important;
  background:transparent!important;
  color:#7f8b73!important;
  cursor:pointer!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-align:left!important;
}
body.admin-page .admin-nav-group-toggle:hover{color:var(--design-neon)!important}
body.admin-page .admin-nav-group-title{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
body.admin-page .admin-nav-group-icon{width:15px!important;height:15px!important;color:#89977a!important;flex:0 0 15px!important}
body.admin-page .admin-nav-group.is-active .admin-nav-group-icon{color:var(--design-neon)!important;filter:drop-shadow(0 0 4px rgba(215,180,90,.25))!important}
body.admin-page .admin-nav-group-chevron{color:#69755e!important;font-size:14px!important;line-height:1!important;transition:transform .18s ease!important}
body.admin-page .admin-nav-group:not(.is-open) .admin-nav-group-chevron{transform:rotate(-90deg)!important}
body.admin-page .admin-nav-group-links{display:grid!important;gap:3px!important;min-width:0!important;padding-left:4px!important}
body.admin-page .admin-nav-group:not(.is-open) .admin-nav-group-links{display:none!important}
body.admin-page .admin-sidebar-nav .admin-nav-group-links>a,
body.admin-page .admin-sidebar-nav .admin-nav-logout-button{
  min-height:40px!important;
  height:40px!important;
  padding:0 11px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#c8cec0!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
}
body.admin-page .admin-sidebar-nav .admin-nav-group-links>a .admin-nav-icon{
  flex:0 0 18px!important;width:18px!important;height:18px!important;color:#7f8b73!important
}
body.admin-page .admin-sidebar-nav .admin-nav-group-links>a:hover,
body.admin-page .admin-sidebar-nav .admin-nav-group-links>a.active,
body.admin-page .admin-sidebar-nav .admin-nav-logout-button:hover{
  border-left:3px solid var(--design-neon)!important;
  color:var(--design-neon)!important;
}
body.admin-page .admin-sidebar-nav .admin-nav-group-links>a:hover .admin-nav-icon,
body.admin-page .admin-sidebar-nav .admin-nav-group-links>a.active .admin-nav-icon{color:var(--design-neon)!important}
body.admin-page .admin-sidebar-nav .admin-nav-logout-form{
  align-self:end!important;
  margin-top:7px!important;
  padding-top:11px!important;
  border-top:1px solid #2b3226!important;
}
body.admin-page .admin-sidebar-nav .admin-nav-logout-button{width:100%!important;justify-content:flex-start!important;color:#aeb5a5!important}
body.admin-page .admin-sidebar-nav .admin-nav-logout-button>span:first-child{font-size:19px!important;line-height:1!important;color:#7f8b73!important}

@media(max-width:1050px){
  body.admin-page .admin-nav-group-toggle{min-height:30px!important}
  body.admin-page .admin-nav-group-links>a{min-height:42px!important;height:42px!important}
}

/* Admin dashboard reference layout: welcome band, five KPI cards, quick actions and operations panels. */
body.admin-page .dashboard-welcome{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:132px!important;
  margin:0 0 16px!important;
  padding:25px 30px!important;
  overflow:hidden!important;
  border:1px solid #303b2b!important;
  border-radius:13px!important;
  background:linear-gradient(90deg,rgba(9,14,10,.98) 0%,rgba(12,18,12,.92) 48%,rgba(12,15,10,.52) 100%),url('../img/demo/recruit-room.webp') center/cover!important;
}
body.admin-page .dashboard-welcome::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(215,180,90,.045) 60%,transparent 100%);pointer-events:none}
body.admin-page .dashboard-welcome>div,body.admin-page .dashboard-welcome>strong{position:relative;z-index:1}
body.admin-page .dashboard-welcome span{display:block;margin-bottom:7px;color:var(--design-neon)!important;font-size:9px!important;font-weight:950!important;letter-spacing:.22em!important}
body.admin-page .dashboard-welcome h1{margin:0 0 7px!important;color:var(--design-text)!important;font-size:clamp(24px,2.4vw,34px)!important;letter-spacing:-.035em!important}
body.admin-page .dashboard-welcome p{margin:0!important;color:#c8d0c0!important;font-size:12px!important}
body.admin-page .dashboard-welcome>strong{padding-right:16px;color:#b9c0b0!important;font-size:9px!important;font-weight:800!important;letter-spacing:.18em!important;line-height:1.55!important;text-align:right!important}
body.admin-page .admin-reference-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin-bottom:17px!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  align-content:center!important;
  column-gap:11px!important;
  row-gap:2px!important;
  min-height:92px!important;
  padding:14px 13px!important;
  border-top:1px solid var(--design-line)!important;
  border-left:2px solid transparent!important;
  background:linear-gradient(145deg,#1a2115,#111610)!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card:hover{border-color:#566e29!important;border-left-color:var(--design-neon)!important;transform:translateY(-1px)!important}
body.admin-page .dashboard-kpi-icon{grid-row:1 / span 3;display:grid;place-items:center;width:34px;height:34px;border:1px solid #4e6330;border-radius:50%;background:#1d2915;color:var(--design-neon)!important}
body.admin-page .dashboard-kpi-icon .icon{width:18px;height:18px}
body.admin-page .admin-reference-kpis .dashboard-kpi-card>span:not(.dashboard-kpi-icon){font-size:10px!important;font-weight:800!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card strong{margin:3px 0 0!important;color:var(--design-text)!important;font-size:25px!important;line-height:1.05!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card small{color:#929d86!important;font-size:9px!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card small b{margin-left:5px;color:var(--design-neon)!important;font-weight:900!important}
body.admin-page .dashboard-quick-section{margin:0 0 17px!important}
body.admin-page .dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 9px!important}
body.admin-page .dashboard-section-heading h2{margin:0!important;color:var(--design-text)!important;font-size:18px!important}
body.admin-page .dashboard-quick-actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
body.admin-page .dashboard-quick-action{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  min-height:102px!important;
  padding:14px 13px!important;
  overflow:hidden!important;
  border:1px solid #39402f!important;
  border-radius:9px!important;
  background:#171b14!important;
  color:var(--design-text)!important;
}
body.admin-page .dashboard-quick-action::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,7,.2),rgba(7,10,7,.92));z-index:0}
body.admin-page .dashboard-quick-action:nth-child(1)::after{background-image:url('../img/demo/therapist-01.webp')}
body.admin-page .dashboard-quick-action:nth-child(2)::after{background-image:url('../img/demo/therapist-02.webp')}
body.admin-page .dashboard-quick-action:nth-child(3)::after{background-image:url('../img/demo/recruit-room.webp')}
body.admin-page .dashboard-quick-action:nth-child(4)::after{background-image:url('../img/demo/therapist-03.webp')}
body.admin-page .dashboard-quick-action:nth-child(5)::after{background-image:url('../img/demo/recruit-room.webp')}
body.admin-page .dashboard-quick-action::after{content:'';position:absolute;inset:0;background-position:center;background-size:cover;opacity:.48;z-index:0;filter:saturate(.55)}
body.admin-page .dashboard-quick-action>span,body.admin-page .dashboard-quick-action>strong,body.admin-page .dashboard-quick-action>b{position:relative;z-index:1}
body.admin-page .dashboard-quick-action>strong{font-size:12px!important;line-height:1.35!important;text-shadow:0 1px 3px #000!important}
body.admin-page .dashboard-quick-action>b{margin-left:auto;color:var(--design-neon)!important;font-size:18px!important;font-weight:400!important}
body.admin-page .dashboard-quick-visual{position:absolute!important;top:13px;left:13px;color:#fff!important}
body.admin-page .dashboard-quick-visual .icon{width:22px;height:22px;filter:drop-shadow(0 1px 3px #000)}
body.admin-page .dashboard-quick-action:hover{border-color:var(--design-neon)!important;transform:translateY(-1px)!important}
body.admin-page .dashboard-reference-grid{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr)!important;gap:14px!important;align-items:start!important}
body.admin-page .dashboard-reference-main{display:grid!important;gap:14px!important;min-width:0!important}
body.admin-page .dashboard-reference-side{display:grid!important;gap:14px!important;min-width:0!important}
body.admin-page .dashboard-reference-grid .panel{margin:0!important;padding:16px!important}
body.admin-page .dashboard-reference-grid .panel-head{margin-bottom:13px!important}
body.admin-page .dashboard-reference-grid .panel-head h2{font-size:16px!important}
body.admin-page .dashboard-reference-grid .panel-head>div>span{display:block;color:var(--design-neon)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.14em!important;margin-bottom:3px!important}
body.admin-page .dashboard-inline-link{color:var(--design-neon)!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important}
body.admin-page .dashboard-attendance-list{display:grid!important;grid-template-columns:repeat(8,minmax(62px,1fr))!important;gap:9px!important}
body.admin-page .dashboard-attendance-person{display:grid!important;justify-items:center!important;gap:4px!important;min-width:0!important;text-align:center!important}
body.admin-page .dashboard-attendance-photo{position:relative!important;width:50px!important;height:50px!important}
body.admin-page .dashboard-attendance-photo img{width:50px!important;height:50px!important;object-fit:cover!important;border-radius:50%!important;background:#20271b!important}
body.admin-page .dashboard-attendance-photo i{position:absolute!important;right:-1px!important;bottom:0!important;width:10px!important;height:10px!important;border:2px solid #12150f!important;border-radius:50%!important;background:#8d9585!important}
body.admin-page .dashboard-attendance-photo i.is-working{background:var(--design-neon)!important;box-shadow:0 0 6px rgba(215,180,90,.6)!important}
body.admin-page .dashboard-attendance-person strong{max-width:72px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--design-text)!important;font-size:10px!important}
body.admin-page .dashboard-attendance-person small{max-width:88px!important;color:#8f9b83!important;font-size:8px!important;white-space:nowrap!important}
body.admin-page .dashboard-empty-state,body.admin-page .dashboard-table-empty{margin:0!important;padding:14px!important;color:var(--design-muted)!important;font-size:11px!important;text-align:center!important}
body.admin-page .dashboard-bookings-panel table{min-width:0!important}
body.admin-page .dashboard-bookings-panel th{padding:9px 10px!important;font-size:9px!important}
body.admin-page .dashboard-bookings-panel td{padding:10px!important;font-size:11px!important;vertical-align:middle!important}
body.admin-page .dashboard-bookings-panel td strong{color:var(--design-text)!important;font-size:12px!important}
body.admin-page .dashboard-row-link{display:grid!important;place-items:center!important;width:22px!important;height:22px!important;border:1px solid #4e5e3a!important;border-radius:50%!important;color:var(--design-neon)!important;font-size:18px!important;line-height:1!important}
body.admin-page .dashboard-notice-list{display:grid!important}
body.admin-page .dashboard-notice-list>a{display:grid!important;grid-template-columns:10px minmax(0,1fr)!important;gap:9px!important;padding:10px 0!important;border-bottom:1px solid #2c3528!important;color:var(--design-text)!important}
body.admin-page .dashboard-notice-list>a:last-child{border-bottom:0!important}
body.admin-page .dashboard-notice-list>a>i{width:8px!important;height:8px!important;margin-top:4px!important;border-radius:50%!important;background:var(--design-neon)!important}
body.admin-page .dashboard-notice-list .notice-dot-1{background:#73a7ff!important}.dashboard-notice-list .notice-dot-2{background:#b7c2a8!important}
body.admin-page .dashboard-notice-list time{display:block!important;color:#8f9b83!important;font-size:8px!important;margin-bottom:3px!important}
body.admin-page .dashboard-notice-list strong{display:block!important;font-size:11px!important;line-height:1.45!important}
body.admin-page .dashboard-brand-card{display:grid!important;align-content:end!important;min-height:118px!important;padding:17px!important;border:1px solid #4a5138!important;border-radius:11px!important;background:linear-gradient(90deg,rgba(9,12,8,.88),rgba(9,12,8,.28)),url('../img/demo/recruit-room.webp') center/cover!important;color:var(--design-text)!important}
body.admin-page .dashboard-brand-card>span{color:var(--design-neon)!important;font:italic 900 28px/1 Georgia,serif!important}
body.admin-page .dashboard-brand-card>small{margin-top:2px!important;color:#e5e8dd!important;font-size:8px!important;letter-spacing:.12em!important}
body.admin-page .dashboard-brand-card>strong{margin-top:16px!important;font-size:11px!important}
@media(max-width:1280px){
  body.admin-page .admin-reference-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-page .dashboard-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-page .dashboard-attendance-list{grid-template-columns:repeat(6,minmax(62px,1fr))!important}
}
@media(max-width:980px){
  body.admin-page .dashboard-reference-grid{grid-template-columns:1fr!important}
  body.admin-page .dashboard-reference-side{grid-template-columns:1fr 1fr!important}
}
@media(max-width:680px){
  body.admin-page .dashboard-welcome{align-items:flex-start!important;min-height:120px!important;padding:20px!important}
  body.admin-page .dashboard-welcome>strong{display:none!important}
  body.admin-page .admin-reference-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-page .dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-page .dashboard-reference-side{grid-template-columns:1fr!important}
  body.admin-page .dashboard-attendance-list{grid-template-columns:repeat(4,minmax(62px,1fr))!important}
}
@media(max-width:420px){
  body.admin-page .admin-reference-kpis{grid-template-columns:1fr!important}
  body.admin-page .dashboard-quick-actions{grid-template-columns:1fr!important}
  body.admin-page .dashboard-attendance-list{grid-template-columns:repeat(3,minmax(62px,1fr))!important}
}

/* Final dashboard/sidebar alignment requested for the reference screen. */
body.admin-page .admin-nav-group-toggle{
  min-height:44px!important;
  padding:0 11px!important;
  color:#cbd4c3!important;
  font-size:13px!important;
  letter-spacing:.06em!important;
}
body.admin-page .admin-nav-group-title{gap:10px!important}
body.admin-page .admin-nav-group-icon{width:20px!important;height:20px!important;flex-basis:20px!important;color:#a5b394!important}
body.admin-page .admin-nav-group.is-active .admin-nav-group-icon{color:var(--design-neon)!important}
body.admin-page .admin-nav-group-chevron{font-size:17px!important;color:#91a17e!important}
body.admin-page .admin-topbar{justify-content:flex-end!important}
body.admin-page .admin-topbar-tools{width:100%!important;justify-content:flex-end!important;gap:16px!important}
body.admin-page .admin-topbar-clock{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  text-align:right!important;
}
body.admin-page .admin-topbar-clock span,
body.admin-page .admin-topbar-clock strong{
  display:inline!important;
  margin:0!important;
  color:#cbd4c3!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}
body.admin-page .admin-topbar-clock span::after{content:' ·';margin-left:7px;color:#708064!important}
body.admin-page .admin-topbar-user{font-size:12px!important}
body.admin-page .dashboard-welcome{
  width:calc(100% + 64px)!important;
  margin:-30px -32px 17px!important;
  min-height:172px!important;
  border-top:0!important;
  border-radius:0 0 13px 13px!important;
  padding:30px 32px!important;
}
@media(max-width:1050px){
  body.admin-page .dashboard-welcome{width:calc(100% + 32px)!important;margin:-30px -16px 17px!important}
}
@media(max-width:760px){
  body.admin-page .admin-topbar-tools{gap:9px!important}
  body.admin-page .admin-topbar-clock{display:flex!important;gap:5px!important}
  body.admin-page .admin-topbar-clock span,
  body.admin-page .admin-topbar-clock strong{font-size:11px!important}
  body.admin-page .admin-topbar-clock span::after{margin-left:4px!important}
  body.admin-page .dashboard-welcome{width:calc(100% + 28px)!important;margin:-18px -14px 17px!important;min-height:145px!important;padding:24px 20px!important}
}

/* Final dashboard polish: match the supplied admin reference for controls, cards and states. */
body.admin-page .dashboard-welcome{
  min-height:174px!important;
  border:1px solid #26352b!important;
  border-top:0!important;
  border-radius:0 0 8px 8px!important;
  background:
    linear-gradient(90deg,rgba(8,14,10,.98) 0%,rgba(8,15,10,.94) 43%,rgba(8,13,9,.52) 74%,rgba(8,13,9,.2) 100%),
    url('../img/demo/therapist-01.webp') center 22% / cover!important;
  box-shadow:inset 0 -1px 0 rgba(197,255,72,.08),0 10px 30px rgba(0,0,0,.16)!important;
}
body.admin-page .dashboard-welcome::after{background:linear-gradient(90deg,transparent 0%,rgba(215,180,90,.03) 56%,transparent 100%)!important}
body.admin-page .dashboard-welcome h1{font-size:clamp(23px,2.1vw,31px)!important;letter-spacing:-.04em!important}
body.admin-page .dashboard-welcome p{font-size:11px!important;color:#c2cdbd!important}

body.admin-page .admin-reference-kpis .dashboard-kpi-card{
  min-height:76px!important;
  padding:12px 13px!important;
  border-radius:6px!important;
  background:linear-gradient(145deg,rgba(23,33,24,.96),rgba(13,20,15,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card:hover{border-color:#718c32!important}
body.admin-page .dashboard-kpi-icon{
  width:31px!important;height:31px!important;
  border:1px solid #b7d52b!important;
  background:rgba(215,180,90,.08)!important;
  color:#d7b45a!important;
}
body.admin-page .dashboard-kpi-icon .icon{width:17px!important;height:17px!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card>span:not(.dashboard-kpi-icon){font-size:9px!important;}
body.admin-page .admin-reference-kpis .dashboard-kpi-card strong{font-size:23px!important;letter-spacing:.01em!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card small{font-size:8px!important;color:#a3af9a!important}

body.admin-page .dashboard-section-heading h2{font-size:16px!important;letter-spacing:.01em!important}
body.admin-page .dashboard-quick-actions{gap:9px!important}
body.admin-page .dashboard-quick-action{
  min-height:109px!important;
  padding:13px 14px!important;
  border:1px solid #344038!important;
  border-radius:7px!important;
  background:#131a14!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 4px 12px rgba(0,0,0,.12)!important;
}
body.admin-page .dashboard-quick-action::before{background:linear-gradient(180deg,rgba(5,10,7,.12) 0%,rgba(5,10,7,.86) 100%)!important}
body.admin-page .dashboard-quick-action:nth-child(3)::after,
body.admin-page .dashboard-quick-action:nth-child(5)::after{background-image:url('../img/recruit-room-reference.png')!important}
body.admin-page .dashboard-quick-action::after{opacity:.42!important;filter:saturate(.46) contrast(1.05)!important}
body.admin-page .dashboard-quick-action>strong{font-size:11px!important;color:#f1f5eb!important;letter-spacing:.01em!important}
body.admin-page .dashboard-quick-action>b{color:#f2f7ed!important;font-size:21px!important;line-height:1!important}
body.admin-page .dashboard-quick-visual{top:14px!important;left:14px!important}
body.admin-page .dashboard-quick-visual .icon{width:23px!important;height:23px!important}
body.admin-page .dashboard-quick-action:hover{border-color:#c4ed32!important;box-shadow:0 0 0 1px rgba(196,237,50,.16),0 7px 16px rgba(0,0,0,.2)!important}

body.admin-page .dashboard-reference-grid{gap:13px!important}
body.admin-page .dashboard-reference-main,body.admin-page .dashboard-reference-side{gap:13px!important}
body.admin-page .dashboard-reference-grid .panel,
body.admin-page .dashboard-brand-card{
  border-radius:7px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.admin-page .dashboard-reference-grid .panel{padding:14px!important}
body.admin-page .dashboard-reference-grid .panel-head{margin-bottom:10px!important}
body.admin-page .dashboard-reference-grid .panel-head h2{font-size:15px!important;letter-spacing:.01em!important}
body.admin-page .dashboard-reference-grid .panel-head>div>span{font-size:8px!important;letter-spacing:.18em!important}
body.admin-page .dashboard-inline-link{font-size:9px!important;color:#cafa31!important;text-decoration:underline!important;text-underline-offset:3px!important}
body.admin-page .dashboard-inline-link:hover{color:#efff9a!important}

body.admin-page .dashboard-attendance-list{gap:8px!important}
body.admin-page .dashboard-attendance-photo{width:48px!important;height:48px!important}
body.admin-page .dashboard-attendance-photo img{width:48px!important;height:48px!important;}
body.admin-page .dashboard-attendance-person strong{font-size:9px!important}
body.admin-page .dashboard-attendance-person small{font-size:7px!important}

body.admin-page .dashboard-bookings-panel .table-wrap{border:0!important;border-radius:0!important;background:transparent!important}
body.admin-page .dashboard-bookings-panel table{border-collapse:separate!important;border-spacing:0!important}
body.admin-page .dashboard-bookings-panel td{padding:8px 9px!important;border-bottom:1px solid #27332a!important;color:#d8e0d5!important;font-size:10px!important}
body.admin-page .dashboard-bookings-panel tbody tr:last-child td{border-bottom:0!important}
body.admin-page .dashboard-bookings-panel td strong{font-size:11px!important}
body.admin-page .dashboard-bookings-panel tbody tr:hover td{background:rgba(178,218,45,.035)!important}
body.admin-page .dashboard-row-link{width:20px!important;height:20px!important;border:0!important;color:#e7f2df!important;font-size:21px!important}
body.admin-page .dashboard-row-link:hover{color:#d7b45a!important;background:rgba(215,180,90,.08)!important}
body.admin-page .dashboard-bookings-panel .badge{min-width:48px!important;padding:3px 8px!important;border:0!important;border-radius:999px!important;font-size:8px!important;font-weight:900!important;text-align:center!important}
body.admin-page .dashboard-bookings-panel .badge.requested,
body.admin-page .dashboard-bookings-panel .badge.available,
body.admin-page .dashboard-bookings-panel .badge.in_service,
body.admin-page .dashboard-bookings-panel .badge.completed{background:#248419!important;color:#e2ffd5!important}
body.admin-page .dashboard-bookings-panel .badge.alternative_proposed{background:#2f72d7!important;color:#e4f0ff!important}
body.admin-page .dashboard-bookings-panel .badge.awaiting_payment{background:#765b16!important;color:#fff0a4!important}

body.admin-page .dashboard-notice-panel .panel-head{align-items:center!important}
body.admin-page .dashboard-notice-list>a{padding:8px 0!important;gap:8px!important}
body.admin-page .dashboard-notice-list>a>i{width:8px!important;height:8px!important;box-shadow:0 0 7px currentColor!important}
body.admin-page .dashboard-notice-list time{font-size:7px!important}
body.admin-page .dashboard-notice-list strong{font-size:10px!important;font-weight:750!important}
body.admin-page .dashboard-brand-card{
  min-height:116px!important;
  padding:15px!important;
  border-color:#4e5d42!important;
  background:linear-gradient(90deg,rgba(8,14,9,.9),rgba(8,14,9,.28)),url('../img/recruit-room-reference.png') center/cover!important;
}
body.admin-page .dashboard-brand-card>span{font-size:27px!important}
body.admin-page .dashboard-brand-card>strong{margin-top:14px!important;font-size:10px!important;color:#e0e8d9!important}

/* Compact controls used throughout the admin pages, including the reference dashboard. */
body.admin-page .btn{border-radius:5px!important;font-weight:850!important;box-shadow:none!important}
body.admin-page .btn.primary,body.admin-page button.primary{background:#d7f51c!important;border-color:#d7f51c!important;color:#151c0c!important}
body.admin-page .btn.primary:hover,body.admin-page button.primary:hover{background:#e8ff62!important;border-color:#e8ff62!important}
body.admin-page .btn.ghost{background:#172119!important;border-color:#52634d!important;color:#e0e9dc!important}
body.admin-page .btn.ghost:hover{background:#202e22!important;border-color:#bce839!important;color:#e8ff77!important}

@media(max-width:680px){
  body.admin-page .dashboard-welcome{background-position:58% 20%!important}
  body.admin-page .dashboard-quick-action{min-height:100px!important}
}

/* Latest dashboard spacing and navigation controls. */
body.admin-page .dashboard-welcome{
  margin-bottom:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.admin-page .admin-reference-kpis{
  margin-top:0!important;
  margin-bottom:17px!important;
  gap:8px!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  min-height:72px!important;
  border-top:0!important;
  border-radius:0 0 6px 6px!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card>span:not(.dashboard-kpi-icon){
  grid-column:2 / -1!important;
  grid-row:1!important;
  font-size:11px!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card strong{
  grid-column:2!important;
  grid-row:2!important;
  align-self:end!important;
  margin:2px 0 0!important;
  font-size:27px!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card small{
  grid-column:3!important;
  grid-row:2!important;
  align-self:end!important;
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1.1!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card small b{margin-left:3px!important;font-size:10px!important}

body.admin-page .dashboard-reference-grid .panel-head{
  min-height:31px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
body.admin-page .dashboard-inline-link{
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
}
body.admin-page .dashboard-notice-panel{min-height:0!important}
body.admin-page .dashboard-notice-list>a{min-height:0!important;padding:7px 0!important}
body.admin-page .dashboard-notice-list time{font-size:8px!important}
body.admin-page .dashboard-notice-list strong{font-size:10px!important}

body.admin-page .admin-main>header.admin-topbar{
  min-height:50px!important;
  height:50px!important;
  padding:7px 30px!important;
}
body.admin-page .admin-topbar-tools{min-height:36px!important;height:36px!important;gap:13px!important}
body.admin-page .admin-topbar-clock{min-height:24px!important}
body.admin-page .admin-topbar-user{min-height:28px!important}

body.admin-page .admin-sidebar-top .admin-brand,
body.admin-page .admin-sidebar-top .admin-logo-brand,
body.admin-page .admin-sidebar-top .staff-admin-brand{
  width:100%!important;
  justify-content:center!important;
  text-align:center!important;
}
body.admin-page .admin-sidebar-top .admin-brand img,
body.admin-page .admin-sidebar-top .staff-admin-brand>img{
  display:block!important;
  margin-inline:auto!important;
  object-position:center!important;
}
body.admin-page .admin-shell>aside{
  display:flex!important;
  flex-direction:column!important;
}
body.admin-page .admin-shell>aside .admin-sidebar-nav{
  flex:1 1 auto!important;
}
body.admin-page .admin-sidebar-actions{
  display:grid!important;
  gap:5px!important;
  flex:0 0 auto!important;
  margin-top:auto!important;
  padding:12px 8px 4px!important;
  border-top:1px solid #2b3226!important;
}
body.admin-page .admin-sidebar-actions .admin-nav-logout-form{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.admin-page .admin-sidebar-site-link,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button{
  min-height:44px!important;
  height:44px!important;
  padding:0 11px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  color:#c8cec0!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.admin-page .admin-sidebar-site-link:hover,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button:hover{
  border-left:3px solid var(--design-neon)!important;
  color:var(--design-neon)!important;
}
body.admin-page .admin-sidebar-site-link>span:first-child,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button>span:first-child{
  flex:0 0 20px!important;
  color:#8c9b80!important;
  font-size:20px!important;
  line-height:1!important;
  text-align:center!important;
}
body.admin-page .admin-sidebar-site-link:hover>span:first-child,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button:hover>span:first-child{color:var(--design-neon)!important}

body.admin-page .admin-nav-group-toggle{min-height:48px!important;font-size:14px!important}
body.admin-page .admin-nav-group-icon{width:22px!important;height:22px!important;flex-basis:22px!important}
body.admin-page .admin-nav-group-links>a{min-height:44px!important;height:44px!important}
body.admin-page .admin-nav-group-links>a .admin-nav-icon{width:20px!important;height:20px!important;flex-basis:20px!important}

@media(max-width:1050px){
  body.admin-page .admin-main>header.admin-topbar{min-height:50px!important;height:50px!important;padding-left:82px!important}
  body.admin-page .admin-sidebar-actions{padding-bottom:0!important}
}
@media(max-width:760px){
  body.admin-page .admin-main>header.admin-topbar{min-height:48px!important;height:48px!important;padding:6px 14px 6px 78px!important}
  body.admin-page .admin-topbar-tools{height:34px!important}
  body.admin-page .dashboard-inline-link{font-size:11px!important}
}

body.login-page .login-eyebrow{
  display:block!important;
  color:var(--design-neon)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-align:center!important;
}

/* Match the reference composition: the KPI row belongs to the welcome panel. */
body.admin-page .dashboard-welcome{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:minmax(132px,1fr) auto!important;
  align-items:end!important;
  gap:14px!important;
  min-height:292px!important;
  padding:28px 30px 16px!important;
}
body.admin-page .dashboard-welcome>div:first-child{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
}
body.admin-page .dashboard-welcome>strong{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  padding-right:4px!important;
}
body.admin-page .dashboard-welcome>.admin-reference-kpis{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body.admin-page .admin-reference-kpis{gap:10px!important}
body.admin-page .admin-reference-kpis .dashboard-kpi-card{
  border:1px solid #3a493d!important;
  border-radius:6px!important;
  min-height:82px!important;
  background:linear-gradient(145deg,rgba(22,32,23,.98),rgba(13,20,15,.98))!important;
}
body.admin-page .dashboard-welcome>.admin-reference-kpis .dashboard-kpi-card>span:not(.dashboard-kpi-icon){
  display:block!important;
  margin:0!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
body.admin-page .dashboard-welcome>.admin-reference-kpis .dashboard-kpi-icon{
  display:grid!important;
  margin:0!important;
  color:#d7b45a!important;
  font-size:initial!important;
  letter-spacing:0!important;
}

/* The dashboard side column is only a layout wrapper, never a framed aside. */
body.admin-page .dashboard-reference-grid,
body.admin-page .dashboard-reference-main,
body.admin-page .dashboard-reference-side{
  align-self:start!important;
  min-height:0!important;
}
body.admin-page .dashboard-reference-side{
  position:static!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.admin-page .dashboard-attendance-panel,
body.admin-page .dashboard-notice-panel{align-self:start!important}
body.admin-page .dashboard-reference-grid .panel-head{
  box-sizing:border-box!important;
  align-items:center!important;
}

/* Keep the logout label horizontal and visually consistent with the return link. */
body.admin-page .admin-sidebar-actions .admin-nav-logout-button{
  appearance:none!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  text-align:left!important;
  font-family:inherit!important;
  overflow:hidden!important;
}
body.admin-page .admin-sidebar-actions .admin-nav-logout-button>span:last-child{
  display:inline-block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1!important;
}

@media(max-width:680px){
  body.admin-page .dashboard-welcome{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    min-height:0!important;
    gap:18px!important;
    padding:24px 20px 14px!important;
  }
  body.admin-page .dashboard-welcome>div:first-child,
  body.admin-page .dashboard-welcome>strong,
  body.admin-page .dashboard-welcome>.admin-reference-kpis{
    grid-column:1!important;
  }
  body.admin-page .dashboard-welcome>div:first-child{grid-row:1!important}
  body.admin-page .dashboard-welcome>strong{grid-row:2!important;justify-self:end!important;align-self:end!important}
  body.admin-page .dashboard-welcome>.admin-reference-kpis{grid-row:3!important}
  body.admin-page .admin-reference-kpis{gap:7px!important}
}

/* Increase readability on the admin screens and keep logout text on one line. */
body.admin-page .content{font-size:14px!important}
body.admin-page .content p,
body.admin-page .content label,
body.admin-page .content td{font-size:13px!important}
body.admin-page .content th{font-size:11px!important}
body.admin-page .content small{font-size:11px!important}
body.admin-page .dashboard-attendance-person strong{font-size:11px!important}
body.admin-page .dashboard-attendance-person small{font-size:9px!important}
body.admin-page .dashboard-notice-list time{font-size:9px!important}
body.admin-page .dashboard-notice-list strong{font-size:11px!important}
body.admin-page .admin-sidebar-actions .admin-nav-logout-button,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button>span{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  transform:none!important;
}
body.admin-page .admin-sidebar-actions .admin-nav-logout-button>span:last-child{
  flex:1 1 auto!important;
  width:auto!important;
  color:inherit!important;
  font-size:13px!important;
  font-weight:850!important;
  letter-spacing:0!important;
}

/* Hard reset the logout button so it matches the sidebar return action exactly. */
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button{
  all:unset!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  padding:0 11px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#c8cec0!important;
  cursor:pointer!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
}
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:hover,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:focus-visible{
  border-left:3px solid var(--design-neon)!important;
  color:var(--design-neon)!important;
  outline:none!important;
}
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button>span:first-child{
  display:inline-flex!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  color:#8c9b80!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:1!important;
  writing-mode:horizontal-tb!important;
}
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button>span:last-child{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  color:inherit!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
}
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:hover>span:first-child,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:focus-visible>span:first-child{color:var(--design-neon)!important}

/* The small admin labels were too compressed; use a readable dashboard scale. */
body.admin-page .content .panel-head h2{font-size:17px!important}
body.admin-page .content .panel-head>div>span{font-size:10px!important}
body.admin-page .content table th{font-size:11px!important}
body.admin-page .content table td{font-size:13px!important}
body.admin-page .content table td small,
body.admin-page .content table th small{font-size:11px!important}
body.admin-page .dashboard-quick-action>strong{font-size:13px!important}
body.admin-page .dashboard-notice-list time{font-size:10px!important}
body.admin-page .dashboard-notice-list strong{font-size:12px!important}
body.admin-page .admin-nav-group-links>a{font-size:14px!important}

/* Monochrome charcoal palette — remove fluorescent treatments across the admin UI. */
:root{
  --admin-neon:#b8bdb4;
  --admin-black:#090a09;
  --admin-bg:#090a09;
  --admin-panel:#151715;
  --admin-line:#3b3f3a;
  --admin-text:#f0f2ec;
  --admin-muted:#a7aba3;
  --ops-neon:#b8bdb4;
  --ops-border:#3b3f3a;
  --ops-muted:#a7aba3;
  --design-neon:#b8bdb4;
}
body.admin-page,
body.login-page{background:#090a09!important;color:#f0f2ec!important}
body.admin-page .admin-shell,
body.admin-page .admin-main,
body.admin-page .content{background:#090a09!important}
body.admin-page .admin-shell>aside,
body.admin-page .admin-sidebar,
body.admin-page .admin-topbar,
body.admin-page .admin-main>header{background:#0d0f0d!important;border-color:#30342f!important}
body.admin-page .admin-brand,
body.admin-page .admin-brand span,
body.admin-page .admin-brand strong{color:#f0f2ec!important}
body.admin-page .admin-nav-group-toggle,
body.admin-page .admin-nav-group-links>a,
body.admin-page .admin-sidebar-site-link,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button{color:#c4c8c0!important}
body.admin-page .admin-nav-group-toggle:hover,
body.admin-page .admin-nav-group.is-active>.admin-nav-group-toggle,
body.admin-page .admin-nav-group-links>a:hover,
body.admin-page .admin-nav-group-links>a.active,
body.admin-page .admin-nav-group-links>a[aria-current="page"],
body.admin-page .admin-sidebar-site-link:hover,
body.admin-page .admin-sidebar-site-link:focus-visible,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:hover,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:focus-visible{
  background:#222522!important;
  border-color:#4e534d!important;
  border-left-color:#b8bdb4!important;
  color:#f7f8f4!important;
}
body.admin-page .admin-nav-group-icon,
body.admin-page .admin-nav-icon,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button>span:first-child{color:#b8bdb4!important}
body.admin-page .panel,
body.admin-page .stat-grid>a,
body.admin-page .stat-grid>div,
body.admin-page .dashboard-kpi-card,
body.admin-page .dashboard-quick-action,
body.admin-page .dashboard-welcome,
body.admin-page .attention-list a,
body.admin-page .workflow-action-card,
body.admin-page .message-thread .message{background:#151715!important;border-color:#3b3f3a!important;color:#f0f2ec!important}
body.admin-page .stat-grid>a,
body.admin-page .stat-grid>div,
body.admin-page .business-kpi-grid>*{border-top-color:#696e67!important}
body.admin-page .business-kpi-grid>*{background:linear-gradient(145deg,#1b1e1b,#111311)!important;border-color:#3b3f3a!important;color:#f0f2ec!important}
body.admin-page .business-kpi-grid small,
body.admin-page .business-kpi-grid strong,
body.admin-page .panel-head>strong,
body.admin-page .dashboard-kpi-card .icon,
body.admin-page .dashboard-kpi-card svg,
body.admin-page .eyebrow,
body.admin-page .kicker,
body.admin-page .stat-card strong,
body.admin-page .text-link,
body.admin-page a.text-link{color:#c6cbc3!important}
body.admin-page .btn.primary,
body.admin-page button.primary,
body.login-page .btn.primary,
body.admin-page .admin-mobile-menu-button{
  background:#292c29!important;
  border-color:#565c55!important;
  color:#f5f6f1!important;
  box-shadow:none!important;
}
body.admin-page .btn.primary:hover,
body.admin-page .btn.primary:focus-visible,
body.admin-page button.primary:hover,
body.admin-page button.primary:focus-visible,
body.login-page .btn.primary:hover,
body.login-page .btn.primary:focus-visible,
body.admin-page .admin-mobile-menu-button:hover,
body.admin-page .admin-mobile-menu-button:focus-visible{background:#3b3f3a!important;border-color:#858b82!important;color:#fff!important}
body.admin-page input:focus,
body.admin-page select:focus,
body.admin-page textarea:focus{border-color:#858b82!important;box-shadow:0 0 0 2px rgba(220,224,216,.13)!important}
body.admin-page :focus-visible,
body.login-page :focus-visible{outline-color:#b8bdb4!important}
body.admin-page th{background:#202320!important;color:#d9ddd5!important;border-color:#3b3f3a!important}
body.admin-page .line-chart polyline,
body.admin-page .line-chart circle,
body.admin-page .performance-comparison-chart .current-line,
body.admin-page .performance-comparison-chart .current-point{stroke:#bcc1b8!important;filter:none!important}
body.admin-page .bar-chart-list em,
body.admin-page .daily-bar-chart i,
body.admin-page .performance-chart-legend span::before{background:#777d75!important}
body.admin-page .benefit-grid>div>span,
body.admin-page .attention-list i{background:#2e322e!important;color:#d9ddd5!important}
body.admin-page .benefit-note,
body.admin-page .manual-order-note{background:#1c1f1c!important;border-left-color:#747a72!important}
body.admin-page .alert.success{background:#202420!important;border-color:#4a5048!important;border-left-color:#747a72!important;color:#dde1d9!important}
body.login-page{background:radial-gradient(circle at 70% 10%,#262926,#111311 45%,#050605)!important}
body.login-page .login-card{background:#151715!important;border-color:#3b3f3a!important;border-top-color:#737970!important;color:#f0f2ec!important}
body.login-page .login-card h1,
body.login-page .login-card>a{color:#d3d7cf!important}
body.admin-page .cast-media-manager .media-upload-box h3,
body.admin-page .cast-media-manager .admin-media-library>section>h3,
body.admin-page .notification-mail-content>span,
body.admin-page .dashboard-inline-link,
body.admin-page .dashboard-row-link:hover{color:#c6cbc3!important}
body.admin-page .admin-nav-group.is-active .admin-nav-group-icon{filter:none!important}
body.admin-page .dashboard-welcome::after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.025) 60%,transparent 100%)!important}
body.admin-page .dashboard-attendance-photo i.is-working{background:#747a72!important;box-shadow:none!important}
body.admin-page .admin-topbar,
body.admin-page .admin-topbar-tools,
body.admin-page .admin-topbar-clock,
body.admin-page .admin-topbar-user,
body.admin-page .admin-topbar-clock span,
body.admin-page .admin-topbar-clock strong,
body.admin-page .admin-topbar-user>span,
body.admin-page .admin-topbar-user .icon{
  color:#d7b45a!important;
}
body.admin-page .admin-topbar-user{border-left-color:#6b5731!important}

/* Reference palette: black / brown-charcoal / gold only. */
body.admin-page,
body.login-page{
  --admin-neon:#c4a15a;
  --admin-black:#070707;
  --admin-bg:#0b0b0b;
  --admin-panel:#151515;
  --admin-line:#4a3a22;
  --admin-text:#eee7d6;
  --admin-muted:#b4a789;
  --ops-neon:#c4a15a;
  --ops-border:#4a3a22;
  --ops-muted:#b4a789;
  --design-neon:#c4a15a;
  --design-neon-soft:#b4a789;
  --design-line:#4a3a22;
  --design-text:#eee7d6;
  --design-muted:#b4a789;
  background:#0b0b0b!important;
  color:#eee7d6!important;
}
body.admin-page .admin-shell,
body.admin-page .admin-main,
body.admin-page .content{background:#0b0b0b!important}
body.admin-page .admin-shell>aside,
body.admin-page .admin-sidebar,
body.admin-page .admin-topbar,
body.admin-page .admin-main>header{
  background:#080808!important;
  border-color:#4a3a22!important;
}
body.admin-page .admin-brand{
  background:#0b0b0b!important;
  border-color:#4a3a22!important;
}
body.admin-page .admin-brand,
body.admin-page .admin-brand span,
body.admin-page .admin-brand strong,
body.admin-page .admin-brand small{color:#eee7d6!important}
body.admin-page .admin-nav-group-toggle,
body.admin-page .admin-nav-group-links>a,
body.admin-page .admin-sidebar-site-link,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button{
  color:#d2c4a5!important;
}
body.admin-page .admin-nav-group-toggle:hover,
body.admin-page .admin-nav-group.is-active>.admin-nav-group-toggle,
body.admin-page .admin-nav-group-links>a:hover,
body.admin-page .admin-nav-group-links>a.active,
body.admin-page .admin-nav-group-links>a[aria-current="page"],
body.admin-page .admin-sidebar-site-link:hover,
body.admin-page .admin-sidebar-site-link:focus-visible,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:hover,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:focus-visible{
  background:#211b12!important;
  border-color:#6b5731!important;
  border-left-color:#c4a15a!important;
  color:#d7b45a!important;
}
body.admin-page .admin-nav-group-icon,
body.admin-page .admin-nav-icon,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button>span:first-child{
  color:#c4a15a!important;
}
body.admin-page .panel,
body.admin-page .stat-grid>a,
body.admin-page .stat-grid>div,
body.admin-page .dashboard-kpi-card,
body.admin-page .dashboard-quick-action,
body.admin-page .dashboard-welcome,
body.admin-page .attention-list a,
body.admin-page .workflow-action-card,
body.admin-page .message-thread .message{
  background:#151515!important;
  border-color:#4a3a22!important;
  color:#eee7d6!important;
}
body.admin-page .business-kpi-grid>*{
  background:linear-gradient(145deg,#1b1711,#121212)!important;
  border-color:#4a3a22!important;
  border-top-color:#c4a15a!important;
  color:#eee7d6!important;
}
body.admin-page .stat-grid>a,
body.admin-page .stat-grid>div{border-top-color:#c4a15a!important}
body.admin-page .business-kpi-grid small,
body.admin-page .business-kpi-grid strong,
body.admin-page .panel-head>strong,
body.admin-page .dashboard-kpi-card .icon,
body.admin-page .dashboard-kpi-card svg,
body.admin-page .eyebrow,
body.admin-page .kicker,
body.admin-page .stat-card strong,
body.admin-page .text-link,
body.admin-page a.text-link,
body.admin-page .admin-page-heading>div>span,
body.admin-page .panel-head>div>span,
body.admin-page .dashboard-inline-link{
  color:#d7b45a!important;
}
body.admin-page .btn.primary,
body.admin-page button.primary,
body.admin-page .admin-mobile-menu-button{
  background:#c4a15a!important;
  border-color:#c4a15a!important;
  color:#15130e!important;
  box-shadow:none!important;
}
body.admin-page .btn.primary:hover,
body.admin-page .btn.primary:focus-visible,
body.admin-page button.primary:hover,
body.admin-page button.primary:focus-visible,
body.admin-page .admin-mobile-menu-button:hover,
body.admin-page .admin-mobile-menu-button:focus-visible{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#15130e!important;
}
body.admin-page .btn.ghost,
body.admin-page .btn:not(.primary):not(.danger){
  background:#171717!important;
  border-color:#6b5731!important;
  color:#d7b45a!important;
}
body.admin-page input,
body.admin-page select,
body.admin-page textarea{
  background:#0d0d0d!important;
  border-color:#4a3a22!important;
  color:#eee7d6!important;
}
body.admin-page input::placeholder,
body.admin-page textarea::placeholder{color:#8f8168!important}
body.admin-page input:focus,
body.admin-page select:focus,
body.admin-page textarea:focus{
  border-color:#c4a15a!important;
  box-shadow:0 0 0 2px rgba(196,161,90,.16)!important;
}
body.admin-page :focus-visible,
body.login-page :focus-visible{
  outline:2px solid #c4a15a!important;
  outline-offset:2px!important;
}
body.admin-page th{
  background:#241d13!important;
  color:#d7b45a!important;
  border-color:#4a3a22!important;
}
body.admin-page td{
  background:#151515!important;
  color:#eee7d6!important;
  border-color:#352b1d!important;
}
body.admin-page tr:hover td{background:#1e1912!important}
body.admin-page .badge{
  background:#241d13!important;
  border-color:#5b472b!important;
  color:#d7b45a!important;
}
body.admin-page .badge.cancelled,
body.admin-page .badge.rejected,
body.admin-page .badge.failed,
body.admin-page .btn.danger{
  background:#7f3030!important;
  border-color:#b74848!important;
  color:#fff!important;
}
body.admin-page .alert.success{
  background:#211b12!important;
  border-color:#6b5731!important;
  border-left-color:#c4a15a!important;
  color:#eee7d6!important;
}
body.admin-page .alert.error{
  background:#321817!important;
  border-color:#7f3030!important;
  color:#f3c6c2!important;
}
body.admin-page .line-chart polyline,
body.admin-page .line-chart circle,
body.admin-page .performance-comparison-chart .current-line,
body.admin-page .performance-comparison-chart .current-point{
  stroke:#c4a15a!important;
  filter:none!important;
}
body.admin-page .bar-chart-list em,
body.admin-page .daily-bar-chart i,
body.admin-page .performance-chart-legend span::before{
  background:#c4a15a!important;
}
body.admin-page .dashboard-attendance-photo i.is-working,
body.admin-page .benefit-grid>div>span,
body.admin-page .attention-list i{
  background:#c4a15a!important;
  color:#15130e!important;
  box-shadow:none!important;
}
body.login-page{
  background:radial-gradient(circle at 70% 10%,#2a2115,#111 45%,#050505)!important;
}
body.login-page .login-card{
  background:#151515!important;
  border-color:#4a3a22!important;
  border-top-color:#c4a15a!important;
  color:#eee7d6!important;
}
body.login-page .login-card h1,
body.login-page .login-card>a{color:#d7b45a!important}
body.login-page input:focus,
body.login-page select:focus,
body.login-page textarea:focus{
  border-color:#c4a15a!important;
  box-shadow:0 0 0 2px rgba(196,161,90,.16)!important;
}
body.login-page .btn.primary{
  background:#c4a15a!important;
  border-color:#c4a15a!important;
  color:#15130e!important;
}
body.admin-page .admin-topbar,
body.admin-page .admin-topbar-tools,
body.admin-page .admin-topbar-clock,
body.admin-page .admin-topbar-user,
body.admin-page .admin-topbar-clock span,
body.admin-page .admin-topbar-clock strong,
body.admin-page .admin-topbar-user>span,
body.admin-page .admin-topbar-user .icon{
  color:#d7b45a!important;
}
body.admin-page .admin-topbar-user{border-left-color:#6b5731!important}

/* Final admin palette pass: keep every inherited accent in the dark-gold family. */
body.admin-page{
  --admin-neon:#c4a15a!important;
  --ops-neon:#c4a15a!important;
  --ops-border:#4a3a22!important;
  --ops-muted:#b4a789!important;
  --design-neon:#c4a15a!important;
  --design-neon-soft:#b4a789!important;
  --design-line:#4a3a22!important;
  --design-text:#eee7d6!important;
  --design-muted:#b4a789!important;
}
body.admin-page .dashboard-welcome{
  background:
    linear-gradient(90deg,rgba(7,7,7,.96) 0%,rgba(7,7,7,.82) 45%,rgba(7,7,7,.36) 100%),
    url('../img/demo/admin-dashboard-bg.webp') center/cover!important;
  border-color:#4a3a22!important;
}
body.admin-page .dashboard-welcome::after{
  background:linear-gradient(90deg,transparent 0%,rgba(196,161,90,.08) 62%,transparent 100%)!important;
}
body.admin-page .cast-media-manager .media-upload-box h3,
body.admin-page .cast-media-manager .admin-media-library>section>h3,
body.admin-page .notification-mail-content>span,
body.admin-page .dashboard-inline-link,
body.admin-page .dashboard-row-link,
body.admin-page .dashboard-row-link:hover,
body.admin-page .dashboard-date small,
body.admin-page .admin-page-heading>div>span,
body.admin-page .panel-head>div>span{
  color:#d7b45a!important;
}
body.admin-page .dashboard-row-link:hover{
  background:rgba(196,161,90,.08)!important;
  border-color:#806735!important;
}
body.admin-page .admin-nav-group.is-active .admin-nav-group-icon,
body.admin-page .admin-nav-group-links>a.active .admin-nav-icon,
body.admin-page .admin-sidebar-user small{
  color:#d7b45a!important;
  filter:none!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card:hover{
  border-left-color:#c4a15a!important;
}

/* Schedule management: weekly matrix layout based on the supplied attendance reference. */
body.admin-page .attendance-page-intro{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid #4a3a22!important;
}
body.admin-page .attendance-page-intro>div>span{
  display:block!important;
  margin-bottom:5px!important;
  color:#d7b45a!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
}
body.admin-page .attendance-page-intro h1{
  margin:0!important;
  color:#f0e7d6!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.1!important;
}
body.admin-page .attendance-page-intro p{margin:7px 0 0!important;color:#b4a789!important;font-size:12px!important}
body.admin-page .attendance-guide-button{min-height:38px!important;white-space:nowrap!important}
body.admin-page .attendance-matrix-controls{padding:14px 16px!important;margin-bottom:14px!important}
body.admin-page .attendance-matrix-controls .attendance-toolbar{align-items:flex-end!important;margin:0!important}
body.admin-page .attendance-matrix-controls .attendance-filter-form,
body.admin-page .attendance-toolbar-actions{align-items:flex-end!important}
body.admin-page .attendance-toolbar-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
body.admin-page .attendance-toolbar-actions label{display:grid!important;gap:5px!important;color:#b4a789!important;font-size:10px!important}
body.admin-page .attendance-toolbar-actions select{min-width:96px!important}
body.admin-page .attendance-matrix-form{display:grid!important;gap:14px!important;min-width:0!important}
body.admin-page .attendance-week-panel{padding:0!important;overflow:hidden!important}
body.admin-page .attendance-week-table-wrap{width:100%!important;overflow-x:auto!important}
body.admin-page .attendance-week-table{
  width:100%!important;
  min-width:1160px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#121212!important;
}
body.admin-page .attendance-week-table th,
body.admin-page .attendance-week-table td{
  box-sizing:border-box!important;
  border-right:1px solid #3d3220!important;
  border-bottom:1px solid #3d3220!important;
  vertical-align:top!important;
}
body.admin-page .attendance-week-table tr>*:last-child{border-right:0!important}
body.admin-page .attendance-week-table thead th{
  height:64px!important;
  padding:10px 7px!important;
  background:#1c1913!important;
  color:#eee7d6!important;
  text-align:center!important;
}
body.admin-page .attendance-week-table thead th:first-child{
  width:190px!important;
  text-align:left!important;
}
body.admin-page .attendance-week-day strong{display:block!important;color:#f0e7d6!important;font-size:12px!important}
body.admin-page .attendance-week-day small{display:block!important;margin-top:7px!important;color:#b4a789!important;font-size:9px!important;font-weight:600!important}
body.admin-page .attendance-week-day.is-saturday{background:#1b2730!important}
body.admin-page .attendance-week-day.is-saturday strong{color:#9dc7e8!important}
body.admin-page .attendance-week-day.is-sunday{background:#2a1c1d!important}
body.admin-page .attendance-week-day.is-sunday strong{color:#dc9a9b!important}
body.admin-page .attendance-week-person-head{width:190px!important}
body.admin-page .attendance-week-person{
  width:190px!important;
  padding:10px 9px!important;
  background:#171510!important;
  color:#eee7d6!important;
  text-align:left!important;
}
body.admin-page .attendance-week-person-main{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
body.admin-page .attendance-week-person-main img,
body.admin-page .attendance-week-avatar{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  border:1px solid #6b5731!important;
  border-radius:4px!important;
  object-fit:cover!important;
  background:#282116!important;
}
body.admin-page .attendance-week-avatar{display:grid!important;place-items:center!important;color:#d7b45a!important;font-size:18px!important;font-weight:800!important}
body.admin-page .attendance-week-person-main>div{min-width:0!important}
body.admin-page .attendance-week-person-main strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#f0e7d6!important;font-size:12px!important}
body.admin-page .attendance-week-person-main small{display:block!important;margin-top:3px!important;color:#b4a789!important;font-size:9px!important}
body.admin-page .attendance-week-person>a{display:inline-block!important;margin-top:7px!important;color:#d7b45a!important;font-size:9px!important;text-decoration:underline!important}
body.admin-page .attendance-week-cell{height:114px!important;padding:7px 5px!important;background:#151515!important}
body.admin-page .attendance-week-cell:hover{background:#1e1912!important}
body.admin-page .attendance-status-select{width:100%!important;min-height:28px!important;padding:3px 4px!important;border-color:#4a3a22!important;border-radius:3px!important;background:#0d0d0d!important;color:#eee7d6!important;font-size:10px!important}
body.admin-page .attendance-week-cell.is-working .attendance-status-select{border-color:#806735!important;color:#d7b45a!important}
body.admin-page .attendance-week-cell.is-off .attendance-status-select{background:#2a2926!important;color:#b4b0a5!important}
body.admin-page .attendance-week-cell .dynamic-shift-list{display:grid!important;gap:4px!important;margin-top:6px!important}
body.admin-page .attendance-week-cell .dynamic-shift-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 9px minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:3px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.admin-page .attendance-week-cell .dynamic-shift-row>[data-field="id"],
body.admin-page .attendance-week-cell .dynamic-shift-row .shift-number,
body.admin-page .attendance-week-cell .dynamic-shift-row .shift-note-mini{display:none!important}
body.admin-page .attendance-week-cell .dynamic-shift-row>input[type="time"]{min-width:0!important;width:100%!important;height:25px!important;padding:2px!important;font-size:9px!important}
body.admin-page .attendance-week-cell .dynamic-shift-row>span{color:#a89574!important;font-size:9px!important;text-align:center!important}
body.admin-page .attendance-week-cell .dynamic-shift-row .shift-remove{width:20px!important;height:25px!important;padding:0!important;border:1px solid #5e392d!important;background:#211514!important;color:#d6a39b!important;font-size:12px!important;line-height:1!important}
body.admin-page .attendance-week-cell .shift-add{width:100%!important;min-height:23px!important;margin-top:2px!important;padding:2px 3px!important;border-color:#5c4a2d!important;background:#211d15!important;color:#d7b45a!important;font-size:8px!important;white-space:nowrap!important}
body.admin-page .attendance-week-cell .attendance-note-input{width:100%!important;min-height:21px!important;margin:5px 0 0!important;padding:2px 4px!important;border-color:#352b1d!important;background:#101010!important;color:#b4a789!important;font-size:8px!important}
body.admin-page .attendance-week-cell.is-off .dynamic-shift-list{opacity:.42!important}
body.admin-page .attendance-week-legend{display:flex!important;align-items:center!important;gap:16px!important;flex-wrap:wrap!important;padding:11px 14px!important;background:#111!important;color:#cfc2aa!important;font-size:10px!important}
body.admin-page .attendance-week-legend b{display:inline-grid!important;place-items:center!important;width:18px!important;height:18px!important;margin-right:4px!important;border-radius:3px!important;font-size:11px!important}
body.admin-page .attendance-week-legend .legend-working{background:#c4a15a!important;color:#15130e!important}
body.admin-page .attendance-week-legend .legend-off{background:#3a3934!important;color:#eee7d6!important}
body.admin-page .attendance-week-legend small{margin-left:auto!important;color:#8f8168!important}
body.admin-page .attendance-matrix-form>.sticky-save{margin:0!important;border:1px solid #4a3a22!important;border-radius:5px!important;background:#111!important}
body.admin-page .attendance-matrix-form>.sticky-save .btn{width:100%!important;min-height:42px!important;font-size:13px!important}
body.admin-page .shift-only-admin[hidden]{display:none!important}
@media(max-width:1100px){
  body.admin-page .attendance-week-table{min-width:1080px!important}
  body.admin-page .attendance-week-table thead th:first-child,
  body.admin-page .attendance-week-person{width:165px!important}
}
@media(max-width:700px){
  body.admin-page .attendance-page-intro{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}
  body.admin-page .attendance-page-intro h1{font-size:28px!important}
  body.admin-page .attendance-matrix-controls .attendance-toolbar{align-items:stretch!important;flex-direction:column!important}
  body.admin-page .attendance-toolbar-actions{justify-content:space-between!important}
  body.admin-page .attendance-week-legend small{width:100%!important;margin-left:0!important}
}

/* Attendance controls and compact one-line day cells. */
body.admin-page .attendance-matrix-controls .attendance-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
body.admin-page .attendance-matrix-controls .attendance-filter-form{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
body.admin-page .attendance-week-switcher{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  flex:0 0 auto!important;
}
body.admin-page .attendance-week-arrow{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  min-width:42px!important;
  height:40px!important;
  padding:0!important;
  border-color:#4d4028!important;
  border-radius:0!important;
  font-size:24px!important;
  line-height:1!important;
}
body.admin-page .attendance-week-arrow:first-child{border-radius:5px 0 0 5px!important}
body.admin-page .attendance-week-arrow:nth-of-type(2){border-radius:0 5px 5px 0!important}
body.admin-page .attendance-date-display{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:278px!important;
  height:40px!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  border-top:1px solid #4d4028!important;
  border-bottom:1px solid #4d4028!important;
  background:#15130f!important;
  color:#f0e7d6!important;
  cursor:pointer!important;
}
body.admin-page .attendance-date-display>span{color:#d7b45a!important;font-size:17px!important}
body.admin-page .attendance-date-display strong{font-size:12px!important;font-weight:700!important;white-space:nowrap!important}
body.admin-page .attendance-date-display input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
}
body.admin-page .attendance-current-week{
  margin-left:14px!important;
  min-width:72px!important;
  height:40px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-filter-selects{
  display:flex!important;
  align-items:flex-end!important;
  gap:10px!important;
}
body.admin-page .attendance-filter-selects label{
  display:grid!important;
  gap:5px!important;
  min-width:132px!important;
  color:#b4a789!important;
  font-size:10px!important;
}
body.admin-page .attendance-filter-selects label:last-child{min-width:112px!important}
body.admin-page .attendance-filter-selects select{width:100%!important}
body.admin-page .attendance-top-save{
  min-width:150px!important;
  min-height:42px!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-bulk-bar{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  padding:10px 14px!important;
  box-sizing:border-box!important;
  border:1px solid #4a3a22!important;
  border-radius:5px!important;
  background:#171510!important;
  color:#eee7d6!important;
}
body.admin-page .attendance-bulk-bar>strong{
  margin-right:4px!important;
  color:#f0e7d6!important;
  font-size:14px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-bulk-bar input[type=time]{
  width:82px!important;
  min-width:82px!important;
  height:32px!important;
  padding:3px 6px!important;
  font-size:11px!important;
}
body.admin-page .attendance-bulk-bar>span{color:#b4a789!important}
body.admin-page .attendance-bulk-bar label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-left:8px!important;
  color:#d8ceb9!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-bulk-bar label input{accent-color:#c4a15a!important}
body.admin-page .attendance-bulk-bar [data-attendance-apply-all]{margin-left:auto!important;white-space:nowrap!important}
body.admin-page .attendance-day-line{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
}
body.admin-page .attendance-day-line .attendance-status-select{
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  height:25px!important;
  padding:2px!important;
  font-size:8px!important;
}
body.admin-page .attendance-week-cell .dynamic-shift-list{
  flex:1 1 auto!important;
  min-width:0!important;
  margin-top:0!important;
}
body.admin-page .attendance-week-cell .dynamic-shift-row{
  grid-template-columns:42px minmax(0,1fr) 7px minmax(0,1fr)!important;
  gap:2px!important;
}
body.admin-page .attendance-week-cell .dynamic-shift-row .attendance-status-select{
  display:block!important;
  grid-column:auto!important;
  width:42px!important;
  min-width:42px!important;
  height:25px!important;
  padding:2px!important;
  font-size:8px!important;
}
body.admin-page .attendance-week-cell .dynamic-shift-row .shift-remove,
body.admin-page .attendance-week-cell .dynamic-shift-row .shift-number,
body.admin-page .attendance-week-cell .dynamic-shift-row .shift-note-mini,
body.admin-page .attendance-week-cell .shift-add,
body.admin-page .attendance-week-cell .attendance-note-input{
  display:none!important;
}
body.admin-page .attendance-overnight{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  flex:0 0 24px!important;
  color:#cfc2aa!important;
  font-size:8px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-overnight input{
  width:16px!important;
  height:16px!important;
  margin:0!important;
  accent-color:#d7b45a!important;
}
body.admin-page .attendance-hidden-shift{display:none!important}
body.admin-page .attendance-bottom-save{display:none!important}
body.admin-page .attendance-week-cell{height:70px!important;padding:10px 5px!important;vertical-align:middle!important}
body.admin-page .attendance-week-cell.is-off .attendance-day-line{opacity:.7!important}
body.admin-page .attendance-week-cell.is-off .attendance-status-select{background:#3a3934!important;color:#eee7d6!important}
body.admin-page .attendance-week-cell.is-working .attendance-status-select{color:#d7b45a!important}

@media(max-width:1100px){
  body.admin-page .attendance-matrix-controls .attendance-filter-form{flex-wrap:wrap!important}
  body.admin-page .attendance-filter-selects{margin-left:auto!important}
}
@media(max-width:700px){
  body.admin-page .attendance-matrix-controls .attendance-filter-form{align-items:stretch!important;flex-direction:column!important}
  body.admin-page .attendance-week-switcher{width:100%!important}
  body.admin-page .attendance-date-display{flex:1 1 auto!important;width:auto!important}
  body.admin-page .attendance-filter-selects{width:100%!important;margin-left:0!important}
  body.admin-page .attendance-filter-selects label{flex:1 1 0!important;min-width:0!important}
  body.admin-page .attendance-bulk-bar{align-items:flex-start!important;flex-wrap:wrap!important}
  body.admin-page .attendance-bulk-bar [data-attendance-apply-all]{margin-left:0!important}
}

/* Final attendance/admin shell alignment requested for the reference layout. */
body.admin-page .content{
  padding:30px 15px 60px!important;
}
body.admin-page .attendance-matrix-controls{
  padding:0!important;
  margin:0 0 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.admin-page .attendance-page-intro{
  padding-bottom:0!important;
  border-bottom:0!important;
}
body.admin-page .attendance-week-person-main{
  align-items:center!important;
}
body.admin-page .attendance-week-person-main>div{
  flex:1 1 auto!important;
}
body.admin-page .attendance-person-name-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:7px!important;
  min-width:0!important;
}
body.admin-page .attendance-person-name-row strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-person-detail-link{
  flex:0 0 auto!important;
  margin:0!important;
  padding:3px 6px!important;
  border:1px solid #6b5731!important;
  border-radius:3px!important;
  color:#d7b45a!important;
  font-size:9px!important;
  line-height:1.2!important;
  text-decoration:none!important;
}
body.admin-page .attendance-person-detail-link:hover,
body.admin-page .attendance-person-detail-link:focus-visible{
  background:#211b12!important;
  border-color:#c4a15a!important;
  color:#f0e7d6!important;
}
body.admin-page .attendance-week-table-wrap{
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-color:#6b5731 #111!important;
}
body.admin-page .attendance-week-table{
  min-width:1160px!important;
}
body.admin-page .attendance-week-table thead th:first-child,
body.admin-page .attendance-week-table tbody .attendance-week-person{
  position:sticky!important;
  left:0!important;
  z-index:3!important;
}
body.admin-page .attendance-week-table thead th:first-child{
  z-index:5!important;
}
body.admin-page .attendance-week-table tbody .attendance-week-person{
  box-shadow:4px 0 0 #3d3220!important;
}

@media(min-width:1051px){
  body.admin-page .admin-shell{
    grid-template-columns:210px minmax(0,1fr)!important;
  }
  body.admin-page .admin-shell>aside{
    width:210px!important;
  }
}
@media(max-width:1050px){
  body.admin-page .admin-shell>aside{
    width:min(220px,78vw)!important;
  }
}

/* Final compact matrix controls and two-line therapist identity. */
body.admin-page .admin-shell>aside{
  width:210px!important;
}
body.admin-page .attendance-matrix-controls .attendance-filter-form{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.admin-page .attendance-week-person-main{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:stretch!important;
  gap:8px!important;
}
body.admin-page .attendance-person-identity{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:3px!important;
}
body.admin-page .attendance-person-name-row{
  display:block!important;
  min-width:0!important;
}
body.admin-page .attendance-person-detail-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  min-width:34px!important;
  min-height:0!important;
  margin:0!important;
  padding:3px 6px!important;
}
body.admin-page .attendance-day-line-labels{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:4px!important;
  margin:0 0 3px!important;
  color:#a89574!important;
  font-size:8px!important;
  line-height:1!important;
  text-align:center!important;
}
body.admin-page .attendance-day-line-labels>span:first-child{
  padding-left:42px!important;
}
body.admin-page .attendance-day-line-labels>span:last-child{
  white-space:nowrap!important;
}
body.admin-page .attendance-day-line{
  gap:4px!important;
}
body.admin-page .attendance-week-cell{
  height:76px!important;
  padding:8px 5px!important;
}
body.admin-page .attendance-week-cell .dynamic-shift-row>input[type=time]{
  font-size:8px!important;
}
body.admin-page .attendance-overnight{
  flex-basis:24px!important;
}
body.admin-page .attendance-week-table thead th:first-child,
body.admin-page .attendance-week-person{
  width:210px!important;
}
@media(max-width:1100px){
  body.admin-page .attendance-week-table thead th:first-child,
  body.admin-page .attendance-week-person{
    width:210px!important;
  }
}

/* Bulk actions: copy the previous week and reserve the template slot. */
body.admin-page .attendance-control-cards{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
}
body.admin-page .attendance-control-cards .attendance-bulk-bar{
  min-width:0!important;
  margin:0!important;
}
body.admin-page .attendance-bulk-extra-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  align-self:stretch!important;
  margin:0!important;
  padding:4px!important;
  border:1px solid #4a3a22!important;
  border-radius:5px!important;
  background:#111!important;
}
body.admin-page .attendance-bulk-extra-actions .btn{
  min-height:32px!important;
  padding:6px 9px!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-template-button{
  color:#a89574!important;
  border-color:#4a3a22!important;
  background:#211d15!important;
}

/* Increase text outside the page intro by 2px without changing its heading scale. */
body.admin-page .content> :not(.attendance-page-intro){
  font-size:16px!important;
}
body.admin-page .attendance-matrix-controls .attendance-filter-selects label,
body.admin-page .attendance-matrix-controls .attendance-toolbar-actions label{
  font-size:12px!important;
}
body.admin-page .attendance-date-display strong{
  font-size:14px!important;
}
body.admin-page .attendance-current-week{
  font-size:13px!important;
}
body.admin-page .attendance-top-save{
  font-size:15px!important;
}
body.admin-page .attendance-bulk-bar>strong{
  font-size:16px!important;
}
body.admin-page .attendance-bulk-bar label{
  font-size:13px!important;
}
body.admin-page .attendance-bulk-bar input[type=time]{
  font-size:13px!important;
}
body.admin-page .attendance-bulk-bar [data-attendance-apply-all]{
  font-size:13px!important;
}
body.admin-page .attendance-week-day strong{
  font-size:14px!important;
}
body.admin-page .attendance-week-person-main strong{
  font-size:14px!important;
}
body.admin-page .attendance-week-person-main small{
  font-size:11px!important;
}
body.admin-page .attendance-person-detail-link{
  font-size:11px!important;
}
body.admin-page .attendance-day-line-labels{
  font-size:10px!important;
}
body.admin-page .attendance-week-cell .attendance-status-select,
body.admin-page .attendance-week-cell .dynamic-shift-row>input[type=time]{
  font-size:10px!important;
}
body.admin-page .attendance-overnight{
  font-size:10px!important;
}
body.admin-page .attendance-week-legend{
  font-size:12px!important;
}
body.admin-page .attendance-week-legend small{
  font-size:10px!important;
}

@media(max-width:700px){
  body.admin-page .attendance-control-cards{
    grid-template-columns:1fr!important;
  }
  body.admin-page .attendance-bulk-extra-actions{
    width:100%!important;
    justify-content:flex-start!important;
    padding:4px!important;
  }
}
/* Schedule status is derived from the start/end time fields: 00:00–00:00 means off. */
body.admin-page .attendance-status-select{display:none!important}
body.admin-page .attendance-week-cell .dynamic-shift-row{grid-template-columns:minmax(0,1fr) 7px minmax(0,1fr)!important}
body.admin-page .attendance-day-line-labels>span:first-child{padding-left:0!important}
body.admin-page .attendance-shift-editor{position:relative;flex:1 1 auto;min-width:0}
body.admin-page .attendance-shift-editor .dynamic-shift-list{width:100%!important}
body.admin-page .attendance-off-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
  border:1px solid #514e48;
  border-radius:3px;
  background:rgba(61,60,56,.96);
  color:#f0e7d6;
  cursor:pointer;
  transition:opacity .16s ease,visibility .16s ease;
}
body.admin-page .attendance-off-overlay strong{font-size:11px!important;font-weight:700}
body.admin-page .attendance-off-overlay small{font-size:9px!important;color:#d1c7b5}
body.admin-page .attendance-shift-editor:hover .attendance-off-overlay,
body.admin-page .attendance-shift-editor:focus-within .attendance-off-overlay{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
body.admin-page .attendance-shift-editor:hover .dynamic-shift-list,
body.admin-page .attendance-shift-editor:focus-within .dynamic-shift-list{
  opacity:1!important;
}
body.admin-page .attendance-week-legend{
  align-items:center!important;
  gap:14px!important;
  flex-wrap:nowrap!important;
}
body.admin-page .attendance-week-legend>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}
body.admin-page .attendance-week-legend b{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
}
body.admin-page .attendance-week-legend .legend-overnight-allowed{
  border-radius:3px!important;
  background:#c7ef00!important;
  color:#111!important;
}
body.admin-page .attendance-week-legend .legend-overnight-disabled{
  border:1px solid #d6d1c5!important;
  border-radius:3px!important;
  background:transparent!important;
}
body.admin-page .attendance-week-legend .legend-off{
  width:48px!important;
  border-radius:3px!important;
  background:#454541!important;
  color:#f0e7d6!important;
  font-size:10px!important;
}
body.admin-page .attendance-week-legend .legend-saturday,
body.admin-page .attendance-week-legend .legend-sunday{
  width:20px!important;
  height:20px!important;
  border-radius:3px!important;
}
body.admin-page .attendance-week-legend .legend-saturday{background:#244763!important}
body.admin-page .attendance-week-legend .legend-sunday{background:#633038!important}
body.admin-page .attendance-week-cell:not(.is-off) .attendance-off-overlay{display:none!important}
@media(max-width:900px){
  body.admin-page .attendance-week-legend{flex-wrap:wrap!important}
  body.admin-page .attendance-week-legend small{width:100%!important;margin-left:0!important}
}

/* =========================================================
   RESERVATIONS DASHBOARD — dark antique-gold reference layout
   ========================================================= */
body.admin-page .booking-admin-page{
  display:grid;
  gap:14px;
  width:100%;
  color:#eee8dc;
}
body.admin-page .booking-hero-banner{
  position:relative;
  isolation:isolate;
  min-height:166px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  overflow:hidden;
  padding:24px 28px;
  border:1px solid #4a3d27;
  border-radius:12px;
  background:#0b0c0a url("../img/admin-bookings-banner.png") center/cover no-repeat;
}
body.admin-page .booking-hero-banner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(7,9,7,.94) 0%,rgba(7,9,7,.78) 40%,rgba(7,9,7,.22) 100%);
}
body.admin-page .booking-hero-banner>div:first-child{position:relative;z-index:1}
body.admin-page .booking-hero-banner>div:first-child>span{
  display:block;
  margin-bottom:4px;
  color:#d7b45a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.2em;
}
body.admin-page .booking-hero-banner h1{
  margin:0;
  color:#f6f1e8;
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  letter-spacing:-.04em;
}
body.admin-page .booking-hero-banner p{
  margin:8px 0 0;
  color:#d1c8b6;
  font-size:13px;
}
body.admin-page .booking-hero-mark{
  position:relative;
  z-index:1;
  color:#d7b45a;
  font-size:10px;
  line-height:1.55;
  letter-spacing:.18em;
  text-align:right;
}
body.admin-page .booking-hero-mark small{font-size:8px;color:#d8c7a6}
body.admin-page .booking-view-tabs{
  display:flex;
  align-items:stretch;
  gap:2px;
  padding:0 2px;
  border-bottom:1px solid #4a3d27;
}
body.admin-page .booking-view-tabs a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:82px;
  min-height:43px;
  padding:9px 15px;
  color:#bcb5a5;
  font-size:12px;
  font-weight:800;
}
body.admin-page .booking-view-tabs a:hover,
body.admin-page .booking-view-tabs a.is-active{color:#e0bd69}
body.admin-page .booking-view-tabs a.is-active::after{
  content:"";
  position:absolute;
  right:10px;
  bottom:-1px;
  left:10px;
  height:2px;
  background:#d7b45a;
}
body.admin-page .booking-command-bar{
  display:grid;
  grid-template-columns:178px 178px 178px minmax(180px,1fr) auto auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #3d3527;
  border-radius:9px;
}
body.admin-page .booking-command-bar label{min-width:0}
body.admin-page .booking-command-bar input,
body.admin-page .booking-command-bar select{
  width:100%;
  height:38px;
  padding:8px 10px;
  border:1px solid #51462e;
  border-radius:6px;
  background:#11130f;
  color:#e9e1d2;
  font-size:12px;
}
body.admin-page .booking-command-bar input:focus,
body.admin-page .booking-command-bar select:focus{
  border-color:#d7b45a;
  outline:2px solid rgba(215,180,90,.16);
}
body.admin-page .booking-search-field{position:relative}
body.admin-page .booking-search-field>span{
  position:absolute;
  top:8px;
  left:11px;
  color:#d7b45a;
  font-size:18px;
  line-height:1;
  pointer-events:none;
}
body.admin-page .booking-search-field input{padding-left:31px}
body.admin-page .booking-reset{
  height:38px;
  padding:0 12px;
  border:0;
  background:transparent;
  color:#ded2bc;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
body.admin-page .booking-new-button{
  min-height:38px;
  padding:0 16px!important;
  border-color:#d7b45a!important;
  border-radius:6px!important;
  background:#d7b45a!important;
  color:#17130d!important;
  white-space:nowrap;
}
body.admin-page .booking-kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
body.admin-page .booking-kpi-grid>article{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:75px;
  padding:12px 15px;
  border:1px solid #3d3527;
  border-radius:8px;
}
body.admin-page .booking-kpi-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
  color:#d7b45a;
  font-size:22px;
  line-height:1;
}
body.admin-page .booking-kpi-icon.booking-kpi-danger{color:#b45d4d}
body.admin-page .booking-kpi-grid small{
  display:block;
  color:#b8ad99;
  font-size:11px;
}
body.admin-page .booking-kpi-grid strong{
  display:block;
  margin-top:2px;
  color:#f0e9db;
  font-size:25px;
  line-height:1;
}
body.admin-page .booking-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(310px,.82fr);
  gap:14px;
  align-items:start;
}
body.admin-page .booking-results-panel,
body.admin-page .booking-detail-panel{
  min-width:0;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #3d3527!important;
  border-radius:9px!important;
  background:#121510!important;
}
body.admin-page .booking-results-panel .panel-head{
  min-height:63px;
  margin:0!important;
  padding:13px 16px!important;
  border-bottom:1px solid #3b3326;
}
body.admin-page .booking-results-panel .panel-head>div>span,
body.admin-page .booking-detail-heading>div>span{
  color:#d7b45a!important;
  font-size:10px!important;
  letter-spacing:.16em;
}
body.admin-page .booking-results-panel .panel-head h2{
  margin:3px 0 0!important;
  color:#f3eadb!important;
  font-size:18px!important;
}
body.admin-page .booking-results-panel .panel-head>strong{
  color:#d7b45a!important;
  font-size:12px!important;
}
body.admin-page .booking-list-table-redesign{
  min-width:680px!important;
  border-collapse:collapse!important;
}
body.admin-page .booking-list-table-redesign th{
  padding:10px 12px!important;
  border-bottom:1px solid #3b3326!important;
  background:#191914!important;
  color:#b9a98c!important;
  font-size:10px!important;
  font-weight:800;
  white-space:nowrap;
}
body.admin-page .booking-list-table-redesign td{
  padding:9px 12px!important;
  border-bottom:1px solid #29291f!important;
  color:#e4dece!important;
  font-size:12px!important;
  vertical-align:middle!important;
}
body.admin-page .booking-list-table-redesign tbody tr:hover td,
body.admin-page .booking-list-table-redesign tbody tr.is-selected td{background:#211e15!important}
body.admin-page .booking-list-table-redesign tbody tr.is-selected td:first-child{box-shadow:inset 2px 0 #d7b45a}
body.admin-page .booking-row-link{
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit;
}
body.admin-page .booking-row-link strong{color:#f1eadb;font-size:12px}
body.admin-page .booking-row-link small,
body.admin-page .booking-list-table-redesign td small{
  display:block;
  margin-top:2px;
  color:#9e9586;
  font-size:10px;
}
body.admin-page .booking-customer-avatar{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:50%;
  background:#555a52;
  color:#f0eadc;
  font-size:11px;
  font-weight:900;
}
body.admin-page .booking-customer-avatar.large{width:38px;height:38px;flex-basis:38px;font-size:15px}
body.admin-page .booking-status-dot{
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:5px;
  border-radius:50%;
  background:#b8a16b;
}
body.admin-page .booking-status-dot.confirmed,
body.admin-page .booking-status-dot.completed{background:#a9c56c}
body.admin-page .booking-status-dot.cancelled_customer,
body.admin-page .booking-status-dot.cancelled_therapist,
body.admin-page .booking-status-dot.cancelled_admin,
body.admin-page .booking-status-dot.no_show{background:#ad5a4d}
body.admin-page .booking-list-table-redesign .badge{
  padding:4px 8px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:#5d5139!important;
  color:#f2e5c9!important;
  font-size:10px!important;
}
body.admin-page .booking-list-table-redesign .badge.confirmed,
body.admin-page .booking-list-table-redesign .badge.completed{background:#3d6d31!important;color:#ecf5d8!important}
body.admin-page .booking-list-table-redesign .badge.cancelled_customer,
body.admin-page .booking-list-table-redesign .badge.cancelled_therapist,
body.admin-page .booking-list-table-redesign .badge.cancelled_admin,
body.admin-page .booking-list-table-redesign .badge.no_show{background:#703d36!important;color:#f7d9cf!important}
body.admin-page .booking-manual-label{margin-left:5px!important;color:#d7b45a!important}
body.admin-page .booking-more-button{
  display:inline-grid;
  place-items:center;
  width:29px;
  height:29px;
  border:1px solid #665535;
  border-radius:5px;
  color:#d7b45a;
  font-size:13px;
  letter-spacing:1px;
}
body.admin-page .booking-more-button:hover{background:#2a2418;color:#f5d98e}
body.admin-page .booking-empty-cell{height:160px!important;text-align:center!important;color:#a79b88!important}
body.admin-page .booking-pagination{
  display:flex;
  justify-content:center;
  gap:5px;
  padding:12px;
  border-top:1px solid #30291e;
}
body.admin-page .booking-pagination a{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid #4a3d27;
  border-radius:4px;
  color:#cfc2aa;
  font-size:11px;
}
body.admin-page .booking-pagination a.is-active{background:#d7b45a;color:#17130d;border-color:#d7b45a}
body.admin-page .booking-detail-panel{padding:16px!important;min-height:100%}
body.admin-page .booking-detail-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:13px;
  border-bottom:1px solid #3a3226;
}
body.admin-page .booking-detail-heading h2{margin:4px 0 0!important;color:#f3eadb!important;font-size:21px!important}
body.admin-page .booking-detail-heading small{color:#a99e8d;font-size:11px}
body.admin-page .booking-detail-tools{display:flex;align-items:center;gap:5px}
body.admin-page .booking-detail-tools .btn{height:31px;padding:0 9px!important;border-color:#675635!important;background:#191914!important;color:#ded3c0!important}
body.admin-page .booking-detail-tools .is-disabled{opacity:.45;pointer-events:none}
body.admin-page .booking-detail-avatar-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:15px 0;
}
body.admin-page .booking-detail-avatar-row>div:nth-child(2){display:grid;gap:2px;min-width:0}
body.admin-page .booking-detail-avatar-row strong{color:#f3eadb;font-size:16px}
body.admin-page .booking-detail-avatar-row small{color:#a79c8c;font-size:10px}
body.admin-page .booking-contact-actions{display:flex!important;gap:7px;margin-left:auto}
body.admin-page .booking-contact-actions a{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid #665535;
  border-radius:5px;
  color:#d7b45a;
}
body.admin-page .booking-detail-facts{display:grid;gap:0;margin:0}
body.admin-page .booking-detail-facts>div{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:9px;
  padding:11px 0;
  border-bottom:1px solid #302b22;
}
body.admin-page .booking-detail-facts dt{color:#d7b45a;font-size:15px}
body.admin-page .booking-detail-facts dd{margin:0;color:#ddd5c5;font-size:12px;line-height:1.55;word-break:break-word}
body.admin-page .booking-detail-status{color:#d7b45a}
body.admin-page .booking-detail-status.confirmed,
body.admin-page .booking-detail-status.completed{color:#b5d47a}
body.admin-page .booking-detail-status.cancelled_customer,
body.admin-page .booking-detail-status.cancelled_therapist,
body.admin-page .booking-detail-status.cancelled_admin,
body.admin-page .booking-detail-status.no_show{color:#dc8a79}
body.admin-page .booking-detail-change{
  width:100%;
  min-height:42px;
  margin-top:16px;
  border:1px solid #d7b45a!important;
  background:transparent!important;
  color:#e4c476!important;
}
body.admin-page .booking-detail-change:hover{background:#d7b45a!important;color:#1a150e!important}
body.admin-page .booking-detail-empty{display:grid;place-items:center;min-height:280px;color:#a79c8b;font-size:13px}
body.admin-page .booking-admin-stack{
  display:block!important;
  width:100%;
  margin-top:0;
}
body.admin-page .booking-admin-stack>.page-actions-only,
body.admin-page .booking-admin-stack>.booking-filter-revised,
body.admin-page .booking-admin-stack>.bookings-table-panel{display:none!important}
body.admin-page .booking-manual-wrap{margin-top:0}
body.admin-page .booking-manual-wrap .page-actions-only{margin:0 0 8px}
body.admin-page .booking-manual-wrap .manual-order-panel{margin:0!important}
body.admin-page .booking-admin-page .sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:1180px){
  body.admin-page .booking-command-bar{grid-template-columns:1fr 1fr 1fr auto auto}
  body.admin-page .booking-search-field{grid-column:1/-1;grid-row:2}
  body.admin-page .booking-workspace{grid-template-columns:1fr}
  body.admin-page .booking-detail-panel{min-height:0}
}
@media(max-width:760px){
  body.admin-page .booking-hero-banner{min-height:145px;padding:20px 18px}
  body.admin-page .booking-hero-mark{display:none}
  body.admin-page .booking-view-tabs{overflow-x:auto}
  body.admin-page .booking-view-tabs a{min-width:74px;padding-inline:10px;font-size:11px;white-space:nowrap}
  body.admin-page .booking-command-bar{grid-template-columns:1fr 1fr;gap:7px;padding:8px}
  body.admin-page .booking-command-bar label:nth-of-type(3),
  body.admin-page .booking-search-field{grid-column:1/-1}
  body.admin-page .booking-reset{justify-self:start}
  body.admin-page .booking-new-button{justify-self:end}
  body.admin-page .booking-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-page .booking-kpi-grid>article:last-child{grid-column:1/-1}
  body.admin-page .booking-detail-heading{display:block}
  body.admin-page .booking-detail-tools{margin-top:10px}
}

/* Final reservation and schedule refinements. */
body.admin-page .attendance-toolbar-actions[aria-hidden="true"]{display:none!important}
body.admin-page .attendance-matrix-controls .attendance-filter-selects{
  display:flex!important;
  align-items:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
body.admin-page .attendance-matrix-controls .attendance-filter-selects .attendance-top-save{
  align-self:flex-end!important;
  min-width:150px!important;
  min-height:40px!important;
  margin:0!important;
}
body.admin-page .attendance-overnight input{
  accent-color:#d7b45a!important;
}
body.admin-page .attendance-week-legend .legend-overnight-allowed{
  background:#d7b45a!important;
  color:#17130d!important;
}

body.admin-page .booking-hero-banner{
  min-height:166px!important;
  padding:26px 8px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.admin-page .booking-kpi-icon{
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
  font-size:32px!important;
}
body.admin-page .booking-detail-facts dt{
  font-size:22px!important;
  line-height:1!important;
}
body.admin-page .booking-contact-actions a{
  font-size:20px!important;
}
body.admin-page .booking-more-button{
  font-size:17px!important;
}
body.admin-page .booking-admin-stack .manual-order-panel,
body.admin-page .booking-admin-stack>.page-actions-only{
  display:none!important;
}
body.admin-page .booking-manual-order-modal{
  position:fixed;
  z-index:500;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
}
body.admin-page .booking-manual-order-modal[hidden]{display:none!important}
body.admin-page .booking-manual-order-modal .admin-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,0,0,.8);
  cursor:pointer;
}
body.admin-page .booking-manual-order-modal-card{
  position:relative;
  z-index:1;
  width:min(760px,calc(100vw - 32px));
  max-height:min(820px,calc(100vh - 32px));
  overflow:auto;
  padding:20px;
  border:1px solid #765f35;
  border-radius:10px;
  background:#121510;
  box-shadow:0 24px 80px rgba(0,0,0,.72);
}
body.admin-page .booking-manual-order-modal-card>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid #3d3527;
}
body.admin-page .booking-manual-order-modal-card>header>div>span{
  display:block;
  margin-bottom:4px;
  color:#a98b4a;
  font-size:9px;
  letter-spacing:.16em;
}
body.admin-page .booking-manual-order-modal-card h2{
  margin:0;
  color:#e9d8ac;
  font-size:20px;
}
body.admin-page .booking-manual-order-modal-card p{
  margin:6px 0 0;
  color:#a89d89;
  font-size:11px;
}
body.admin-page .booking-manual-order-close{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #54462e;
  border-radius:5px;
  background:#181914;
  color:#e9d8ac;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
body.admin-page .booking-manual-order-close:hover{border-color:#d7b45a;color:#fff0bd}
body.admin-page .booking-manual-order-modal-card .manual-order-form{
  display:grid!important;
  gap:16px!important;
  margin:14px 0 0!important;
  padding:16px!important;
  border:1px solid #4d412d!important;
  border-radius:8px!important;
  background:#171914!important;
}
body.admin-page .booking-manual-order-modal-card .manual-order-form>.btn{
  width:100%!important;
  min-height:44px!important;
}
body.admin-page .dashboard-welcome>.admin-reference-kpis .dashboard-kpi-card small{
  font-size:14px!important;
}
body.admin-page .dashboard-welcome>.admin-reference-kpis .dashboard-kpi-card small b{
  font-size:14px!important;
}
@media(max-width:700px){
  body.admin-page .attendance-matrix-controls .attendance-filter-selects{
    flex-wrap:wrap!important;
  }
  body.admin-page .attendance-matrix-controls .attendance-filter-selects .attendance-top-save{
    flex:1 0 100%!important;
    width:100%!important;
  }
}

/* Booking detail: centered summary and readable action controls. */
body.admin-page .booking-detail-summary-strip>div{
  align-items:center!important;
  align-content:center!important;
  min-height:112px!important;
}
body.admin-page .booking-detail-summary-strip>div>span{
  display:grid!important;
  place-items:center!important;
  color:#d7b45a!important;
  font-size:29px!important;
  line-height:1!important;
}
body.admin-page .booking-detail-summary-strip small{font-size:11px!important}
body.admin-page .booking-detail-summary-strip strong{font-size:15px!important}
body.admin-page .booking-detail-action-sidebar>a,
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-toggle{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  justify-items:center!important;
  min-height:45px!important;
  padding:0 12px!important;
  text-align:center!important;
  font-size:14px!important;
  line-height:1.25!important;
}
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-toggle{
  grid-template-columns:28px minmax(0,1fr) 22px!important;
}
body.admin-page .booking-detail-action-sidebar .booking-action-icon{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  color:#d7b45a!important;
  font-size:22px!important;
  line-height:1!important;
}
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-toggle .booking-contact-chevron{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  color:#d7b45a!important;
  font-size:20px!important;
  line-height:1!important;
}
body.admin-page .booking-detail-action-sidebar .booking-detail-contact-menu a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:7px 9px!important;
  text-align:center!important;
  font-size:13px!important;
}
body.admin-page .booking-detail-other-actions{
  font-size:13px!important;
}
body.admin-page .booking-detail-other-actions a{
  display:grid!important;
  grid-template-columns:25px minmax(0,1fr)!important;
  align-items:center!important;
  justify-items:center!important;
  text-align:center!important;
  font-size:13px!important;
}
body.admin-page .booking-detail-other-actions a .booking-action-icon{
  display:grid!important;
  place-items:center!important;
  width:25px!important;
  height:25px!important;
  color:#d7b45a!important;
  font-size:19px!important;
}

/* Final dark-gold pass: remove remaining fluorescent green card accents. */
body.admin-page{
  --admin-neon:#c4a15a!important;
  --ops-neon:#c4a15a!important;
  --design-neon:#c4a15a!important;
  --design-neon-soft:#b4a789!important;
  --design-line:#4a3a22!important;
  --design-text:#eee7d6!important;
  --design-muted:#b4a789!important;
}
body.admin-page .panel,
body.admin-page .stat-grid>a,
body.admin-page .stat-grid>div,
body.admin-page .dashboard-kpi-card,
body.admin-page .dashboard-quick-action,
body.admin-page .workflow-action-card,
body.admin-page .message-thread .message{
  border-color:#4a3a22!important;
  background-color:#15130f!important;
}
body.admin-page .business-kpi-grid>*,
body.admin-page .admin-reference-kpis .dashboard-kpi-card{
  border-color:#4a3a22!important;
  border-top-color:#6b5731!important;
}
body.admin-page .dashboard-kpi-icon{
  border-color:#806735!important;
  background:rgba(196,161,90,.1)!important;
  color:#d7b45a!important;
}
body.admin-page .dashboard-welcome::after{
  background:linear-gradient(90deg,transparent 0%,rgba(196,161,90,.08) 62%,transparent 100%)!important;
}
body.admin-page .dashboard-quick-action:hover,
body.admin-page .admin-reference-kpis .dashboard-kpi-card:hover{
  border-color:#806735!important;
  border-left-color:#c4a15a!important;
}
body.admin-page .admin-nav-group.is-active .admin-nav-group-icon,
body.admin-page .admin-nav-group-links>a.active .admin-nav-icon,
body.admin-page .admin-sidebar-user small,
body.admin-page .dashboard-inline-link,
body.admin-page .dashboard-row-link,
body.admin-page .dashboard-date small{
  color:#d7b45a!important;
}
body.admin-page .dashboard-attendance-photo i.is-working{
  background:#c4a15a!important;
  box-shadow:0 0 6px rgba(196,161,90,.35)!important;
}
body.admin-page .btn.primary,
body.admin-page button.primary,
body.admin-page .admin-mobile-menu-button{
  background:#c4a15a!important;
  border-color:#c4a15a!important;
  color:#17130d!important;
}
body.admin-page .btn.primary:hover,
body.admin-page .btn.primary:focus-visible,
body.admin-page button.primary:hover,
body.admin-page button.primary:focus-visible{
  background:#dfbd70!important;
  border-color:#dfbd70!important;
  color:#17130d!important;
}

/* Booking detail: use real SVG icons and keep labels beside them. */
body.admin-page .booking-detail-summary-strip>div>span{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  font-size:0!important;
}
body.admin-page .booking-detail-summary-strip .booking-summary-icon{
  display:block!important;
  width:30px!important;
  height:30px!important;
  color:#d7b45a!important;
}
body.admin-page .booking-detail-summary-strip>div>div{
  min-width:0!important;
}
body.admin-page .booking-summary-person{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
body.admin-page .booking-summary-person>span:first-child{
  display:grid!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  align-items:center!important;
  justify-items:center!important;
}
body.admin-page .booking-summary-person>span:last-child{
  display:grid!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  font-size:initial!important;
  gap:2px!important;
}
body.admin-page .booking-summary-person>span:last-child small{
  display:block!important;
}
body.admin-page .booking-card-actions{
  max-width:175px!important;
  gap:8px!important;
}
body.admin-page .booking-card-actions .btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 12px!important;
  font-size:14px!important;
  text-align:center!important;
}
body.admin-page .booking-card-actions .booking-card-action-icon{
  flex:0 0 23px!important;
  width:23px!important;
  height:23px!important;
  color:#d7b45a!important;
}
body.admin-page .booking-detail-other-actions a{
  justify-items:start!important;
  text-align:left!important;
}
body.admin-page .booking-detail-other-actions a .booking-action-icon{
  justify-self:center!important;
}
body.admin-page .booking-detail-other-actions a>span:last-child{
  justify-self:start!important;
}

/* Replace remaining legacy fluorescent values that are still declared earlier. */
body.admin-page .dashboard-welcome::after{
  background:linear-gradient(90deg,transparent 0%,rgba(196,161,90,.08) 62%,transparent 100%)!important;
}
body.admin-page .dashboard-kpi-icon{
  border-color:#806735!important;
  background:rgba(196,161,90,.1)!important;
  color:#d7b45a!important;
}
body.admin-page .dashboard-row-link:hover{
  color:#d7b45a!important;
  background:rgba(196,161,90,.08)!important;
}
body.admin-page .admin-sidebar-site-link:hover,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:hover,
body.admin-page .admin-sidebar-actions button.admin-sidebar-action-button:focus-visible{
  background:#211b12!important;
  border-color:#6b5731!important;
  color:#d7b45a!important;
}
body.admin-page .admin-nav-group.is-active .admin-nav-group-icon{
  filter:none!important;
}
body.admin-page .dashboard-notice-list>a>i{
  background:#c4a15a!important;
}
body.admin-page .dashboard-brand-card>span{
  color:#d7b45a!important;
}

/* Force all frequently used admin card surfaces to the dark-gold gradient. */
body.admin-page .panel,
body.admin-page .stat-grid>a,
body.admin-page .stat-grid>div,
body.admin-page .business-kpi-grid>*,
body.admin-page .admin-reference-kpis .dashboard-kpi-card,
body.admin-page .workflow-action-card,
body.admin-page .message-thread .message,
body.admin-page .attention-list a,
body.admin-page .benefit-grid>div,
body.admin-page .cast-media-manager .media-upload-box,
body.admin-page .admin-page-heading,
body.admin-page .staff-status-hero,
body.admin-page .recruit-detail-header{
  background:linear-gradient(145deg,#1d1810 0%,#11100c 100%)!important;
  border-color:#4a3a22!important;
}
body.admin-page .dashboard-quick-action{
  background:linear-gradient(145deg,#1d1810 0%,#11100c 100%)!important;
  border-color:#4a3a22!important;
}
body.admin-page .dashboard-quick-action::before{
  background:linear-gradient(180deg,rgba(12,10,7,.18),rgba(8,7,5,.9))!important;
}
body.admin-page .admin-reference-kpis .dashboard-kpi-card:hover,
body.admin-page .dashboard-quick-action:hover{
  border-color:#806735!important;
}
body.admin-page .booking-detail-card,
body.admin-page .booking-detail-action-sidebar,
body.admin-page .booking-contact-modal-card,
body.admin-page .booking-manual-order-modal-card{
  background:linear-gradient(145deg,#1d1810 0%,#11100c 100%)!important;
  border-color:#4a3a22!important;
}

/* Summary cells are one horizontal row: icon on the left, copy on the right. */
body.admin-page .booking-detail-summary-strip>div:not(.booking-summary-person){
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  align-content:center!important;
  column-gap:10px!important;
}
body.admin-page .booking-detail-summary-strip>div:not(.booking-summary-person)>span{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
}
body.admin-page .booking-detail-summary-strip>div:not(.booking-summary-person)>div{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  min-width:0!important;
}

/* Final sidebar and table-header palette pass. */
body.admin-page .admin-shell>aside,
body.admin-page .admin-sidebar,
body.admin-page .admin-sidebar-top,
body.admin-page .admin-sidebar-nav,
body.admin-page .admin-nav-group,
body.admin-page .admin-nav-group-links,
body.admin-page .admin-sidebar-actions{
  background:#0f0d0a!important;
  background-image:none!important;
  border-color:#4a3a22!important;
}
body.admin-page .admin-nav-group-toggle,
body.admin-page .admin-nav-group-links>a,
body.admin-page .admin-sidebar-site-link,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button{
  background:transparent!important;
  border-color:transparent!important;
  color:#d2c4a5!important;
}
body.admin-page .admin-nav-group.is-active>.admin-nav-group-toggle,
body.admin-page .admin-nav-group-toggle:hover,
body.admin-page .admin-nav-group-links>a:hover,
body.admin-page .admin-nav-group-links>a.active,
body.admin-page .admin-nav-group-links>a[aria-current="page"],
body.admin-page .admin-sidebar-site-link:hover,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button:hover,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button:focus-visible{
  border-color:#6b5731!important;
  border-left-color:#c4a15a!important;
  color:#e4c477!important;
}
body.admin-page .admin-nav-group-icon,
body.admin-page .admin-nav-icon,
body.admin-page .admin-sidebar-site-link>span:first-child,
body.admin-page .admin-sidebar-actions .admin-nav-logout-button>span:first-child{
  color:#c4a15a!important;
  filter:none!important;
}
body.admin-page .admin-sidebar-actions{
  border-top-color:#4a3a22!important;
}
body.admin-page table thead,
body.admin-page table th,
body.admin-page .panel-head,
body.admin-page .attendance-week-table thead th,
body.admin-page .booking-list-table-redesign th{
  color:#d7b45a!important;
  border-color:#4a3a22!important;
}
body.admin-page table td,
body.admin-page .attendance-week-table td,
body.admin-page .booking-list-table-redesign td{
  background:#15110d!important;
  border-color:#3d2f1d!important;
}
body.admin-page table tr:hover td,
body.admin-page .booking-list-table-redesign tbody tr:hover td,
body.admin-page .booking-list-table-redesign tbody tr.is-selected td{
  background:#21180e!important;
}
