:root{--navy:#1A3A5C;--gold:#F0A500;--bg:#f5f7fb;--card:#fff;--text:#17212b;--muted:#6f7c88;--line:#e4e9ef;--green:#16835d;--red:#c94949;--shadow:0 8px 28px rgba(23,41,61,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}button,input{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#f6e6b7 0,transparent 34%),linear-gradient(135deg,#102b47,#1A3A5C)}.login-card{width:min(420px,92vw);background:#fff;border-radius:22px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.brand{display:flex;align-items:center;gap:12px;font-weight:850;color:var(--navy);font-size:20px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--navy);display:grid;place-items:center;color:var(--gold);font-weight:900}.login-card h1{margin:26px 0 8px;font-size:28px}.login-card p{color:var(--muted);margin:0 0 24px}.field label{display:block;font-size:13px;font-weight:750;margin:0 0 8px}.field input{width:100%;border:1px solid var(--line);padding:13px 14px;border-radius:11px;outline:none}.field input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,58,92,.1)}.primary{border:0;background:var(--navy);color:#fff;border-radius:11px;padding:12px 16px;font-weight:800;cursor:pointer}.primary:hover{filter:brightness(1.07)}.login-card .primary{width:100%;margin-top:14px}.error{color:var(--red);font-size:13px;margin-top:10px}.app{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:#132e4a;color:#dbe5ef;padding:24px 18px;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;margin-bottom:28px}.sidebar .brand-mark{background:var(--gold);color:var(--navy)}.nav-btn{width:100%;display:flex;gap:10px;align-items:center;border:0;background:transparent;color:#cbd7e3;padding:12px 13px;border-radius:10px;cursor:pointer;text-align:left;margin:3px 0}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.10);color:#fff}.nav-sep{height:1px;background:rgba(255,255,255,.12);margin:16px 4px}.sidebar-foot{position:absolute;bottom:22px;left:18px;right:18px;font-size:12px;color:#95a8bb}.main{padding:28px 30px 60px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.topbar h1{font-size:29px;margin:0 0 5px}.subtle{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.input,.select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px}.secondary{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:10px 13px;font-weight:700;cursor:pointer}.secondary:hover{background:#fafbfd}.danger{border-color:#f0c9c9;color:var(--red)}.cards{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 3px 12px rgba(23,41,61,.035)}.metric-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:800}.metric-value{font-size:23px;font-weight:850;margin-top:7px}.metric-value.good{color:var(--green)}.metric-value.bad{color:var(--red)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 14px rgba(23,41,61,.04);overflow:hidden;margin-bottom:18px}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{font-size:16px;margin:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:1080px}.table th{background:#f9fbfc;color:#647484;font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:right;padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table th:first-child{text-align:left;padding-left:18px}.table td{padding:10px;border-bottom:1px solid #edf0f3;text-align:right;font-size:13px;white-space:nowrap}.table td:first-child{text-align:left;padding-left:18px}.row-campaign{background:#fbfcfd}.row-campaign td{font-weight:760}.row-adset td:first-child{padding-left:40px}.row-ad td:first-child{padding-left:64px}.entity-name{display:flex;align-items:center;gap:8px;max-width:420px}.entity-name span.name{overflow:hidden;text-overflow:ellipsis}.toggle-expand{border:0;background:transparent;cursor:pointer;color:var(--muted);width:22px;height:22px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.badge.active{background:#e9f7f1;color:var(--green)}.badge.paused{background:#f8eeee;color:var(--red)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.action-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:11px;font-weight:750;margin-left:4px}.action-btn:hover{border-color:#b9c5d0}.budget-controls{display:inline-flex;align-items:center;gap:3px}.budget-controls button{border:1px solid var(--line);background:#fff;padding:4px 6px;border-radius:7px;cursor:pointer}.zero-state{padding:45px 20px;text-align:center;color:var(--muted)}.zero-state strong{display:block;color:var(--text);font-size:18px;margin-bottom:6px}.log-table{width:100%;border-collapse:collapse}.log-table th,.log-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:12px;text-align:left}.log-table th{background:#fafbfd;color:var(--muted);text-transform:uppercase;font-size:10px}.status-ok{color:var(--green);font-weight:800}.status-error{color:var(--red);font-weight:800}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.setting-card h3{margin:0 0 8px;font-size:15px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2f5f7;border:1px solid var(--line);padding:10px;border-radius:9px;overflow:auto;font-size:12px;white-space:pre-wrap}.notice{background:#fff8e7;border:1px solid #f2d38b;color:#73581d;border-radius:12px;padding:12px 14px;font-size:13px;margin-bottom:16px}.toast{position:fixed;right:22px;bottom:22px;background:#17212b;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);z-index:99;max-width:360px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;display:flex;gap:8px;align-items:center;overflow:auto}.sidebar .brand{margin:0 12px 0 0}.nav-btn{width:auto;white-space:nowrap}.sidebar-foot,.nav-sep{display:none}.main{padding:20px 14px}.topbar{flex-direction:column}.cards{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}}
.mobile-campaigns{display:none}.mobile-entity{padding:14px;border-bottom:1px solid var(--line);background:#fff}.mobile-entity.level-1{margin-left:12px;border-left:3px solid #dbe3ea}.mobile-entity.level-2{margin-left:24px;border-left:3px solid #eef1f4}.mobile-entity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-title{display:flex;align-items:center;gap:5px;min-width:0}.mobile-title strong{font-size:14px;overflow:hidden;text-overflow:ellipsis}.mobile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.mobile-metrics div{background:#f8fafb;border:1px solid #edf0f3;border-radius:10px;padding:9px}.mobile-metrics span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.mobile-metrics b{display:block;margin-top:4px;font-size:13px}.mobile-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mobile-budget{font-size:12px;font-weight:800;margin-left:auto}@media(max-width:800px){.campaign-table-wrap{display:none}.mobile-campaigns{display:block}.panel-head{align-items:flex-start}.mobile-metrics{grid-template-columns:repeat(2,1fr)}.sidebar{padding:12px 10px}.sidebar .brand{font-size:13px}.nav-btn{padding:9px 10px}.top-actions{width:100%}.top-actions .input{min-width:0;flex:1}.top-actions span{display:none}.top-actions button{flex:1}.metric-card{padding:14px}.metric-value{font-size:20px}}
