:root{--navy:#10263b;--blue:#1776d2;--blue2:#0e64b7;--bg:#f4f7fa;--panel:#fff;--line:#dce5ed;--text:#142231;--muted:#687786;--danger:#b42318;--green:#138a52;--shadow:0 12px 35px rgba(20,34,49,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px clamp(20px,4vw,64px);background:#fff;border-bottom:1px solid var(--line)}.topbar h1{margin:5px 0 2px;font-size:30px}.topbar p{margin:0;color:var(--muted)}.back{color:var(--blue);text-decoration:none;font-weight:700;font-size:14px}.brand{font-weight:900;letter-spacing:2px;color:var(--navy)}.shell{padding:26px clamp(16px,3vw,48px) 60px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.manager-grid{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:24px;align-items:start}.uploader{padding:24px;position:sticky;top:18px}.library{padding:24px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--blue);font-weight:900}.panel h2{margin:5px 0 8px}.panel p{color:var(--muted);line-height:1.55}.hidden{display:none!important}label{display:grid;gap:6px;font-size:13px;font-weight:750;margin:14px 0}input,textarea,select{width:100%;border:1px solid #ccd7e1;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,118,210,.12)}textarea{resize:vertical}.optional{font-weight:500;color:var(--muted)}.dropzone{border:2px dashed #b8c9d8;border-radius:14px;padding:22px;text-align:center;cursor:pointer;background:#f8fbfd}.dropzone strong,.dropzone span{display:block}.dropzone span{font-weight:500;color:var(--muted);margin-top:4px;font-size:12px}.dropzone input{margin-top:12px;border:0;padding:0}.checks{display:grid;gap:8px;margin:15px 0}.checks label{display:flex;align-items:center;gap:8px;margin:0;font-weight:650}.checks input{width:auto}.primary,.secondary,.danger{border-radius:10px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer;border:1px solid transparent}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}.secondary{background:#fff;border-color:#c9d6e1;color:var(--text)}.danger{background:#fff0ef;border-color:#f2c7c3;color:var(--danger)}.full{width:100%}.msg{min-height:18px;margin-top:9px;font-size:12px;color:var(--muted)}.msg.ok{color:var(--green)}.msg.err{color:var(--danger)}.library-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.head-actions{display:flex;gap:8px;align-items:center}.head-actions select{min-width:170px;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px}.photo-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.image-wrap{height:190px;background:#e9eef3;position:relative}.preview{width:100%;height:100%;object-fit:cover;display:block}.live-badge{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#eef2f6;color:#647484}.live-badge.on{background:#e6f6ed;color:var(--green)}.card-body{padding:14px}.card-body label{margin:8px 0;font-size:11px}.card-body input,.card-body textarea,.card-body select{padding:8px 9px;font-size:12px}.compact{grid-template-columns:1fr 1fr;margin:10px 0}.card-actions{display:grid;grid-template-columns:auto auto 1fr 1fr;gap:6px;margin-top:11px}.card-actions button{padding:8px}.empty{text-align:center;padding:80px 20px;color:var(--muted)}.login-panel{max-width:430px;margin:60px auto;padding:28px}
@media(max-width:1200px){.photo-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:850px){.topbar{align-items:flex-start}.brand{display:none}.manager-grid{grid-template-columns:1fr}.uploader{position:static}.library-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions select{flex:1}.photo-grid{grid-template-columns:1fr}} 
