:root{--ink:#1b1d22;--ink-2:#4b5563;--surface:#ffffff;--surface-2:#f4f5f7;--line:#dde1e6;--accent:#3a6df0;--accent-ink:#ffffff;--danger:#c0392b;--radius:8px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--surface-2);font-size:15px;line-height:1.4}h1{font-size:1.4rem;margin:0}h2{font-size:1.05rem;margin:0 0 .75rem}button{font:inherit;cursor:pointer}a{color:var(--accent);text-decoration:none}.admin-loading{color:#6b7280}.admin-loading,.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-page{background:var(--ink)}.login-card{width:min(360px,90vw);background:var(--surface);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 60px rgba(0,0,0,.35)}.login-card h1{text-align:center;margin-bottom:.25rem}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#4b5563}.login-card input{padding:.55rem .65rem;border:1px solid var(--line);border-radius:6px;font-size:.95rem}.login-card button{margin-top:.5rem;padding:.65rem;border:none;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-weight:600}.login-card button:disabled{opacity:.6;cursor:default}.form-error{color:var(--danger);font-size:.85rem;margin:0}.admin-shell{min-height:100vh;display:flex;flex-direction:column}.admin-topbar{display:flex;align-items:center;gap:2rem;padding:.85rem 1.5rem;background:var(--ink);color:#fff}.admin-topbar__brand{font-weight:700;letter-spacing:.01em}.admin-topbar__nav{display:flex;gap:1.25rem;flex:1 1}.admin-topbar__nav a{color:#c9cdd6;font-size:.9rem}.admin-topbar__nav a.is-active{color:#fff;font-weight:600}.admin-topbar__user{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#c9cdd6}.admin-topbar__user button{border:1px solid #444;background:transparent;color:#fff;padding:.35rem .7rem;border-radius:6px;font-size:.8rem}.admin-main{flex:1 1;padding:1.75rem;max-width:1100px;width:100%;margin:0 auto}.admin-page__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.btn-primary{background:var(--accent);color:var(--accent-ink);padding:.5rem .9rem;border-radius:6px;font-size:.9rem;font-weight:600;border:none}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}.admin-table td,.admin-table th{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--line);font-size:.88rem}.admin-table th{color:#6b7280;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-2)}.admin-table tr:last-child td{border-bottom:none}.admin-table__actions{display:flex;gap:.75rem;white-space:nowrap}.admin-table__actions button{background:none;border:none;color:var(--danger);font-size:.85rem;padding:0}.admin-table__actions a{font-size:.85rem}.admin-form{background:var(--surface);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem;max-width:640px}.admin-form--inline{margin-bottom:1.5rem;max-width:none}.admin-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:#4b5563;flex:1 1}.admin-form input,.admin-form select,.admin-form textarea{padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;font-size:.9rem;font-family:inherit}.admin-form__row{display:flex;gap:1rem}.admin-form__checkbox{flex-direction:row!important;align-items:center;gap:.5rem!important}.admin-form__checkbox input{width:auto}.admin-form__actions{display:flex;gap:.75rem}.admin-form__actions button[type=submit]{background:var(--accent);color:var(--accent-ink);border:none;padding:.55rem 1.1rem;border-radius:6px;font-weight:600}.admin-form__actions button[type=button]{background:none;border:1px solid var(--line);padding:.55rem 1.1rem;border-radius:6px}.admin-specs__head{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:#4b5563;margin-bottom:.5rem}.admin-specs__head button{background:none;border:none;color:var(--accent);font-size:.82rem}.admin-specs__row{display:flex;gap:.5rem;margin-bottom:.5rem}.admin-specs__row input{padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;font-size:.85rem;flex:1 1}.admin-specs__row button{background:none;border:1px solid var(--line);border-radius:6px;width:2rem;color:var(--danger)}