.admin-body{background:#f1f1f6}.admin-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:var(--ink);color:#fff;padding:1.6rem;display:flex;flex-direction:column;gap:3rem}.admin-logo{display:flex;align-items:center;gap:.8rem}.admin-logo>span,.login-badge{display:grid;place-items:center;width:45px;height:45px;background:var(--yellow);border-radius:10px;color:var(--ink);font:1rem var(--display);letter-spacing:-.12em;transform:rotate(-6deg)}.admin-logo>span span,.login-badge span{color:#cb347d}.admin-logo strong{font:1rem var(--display)}.admin-logo small{display:block;margin-top:.3rem;font:.65rem var(--body);letter-spacing:.1em;color:#c4c4d6}.admin-sidebar nav{display:grid;gap:.35rem}.admin-sidebar nav a{padding:.75rem .9rem;border-radius:8px;font-weight:700;color:#d8d8e5}.admin-sidebar nav a[aria-current=page],.admin-sidebar nav a:hover{background:var(--yellow);color:var(--ink)}.admin-profile{margin-top:auto;border-top:1px solid #4b4b65;padding-top:1.4rem;overflow-wrap:anywhere}.admin-profile span{font-size:.8rem;color:#d8d8e5}.admin-profile button{display:block;background:none;border:0;color:var(--yellow);padding:.5rem 0;cursor:pointer;font-weight:700}.admin-main{min-width:0}.admin-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fff;border-bottom:1px solid #dedee6;padding:1rem clamp(1rem,3vw,3rem);font-size:.83rem;font-weight:700;color:#66667a}.admin-top a{color:var(--ink);text-decoration:underline}.admin-content{max-width:1420px;margin:auto;padding:clamp(1.2rem,3vw,3rem)}.admin-heading{display:flex;justify-content:space-between;gap:1.5rem;align-items:end;margin-bottom:2rem}.admin-heading h1{font-size:clamp(2.1rem,3.8vw,3.8rem);margin:.6rem 0}.admin-heading h1 span{color:#d54b91}.admin-heading p{color:#626278;margin:0}.admin-notice{background:#e0f4f2;border-left:4px solid #41a6af;border-radius:5px;padding:1rem 1.25rem;margin-bottom:1.4rem;font-size:.9rem}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem}.metric-card,.admin-panel,.form-panel{background:#fff;border:1px solid #dddde7;border-radius:12px;padding:1.5rem}.metric-card>span{display:block;text-transform:uppercase;color:#6b6b7c;font-size:.74rem;letter-spacing:.1em;font-weight:800}.metric-card>strong{display:block;font:clamp(2.2rem,4vw,4rem)/1.1 var(--display);margin:.7rem 0 0}.metric-card>small{font-weight:700;color:#b22776}.metric-card>div{border-top:1px solid #e5e5eb;margin-top:1.2rem;padding-top:1rem;color:#626278;font-size:.88rem}.metric-card>div b{color:var(--ink)}.metric-card>div span{margin-inline:.25rem}.admin-panels{display:grid;grid-template-columns:2fr 1fr;gap:1.2rem}.admin-panel h2,.form-panel h2{font-size:1.3rem;letter-spacing:-.03em;margin:.45rem 0 1rem}.panel-head{display:flex;justify-content:space-between;align-items:end;gap:1rem}.panel-head>span{font-size:.78rem;color:#67677b}.bar-chart{display:flex;align-items:end;gap:4px;height:175px;border-bottom:1px solid #dadbe3;padding-top:1rem}.bar-day{height:100%;flex:1;display:flex;align-items:end}.bar-day span{display:block;width:100%;min-height:3px;border-radius:3px 3px 0 0;background:var(--violet)}.bar-day:nth-child(3n) span{background:#e65f9f}.chart-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#77778a;margin-top:.5rem}.speaker-summary{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center;margin:1.5rem 0}.speaker-summary strong{font:2.2rem var(--display)}.speaker-summary span{color:#69697b}.panel-link,.back-link{font-weight:800;text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:5px}.top-pages{margin-top:1.2rem}.top-pages p{color:#626278}.admin-table-wrap{overflow-x:auto;background:#fff;border:1px solid #dddde7;border-radius:12px}.admin-table-wrap table{width:100%;border-collapse:collapse;text-align:left}.admin-table-wrap th,.admin-table-wrap td{padding:1rem 1.2rem;border-bottom:1px solid #e9e9ee;vertical-align:middle}.admin-table-wrap th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#646478;background:#fafafd}.admin-table-wrap tr:last-child td{border:0}.person-cell{display:flex;align-items:center;gap:.9rem;min-width:200px}.person-cell img,.photo-mini{width:52px;height:52px;object-fit:cover;border-radius:9px;background:var(--blue)}.photo-mini{display:grid;place-items:center;font-size:1.7rem}.person-cell small{display:block;color:#6b6b7b}.status-pill{display:inline-flex;padding:.28rem .65rem;border-radius:100px;font-size:.73rem;font-weight:800}.published{background:#d8f2e5;color:#12653e}.draft{background:#f0eafa;color:#67439d}.table-actions{display:flex;align-items:center;gap:1rem}.table-actions a,.table-actions button{font-weight:800;font-size:.82rem}.table-actions a{text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:3px}.table-actions button{border:0;background:none;color:#a92651;cursor:pointer;padding:0}.admin-alert{padding:1rem 1.25rem;border-radius:8px;background:#def3e8;color:#175e3a;margin-bottom:1.2rem}.admin-alert.error{background:#fff0f2;color:#8f2542}.admin-alert ul{margin:.5rem 0 0;padding-left:1.2rem}.admin-empty{background:#fff;border:1px solid #dddde7;border-radius:12px;text-align:center;padding:4rem 1rem}.admin-empty>span{font-size:3.5rem;color:var(--pink)}.admin-empty h2{font-size:1.5rem}.admin-empty p{color:#646478}.person-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:1.2rem}.form-main,.form-side{display:grid;align-content:start;gap:1.2rem}.form-field{display:grid;gap:.4rem;margin-top:1.2rem}.form-field label{font-weight:800;font-size:.87rem}.form-field input,.form-field textarea,.form-field select,.login-panel input{display:block;width:100%;border:1px solid #babacb;border-radius:7px;padding:.8rem;background:#fff;color:var(--ink);font:inherit;min-height:44px}.form-field textarea{resize:vertical}.form-field small{font-size:.78rem;color:#646478}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.photo-preview{display:block;width:100%;height:190px;object-fit:contain;background:#e9e9f1;border-radius:9px}.check-line{display:flex;align-items:center;gap:.7rem;font-weight:800;margin:1.2rem 0}.check-line input{width:20px;height:20px;accent-color:#ba347e}.save-button{width:100%;border:0;cursor:pointer}.login-body{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 90% 5%,#5c477b 0,transparent 27%),var(--ink);padding:1rem}.login-panel{position:relative;width:min(100%,470px);background:#fff;border-radius:18px;padding:clamp(1.5rem,4vw,3rem);box-shadow:9px 9px 0 var(--pink)}.login-back{display:block;margin-bottom:2rem;color:#55556a;font-weight:700;font-size:.85rem}.login-badge{margin-bottom:1.5rem;width:58px;height:58px;font-size:1.3rem}.login-panel h1{font-size:2.15rem;margin:.6rem 0}.login-panel p{color:#656579;margin-bottom:1.5rem}.login-panel label{display:block;font-weight:800;font-size:.87rem;margin:1.2rem 0 .4rem}.login-panel button{width:100%;border:0;margin-top:1.5rem;cursor:pointer}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{gap:1rem;padding:1rem}.admin-sidebar nav{display:flex;flex-wrap:wrap}.admin-profile{margin:0;padding:0;border:0;display:flex;gap:1rem;align-items:center}.admin-top{display:none}.metric-grid,.admin-panels{grid-template-columns:1fr}.person-form{grid-template-columns:1fr}.form-side{grid-template-columns:1fr 1fr}.save-button{align-self:end}}
@media(max-width:580px){.admin-heading{display:block}.admin-heading .button{margin-top:1.2rem}.form-row,.form-side{grid-template-columns:1fr}.admin-sidebar nav a{font-size:.8rem;padding:.6rem}.admin-profile{display:block}.admin-content{padding:1rem}.admin-table-wrap th,.admin-table-wrap td{padding:.7rem}}
