:root{--admin-blue:#0871d8;--admin-border:#e4e5e7;--admin-text:#20242b;--admin-muted:#68717d}
.admin-body,.admin-login-body{min-height:100vh;background:#fafafa;color:var(--admin-text)}
.admin-app{min-height:100vh;display:flex;flex-direction:column}
.admin-topbar{height:88px;flex:0 0 88px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2rem;background:#fff;border-bottom:1px solid var(--admin-border);box-shadow:0 1px 3px #10182812;position:sticky;top:0;z-index:20}
.admin-brand{display:flex;align-items:center;gap:1rem;min-width:0;font-size:1.5rem;color:#16191e}
.admin-brand img{width:40px;height:40px;object-fit:contain}
.admin-topbar-actions{display:flex;align-items:center;gap:1.25rem;font-size:.9rem}
.admin-topbar-actions a{color:var(--admin-blue)}
.admin-topbar-actions form{margin:0}
.admin-topbar-actions button{border:0;border-radius:.7rem;background:#eee;color:#24272d;padding:.65rem 1rem;cursor:pointer}
.admin-topbar-actions button:hover{background:#e3e5e8}
.admin-user-name{color:var(--admin-muted)}
.admin-body-grid{display:grid;grid-template-columns:250px minmax(0,1fr);flex:1}
.admin-sidebar{background:#fff;border-right:1px solid var(--admin-border);box-shadow:1px 0 5px #1018280c}
.admin-sidebar nav{position:sticky;top:88px;padding:1.5rem 1rem}
.admin-sidebar ul{display:grid;gap:.25rem;list-style:none;padding:0;margin:0}
.admin-sidebar a{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;border-radius:.65rem;color:var(--admin-text);text-decoration:none;font-weight:500}
.admin-sidebar a:hover{background:#eef5fc}
.admin-sidebar a[aria-current=page]{background:var(--admin-blue);color:#fff;font-weight:650}
.admin-nav-icon{display:inline-grid;place-items:center;width:1.3rem;flex:0 0 1.3rem;font-size:1.1rem;line-height:1}
.admin-main{min-width:0;padding:2.4rem 2rem 5rem}
.admin-main h1{font-size:2rem;font-weight:750;line-height:1.25;margin:0 0 .45rem;color:#17191e}
.admin-main h2{font-size:1.4rem;font-weight:700;margin:0 0 1rem}
.admin-main .admin-intro{color:var(--admin-muted);margin:0 0 2rem;line-height:1.5}
.admin-main .grid-cards,.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;margin:2rem 0}
.admin-stat-card,.admin-main .panel,.admin-main .table-wrap{background:#fff;border:1px solid var(--admin-border);border-radius:.75rem;box-shadow:0 2px 6px #10182812}
.admin-stat-card{padding:1.5rem}
.admin-stat-card strong{display:block;color:var(--admin-blue);font-size:2.1rem;line-height:1.15}
.admin-stat-card span{display:block;margin-top:.5rem;color:var(--admin-muted)}
.admin-stat-card a{display:inline-block;margin-top:1rem;color:var(--admin-blue);font-weight:600}
.admin-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.admin-activity-grid p{border:1px solid var(--admin-border);border-radius:.6rem;padding:1rem;line-height:1.5}
.admin-activity-grid a{color:var(--admin-blue)}
.admin-main .panel{max-width:none;padding:1.5rem;margin:1.5rem 0}
.admin-main .panel form{max-width:760px}
.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.admin-section-heading .admin-intro{margin-bottom:0}
.admin-editor summary{font-size:1.25rem;font-weight:700;cursor:pointer;list-style:none}
.admin-editor summary::-webkit-details-marker{display:none}
.admin-editor[open] summary{margin-bottom:1.5rem}
.admin-setting-preview{display:block;max-width:280px;max-height:150px;object-fit:contain;margin:.3rem 0 1rem;border:1px solid var(--admin-border);border-radius:.5rem;background:#fafafa}
.admin-config-tabs{display:flex;flex-wrap:wrap;gap:.45rem;border-bottom:1px solid var(--admin-border);margin:1.7rem 0 1.25rem}
.admin-config-tabs a{display:inline-flex;padding:.75rem 1rem;color:#4b5563;text-decoration:none;font-weight:650;border-bottom:3px solid transparent;border-radius:.4rem .4rem 0 0}
.admin-config-tabs a:hover{background:#eef5fc;color:var(--admin-blue)}
.admin-config-tabs a[aria-current=page]{color:var(--admin-blue);border-bottom-color:var(--admin-blue);background:#eef5fc}
.admin-copy-section{margin:1rem 0;border:1px solid var(--admin-border);border-radius:.7rem;padding:1rem 1.25rem;background:#fff}
.admin-copy-section summary{cursor:pointer;font-size:1.08rem;font-weight:700;color:#24364b}
.admin-copy-section[open] summary{padding-bottom:.8rem;border-bottom:1px solid var(--admin-border);margin-bottom:1.25rem}
.admin-copy-section textarea{min-height:6rem;resize:vertical}
.admin-thumbnail{width:64px;height:54px;object-fit:cover;border-radius:.4rem;background:#f0f2f4}
.admin-main .panel h2:not(:first-child){margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--admin-border)}
.admin-main label{display:block;font-size:.9rem;font-weight:600;margin:.65rem 0 .4rem}
.admin-main input:not([type=checkbox]):not([type=hidden]):not([type=file]),.admin-main textarea,.admin-main select{display:block;width:100%;padding:.7rem .85rem;border:1px solid #d9dce0;border-radius:.55rem;background:#fff;color:var(--admin-text);font:inherit;margin:.4rem 0 1rem}
.admin-main input[type=file]{display:block;width:100%;margin:.5rem 0 1rem}
.admin-main input[type=checkbox]{margin-right:.45rem}
.admin-main .button,.admin-main button.button,.admin-primary-button{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.15rem;border:0;border-radius:.6rem;background:var(--admin-blue);color:#fff;font:inherit;font-weight:650;cursor:pointer;text-decoration:none}
.admin-main .button:hover,.admin-primary-button:hover{background:#0564c0}
.admin-main .table-wrap{overflow:auto;margin:1.5rem 0}
.admin-main table{width:100%;border-collapse:collapse;text-align:left}
.admin-main th,.admin-main td{padding:1rem;border-bottom:1px solid var(--admin-border);vertical-align:top;min-width:105px}
.admin-main th{background:#f9fafb;font-size:.84rem;color:var(--admin-muted);font-weight:700;white-space:nowrap}
.admin-main tr:last-child td{border-bottom:0}
.admin-main td form{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin:.3rem 0}
.admin-main td select{min-width:125px;margin:0}
.admin-main td label{margin:0}
.admin-main td a{color:var(--admin-blue);font-weight:600}
.admin-main td button:not(.button){color:#b4372b;border:0;background:transparent;cursor:pointer}
.admin-main td details{max-width:360px}
.admin-main td details summary{color:var(--admin-blue);cursor:pointer;font-weight:600}
.admin-main td details p{margin:.5rem 0 1rem;white-space:normal;line-height:1.5}
.admin-filters{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0}
.admin-filters label{margin:0;min-width:170px;flex:1;max-width:290px}
.admin-filters input,.admin-filters select{margin:.35rem 0 0!important}
.admin-filters .button{margin-bottom:.1rem}
.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:1.2rem;margin:1.25rem 0;color:var(--admin-muted)}
.admin-pagination a{color:var(--admin-blue);font-weight:600}
.admin-status{display:inline-block;padding:.32rem .55rem;background:#e9f3ff;color:#0658a7;border-radius:.4rem;font-size:.86rem;font-weight:650}
.admin-main .admin-empty{padding:1.5rem;color:var(--admin-muted)}
.admin-main .notice{padding:1rem;border-radius:.6rem;background:#ebf4fd}
.admin-main .error{background:#fff0ed;color:#8c2d17}
.admin-login-body{display:grid;place-items:center;padding:3rem 1rem}
.admin-login-wrap{width:100%;max-width:450px;text-align:center}
.admin-login-logo{display:inline-flex;margin-bottom:1.8rem}
.admin-login-logo img{width:64px;height:64px;object-fit:contain}
.admin-login-card{padding:2rem;background:#fff;border:1px solid var(--admin-border);border-radius:.7rem;box-shadow:0 8px 15px #00000016;text-align:left}
.admin-login-card h1{text-align:center;font-size:1.9rem;font-weight:750;margin:0 0 .4rem}
.admin-login-card>p{text-align:center;color:var(--admin-muted);line-height:1.5;margin:0 0 2rem}
.admin-login-card label{display:block;font-size:.88rem;font-weight:600;margin:1.25rem 0 .5rem}
.admin-login-card input{display:block;width:100%;height:2.9rem;border:1px solid var(--admin-border);border-radius:.6rem;background:#fafafa;padding:0 1rem;color:var(--admin-text)}
.admin-login-card input:focus-visible,.admin-main input:focus-visible,.admin-main textarea:focus-visible,.admin-main select:focus-visible{outline:2px solid var(--admin-blue);outline-offset:2px}
.admin-login-card .admin-primary-button{width:100%;height:3rem;margin-top:1.5rem}
.admin-back-link{display:block;color:var(--admin-blue);text-align:center;text-decoration:none;font-size:.9rem;margin:3rem 0 .2rem}
.admin-login-caption{background:#eee;color:#5d636b;padding:1rem 1.5rem;border-radius:.7rem;font-size:.85rem;font-weight:600;margin:2rem 0 0}
.admin-alert{padding:.9rem 1rem;border-radius:.5rem;background:#fff0ed;color:#8c2d17}
@media(max-width:1080px){.admin-main .grid-cards,.admin-stat-grid,.admin-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-topbar{height:auto;min-height:76px;padding:1rem;flex-wrap:wrap}.admin-brand{font-size:1.2rem}.admin-topbar-actions{gap:.7rem;flex-wrap:wrap}.admin-user-name{display:none}.admin-body-grid{display:block}.admin-sidebar{border-right:0;border-bottom:1px solid var(--admin-border)}.admin-sidebar nav{position:static;padding:.7rem}.admin-sidebar ul{display:flex;overflow-x:auto;gap:.3rem}.admin-sidebar li{flex:0 0 auto}.admin-sidebar a{white-space:nowrap;padding:.7rem .85rem}.admin-main{padding:1.7rem 1rem 4rem}}
@media(max-width:450px){.admin-main .grid-cards,.admin-stat-grid,.admin-activity-grid{grid-template-columns:1fr}.admin-login-card{padding:1.5rem}}
