.admin{min-height:100vh;display:grid;grid-template-columns:232px 1fr;grid-template-rows:auto 1fr}.admin-side{grid-row:1/-1;display:flex;flex-direction:column;gap:.25rem;padding:1.1rem .9rem 1rem;background:var(--panel);color:#fff;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-side .brand{font-weight:600;letter-spacing:-.01em;padding:0 .55rem 1.1rem}.admin-side nav{display:flex;flex-direction:column}.admin-side a{color:#cfd6d1;text-decoration:none;font-size:.875rem;padding:.5rem .55rem;border-radius:7px;border-left:2px solid transparent}.admin-side a:hover{color:#fff;background:#ffffff14}.admin-side a.on{color:var(--green);background:#ffffff0f;border-left-color:var(--green)}.admin-topbar{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.5rem;background:#fff;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.admin-topbar .page-title{font-weight:600;font-size:.95rem;margin-right:auto}.icon-btn{position:relative;display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:none;cursor:pointer;color:#58645a;text-decoration:none}.icon-btn:hover{background:var(--tint);border-color:var(--line);color:var(--ink)}.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-btn .dot{position:absolute;top:1px;right:1px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#a32b1e;color:#fff;font-size:.62rem;line-height:15px;text-align:center;font-weight:600}.profile{position:relative}.profile-menu{position:absolute;right:0;top:calc(100% + .4rem);min-width:190px;z-index:11;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.3rem;box-shadow:0 8px 24px #0000001f;display:grid}.profile-menu .who{font-size:.72rem;color:#8a938c;padding:.4rem .55rem .5rem;border-bottom:1px solid var(--line);margin-bottom:.3rem;overflow-wrap:anywhere}.profile-menu a,.profile-menu button{font:inherit;font-size:.85rem;text-align:left;text-decoration:none;color:var(--ink);background:none;border:0;border-radius:7px;padding:.45rem .55rem;cursor:pointer;width:100%;display:block}.profile-menu a:hover,.profile-menu button:hover{background:var(--tint)}.admin-burger{display:none;gap:4px;padding:.35rem;background:none;border:0;cursor:pointer}.admin-burger span{display:block;width:20px;height:2px;background:var(--ink)}.admin-scrim{position:fixed;inset:0;background:#0006;z-index:19}.admin-main{padding:1.75rem 1.5rem 4rem;max-width:1100px;width:100%}@media (max-width:860px){.admin{grid-template-columns:1fr}.admin-burger{display:grid}.admin-topbar{padding-left:1rem;padding-right:1rem}.admin-side{position:fixed;z-index:20;top:0;left:0;width:250px;transform:translateX(-100%);transition:transform .2s}.admin-side.open{transform:none}.admin-main{padding:1.25rem 1rem 3rem}.page-hd{display:block}.page-hd .acts{margin:.9rem 0 0}.filters{display:grid;grid-gap:.5rem;gap:.5rem}.filters .btn,.filters input,.filters select{width:100%;justify-content:center}.table-card{overflow-x:auto}.table-card>table{min-width:640px}.modal{width:100%;max-width:none;margin:auto 0 0;border-radius:12px 12px 0 0}.toasts{right:.75rem;left:.75rem;bottom:.75rem;max-width:none}.grid2{grid-template-columns:1fr}.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs a{white-space:nowrap}}@media (prefers-reduced-motion:reduce){.admin-side{transition:none}}.admin h1{font-size:1.35rem;margin:0 0 .25rem;letter-spacing:-.02em}.admin h2{font-size:1rem;margin:2rem 0 .75rem}.sub{color:#58645a;font-size:.875rem;margin:0 0 1.5rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.card{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;background:var(--tint)}.card .n{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.card .k{font-size:.75rem;color:#58645a;text-transform:uppercase;letter-spacing:.04em}.card.warn{background:#fff8f0;border-color:#f0dcc0}table{width:100%;border-collapse:collapse;font-size:.875rem}.table-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.table-card>table{font-size:.875rem}.table-card thead th{background:var(--tint);border-bottom:1px solid var(--line);padding-top:.7rem;padding-bottom:.7rem}.table-card td:first-child,.table-card th:first-child{padding-left:1rem}.table-card td:last-child,.table-card th:last-child{padding-right:1rem}.table-card tbody tr:last-child td{border-bottom:0}.table-card td{padding-top:.7rem;padding-bottom:.7rem}.table-card+.pager{padding:0 .25rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.75rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:1rem}.filters input,.filters select{width:auto;min-width:0}.filters .spacer{margin-left:auto}td,th{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#58645a}tbody tr:hover{background:var(--tint)}td a{color:var(--ink);font-weight:500;text-decoration:none}td a:hover{color:var(--green-d,#6a9a26);text-decoration:underline}.muted,td.muted{color:#8a938c}.tag{display:inline-block;font-size:.7rem;padding:.1rem .4rem;border-radius:4px;border:1px solid var(--line);color:#58645a;background:#fff}.tag.live{border-color:#bcd9a8;background:#f2f9ec;color:#3f6b28}.tag.draft{border-color:#e0d6bc;background:#fbf7ec;color:#7a6636}.tag.manual{border-color:#c9d9ea;background:#f0f6fb;color:#35617f}.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font:inherit;font-size:.875rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);width:100%}textarea{min-height:6rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:-1px}input:disabled{background:#f4f6f4;color:#6c766e;cursor:not-allowed}.btn{font:inherit;font-size:.85rem;padding:.45rem .9rem;border-radius:7px;cursor:pointer;border:1px solid var(--green-cta);background:var(--green-cta);color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.btn:hover{background:var(--green-cta-hover);border-color:var(--green-cta-hover)}.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--tint)}.btn.danger{background:#fff;color:#a32b1e;border-color:#e6c3bd}.btn:disabled{opacity:.5;cursor:default}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.field{display:block;margin-bottom:.9rem}.field>span{display:block;font-size:.75rem;color:#58645a;margin-bottom:.25rem}.field .hint{font-size:.72rem;color:#8a938c;margin-top:.2rem}.check{display:flex;align-items:center;gap:.45rem;font-size:.875rem}.check input{width:auto}.panel{border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.25rem;margin-bottom:1.25rem}.panel>h3{margin:0 0 .2rem;font-size:.95rem}.panel>.why{margin:0 0 1rem;font-size:.8rem;color:#58645a}.panel.locked{background:#fafbfa}.readonly{font-size:.82rem}.readonly dt{font-size:.72rem;color:#8a938c;margin-top:.6rem}.readonly dd{margin:.1rem 0 0}.drop{display:grid;justify-items:center;grid-gap:.3rem;gap:.3rem;text-align:center;padding:1.6rem 1rem;border:1.5px dashed var(--line);border-radius:10px;background:var(--tint);cursor:pointer;color:#58645a;transition:border-color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--green-cta);background:#f2f9ec}.drop:focus-within{outline:2px solid var(--green);outline-offset:2px}.drop svg{width:26px;height:26px;fill:none;stroke:var(--green-cta);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drop .lead{font-size:.875rem;color:var(--ink)}.drop .lead b{color:var(--green-cta-hover);text-decoration:underline}.drop .hint{font-size:.75rem;color:#8a938c;margin:0}.drop input{position:absolute;width:1px;height:1px;opacity:0}.drop-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-gap:.25rem;gap:.25rem}.drop-list li{font-size:.8rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:7px;background:#fff;overflow-wrap:anywhere}.modal{width:min(560px,calc(100vw - 2rem));max-height:calc(100vh - 4rem);padding:1.25rem 1.4rem 1.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 18px 50px #00000026}.modal::-webkit-backdrop{background:#0f1a12b8}.modal::backdrop{background:#0f1a12b8}.modal-hd{display:flex;align-items:center;gap:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#fff;margin:-1.25rem -1.4rem .3rem;padding:1.25rem 1.4rem .5rem}.modal-hd h3{margin:0;font-size:1rem;flex:1 1}.modal-hd .icon-btn{margin:-.4rem -.5rem -.4rem 0}.modal .why{margin:0 0 1rem;font-size:.8rem;color:#58645a}.modal-ft{display:flex;justify-content:flex-end;gap:.5rem;position:-webkit-sticky;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);margin:1.1rem -1.4rem -1.4rem;padding:.9rem 1.4rem 1.1rem}.tabs{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 1.5rem}.tabs a{font-size:.875rem;text-decoration:none;color:#58645a;padding:.5rem .8rem;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.on,.tabs a:hover{color:var(--ink)}.tabs a.on{font-weight:600;border-bottom-color:var(--green-cta)}.page-hd{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-hd .sub{margin:0}.page-hd .acts{margin-left:auto;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.notice{border:1px solid #e6c3bd;background:#fdf4f2;color:#7d2418;padding:.6rem .8rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.notice.ok{border-color:#bcd9a8;background:#f2f9ec;color:#3f6b28}.pager{display:flex;gap:.4rem;align-items:center;margin-top:1rem;font-size:.85rem}.pager a{padding:.3rem .6rem;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink)}.pager .now{color:#58645a}.login{min-height:100vh;display:grid;place-items:center;background:var(--tint)}.login form{width:min(360px,92vw);background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.75rem}.login h1{font-size:1.1rem;margin:0 0 .3rem}.login p{font-size:.82rem;color:#58645a;margin:0 0 1.25rem}