.svp-admin{--ink:#1d2327;--soft:#50575e;--mute:#8c8f94;--line:#dcdcde;--bg:#f0f0f1;--accent:#2158c9;--ok:#08783e;--warn:#9a6700;margin:0 0 0 -20px;color:var(--ink)}
.svp-admin *{box-sizing:border-box}.svp-shell{display:flex;min-height:calc(100vh - 32px)}.svp-side{width:220px;flex:0 0 220px;background:#1d2327;color:#fff;padding:20px 0}.svp-brand{padding:0 20px 18px;font-size:15px;font-weight:600;border-bottom:1px solid #32373c;margin-bottom:8px}.svp-brand small,.svp-panel small,td small{display:block;font-weight:400;color:#8c8f94;font-size:11px;margin-top:3px}.svp-side button{display:flex;width:100%;gap:10px;align-items:center;padding:11px 20px;border:0;border-left:3px solid transparent;background:transparent;color:#d3d5d6;cursor:pointer;text-align:left}.svp-side button:hover{background:#2c3338;color:#fff}.svp-side button.active{background:#2271b1;color:#fff;border-left-color:#72aee6}.svp-side i{width:6px;height:6px;border-radius:50%;background:#788086}.svp-main{padding:28px 36px;flex:1;max-width:1180px}.svp-main h1{font-size:22px;margin:0 0 4px}.svp-sub{color:var(--soft);margin:0 0 22px}.svp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.svp-metrics>div,.svp-panel{background:#fff;border:1px solid var(--line);border-radius:8px}.svp-metrics>div{padding:14px 16px}.svp-metrics b{display:block;font-size:22px}.svp-metrics span{font-size:12px;color:var(--soft)}.svp-view{display:none}.svp-view.active{display:block}.svp-panel{margin-bottom:20px;overflow:hidden}.svp-panel-head{padding:14px 18px;border-bottom:1px solid #eef0f1;display:flex;justify-content:space-between;align-items:center}.svp-panel-head h2{font-size:14px;margin:0}.svp-panel-head p{font-size:12px;color:var(--soft);margin:3px 0 0}.svp-panel-body{padding:18px}.svp-field{display:block;font-size:12px;color:var(--soft);font-weight:500;margin:0 0 15px}.svp-field>span{display:block;margin-bottom:6px}.svp-field input,.svp-field select,.svp-panel select,.svp-panel input[type=search],.svp-panel input[type=date],.svp-panel input[type=text]{width:100%;max-width:none;margin-top:5px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;min-height:36px}.svp-field input[type=file]{padding:5px;background:#fff}.svp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.svp-inline{display:flex;gap:8px;align-items:center}.svp-inline>*{margin:0!important}.svp-inline input,.svp-inline select{min-width:180px}.svp-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;line-height:1.2}.svp-btn:hover{background:#f6f7f7;color:var(--ink)}.svp-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.svp-btn.small{font-size:12px;padding:5px 10px;white-space:nowrap}.svp-btn[disabled]{opacity:.55;cursor:wait}.svp-check{display:flex;align-items:center;gap:7px;color:var(--soft)}.svp-check .tiny{width:60px}.svp-title-row{display:flex;justify-content:space-between;align-items:start}.svp-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.svp-badge.ok{background:#e7f6ec;color:var(--ok)}.svp-badge.warn{background:#fdf1da;color:var(--warn)}.svp-badge.mute{background:#f0f0f1;color:var(--soft)}.svp-table-wrap{overflow:auto}.svp-admin table{border-collapse:collapse;width:100%;font-size:13px}.svp-admin th{text-align:left;text-transform:uppercase;font-size:11px;color:var(--mute);letter-spacing:.03em;padding:9px 10px;border-bottom:1px solid var(--line)}.svp-admin td{padding:10px;border-bottom:1px solid #eef0f1;vertical-align:middle}.svp-empty{text-align:center;color:var(--mute);padding:30px!important}.svp-progress{width:85px;height:6px;background:#eceef0;border-radius:5px;overflow:hidden}.svp-progress i{display:block;height:100%;background:var(--accent)}.svp-switch{display:inline-block;width:34px;height:18px;position:relative}.svp-switch input{opacity:0}.svp-switch span{position:absolute;inset:0;background:#c6cacd;border-radius:20px}.svp-switch span:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.15s}.svp-switch input:checked+span{background:var(--accent)}.svp-switch input:checked+span:before{transform:translateX(16px)}.required{color:#c0292f}.svp-modal-bg{display:none;position:fixed;inset:0;background:rgba(29,35,39,.55);align-items:center;justify-content:center;z-index:100000}.svp-modal-bg.open{display:flex}.svp-modal{position:relative;width:min(440px,calc(100vw - 32px));background:#fff;border-radius:10px;padding:22px}.svp-modal h3{margin:0 0 4px}.svp-modal>p{color:var(--soft);margin:0 0 17px}.svp-modal-x{position:absolute;right:10px;top:8px;border:0;background:none;font-size:24px;cursor:pointer}.svp-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.svp-toast{position:fixed;right:20px;bottom:20px;background:#1d2327;color:#fff;padding:11px 16px;border-radius:6px;opacity:0;transform:translateY(15px);transition:.2s;z-index:100001;pointer-events:none}.svp-toast.show{opacity:1;transform:none}.svp-toast.error{background:#a02228}.svp-filters{gap:15px}.svp-filters input{width:220px!important}
@media(max-width:900px){.svp-side{width:170px;flex-basis:170px}.svp-main{padding:24px 20px}.svp-metrics{grid-template-columns:1fr 1fr}.svp-grid{grid-template-columns:1fr}.svp-filters{align-items:stretch;flex-direction:column}.svp-filters .svp-inline{flex-wrap:wrap}}
.svp-btn.danger{background:#c0292f;border-color:#c0292f;color:#fff}.svp-btn.danger:hover{background:#a82026;color:#fff}.svp-cleanup-panel{margin-top:28px;border-color:#efc8ca}.svp-cleanup-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.svp-cleanup-action small{color:var(--mute);margin-top:6px}
.svp-admin .map-label{width:100%;min-width:150px;margin:0;padding:7px 9px;border:1px solid var(--line);border-radius:5px}.svp-admin .map-column{min-width:220px}.svp-btn.danger-outline{color:#a82026;border-color:#dba9ac;background:#fff}.svp-btn.danger-outline:hover{background:#fcf0f1;color:#8a171c}.svp-modal .svp-check+.svp-check{margin-top:10px}
.svp-public-url{display:flex;align-items:center;gap:5px;min-width:250px}.svp-admin .svp-public-url input{width:195px;min-height:30px;margin:0;padding:5px 7px;font-size:11px;border:1px solid var(--line);border-radius:5px;background:#f6f7f7}.svp-public-open{display:inline-block;margin-top:5px;font-size:11px;text-decoration:none}
