*{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)}


/* ACCOUNT EDIT / PER-USER PERMISSIONS --------------------------------- */
.permission-count-badge{display:inline-flex;padding:5px 8px;border:1px solid rgba(255,255,255,.1);background:#090b10;color:#7e8795;font-size:.5rem;font-weight:900;letter-spacing:.07em}.permission-count-badge.overridden{border-color:rgba(255,44,104,.25);color:#ff80a4;background:rgba(255,44,104,.05)}.permission-count-badge.full{border-color:rgba(104,227,160,.24);color:#9cefc0;background:rgba(104,227,160,.05)}
.edit-account{border-color:rgba(66,183,255,.24)!important;color:#82caff!important}.account-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.account-overview-card{padding:15px;border:1px solid var(--line);background:#080a0f}.account-overview-card span{display:block;color:#626b79;font-size:.52rem;text-transform:uppercase;letter-spacing:.11em}.account-overview-card strong{display:block;margin-top:8px;font:500 1.35rem/1.1 Georgia,serif}.text-success{color:#9cefc0}.text-muted{color:#7b8491}
.account-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.account-security{display:grid;gap:18px}.account-password-form{padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.btn.secondary{width:100%;background:#090c12;border-color:#353c47}.danger-button{border-color:rgba(255,44,104,.35)!important;color:#ff7c9f}.success-button{border-color:rgba(104,227,160,.3)!important;color:#9cefc0}
.user-permissions-panel{margin-top:18px}.developer-permission-notice{padding:18px;border:1px solid rgba(104,227,160,.22);background:rgba(104,227,160,.045);color:#9cefc0;font-size:.68rem;line-height:1.6}.user-permission-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;color:#7b8492;font-size:.56rem}.user-permission-legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot.role{background:#68717e}.dot.granted{background:#68e3a0;box-shadow:0 0 7px rgba(104,227,160,.4)}.dot.denied{background:#ff2c68;box-shadow:0 0 7px rgba(255,44,104,.4)}
.user-permission-groups{grid-template-columns:repeat(3,1fr)}.user-permission-row{grid-template-columns:22px 1fr auto}.permission-origin{align-self:center;padding:4px 6px;border:1px solid rgba(255,255,255,.07);color:#59616e;font-size:.45rem;font-weight:900;letter-spacing:.06em}.user-permission-row.is-role .permission-origin{color:#9ba3af}.user-permission-row.is-granted{background:rgba(104,227,160,.025)}.user-permission-row.is-granted .permission-origin{border-color:rgba(104,227,160,.2);color:#91e9b8}.user-permission-row.is-denied{background:rgba(255,44,104,.025)}.user-permission-row.is-denied .permission-origin{border-color:rgba(255,44,104,.2);color:#ff779e}.user-permission-save{display:flex;justify-content:flex-end;margin-top:16px}.user-permission-save .btn{min-width:280px}
@media(max-width:1100px){.account-overview-grid{grid-template-columns:1fr 1fr}.user-permission-groups{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.account-edit-grid{grid-template-columns:1fr}.user-permission-groups{grid-template-columns:1fr}.account-overview-grid{grid-template-columns:1fr 1fr}}


/* CLEAN SITE CONTENT EDITOR ------------------------------------------- */
.site-editor-shell{display:grid;gap:16px;margin-top:18px}.site-editor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;padding:22px 24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006));border-radius:12px}.site-editor-kicker{display:block;margin-bottom:8px;color:#ff6f9b;font-size:.52rem;font-weight:900;letter-spacing:.18em}.site-editor-toolbar h2{margin:0;font:500 1.75rem/1.1 Georgia,serif}.site-editor-toolbar p{max-width:760px;margin:8px 0 0;color:#747d8b;font-size:.67rem;line-height:1.6}.site-editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-editor-actions form{margin:0}.site-action{height:38px;padding:0 13px;border:1px solid #303642;background:#080a0f;color:#aeb5c1;display:inline-flex;align-items:center;justify-content:center;font-size:.53rem;font-weight:900;letter-spacing:.08em;cursor:pointer;white-space:nowrap}.site-action:hover{color:#fff;border-color:rgba(255,44,104,.32)}.site-action.publish{border-color:rgba(255,44,104,.45);background:rgba(255,44,104,.08);color:#ff84a7}.site-action.publish:hover{background:var(--pink);color:#fff;box-shadow:0 0 22px rgba(255,44,104,.2)}
.site-content-form-clean{display:grid;gap:16px}.site-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-section-card{border:1px solid var(--line);background:#080a0f;border-radius:12px;overflow:hidden}.site-section-card.has-changes{border-color:rgba(255,44,104,.2);box-shadow:inset 0 0 0 1px rgba(255,44,104,.035)}.site-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.065);background:linear-gradient(90deg,rgba(255,255,255,.018),transparent)}.site-section-head>div{display:flex;align-items:center;gap:12px}.site-section-index{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,44,104,.22);background:rgba(255,44,104,.045);color:#ff6f9b;font:600 .72rem/1 Georgia,serif}.site-section-head h3{margin:0;font:500 .95rem/1.1 Georgia,serif}.site-section-head p{margin:4px 0 0;color:#5f6876;font-size:.52rem}.draft-chip{padding:5px 7px;border:1px solid rgba(255,44,104,.24);background:rgba(255,44,104,.05);color:#ff7ea3;font-size:.46rem;font-weight:900;letter-spacing:.08em}
.site-section-fields{display:grid;grid-template-columns:1fr;gap:0}.site-field{display:grid;gap:8px;padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.05)}.site-field:last-child{border-bottom:0}.site-field.changed{background:linear-gradient(90deg,rgba(255,44,104,.035),transparent 55%)}.site-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.site-field-label b{font-size:.6rem;color:#cbd1da}.site-field-label em{font-style:normal;color:#ff7ba0;font-size:.44rem;font-weight:900;letter-spacing:.08em}.site-field input,.site-field textarea{width:100%;border:1px solid #2b313b;background:#07090d;color:#fff;padding:12px 13px;outline:none;resize:vertical;font-size:.76rem;line-height:1.5}.site-field input:focus,.site-field textarea:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(255,44,104,.06)}.site-field input[readonly],.site-field textarea[readonly]{color:#878f9b}.published-preview{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start}.published-preview small{color:#505865;font-size:.46rem;font-weight:900;letter-spacing:.08em}.published-preview>span{color:#626b79;font-size:.52rem;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
.site-editor-savebar{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(255,44,104,.18);background:rgba(7,9,14,.94);backdrop-filter:blur(18px);box-shadow:0 20px 45px rgba(0,0,0,.35);border-radius:10px}.site-editor-savebar>div{display:flex;flex-direction:column;gap:3px}.site-editor-savebar span{font-size:.62rem;font-weight:900}.site-editor-savebar small{color:#6e7785;font-size:.52rem}.site-save-button{min-width:260px;height:44px;border:1px solid var(--pink);background:linear-gradient(90deg,#ff275f,#ff2f7e);color:#fff;cursor:pointer;font-size:.6rem;font-weight:900;letter-spacing:.09em;box-shadow:0 0 25px rgba(255,44,104,.14)}.site-save-button:hover{filter:brightness(1.05);box-shadow:0 0 32px rgba(255,44,104,.24)}
@media(max-width:1150px){.site-editor-grid{grid-template-columns:1fr}.site-editor-toolbar{align-items:stretch;flex-direction:column}.site-editor-actions{width:100%}.site-action{flex:1}.site-editor-savebar{bottom:8px}}
@media(max-width:650px){.site-editor-toolbar{padding:17px}.site-section-head{padding:14px}.site-field{padding:13px 14px}.published-preview{grid-template-columns:1fr;gap:5px}.site-editor-savebar{align-items:stretch;flex-direction:column}.site-save-button{width:100%;min-width:0}}


/* SITE CONTENT - CATEGORY / SUBCATEGORY LAYOUT ------------------------ */
.site-editor-categorized{display:grid;gap:16px;margin-top:18px}
.site-category-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.014),rgba(255,255,255,.006));border-radius:14px;overflow:hidden}
.site-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.06)}
.site-category-label{display:block;margin-bottom:8px;color:#ff6f9b;font-size:.5rem;font-weight:900;letter-spacing:.17em}
.site-category-head h3{margin:0;font:500 1.5rem/1.1 Georgia,serif}
.site-category-head p{max-width:780px;margin:7px 0 0;color:#717a87;font-size:.64rem;line-height:1.55}
.site-category-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.site-category-pill{display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid rgba(255,44,104,.2);background:rgba(255,44,104,.045);color:#ff86aa;font-size:.53rem;font-weight:900;letter-spacing:.08em}
.site-category-pill.muted{border-color:rgba(255,255,255,.08);background:#090b10;color:#98a0ad}
.site-subcategory-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 18px}
.site-subcategory-pill{display:grid;gap:3px;padding:14px 14px;border:1px solid rgba(255,255,255,.07);background:#090b10;color:#c4cad4;transition:.22s}
.site-subcategory-pill span{color:#ff6f9b;font-size:.5rem;font-weight:900;letter-spacing:.1em}
.site-subcategory-pill strong{font-size:.7rem}
.site-subcategory-pill small{color:#6f7885;font-size:.52rem}
.site-subcategory-pill:hover{transform:translateY(-1px);border-color:rgba(255,44,104,.28);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.site-subcategory-pill.has-draft{border-color:rgba(255,44,104,.26);background:linear-gradient(180deg,rgba(255,44,104,.05),rgba(255,255,255,.008))}
.site-content-form-categorized{display:grid;gap:16px}
.site-subcategory-list{display:grid;gap:16px}
.site-subcategory-card{border:1px solid var(--line);background:#080a0f;border-radius:14px;overflow:hidden}
.site-subcategory-card.has-draft{border-color:rgba(255,44,104,.22);box-shadow:inset 0 0 0 1px rgba(255,44,104,.035)}
.site-subcategory-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(90deg,rgba(255,255,255,.018),transparent)}
.site-subcategory-title-wrap{display:flex;align-items:center;gap:14px}
.site-subcategory-index{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,44,104,.24);background:rgba(255,44,104,.05);color:#ff6f9b;font:600 .76rem/1 Georgia,serif}
.site-subcategory-overline{display:block;margin-bottom:6px;color:#6c7482;font-size:.48rem;font-weight:900;letter-spacing:.14em}
.site-subcategory-head h3{margin:0;font:500 1.1rem/1.1 Georgia,serif}
.site-subcategory-head p{margin:5px 0 0;color:#67707d;font-size:.58rem}
.site-subcategory-badges{display:flex;align-items:center;gap:8px}
.site-clean-chip{padding:6px 10px;border:1px solid rgba(255,255,255,.09);background:#090b10;color:#8b93a0;font-size:.48rem;font-weight:900;letter-spacing:.08em}
.site-subcategory-fields{display:grid;gap:0}
.site-field-wide{padding:16px 20px}
.site-field-wide textarea{min-height:110px}
.site-field-wide.changed{background:linear-gradient(90deg,rgba(255,44,104,.032),transparent 58%)}
.site-editor-savebar{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(255,44,104,.18);background:rgba(7,9,14,.94);backdrop-filter:blur(18px);box-shadow:0 20px 45px rgba(0,0,0,.35);border-radius:10px}
@media(max-width:1180px){.site-subcategory-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.site-category-head{flex-direction:column;align-items:stretch}}
@media(max-width:700px){.site-subcategory-nav{grid-template-columns:1fr}.site-subcategory-head{padding:16px;align-items:flex-start;flex-direction:column}.site-field-wide{padding:14px 16px}.site-category-head{padding:18px}.site-subcategory-title-wrap{align-items:flex-start}}


/* CMS PAGE EDITOR — IMPLEMENTED FROM SELECTED MOCKUP ------------------ */
.cms-page-editor{display:grid;gap:16px}
.cms-page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 21px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(100deg,rgba(255,44,104,.055),rgba(8,10,15,.9) 30%,rgba(8,10,15,.98));border-radius:10px}
.cms-page-title{display:flex;align-items:flex-start;gap:14px}
.cms-page-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,44,104,.28);background:rgba(255,44,104,.07);color:#ff5d8b;font-size:1.05rem}
.cms-page-kicker{display:block;margin-bottom:5px;color:#ff5d8b;font-size:.49rem;font-weight:900;letter-spacing:.15em}
.cms-page-title h2{margin:0;font:500 1.65rem/1.05 Georgia,serif}
.cms-page-title p{margin:6px 0 0;color:#6f7886;font-size:.62rem;line-height:1.5}
.cms-page-actions{display:flex;align-items:center;gap:8px}.cms-page-actions form{margin:0}
.cms-top-btn{display:inline-flex;align-items:center;justify-content:center;height:39px;padding:0 14px;border:1px solid #323844;background:#080a0f;color:#b8bec8;font-size:.52rem;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:.2s}
.cms-top-btn:hover{border-color:rgba(255,44,104,.35);color:#fff}
.cms-top-btn.publish{border-color:rgba(255,44,104,.55);background:linear-gradient(90deg,rgba(255,44,104,.16),rgba(255,44,104,.08));color:#ff88aa;box-shadow:0 0 18px rgba(255,44,104,.08)}
.cms-top-btn.publish:hover{background:#ff2c68;color:#fff;box-shadow:0 0 26px rgba(255,44,104,.22)}

.cms-section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cms-section-tab{position:relative;display:grid;grid-template-columns:42px 28px 1fr auto;align-items:center;gap:10px;min-height:74px;padding:12px 14px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,#0a0d13,#080a0f);color:#bfc5cf;transition:.22s}
.cms-section-tab:hover,.cms-section-tab.active{border-color:rgba(255,44,104,.48);background:linear-gradient(100deg,rgba(255,44,104,.11),rgba(10,13,19,.98) 55%);box-shadow:0 0 20px rgba(255,44,104,.07)}
.cms-section-tab.active{box-shadow:inset 2px 0 0 #ff2c68,0 0 20px rgba(255,44,104,.07)}
.cms-section-tab.has-draft:after{content:"";position:absolute;right:10px;top:9px;width:6px;height:6px;border-radius:50%;background:#ffb231;box-shadow:0 0 8px rgba(255,178,49,.55)}
.cms-tab-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,44,104,.18);background:rgba(255,44,104,.065);color:#ff5f8e;font-size:1rem}
.cms-tab-number{color:#7f8896;font-size:.58rem;font-weight:900;align-self:start;margin-top:6px}
.cms-tab-copy{display:flex;flex-direction:column;gap:4px}.cms-tab-copy strong{font-size:.72rem;color:#fff}.cms-tab-copy small{color:#66707d;font-size:.52rem}
.cms-tab-arrow{color:#a3aab5;font-size:1.25rem}

.cms-sections-stack{display:grid;gap:12px}
.cms-section-card{border:1px solid rgba(255,255,255,.08);background:#080b10;border-radius:9px;overflow:hidden;scroll-margin-top:25px}
.cms-section-card.has-draft{border-color:rgba(255,44,104,.19)}
.cms-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px 11px 16px;border-bottom:1px solid rgba(255,255,255,.055);background:linear-gradient(90deg,rgba(255,44,104,.075),rgba(10,13,19,.96) 19%,rgba(10,13,19,.98))}
.cms-section-header-left{display:flex;align-items:center;gap:13px}
.cms-section-number{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,44,104,.32);background:rgba(255,44,104,.08);color:#ff79a0;font:500 1rem/1 Georgia,serif}
.cms-section-header h3{margin:0;font:500 .95rem/1.05 Georgia,serif;color:#fff}
.cms-section-header p{margin:4px 0 0;color:#737c89;font-size:.56rem}
.cms-section-status{display:grid;grid-template-columns:auto auto auto auto;align-items:center;gap:8px;color:#7d8592;font-size:.51rem}
.cms-section-status strong{font-size:.53rem;color:#8f98a5}.cms-section-status small{color:#626a77;font-size:.5rem}
.cms-status-dot{width:7px;height:7px;border-radius:50%}.cms-status-dot.published{background:#12d795;box-shadow:0 0 8px rgba(18,215,149,.4)}.cms-status-dot.draft{background:#ffb231;box-shadow:0 0 8px rgba(255,178,49,.4)}
.cms-chevron{font-size:.85rem;color:#b7bdc7;margin-left:8px}

.cms-section-form{padding:14px 16px 13px}
.cms-section-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.cms-section-fields.two-cols{grid-template-columns:1fr 1fr}
.cms-field{display:grid;gap:7px;min-width:0}
.cms-field-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.cms-field-title b{font-size:.56rem;color:#c8ced8}.cms-field-title em{font-style:normal;font-size:.43rem;color:#ff7da3;font-weight:900;letter-spacing:.07em}
.cms-field input,.cms-field textarea{width:100%;border:1px solid #2b323c;background:#07090d;color:#fff;padding:9px 11px;outline:none;font-size:.69rem;line-height:1.45;resize:vertical;min-height:36px}
.cms-field textarea{min-height:54px}
.cms-field input:focus,.cms-field textarea:focus{border-color:#ff2c68;box-shadow:0 0 0 2px rgba(255,44,104,.055)}
.cms-field.changed input,.cms-field.changed textarea{border-color:rgba(255,44,104,.25)}
.cms-published-line{display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:start;color:#626b78;min-width:0}
.cms-published-line small{font-size:.43rem;font-weight:900;letter-spacing:.08em;color:#535c69}.cms-published-line>span{font-size:.48rem;line-height:1.35;white-space:pre-line;overflow:hidden;text-overflow:ellipsis}
.cms-section-save-row{display:flex;justify-content:flex-end;margin-top:10px}
.cms-section-save{height:36px;padding:0 14px;border:1px solid #ff2c68;background:linear-gradient(90deg,rgba(255,44,104,.18),rgba(255,44,104,.09));color:#fff;font-size:.51rem;font-weight:900;letter-spacing:.08em;cursor:pointer}
.cms-section-save:hover{background:#ff2c68;box-shadow:0 0 18px rgba(255,44,104,.2)}

@media(max-width:1150px){
  .cms-section-tabs{grid-template-columns:1fr 1fr}
  .cms-page-head{align-items:flex-start;flex-direction:column}
  .cms-page-actions{width:100%}.cms-top-btn{flex:1}
}
@media(max-width:760px){
  .cms-section-tabs{grid-template-columns:1fr}
  .cms-section-fields,.cms-section-fields.two-cols{grid-template-columns:1fr}
  .cms-section-header{align-items:flex-start;flex-direction:column}
  .cms-section-status{width:100%;grid-template-columns:auto auto 1fr auto}
  .cms-page-actions{display:grid;grid-template-columns:1fr}
  .cms-published-line{grid-template-columns:1fr;gap:3px}
}


/* REAL ADMINISTRATION PERMISSION STATES ------------------------------- */
.admin-permission-strip{display:flex;gap:8px;flex-wrap:wrap;margin:-14px 0 20px}.admin-permission-strip>span{display:flex;flex-direction:column;gap:3px;min-width:180px;padding:9px 11px;border:1px solid rgba(255,255,255,.075);background:#080a0f;color:#5d6674}.admin-permission-strip>span b{font-size:.54rem;letter-spacing:.07em}.admin-permission-strip>span small{font-size:.5rem;color:#555e6c}.admin-permission-strip>span.on{border-color:rgba(104,227,160,.22);background:rgba(104,227,160,.04);color:#9cefc0}.admin-permission-strip>span.on small{color:#7ba78e}
.view-account{border-color:rgba(255,255,255,.13)!important;color:#b7bec9!important}.permission-readonly-note{margin-top:12px;padding:11px 12px;border:1px solid rgba(255,255,255,.07);background:#090b10;color:#737c89;font-size:.6rem;line-height:1.55}.permission-readonly-note b{color:#d6dbe4}.permission-readonly-note.compact{margin-top:0}


/* RESERVATIONS - REAL PERMISSION CAPABILITIES ------------------------- */
.reservation-permission-strip{margin-top:-12px}.admin-permission-strip>span.neutral{border-color:rgba(66,183,255,.16);background:rgba(66,183,255,.04);color:#8fd5ff}
.toolbar-reservations{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.export-action{border-color:rgba(66,183,255,.24)!important;color:#90d7ff!important}
.delete-action{border-color:rgba(255,44,104,.32)!important;color:#ff84a7!important}
.reservation-row-actions{display:flex;flex-direction:column;gap:7px}
.reservation-edit-grid{grid-template-columns:1fr 1fr}.reservation-edit-grid .full-width{grid-column:1/-1}
.reservation-edit-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);color:#727c89;font-size:.58rem}.reservation-edit-meta b{color:#d1d7e0}
.reservation-edit-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px}
@media(max-width:900px){.reservation-edit-grid{grid-template-columns:1fr}.reservation-edit-actions{flex-direction:column;align-items:stretch}.reservation-row-actions{min-width:120px}}


/* RESERVATIONS — POLISHED UI ----------------------------------------- */
.reservation-summary-modern{gap:12px;margin:0 0 18px}
.reservation-summary-modern .summary-box{position:relative;display:flex;align-items:center;gap:14px;min-height:94px;padding:17px 18px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(145deg,#0a0d13,#080a0f);overflow:hidden}
.reservation-summary-modern .summary-box:after{content:"";position:absolute;right:-24px;top:-24px;width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,.015)}
.reservation-summary-modern .summary-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border:1px solid rgba(255,44,104,.22);background:rgba(255,44,104,.055);color:#ff668f;font-size:1rem}
.reservation-summary-modern .summary-box>div{display:grid;gap:3px}
.reservation-summary-modern .summary-box span:not(.summary-icon){color:#6f7886;font-size:.5rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.reservation-summary-modern .summary-box strong{margin:0;font:500 1.55rem/1 Georgia,serif;color:#fff}
.reservation-summary-modern .summary-box small{color:#555f6c;font-size:.5rem}
.summary-new .summary-icon{color:#ff7ca2}.summary-today .summary-icon{color:#8ecdf7;border-color:rgba(66,183,255,.2);background:rgba(66,183,255,.05)}
.summary-guests .summary-icon{color:#9cefc0;border-color:rgba(104,227,160,.2);background:rgba(104,227,160,.05)}

.reservations-panel-head{padding:18px 20px;align-items:flex-start}
.panel-kicker{display:block;margin-bottom:6px;color:#ff668f;font-size:.48rem;font-weight:900;letter-spacing:.15em}
.reservations-panel-head h2{margin:0;font-size:1.2rem}
.reservation-panel-meta{display:flex;gap:8px;flex-wrap:wrap}
.reservation-panel-meta span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.08);background:#080a0f;color:#65707d;font-size:.5rem;font-weight:800;letter-spacing:.05em}
.reservation-panel-meta b{color:#d9dee7}

.reservations-toolbar-wrap{padding:15px 20px!important}
.reservations-toolbar-modern{align-items:center;gap:14px;margin:0}
.reservation-filters{display:flex;gap:7px;flex-wrap:wrap}
.reservation-filters .filter-link{height:36px;min-height:36px;padding:0 11px;gap:7px;border-color:rgba(255,255,255,.08);background:#090c11}
.reservation-filters .filter-link span{font-size:.52rem}
.reservation-filters .filter-link b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid rgba(255,255,255,.08);background:#07090d;color:#7e8794;font-size:.48rem}
.reservation-filters .filter-link.active{border-color:rgba(255,44,104,.42);background:rgba(255,44,104,.085);box-shadow:inset 0 -2px 0 rgba(255,44,104,.75)}
.reservation-filters .filter-link.active b{border-color:rgba(255,44,104,.22);color:#ff89aa;background:rgba(255,44,104,.06)}

.reservation-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.reservation-search{position:relative;display:grid;grid-template-columns:auto minmax(240px,360px) auto auto;align-items:center;gap:0;min-width:0}
.reservation-search .search-icon{height:38px;width:36px;display:grid;place-items:center;border:1px solid #2b313a;border-right:0;background:#080a0f;color:#66707d;font-size:.9rem}
.reservation-search input{height:38px;border-left:0!important;padding-left:0!important;background:#080a0f!important}
.reservation-search input:focus{border-color:#2b313a!important;box-shadow:none!important}
.search-clear{height:38px;width:34px;display:grid;place-items:center;border-top:1px solid #2b313a;border-bottom:1px solid #2b313a;color:#69717d;background:#080a0f;font-size:1rem}
.search-clear:hover{color:#fff}
.reservation-search .search-btn{height:38px;margin-left:7px}
.reservation-export-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 12px;border:1px solid rgba(66,183,255,.25);background:rgba(66,183,255,.045);color:#8fd4ff;font-size:.5rem;font-weight:900;letter-spacing:.075em;white-space:nowrap}
.reservation-export-btn:hover{border-color:rgba(66,183,255,.48);background:rgba(66,183,255,.09);color:#ccecff}
.reservation-export-btn span{font-size:.8rem}

.reservations-table{min-width:1220px}
.reservations-table th{padding:12px 14px;background:#0a0d12;color:#697382;border-bottom:1px solid rgba(255,255,255,.085)}
.reservations-table td{padding:15px 14px;vertical-align:middle}
.reservations-table tbody tr{background:#080a0f}
.reservations-table tbody tr:hover{background:#0b0e14}
.client-cell{display:flex;align-items:center;gap:11px;min-width:180px}
.client-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(255,44,104,.2);background:linear-gradient(145deg,rgba(255,44,104,.12),rgba(255,44,104,.03));color:#ff7da3;font:600 .8rem/1 Georgia,serif}
.client-main{gap:3px}.client-main strong{font-size:.74rem}.client-main a{font-size:.58rem;color:#9ca5b1}.reservation-id{margin-top:3px!important;font-size:.46rem!important;color:#59616d!important}
.reservation-notes{max-width:210px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.reservation-row-actions{flex-direction:row;align-items:center;gap:6px}
.reservation-row-actions form{margin:0}
.reservation-manage-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:1px solid rgba(66,183,255,.2);background:rgba(66,183,255,.035);color:#a7dfff;font-size:.5rem;font-weight:900;letter-spacing:.05em}
.reservation-manage-btn:hover{border-color:rgba(66,183,255,.45);background:rgba(66,183,255,.08);color:#fff}
.reservation-delete-btn{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,44,104,.28);background:rgba(255,44,104,.035);color:#ff749c;cursor:pointer;font-size:.9rem}
.reservation-delete-btn:hover{background:#ff2c68;color:#fff}

.status-pill{padding:6px 9px;border-radius:2px}
.status-actions{margin-top:8px;gap:5px}
.status-actions .mini-action{height:27px;min-height:27px;padding:0 7px}
.status-readonly{margin-top:7px}

@media(max-width:1250px){
  .reservations-toolbar-modern{align-items:stretch;flex-direction:column}
  .reservation-toolbar-actions{margin-left:0;width:100%}
  .reservation-search{flex:1;grid-template-columns:auto minmax(180px,1fr) auto auto}
}
@media(max-width:760px){
  .reservation-summary-modern{grid-template-columns:1fr 1fr}
  .reservations-panel-head{flex-direction:column;gap:12px}
  .reservation-toolbar-actions{flex-direction:column;align-items:stretch}
  .reservation-search{width:100%;grid-template-columns:auto 1fr auto auto}
  .reservation-export-btn{justify-content:center}
  .reservation-filters{display:grid;grid-template-columns:1fr 1fr}
  .reservation-filters .filter-link{justify-content:space-between}
}


/* RESERVATION DETAIL — POLISHED VIEW --------------------------------- */
.reservation-overview-grid-modern{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.reservation-overview-card{position:relative;overflow:hidden;min-height:98px;padding:16px 18px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(145deg,#0a0d13,#080a0f)}
.reservation-overview-card:after{content:"";position:absolute;right:-18px;top:-18px;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.015)}
.reservation-overview-card span{color:#6f7886;font-size:.5rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.reservation-overview-card strong{display:block;margin-top:9px;font:500 1.45rem/1 Georgia,serif;color:#fff}
.reservation-overview-card small{display:block;margin-top:6px;color:#596370;font-size:.5rem}

.reservation-editor-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;align-items:start}
.reservation-editor-main,.reservation-editor-side{display:grid;gap:16px}
.reservation-section-card,.reservation-side-card{overflow:hidden}
.reservation-section-head{align-items:center;padding:16px 18px}
.reservation-section-head h2{margin:0;font-size:1.05rem}
.modern-edit-grid{grid-template-columns:1fr 1fr;gap:16px 18px}
.modern-edit-grid label,.reservation-notes-field{display:grid;gap:7px;color:#cbd2db;font-size:.62rem;font-weight:800}
.modern-edit-grid input,.modern-edit-grid select,.reservation-notes-field textarea{
  width:100%;border:1px solid #2b323c;background:#07090d;color:#fff;padding:12px 13px;
  outline:none;font-size:.74rem;line-height:1.45;min-height:42px
}
.modern-edit-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#808896 50%),linear-gradient(135deg,#808896 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
.modern-edit-grid input:focus,.modern-edit-grid select:focus,.reservation-notes-field textarea:focus{border-color:#ff2c68;box-shadow:0 0 0 2px rgba(255,44,104,.055)}
.modern-edit-grid input[readonly],.modern-edit-grid select[disabled],.reservation-notes-field textarea[readonly]{color:#9199a5}
.reservation-notes-field textarea{min-height:170px;resize:vertical}

.reservation-side-summary{display:grid;gap:16px}
.reservation-profile{display:flex;align-items:center;gap:12px;padding:4px 0 2px}
.reservation-profile-avatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(255,44,104,.24);background:linear-gradient(145deg,rgba(255,44,104,.12),rgba(255,44,104,.035));color:#ff83a8;font:600 1rem/1 Georgia,serif}
.reservation-profile strong{display:block;font-size:.85rem;color:#fff}
.reservation-profile span{display:block;margin-top:4px;color:#8e97a3;font-size:.62rem}
.reservation-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reservation-facts>div{padding:12px;border:1px solid rgba(255,255,255,.065);background:#090b10}
.reservation-facts small{display:block;margin-bottom:5px;color:#697280;font-size:.46rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.reservation-facts b{color:#dfe3ea;font-size:.67rem;overflow-wrap:anywhere}
.reservation-meta-list{display:grid;gap:8px;padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}
.reservation-meta-list span{display:flex;justify-content:space-between;gap:12px;color:#76808d;font-size:.57rem}
.reservation-meta-list b{color:#d7dde7;font-weight:700}
.reservation-edit-actions{display:grid;gap:10px}
.full-width-btn{width:100%}
.danger-zone-card{border-color:rgba(255,44,104,.16)}
.danger-copy{margin:0 0 14px;color:#7f8895;font-size:.61rem;line-height:1.6}
.danger-button{width:100%;justify-content:center}
.back-link{display:inline-block;margin-bottom:8px;color:#8ecdf7;font-size:.6rem;font-weight:800;letter-spacing:.05em}
.back-link:hover{color:#d8f2ff}

@media(max-width:1100px){
  .reservation-editor-shell{grid-template-columns:1fr}
  .reservation-overview-grid-modern{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .reservation-overview-grid-modern{grid-template-columns:1fr}
  .modern-edit-grid{grid-template-columns:1fr}
  .reservation-facts{grid-template-columns:1fr}
  .reservation-meta-list span{flex-direction:column;align-items:flex-start}
}


/* EVENTS — REAL PERMISSION MODULE ------------------------------------ */
.event-create-btn{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid #ff2c68;background:rgba(255,44,104,.08);color:#ff83a7;font-size:.54rem;font-weight:900;letter-spacing:.08em}
.event-create-btn:hover{background:#ff2c68;color:#fff}
.event-summary-modern .summary-box:nth-child(4) .summary-icon{color:#ffd271;border-color:rgba(255,210,113,.22);background:rgba(255,210,113,.05)}
.admin-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}
.admin-event-card{display:grid;grid-template-columns:190px 1fr;min-height:210px;border:1px solid rgba(255,255,255,.075);background:#080a0f;overflow:hidden}
.admin-event-card.featured{border-color:rgba(255,44,104,.28);box-shadow:inset 0 0 0 1px rgba(255,44,104,.035)}
.admin-event-cover{position:relative;min-height:210px;background:#05070a}.admin-event-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.admin-event-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(8,10,15,.88))}
.admin-event-status,.admin-event-featured{position:absolute;z-index:2;left:10px;top:10px;padding:5px 7px;border:1px solid rgba(255,255,255,.16);background:rgba(5,7,10,.82);font-size:.45rem;font-weight:900;letter-spacing:.08em}
.admin-event-status.published{color:#9cefc0;border-color:rgba(104,227,160,.25)}.admin-event-status.draft{color:#ffcb73;border-color:rgba(255,194,78,.25)}
.admin-event-featured{top:auto;bottom:10px;color:#ff83a7;border-color:rgba(255,44,104,.3)}
.admin-event-copy{padding:18px;display:flex;flex-direction:column}.admin-event-copy>small{color:#737d8a;font-size:.5rem;font-weight:800;letter-spacing:.07em}.admin-event-copy h3{margin:7px 0 8px;font:500 1.25rem/1.05 Georgia,serif}.admin-event-copy p{margin:0;color:#77818e;font-size:.62rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.admin-event-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.admin-event-tags span{padding:5px 7px;border:1px solid rgba(255,255,255,.07);background:#090b10;color:#8d96a3;font-size:.47rem;font-weight:800;letter-spacing:.06em}
.admin-event-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.admin-event-actions form{margin:0}
.event-feature-btn{height:30px;padding:0 9px;border:1px solid rgba(255,210,113,.26);background:rgba(255,210,113,.04);color:#ffd271;font-size:.48rem;font-weight:900;letter-spacing:.05em;cursor:pointer}
.event-feature-btn:hover{background:rgba(255,210,113,.12);color:#fff}
.event-search{margin-left:auto}
.event-editor-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:16px;align-items:start}.event-editor-main{display:grid;gap:16px}.event-editor-side{position:sticky;top:18px}.event-image-picker{display:grid;gap:7px;margin-top:14px;color:#b7bdc8;font-size:.62rem;font-weight:800}
.event-image-picker select{height:44px;border:1px solid #292e38;background:#07090d;color:#fff;padding:0 12px}
.event-preview-card{border:1px solid rgba(255,255,255,.07);background:#090b10;overflow:hidden}.event-preview-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.event-preview-card>div{padding:15px}.event-preview-card small{color:#6e7784;font-size:.5rem}.event-preview-card h3{margin:7px 0;font:500 1.2rem/1 Georgia,serif}.event-preview-card p{color:#7a8491;font-size:.6rem;line-height:1.5}
.event-save-main{width:100%;margin-top:12px}.event-secondary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.event-secondary-actions form{margin:0}.event-feature-large{height:43px;padding:0 14px;border:1px solid rgba(255,210,113,.34);background:rgba(255,210,113,.055);color:#ffd271;font-size:.52rem;font-weight:900;letter-spacing:.07em;cursor:pointer}
@media(max-width:1180px){.admin-events-grid{grid-template-columns:1fr}.event-editor-layout{grid-template-columns:1fr}.event-editor-side{position:static}}
@media(max-width:720px){.admin-event-card{grid-template-columns:1fr}.admin-event-cover{min-height:220px}.event-search{margin-left:0;width:100%}}


/* GALLERY — REAL PERMISSION MODULE ----------------------------------- */
.gallery-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-upload-panel{margin-bottom:18px}
.gallery-upload-form{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:18px}
.gallery-file-drop{position:relative;min-height:180px;border:1px dashed rgba(255,44,104,.32);background:linear-gradient(145deg,rgba(255,44,104,.05),rgba(255,255,255,.008));display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;cursor:pointer}
.gallery-file-drop input{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}
.gallery-file-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,44,104,.3);background:rgba(255,44,104,.065);color:#ff75a0;font-size:1.3rem}
.gallery-file-drop strong{color:#fff;font-size:.72rem}.gallery-file-drop small{color:#707987;font-size:.54rem}
.gallery-upload-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gallery-upload-fields label{display:grid;gap:7px;color:#b9c0ca;font-size:.6rem;font-weight:800}
.gallery-upload-fields label:first-child{grid-column:1/-1}
.gallery-upload-fields input,.gallery-upload-fields select{height:44px;border:1px solid #2b313a;background:#07090d;color:#fff;padding:0 12px}
.gallery-upload-fields .btn{align-self:end}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px}
.admin-gallery-card{border:1px solid rgba(255,255,255,.075);background:#080a0f;overflow:hidden}
.admin-gallery-card.is-hidden{opacity:.62}.admin-gallery-card.is-hidden .admin-gallery-image img{filter:grayscale(.65) brightness(.7)}
.admin-gallery-image{position:relative;aspect-ratio:16/10;background:#05070a;overflow:hidden}
.admin-gallery-image img{width:100%;height:100%;object-fit:cover}
.admin-gallery-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.58))}
.admin-gallery-order,.admin-gallery-visible,.admin-gallery-layout{position:absolute;z-index:2;padding:5px 7px;background:rgba(5,7,10,.82);font-size:.44rem;font-weight:900;letter-spacing:.07em}
.admin-gallery-order{left:9px;top:9px;color:#fff;border:1px solid rgba(255,255,255,.16)}
.admin-gallery-visible{right:9px;top:9px}.admin-gallery-visible.on{color:#9cefc0;border:1px solid rgba(104,227,160,.25)}.admin-gallery-visible.off{color:#ffcb73;border:1px solid rgba(255,194,78,.25)}
.admin-gallery-layout{left:9px;bottom:9px;color:#ff86aa;border:1px solid rgba(255,44,104,.27)}
.admin-gallery-body{padding:14px;display:grid;gap:12px}
.admin-gallery-edit{display:grid;gap:11px}.admin-gallery-edit label{display:grid;gap:6px;color:#b8bfca;font-size:.56rem;font-weight:800}
.admin-gallery-edit input,.admin-gallery-edit select{height:39px;border:1px solid #29303a;background:#07090d;color:#fff;padding:0 10px}
.gallery-edit-grid{grid-template-columns:1fr 1fr}
.admin-gallery-actions{display:flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.055)}
.admin-gallery-actions form{margin:0}.gallery-square-action{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.1);background:#090b10;color:#a2aab6;cursor:pointer}.gallery-square-action:disabled{opacity:.25;cursor:not-allowed}
.gallery-visibility-action{height:30px;padding:0 9px;border:1px solid rgba(66,183,255,.2);background:rgba(66,183,255,.035);color:#9ad8ff;font-size:.47rem;font-weight:900;letter-spacing:.06em;cursor:pointer}
@media(max-width:1180px){.admin-gallery-grid{grid-template-columns:1fr 1fr}.gallery-upload-form{grid-template-columns:1fr}}
@media(max-width:720px){.admin-gallery-grid{grid-template-columns:1fr}.gallery-summary{grid-template-columns:1fr}.gallery-upload-fields{grid-template-columns:1fr}.gallery-upload-fields label:first-child{grid-column:auto}}


/* AUDIT LOGS ---------------------------------------------------------- */
.audit-summary .summary-box:nth-child(3) .summary-icon{color:#8fd5ff;border-color:rgba(66,183,255,.22);background:rgba(66,183,255,.05)}
.audit-summary .summary-box:nth-child(4) .summary-icon{color:#ffd271;border-color:rgba(255,210,113,.22);background:rgba(255,210,113,.05)}
.audit-filter-wrap{padding:14px 18px!important}
.audit-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(160px,.6fr) minmax(190px,.7fr) auto auto;gap:9px;align-items:end}
.audit-filters label{display:grid;gap:6px;color:#747d89;font-size:.5rem;font-weight:900;letter-spacing:.05em}
.audit-filters input,.audit-filters select{height:39px;border:1px solid #2a3039;background:#07090d;color:#fff;padding:0 11px;outline:none}
.audit-search{position:relative}.audit-search>span{position:absolute;left:12px;bottom:10px;color:#68717e;font-size:.85rem}.audit-search input{padding-left:34px}
.audit-filter-btn{height:39px}.audit-clear{height:39px;display:flex;align-items:center;justify-content:center}
.audit-table{min-width:1100px}.audit-table th{padding:12px 14px;background:#0a0d12;color:#697382}.audit-table td{padding:13px 14px;vertical-align:middle}
.audit-date{white-space:nowrap}.audit-date strong{display:block;color:#dbe0e8;font-size:.62rem}.audit-date span{display:block;margin-top:3px;color:#69727f;font-size:.53rem}
.audit-user{display:flex;align-items:center;gap:9px;min-width:170px}.audit-avatar{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid rgba(255,44,104,.18);background:rgba(255,44,104,.045);color:#ff7fa4;font:600 .7rem/1 Georgia,serif}.audit-user strong{display:block;font-size:.61rem}.audit-user small{display:block;margin-top:3px;color:#68717e;font-size:.5rem}
.audit-action{display:inline-flex;padding:5px 7px;border:1px solid rgba(255,255,255,.08);background:#090b10;color:#a1a9b5;font-size:.47rem;font-weight:900;letter-spacing:.055em;white-space:nowrap}.audit-action.success{color:#9cefc0;border-color:rgba(104,227,160,.2);background:rgba(104,227,160,.035)}.audit-action.danger{color:#ff7da3;border-color:rgba(255,44,104,.22);background:rgba(255,44,104,.04)}.audit-action.auth{color:#8fd5ff;border-color:rgba(66,183,255,.2);background:rgba(66,183,255,.035)}.audit-action.change{color:#ffd271;border-color:rgba(255,210,113,.18);background:rgba(255,210,113,.025)}
.audit-module{display:block;color:#d0d6df;font-size:.58rem;font-weight:800}.audit-entity-id{display:block;margin-top:3px;color:#606977;font-size:.47rem}.audit-description{max-width:480px;color:#9aa2ad;font-size:.58rem;line-height:1.5}.audit-ip{color:#69727f;font-size:.53rem;white-space:nowrap}
@media(max-width:1100px){.audit-filters{grid-template-columns:1fr 1fr}.audit-search{grid-column:1/-1}}
@media(max-width:650px){.audit-filters{grid-template-columns:1fr}.audit-search{grid-column:auto}}


/* ROLE-AWARE ADMIN PANEL --------------------------------------------- */
.sidebar-permission-count{margin-top:9px;color:#606a77;font-size:.49rem;font-weight:900;letter-spacing:.1em}
.dashboard-eyebrow{display:block;margin-bottom:7px;color:#ff6e98;font-size:.52rem;font-weight:900;letter-spacing:.16em}
.dashboard-topbar strong{font-weight:800}
.dashboard-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dashboard-access-badge{display:inline-flex;align-items:center;height:34px;padding:0 11px;border:1px solid rgba(255,44,104,.22);background:rgba(255,44,104,.045);color:#ff83a8;font-size:.49rem;font-weight:900;letter-spacing:.08em}
.dashboard-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.dashboard-stat-card{min-height:110px;padding:16px 17px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(145deg,#0a0d13,#080a0f);color:#fff;transition:.2s}
.dashboard-stat-card:hover{border-color:rgba(255,44,104,.25);transform:translateY(-1px)}
.dashboard-stat-card.accent{border-color:rgba(255,44,104,.22);background:linear-gradient(145deg,rgba(255,44,104,.055),#080a0f 48%)}
.dashboard-stat-card>span{display:block;color:#6c7582;font-size:.5rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.dashboard-stat-card strong{display:block;margin-top:10px;font:500 1.75rem/1 Georgia,serif}
.dashboard-stat-card small{display:block;margin-top:6px;color:#626c79;font-size:.53rem}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:16px}
.dashboard-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dashboard-module-card{position:relative;display:grid;gap:13px;padding:15px 42px 15px 15px;border:1px solid rgba(255,255,255,.07);background:#090b10;color:#fff;transition:.2s}
.dashboard-module-card:hover{border-color:rgba(255,44,104,.25);background:linear-gradient(100deg,rgba(255,44,104,.045),#090b10 55%)}
.dashboard-module-card strong{font-size:.72rem}
.dashboard-module-card p{margin:5px 0 0;color:#707a87;font-size:.57rem;line-height:1.5}
.dashboard-module-permissions{display:flex;gap:5px;flex-wrap:wrap}
.dashboard-module-permissions span{padding:4px 6px;border:1px solid rgba(104,227,160,.14);background:rgba(104,227,160,.025);color:#84cfa5;font-size:.43rem;font-weight:800}
.dashboard-module-arrow{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#ff719b;font-size:1rem}
.dashboard-quick-actions{display:grid;gap:8px}
.dashboard-quick-actions>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.075);background:#090b10;color:#b8c0ca;font-size:.58rem;font-weight:800}
.dashboard-quick-actions>a:hover{border-color:rgba(255,44,104,.28);color:#fff;background:rgba(255,44,104,.04)}
.dashboard-quick-actions>a span{color:#ff719b}
.roles-readonly-note{margin:0 0 18px}
@media(max-width:1120px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.dashboard-module-grid{grid-template-columns:1fr}.dashboard-head-actions{width:100%}.dashboard-access-badge,.dashboard-head-actions .logout{flex:1;justify-content:center}}


/* ============================================================
   SEPARATE DEVELOPER CONSOLE
   ============================================================ */
body.dev-panel{
  background:
    radial-gradient(circle at 80% 0,rgba(64,225,255,.07),transparent 28%),
    radial-gradient(circle at 15% 0,rgba(255,44,104,.075),transparent 30%),
    #020508;
}
.dev-sidebar{
  border-right-color:rgba(64,225,255,.15);
  background:rgba(3,7,10,.97);
}
.dev-sidebar .admin-brand small{color:#65dff2}
.dev-sidebar .admin-nav a:hover,
.dev-sidebar .admin-nav a.active{
  border-color:rgba(64,225,255,.25);
  background:linear-gradient(90deg,rgba(64,225,255,.07),rgba(255,44,104,.035));
}
.dev-root-badge{
  margin:-18px 10px 20px;
  display:inline-flex;
  padding:5px 8px;
  border:1px solid rgba(64,225,255,.28);
  background:rgba(64,225,255,.045);
  color:#78e7f7;
  font-size:.48rem;
  font-weight:1000;
  letter-spacing:.13em;
}
.dev-role-badge{
  border-color:rgba(64,225,255,.35)!important;
  color:#8cefff!important;
  background:rgba(64,225,255,.055)!important;
}
.dev-auth-page{
  background:
    radial-gradient(circle at 50% 18%,rgba(64,225,255,.08),transparent 25%),
    radial-gradient(circle at 25% 50%,rgba(255,44,104,.08),transparent 28%);
}
.dev-auth-card{
  border-color:rgba(64,225,255,.18);
  box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 60px rgba(64,225,255,.04);
}
.dev-login-mark{
  width:58px;height:58px;margin:0 auto 18px;
  display:grid;place-items:center;
  border:1px solid rgba(64,225,255,.4);
  background:linear-gradient(145deg,rgba(64,225,255,.08),rgba(255,44,104,.06));
  color:#8cefff;
  font:900 .7rem/1 Inter,sans-serif;
  letter-spacing:.16em;
  box-shadow:0 0 26px rgba(64,225,255,.08);
}
.dev-auth-card .auth-city{color:#6ddff0}
.dev-auth-card .form input:focus{
  border-color:#49dff2;
  box-shadow:0 0 0 2px rgba(73,223,242,.07);
}
.dev-login-button{
  border-color:#49dff2;
  background:linear-gradient(90deg,rgba(73,223,242,.08),rgba(255,44,104,.08));
}
.dev-login-button:hover{
  background:linear-gradient(90deg,#22bfd9,#ff2c68);
  box-shadow:0 0 35px rgba(73,223,242,.16);
}
.dev-login-links{
  margin-top:20px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:.62rem;color:#79828f
}
.dev-login-links a:first-child{color:#83e8f7}
.dev-full-access{
  border-color:rgba(64,225,255,.3)!important;
  color:#88ebfa!important;
  background:rgba(64,225,255,.045)!important;
}
.dev-status-bar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:-12px 0 18px;
}
.dev-status-bar span{
  display:inline-flex;align-items:center;gap:6px;
  height:29px;padding:0 9px;
  border:1px solid rgba(255,255,255,.07);
  background:#060a0e;color:#66717e;
  font-size:.46rem;font-weight:900;letter-spacing:.08em
}
.dev-status-bar span:first-child{
  color:#8ce7b5;border-color:rgba(104,227,160,.2);
  background:rgba(104,227,160,.03)
}
.dev-status-bar i{
  width:6px;height:6px;border-radius:50%;background:#68e3a0;
  box-shadow:0 0 8px rgba(104,227,160,.55)
}
.dev-dashboard-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px
}
.dev-module-grid{display:grid;gap:8px}
.dev-module-grid a{
  position:relative;display:grid;gap:4px;
  padding:13px 40px 13px 13px;
  border:1px solid rgba(255,255,255,.07);
  background:#060a0e;color:#fff
}
.dev-module-grid a:hover{
  border-color:rgba(64,225,255,.24);
  background:linear-gradient(90deg,rgba(64,225,255,.04),rgba(255,44,104,.025))
}
.dev-module-grid strong{font-size:.68rem}
.dev-module-grid span{color:#697582;font-size:.53rem}
.dev-module-grid b{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  color:#70e4f4
}
.dev-separation-panel{border-color:rgba(64,225,255,.1)}
.dev-separation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dev-separation-grid>div{
  padding:16px;border:1px solid rgba(255,255,255,.065);background:#060a0e
}
.dev-separation-grid strong{font:500 1rem/1 Georgia,serif}
.dev-separation-grid p{color:#747f8c;font-size:.6rem;line-height:1.55}
.dev-separation-grid a,.dev-separation-grid span{
  display:inline-block;margin-top:7px;color:#7ce5f5;
  font-size:.49rem;font-weight:900;letter-spacing:.09em
}
@media(max-width:950px){
  .dev-dashboard-grid,.dev-separation-grid{grid-template-columns:1fr}
}
