*{box-sizing:border-box}
:root{--bg:#05060a;--panel:#0b0e14;--panel2:#11151d;--text:#f7f8fb;--muted:#8c93a1;--pink:#ff2c68;--line:rgba(255,255,255,.1);--green:#68e3a0}
html{background:#030409;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,rgba(255,44,104,.08),transparent 30%),#030409}
a{color:inherit;text-decoration:none}input,button{font:inherit}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;border-right:1px solid var(--line);background:rgba(5,6,10,.94);backdrop-filter:blur(18px)}
.admin-brand{display:block;font-family:"Segoe Script","Brush Script MT",cursive;font-size:1.55rem;text-shadow:0 0 16px rgba(255,44,104,.55);margin:0 10px 32px}.admin-brand small{display:block;font:700 .5rem/1.5 Inter,sans-serif;letter-spacing:.38em;color:#9aa0ad;margin-top:8px}
.nav-title{margin:28px 10px 8px;color:#555e6d;font-size:.58rem;letter-spacing:.18em;font-weight:800}.admin-nav{display:grid;gap:5px}.admin-nav a{padding:12px 12px;border:1px solid transparent;color:#aeb4c0;font-size:.78rem}.admin-nav a:hover,.admin-nav a.active{color:#fff;border-color:rgba(255,44,104,.22);background:rgba(255,44,104,.07)}.admin-nav .disabled{opacity:.42;pointer-events:none}
.sidebar-bottom{position:absolute;left:20px;right:20px;bottom:22px;border-top:1px solid var(--line);padding-top:17px}.role-badge{display:inline-flex;padding:5px 8px;border:1px solid rgba(255,44,104,.35);color:#ff7da3;background:rgba(255,44,104,.08);font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.user-name{font-size:.8rem;margin:9px 0 3px}.user-login{font-size:.65rem;color:var(--muted)}
.content{padding:36px 42px 70px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:2.8rem;font-weight:500;margin:0}.topbar p{margin:7px 0 0;color:var(--muted);font-size:.78rem}.logout{padding:10px 14px;border:1px solid var(--line);font-size:.68rem;color:#c9ced8}.logout:hover{border-color:var(--pink);color:#fff}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));padding:22px;min-height:130px}.card span{display:block;color:#767e8d;font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.card strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.35rem;font-weight:500;margin-top:17px}.card small{display:block;color:#6f7683;font-size:.65rem;margin-top:5px}.card.pink{border-color:rgba(255,44,104,.26)}.card.pink strong{color:#ff6b96}
.panel{margin-top:18px;border:1px solid var(--line);background:#080a0f}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font:500 1.1rem/1.2 Georgia,serif;margin:0}.panel-body{padding:22px}.roadmap{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.roadmap-item{padding:18px;border:1px solid rgba(255,255,255,.075);background:#090c12}.roadmap-item b{display:block;font-size:.75rem}.roadmap-item p{color:#737b89;font-size:.7rem;line-height:1.55;margin:8px 0 0}.roadmap-item.ready{border-color:rgba(104,227,160,.2)}.status{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:#6d7480}.ready .status{color:var(--green)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-card{width:min(520px,100%);border:1px solid var(--line);background:rgba(8,10,15,.96);box-shadow:0 30px 100px rgba(0,0,0,.55);padding:34px}.auth-logo{font-family:"Segoe Script","Brush Script MT",cursive;font-size:2rem;text-align:center;text-shadow:0 0 18px rgba(255,44,104,.55)}.auth-city{text-align:center;color:#858c99;font-size:.55rem;letter-spacing:.42em;margin-top:7px}.auth-card h1{font:500 2.1rem/1.05 Georgia,serif;margin:34px 0 8px}.auth-card>p{color:var(--muted);font-size:.74rem;line-height:1.6}.form{display:grid;gap:14px;margin-top:25px}.form label{display:grid;gap:7px;color:#b7bdc8;font-size:.62rem;font-weight:800;letter-spacing:.08em}.form input{width:100%;padding:13px 14px;border:1px solid #282d37;background:#07090d;color:#fff;outline:none}.form input:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(255,44,104,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{min-height:48px;border:1px solid var(--pink);background:rgba(255,44,104,.08);color:#fff;font-weight:900;font-size:.68rem;letter-spacing:.11em;cursor:pointer}.btn:hover{background:var(--pink);box-shadow:0 0 30px rgba(255,44,104,.27)}.alert{padding:12px 14px;border:1px solid rgba(255,80,110,.28);background:rgba(255,44,104,.07);font-size:.72rem;line-height:1.5;margin-top:16px}.alert.success{border-color:rgba(104,227,160,.28);background:rgba(104,227,160,.06);color:#a7f2c7}.step{display:inline-flex;align-items:center;gap:8px;font-size:.58rem;color:#8b93a1;letter-spacing:.12em}.step i{width:7px;height:7px;background:var(--pink);border-radius:50%;box-shadow:0 0 10px var(--pink)}
.help{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:.66rem;color:#727a88;line-height:1.6}.help code{color:#ff83a7}
@media(max-width:1050px){.cards{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:210px 1fr}.content{padding:30px 24px 60px}}
@media(max-width:760px){.admin-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:30px}.content{padding:24px 16px 50px}.cards,.roadmap{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar h1{font-size:2.2rem}}


/* RESERVATIONS --------------------------------------------------------- */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 16px}
.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-link{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--line);background:#07090e;color:#9ea5b2;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.filter-link:hover,.filter-link.active{border-color:rgba(255,44,104,.38);background:rgba(255,44,104,.08);color:#fff}.filter-link b{font-weight:700;color:#69717f}.filter-link.active b{color:#ff7ca4}
.search-form{display:flex;gap:8px;min-width:min(100%,390px)}.search-form input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--line);background:#07090e;color:#fff;outline:none}.search-form input:focus{border-color:var(--pink)}.search-btn{height:38px;padding:0 14px;border:1px solid var(--pink);background:rgba(255,44,104,.07);color:#fff;cursor:pointer;font-size:.62rem;font-weight:900;letter-spacing:.08em}.search-btn:hover{background:var(--pink)}
.table-wrap{overflow:auto;border-top:1px solid var(--line)}.reservations-table{width:100%;min-width:1150px;border-collapse:collapse}.reservations-table th{position:sticky;top:0;z-index:2;padding:13px 14px;background:#090b10;border-bottom:1px solid var(--line);color:#69717f;text-align:left;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.reservations-table td{padding:15px 14px;border-bottom:1px solid rgba(255,255,255,.055);vertical-align:top;font-size:.72rem;color:#c9ced8}.reservations-table tbody tr{background:#080a0f;transition:.18s}.reservations-table tbody tr:hover{background:#0b0e14}.reservations-table tbody tr:last-child td{border-bottom:0}
.client-main{display:flex;flex-direction:column;gap:5px}.client-main strong{font-size:.78rem;color:#fff}.client-main a{color:#9199a7;font-size:.66rem}.client-main a:hover{color:var(--pink)}.reservation-id{display:block;margin-top:6px;color:#59616f;font-size:.54rem;letter-spacing:.07em}.mono{font-variant-numeric:tabular-nums}.reservation-notes{max-width:250px;color:#8c94a2;line-height:1.5;font-size:.66rem}.muted-cell{color:#646c7a!important}
.status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.1);font-size:.53rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#818896}.status-new{color:#ff91b1;border-color:rgba(255,44,104,.25);background:rgba(255,44,104,.06)}.status-new:before{background:var(--pink);box-shadow:0 0 9px rgba(255,44,104,.65)}.status-confirmed{color:#a7f2c7;border-color:rgba(104,227,160,.23);background:rgba(104,227,160,.05)}.status-confirmed:before{background:var(--green);box-shadow:0 0 8px rgba(104,227,160,.45)}.status-cancelled{color:#9299a5;border-color:rgba(146,153,165,.18);background:rgba(146,153,165,.04)}.status-cancelled:before{background:#777f8c}
.status-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.status-actions form{margin:0}.mini-action{min-height:28px;padding:0 8px;border:1px solid rgba(255,255,255,.11);background:#090c12;color:#9da5b2;cursor:pointer;font-size:.5rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.mini-action:hover{color:#fff;border-color:rgba(255,44,104,.34)}.mini-action.confirm:hover{border-color:rgba(104,227,160,.35);background:rgba(104,227,160,.07)}.mini-action.cancel:hover{border-color:rgba(255,91,120,.35);background:rgba(255,91,120,.06)}
.empty-state{padding:65px 24px;text-align:center}.empty-state strong{display:block;font:500 2rem/1.1 Georgia,serif}.empty-state p{color:#777f8d;font-size:.72rem;line-height:1.65;margin:12px auto 0;max-width:520px}
.flash{margin:0 0 15px;padding:12px 14px;border:1px solid rgba(104,227,160,.24);background:rgba(104,227,160,.055);color:#aaf1c9;font-size:.7rem}.flash.error{border-color:rgba(255,44,104,.28);background:rgba(255,44,104,.06);color:#ff9ab7}
.reservation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.summary-box{padding:14px 15px;border:1px solid var(--line);background:#080a0f}.summary-box span{display:block;color:#6b7381;font-size:.52rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.summary-box strong{display:block;margin-top:7px;font:500 1.45rem/1 Georgia,serif}
@media(max-width:900px){.reservation-summary{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch}.search-form{width:100%}}
@media(max-width:520px){.reservation-summary{grid-template-columns:1fr 1fr}.summary-box{padding:12px}.summary-box strong{font-size:1.2rem}.filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.filter-link{justify-content:center}}


/* ADMINISTRATION & ROLES ----------------------------------------------- */
.role-badge{border-color:color-mix(in srgb,var(--role-color,#ff2c68) 45%,transparent);color:var(--role-color,#ff7da3);background:color-mix(in srgb,var(--role-color,#ff2c68) 9%,transparent)}
.admin-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.management-form{display:grid;gap:14px}.management-form label{display:grid;gap:7px;color:#b7bdc8;font-size:.62rem;font-weight:800;letter-spacing:.07em}.management-form input,.management-form select{width:100%;height:44px;padding:0 12px;border:1px solid #292e38;background:#07090d;color:#fff;outline:none}.management-form input:focus,.management-form select:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(255,44,104,.07)}.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.management-form input[type=color]{padding:5px;cursor:pointer}
.permission-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-summary>div{padding:14px;border:1px solid rgba(255,255,255,.07);background:#090b10}.permission-summary span{display:block;color:#737b88;font-size:.54rem;text-transform:uppercase;letter-spacing:.1em}.permission-summary b{display:block;margin-top:7px;font-size:.72rem;color:#fff}
.table-counter{color:#6f7785;font-size:.56rem;font-weight:900;letter-spacing:.13em}.custom-role-badge{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid color-mix(in srgb,var(--role-color,#ff2c68) 42%,transparent);background:color-mix(in srgb,var(--role-color,#ff2c68) 8%,transparent);color:var(--role-color,#ff7da3);font-size:.55rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 18px color-mix(in srgb,var(--role-color,#ff2c68) 10%,transparent)}
.account-state{display:inline-flex;align-items:center;gap:6px;font-size:.52rem;font-weight:900;letter-spacing:.08em}.account-state:before{content:"";width:6px;height:6px;border-radius:50%}.account-state.active{color:#94eebc}.account-state.active:before{background:#68e3a0;box-shadow:0 0 8px rgba(104,227,160,.45)}.account-state.inactive{color:#777f8c}.account-state.inactive:before{background:#59606c}.user-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inline-role-form{display:flex;gap:5px;align-items:center}.inline-role-form select{height:29px;max-width:150px;border:1px solid rgba(255,255,255,.11);background:#090c12;color:#d9dde5;font-size:.55rem;padding:0 7px}.admin-users-table{min-width:1100px}
.permission-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.permission-picker label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid rgba(255,255,255,.08);background:#090b10;cursor:pointer}.permission-picker input{width:16px;height:16px;accent-color:var(--pink)}.permission-picker span{font-size:.58rem;color:#a5acb8}.role-help{display:grid;gap:12px}.role-help p{margin:0;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.055);color:#858d9a;font-size:.72rem;line-height:1.6}.role-help p:last-child{border-bottom:0}.role-help b{color:#fff}
.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.role-card{border:1px solid color-mix(in srgb,var(--role-color,#ff2c68) 20%,rgba(255,255,255,.08));background:linear-gradient(180deg,color-mix(in srgb,var(--role-color,#ff2c68) 3%,#080a0f),#080a0f);padding:20px}.role-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.role-card-head>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.role-card-head small{color:#5f6774;font-size:.52rem;letter-spacing:.08em}.role-card-head>b{font:500 1.05rem/1 Georgia,serif;color:#8c94a1}.role-permissions{display:flex;gap:6px;flex-wrap:wrap;margin-top:19px}.role-permissions span{padding:5px 7px;border:1px solid rgba(255,255,255,.07);color:#525a67;font-size:.49rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.role-permissions span.on{color:#cbd0da;border-color:color-mix(in srgb,var(--role-color,#ff2c68) 25%,transparent);background:color-mix(in srgb,var(--role-color,#ff2c68) 5%,transparent)}.role-meta{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:13px;border-top:1px solid rgba(255,255,255,.06);color:#626a77;font-size:.52rem;letter-spacing:.06em}.role-edit{margin-top:16px;border-top:1px solid rgba(255,255,255,.06);padding-top:13px}.role-edit summary{cursor:pointer;color:#9ba3af;font-size:.55rem;font-weight:900;letter-spacing:.09em}.role-edit[open] summary{color:var(--role-color)}.management-form.compact{margin-top:14px}.delete-role-form{margin-top:9px}.system-lock{margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,255,255,.06);color:#575f6b;font-size:.55rem;letter-spacing:.07em;text-transform:uppercase}
@media(max-width:1180px){.roles-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.admin-two-column{grid-template-columns:1fr}.permission-picker{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.roles-grid{grid-template-columns:1fr}.management-grid,.permission-summary,.permission-picker{grid-template-columns:1fr}.inline-role-form{align-items:stretch;flex-direction:column}.inline-role-form select{max-width:none}}


/* DYNAMIC PERMISSIONS -------------------------------------------------- */
.permission-picker-dynamic{grid-template-columns:1fr 1fr}.permission-picker-dynamic label{align-items:flex-start}.permission-picker-dynamic label>span{display:flex;flex-direction:column;gap:4px}.permission-picker-dynamic b{font-size:.6rem;color:#d5d9e2}.permission-picker-dynamic small{font-size:.5rem;color:#666e7b;font-weight:600;letter-spacing:.03em}.role-permissions-dynamic span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.status-readonly{margin-top:9px;color:#626a77;font-size:.52rem;letter-spacing:.07em;text-transform:uppercase}
.permissions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.permission-card{padding:20px;border:1px solid var(--line);background:#080a0f}.permission-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.permission-card-top>div{min-width:0}.permission-card strong{display:block;font-size:.76rem;color:#fff}.permission-card code{display:block;margin-top:7px;color:#ff7ca4;font-size:.6rem;overflow-wrap:anywhere}.permission-card p{min-height:42px;margin:18px 0 0;color:#858d9a;font-size:.68rem;line-height:1.55}.permission-system,.permission-custom{flex:none;padding:5px 7px;border:1px solid rgba(255,255,255,.1);font-size:.48rem;font-weight:900;letter-spacing:.08em}.permission-system{border-color:rgba(66,183,255,.24);background:rgba(66,183,255,.06);color:#80caff}.permission-custom{border-color:rgba(255,44,104,.22);background:rgba(255,44,104,.05);color:#ff84a7}.permission-card-meta{margin-top:17px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);color:#626a77;font-size:.52rem;letter-spacing:.05em}.dynamic-summary{max-height:310px;overflow:auto}
@media(max-width:1150px){.permissions-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.permissions-grid,.permission-picker-dynamic{grid-template-columns:1fr}}


/* PERMISSION CATALOG SELECT ------------------------------------------- */
.management-form select{width:100%;height:46px;padding:0 12px;border:1px solid #292e38;background:#07090d;color:#fff;outline:none}.management-form select:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(255,44,104,.07)}.management-form select optgroup{background:#080a0f;color:#ff7ca4;font-weight:800}.management-form select option{background:#080a0f;color:#d7dbe4}.management-form select option:disabled{color:#535b68}
.permission-preview{margin-top:3px;padding:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,44,104,.035),rgba(255,255,255,.01))}.permission-preview>span{display:block;color:#6a7280;font-size:.5rem;font-weight:900;letter-spacing:.13em}.permission-preview strong{display:block;margin-top:10px;font-size:.8rem;color:#fff}.permission-preview code{display:block;margin-top:8px;color:#ff7da3;font-size:.66rem}.permission-preview p{margin:11px 0 0;color:#858d9a;font-size:.66rem;line-height:1.55}


/* PREMIUM ROLE BUILDER ------------------------------------------------- */
.roles-topbar{align-items:flex-start}.back-link{display:inline-block;margin-bottom:11px;color:#ff6f9b;font-size:.64rem;font-weight:800;letter-spacing:.05em}.developer-lock{padding:10px 14px;border:1px solid rgba(255,44,104,.34);background:rgba(255,44,104,.06);color:#ff79a0;font-size:.58rem;font-weight:900;letter-spacing:.1em}
.role-builder{display:grid;gap:18px}.role-identity-card{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:28px;padding:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006));border-radius:12px}.role-field{display:flex;flex-direction:column;gap:8px}.role-field label{font-size:.66rem;font-weight:900;color:#e1e5ec}.role-field small{color:#68717f;font-size:.56rem;line-height:1.5}.role-field input[type=text],.role-field input[name=name]{height:45px;padding:0 13px;border:1px solid #303642;background:#080a0f;color:#fff;outline:none}.role-field input:focus{border-color:var(--pink)}.color-field{display:grid;grid-template-columns:48px 1fr;gap:10px}.color-field input[type=color]{width:48px;height:45px;padding:3px;border:1px solid #303642;background:#080a0f;border-radius:7px}.role-preview-box{padding:16px;border:1px solid rgba(255,255,255,.08);background:#080a0f;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.role-preview-box>span{align-self:flex-start;color:#a6adba;font-size:.62rem}.role-preview-box small{color:#6f7785;font-size:.55rem;margin-top:10px}.role-preview-badge{--preview-color:#ff2c68;margin-top:15px;padding:10px 22px;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--preview-color) 88%,white 5%),var(--preview-color));color:#06070b;font-size:.72rem;font-weight:1000;letter-spacing:.08em;box-shadow:0 0 24px color-mix(in srgb,var(--preview-color) 22%,transparent)}
.permissions-builder{padding:18px;border:1px solid var(--line);background:#07090e;border-radius:12px}.permissions-builder-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px}.permissions-heading{display:flex;align-items:center;gap:13px}.shield-icon{font-size:1.8rem;filter:drop-shadow(0 0 10px rgba(255,44,104,.35))}.permissions-heading h2{margin:0;font:500 1.4rem/1.1 Georgia,serif}.permissions-heading p{margin:5px 0 0;color:#727b89;font-size:.66rem}.permissions-actions{display:flex;gap:8px;flex-wrap:wrap}.small-control{height:36px;padding:0 12px;border:1px solid #303641;background:#090c12;color:#aeb5c1;cursor:pointer;font-size:.52rem;font-weight:900;letter-spacing:.08em}.small-control:hover{border-color:rgba(255,44,104,.32);color:#fff}.small-control.danger{border-color:rgba(255,44,104,.38);color:#ff79a0}
.permission-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.permission-group-card{border:1px solid #29303a;background:#090b10;border-radius:9px;overflow:hidden}.permission-group-header{width:100%;min-height:64px;padding:13px 14px;border:0;background:linear-gradient(90deg,rgba(255,44,104,.07),rgba(255,44,104,.015));color:#fff;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.permission-group-icon{font-size:1.35rem;color:#ff3c78}.permission-group-title{display:flex;flex-direction:column;gap:4px}.permission-group-title strong{font-size:.75rem}.permission-group-title small{color:#8a93a1;font-size:.52rem}.permission-group-arrow{color:#ff4e83;transition:.2s}.permission-group-card:not(.open) .permission-group-arrow{transform:rotate(-90deg)}.permission-group-body{display:none;padding:7px 0}.permission-group-card.open .permission-group-body{display:block}
.permission-row{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:flex-start;padding:11px 14px;cursor:pointer;position:relative}.permission-row:hover{background:rgba(255,255,255,.02)}.permission-check{position:absolute;opacity:0;pointer-events:none}.permission-check-ui{width:17px;height:17px;border:1px solid #6c7480;border-radius:4px;display:block;position:relative;margin-top:1px}.permission-check:checked + .permission-check-ui{border-color:var(--pink);background:var(--pink);box-shadow:0 0 11px rgba(255,44,104,.28)}.permission-check:checked + .permission-check-ui:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:.66rem;font-weight:1000}.permission-copy{display:flex;flex-direction:column;gap:3px}.permission-copy strong{font-size:.68rem;color:#eef1f6}.permission-copy small{font-size:.52rem;color:#7c8492}
.role-builder-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:14px;border:1px solid var(--line);background:#07090e;border-radius:10px}.role-cancel-btn,.role-create-btn{height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #353b45;background:#090b10;color:#d2d6de;font-size:.62rem;font-weight:900;letter-spacing:.11em}.role-create-btn{border-color:#ff2c68;background:linear-gradient(90deg,#ff275f,#ff2f7e);color:white;cursor:pointer;box-shadow:0 0 28px rgba(255,44,104,.15)}.role-create-btn:hover{filter:brightness(1.05);box-shadow:0 0 34px rgba(255,44,104,.28)}.existing-roles-section{margin-top:22px}.compact-roles-grid{margin-top:12px}
@media(max-width:1150px){.role-identity-card{grid-template-columns:1fr 1fr}.role-preview-box{grid-column:1/-1}.permission-groups{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.permissions-builder-head{align-items:flex-start;flex-direction:column}.permission-groups,.role-identity-card{grid-template-columns:1fr}.role-preview-box{grid-column:auto}.permissions-actions{width:100%}.small-control{flex:1}.role-builder-actions{grid-template-columns:1fr}}
@media(max-width:520px){.permission-groups{grid-template-columns:1fr}.permissions-actions{display:grid;grid-template-columns:1fr}.role-identity-card,.permissions-builder{padding:13px}}


/* SITE EDITOR ---------------------------------------------------------- */
.site-permission-strip{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.site-permission-strip span{padding:6px 9px;border:1px solid rgba(255,255,255,.08);background:#080a0f;color:#555e6b;font-size:.53rem;font-weight:900;letter-spacing:.06em}.site-permission-strip span.on{border-color:rgba(104,227,160,.25);background:rgba(104,227,160,.05);color:#9aefbe}.panel-subtext{margin:5px 0 0;color:#6f7886;font-size:.62rem}.site-editor-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.site-editor-head-actions form{margin:0}.site-content-form{display:grid;gap:18px}.site-content-group{border:1px solid rgba(255,255,255,.07);background:#080a0f}.site-content-group-title{padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:12px}.site-content-group-title strong{font-size:.7rem}.site-content-group-title span{color:#5f6774;font-size:.52rem}.site-content-fields{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.055)}.site-content-field{display:grid;gap:7px;padding:15px;background:#080a0f}.site-content-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b9c0cb;font-size:.6rem;font-weight:800}.site-content-field>span b{padding:4px 6px;border:1px solid rgba(255,44,104,.24);background:rgba(255,44,104,.05);color:#ff7da3;font-size:.45rem;letter-spacing:.08em}.site-content-field input,.site-content-field textarea{width:100%;border:1px solid #292f39;background:#07090d;color:#fff;padding:11px 12px;outline:none;resize:vertical}.site-content-field input:focus,.site-content-field textarea:focus{border-color:var(--pink)}.site-content-field input[readonly],.site-content-field textarea[readonly]{color:#8a929f;cursor:default}.site-content-field small{color:#555e6c;font-size:.52rem;line-height:1.5;white-space:pre-line}.site-content-field.has-draft{box-shadow:inset 3px 0 0 rgba(255,44,104,.6)}.site-save-row{display:flex;justify-content:flex-end}.site-save-row .btn{min-width:260px}.readonly-notice{padding:13px;border:1px solid rgba(255,255,255,.07);color:#757e8c;font-size:.65rem}.countdown-admin-panel{margin-top:18px}.countdown-admin-form{max-width:900px}
@media(max-width:850px){.site-content-fields{grid-template-columns:1fr}.site-editor-head-actions{align-items:stretch;flex-direction:column}.site-editor-head-actions .mini-action{justify-content:center}}


/* COUNTDOWN ENABLE / DISABLE ------------------------------------------ */
.countdown-panel-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.countdown-state-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.1);font-size:.52rem;font-weight:900;letter-spacing:.08em}.countdown-state-badge:before{content:"";width:6px;height:6px;border-radius:50%}.countdown-state-badge.is-on{color:#9aefbe;border-color:rgba(104,227,160,.25);background:rgba(104,227,160,.05)}.countdown-state-badge.is-on:before{background:#68e3a0;box-shadow:0 0 8px rgba(104,227,160,.5)}.countdown-state-badge.is-off{color:#8e96a3;background:rgba(255,255,255,.025)}.countdown-state-badge.is-off:before{background:#646c78}
.countdown-toggle-card{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px!important;border:1px solid rgba(255,44,104,.18);background:linear-gradient(90deg,rgba(255,44,104,.055),rgba(255,255,255,.01));cursor:pointer}.countdown-toggle-copy{display:flex;flex-direction:column;gap:5px}.countdown-toggle-copy strong{font-size:.72rem;color:#fff}.countdown-toggle-copy small{font-size:.57rem;color:#737c89;font-weight:500;line-height:1.5}
.admin-switch{position:relative;flex:0 0 auto;width:54px;height:29px}.admin-switch input{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}.admin-switch-track{position:absolute;inset:0;border:1px solid #424956;background:#11141a;border-radius:99px;transition:.22s}.admin-switch-track:after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:#727b89;transition:.22s;box-shadow:0 2px 8px rgba(0,0,0,.35)}.admin-switch input:checked + .admin-switch-track{border-color:#ff2c68;background:rgba(255,44,104,.16);box-shadow:0 0 18px rgba(255,44,104,.13)}.admin-switch input:checked + .admin-switch-track:after{left:28px;background:#ff2c68;box-shadow:0 0 12px rgba(255,44,104,.55)}
