@import url('/assets/css/role-portals.css?v=3.4.1');
body.admin{background:#f1f2f4;color:#17171a}.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#09090c;color:#fff;padding:24px 17px;display:flex;flex-direction:column}.sidebar>img{width:205px;margin:0 auto 25px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{padding:11px 13px;border-radius:5px;color:#b6b2b5;font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{background:#f208681c;color:#ff4a91}.sidebar .profile{margin-top:auto;padding-top:18px;border-top:1px solid #26262c;font-size:12px}.sidebar .profile b,.sidebar .profile span{display:block}.sidebar .profile span{color:#88838a;margin-top:3px}.sidebar form{margin-top:12px}.sidebar form button{background:none;border:0;color:#ff4a91;padding:0;cursor:pointer}.admin-main{padding:29px 34px;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.admin-top small{color:#79777c}.admin-top h1{font:31px Georgia;margin:4px 0}.admin-top a{font-size:12px}.alert{padding:12px 15px;border-radius:6px;background:#e3f7ed;color:#16704a;margin-bottom:18px}.error{padding:12px 15px;border-radius:6px;background:#ffe3e9;color:#a5234d;margin-bottom:18px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric,.admin-card{background:#fff;border:1px solid #dddde2;border-radius:8px}.metric{padding:20px}.metric small{color:#77747b;font-size:9px;letter-spacing:.1em}.metric b{display:block;font:28px Georgia;margin-top:10px}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.admin-card{overflow:hidden}.card-head{padding:17px 19px;border-bottom:1px solid #ececf0;display:flex;justify-content:space-between;align-items:center}.card-head h2{font:20px Georgia;margin:0}.card-head p{font-size:11px;color:#7b787e;margin:3px 0}.admin-card form{padding:20px}.admin-card input,.admin-card select,.admin-card textarea{background:#fafafa;color:#222;border-color:#d7d7dc}.admin-card label{color:#555159}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th,.admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #ededf0;white-space:nowrap}.admin-table th{font-size:9px;text-transform:uppercase;color:#77747b;background:#fafafa;letter-spacing:.06em}.pill{display:inline-block;padding:4px 7px;border-radius:12px;background:#ececf0}.pill.new,.pill.unpaid{background:#fff0d9;color:#9b6515}.pill.confirmed,.pill.paid,.pill.published{background:#dff5e9;color:#14704a}.pill.in_progress,.pill.partial{background:#e0ecfb;color:#29629a}.pill.cancelled{background:#f9e1e6;color:#9d304c}.actions-row{display:flex;gap:8px}.actions-row button,.actions-row a{border:0;background:none;color:#d4085c;cursor:pointer;font-size:11px}.empty{padding:50px;text-align:center;color:#77747b}.login-page{min-height:100vh;background:radial-gradient(circle at 30% 20%,#3a0a21,transparent 35%),#070709;display:grid;place-items:center}.login-shell{width:min(430px,calc(100% - 28px))}.login-shell>a>img{width:280px;display:block;margin:0 auto 28px}.login-shell .form-card h1{font:36px Georgia;margin:8px 0}.login-shell .form-card>p{color:#aaa5aa}.login-shell .back{display:block;text-align:center;color:#858087;font-size:11px;margin-top:16px}.module-note{padding:18px;color:#77747b;font-size:12px}.chart-bars{height:180px;display:flex;align-items:end;gap:10px;padding:22px}.chart-bars span{flex:1;background:linear-gradient(#ff4a91,#f20868);border-radius:4px 4px 0 0}.quick-links{padding:14px}.quick-links a{display:flex;justify-content:space-between;padding:13px;border-bottom:1px solid #eee;color:#343239;font-size:12px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-form-grid .wide{grid-column:1/-1}
@media(max-width:900px){.admin-shell{grid-template-columns:75px 1fr}.sidebar{padding:20px 10px}.sidebar>img{width:55px;height:55px;object-fit:cover;object-position:left}.sidebar nav a{font-size:0;text-align:center}.sidebar nav a:first-letter{font-size:18px}.sidebar .profile span,.sidebar .profile b{display:none}.metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}@media(max-width:600px){.admin-shell{display:block}.sidebar{position:sticky;top:0;z-index:20;min-height:auto;display:grid;grid-template-columns:52px minmax(0,1fr) 48px;align-items:center;padding:10px}.sidebar>img{margin:0;width:45px;height:45px}.sidebar nav{display:flex;flex-direction:row;overflow-x:auto;gap:5px;padding:0 8px;scrollbar-width:thin}.sidebar nav a{font-size:11px!important;text-align:left;white-space:nowrap;padding:9px}.sidebar nav a:first-letter{font-size:inherit}.sidebar .profile{margin:0;border:0;padding:0}.sidebar .profile form{margin:0}.admin-main{padding:20px 13px}.admin-top{align-items:flex-start;gap:12px}.metrics{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .wide{grid-column:auto}.actions-row{flex-wrap:wrap}}

/* Dashboard layout guardrails v3.4.1 */
body.admin{min-width:320px;overflow-x:hidden}.admin-shell,.admin-main,.admin-grid,.admin-card,.metrics,.metric,.table-wrap{min-width:0}.sidebar img,.login-shell img,.picker-logo img{height:auto;object-fit:contain}.admin .ui-icon{display:inline-block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;object-fit:contain!important}.login-icon{width:46px;height:46px}.login-icon .ui-icon{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;flex-basis:24px!important}.portal-grid>a>.ui-icon{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;max-width:26px!important;max-height:26px!important;flex-basis:26px!important}.admin-top h1,.card-head h2,.portal-grid b,.portal-grid small{overflow-wrap:anywhere}.admin-table{min-width:680px}.button{max-width:100%}
@media(max-width:760px){.picker-shell{padding:36px 0}.picker-logo img{width:min(230px,75vw)}.picker-shell>header h1{font-size:clamp(34px,10vw,42px)}.portal-grid>a{padding:17px;gap:13px}.admin-top{flex-direction:column}.admin-top h1{font-size:28px}.admin-table{min-width:620px}}
.credential-actions{display:grid;gap:10px;margin-top:20px}
