:root{--ink: #0f1b2d;--ink-2: #4a5568;--muted: #6b6b6b;--bg: #f6f4ef;--card: #ffffff;--line: #e7e3da;--accent: #f2c14e;--pos: #2e6b4f;--neg: #b3261e;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ink: #eef0f4;--ink-2: #b6bdc9;--muted: #9aa3b2;--bg: #0d1420;--card: #152033;--line: #26344d;--pos: #6fcf97;--neg: #ff8a80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit;color:inherit}.app{max-width:1200px;margin:0 auto;padding:0 16px 48px}.center{display:grid;place-items:center;min-height:60vh}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:600}.pos{color:var(--pos);font-weight:600}.neg{color:var(--neg);font-weight:600}.error{color:var(--neg)}.top{display:flex;align-items:center;gap:12px;padding:16px 0 8px;flex-wrap:wrap}.brand{font-weight:800;letter-spacing:4px;font-size:18px}.brand span{background:var(--accent);color:#0f1b2d;padding:2px 6px;border-radius:6px;letter-spacing:1px;margin-left:4px}.brand.big{font-size:26px;margin-bottom:16px}.sync{margin-left:auto;font-size:13px}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:12px;-webkit-overflow-scrolling:touch}.tab{padding:12px 14px;color:var(--ink-2);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;min-height:44px}.tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.range{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{border:1px solid var(--line);background:var(--card);padding:8px 12px;border-radius:999px;cursor:pointer;min-height:40px}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.dates{display:flex;gap:8px;flex-wrap:wrap}.dates label{display:flex;gap:6px;align-items:center;font-size:14px}input[type=date],.search,textarea,input[type=password]{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px 10px;min-height:40px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}.card h2{font-size:16px;margin:0 0 12px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.row-between.wrap{flex-wrap:wrap}.row{display:flex;gap:12px;align-items:center}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}.kpi{margin:0}.kpi-label{font-size:13px;color:var(--muted)}.kpi-value{font-size:26px;font-weight:800;margin:4px 0}.kpi-sub{font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.r{text-align:right;white-space:nowrap}.th-btn{background:none;border:0;padding:0;cursor:pointer;font-size:12px;color:var(--muted);font-weight:600}.thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;background:var(--line);display:block}.thumb.big{width:96px;height:96px}.badge{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--line);white-space:nowrap}.badge.on{background:#d8f0e2;color:#1d4d36}.link{background:none;border:0;color:var(--ink-2);text-decoration:underline;cursor:pointer;padding:6px 0;min-height:32px}.link.left{text-align:left;color:var(--ink);font-weight:600;text-decoration:none}.primary{background:var(--ink);color:var(--bg);border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer;min-height:44px}.primary:disabled{opacity:.5;cursor:default}.check{display:flex;gap:6px;align-items:center;font-size:14px}.login{display:grid;place-items:center;min-height:100vh;padding:16px}.login .card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.studio-form{display:flex;flex-direction:column;gap:10px}.studio-form label{font-size:13px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.gen{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.gen img,.gen video{width:100%;display:block;aspect-ratio:4 / 5;object-fit:cover;background:var(--line)}.gen-placeholder{aspect-ratio:4 / 5;display:grid;place-items:center;background:var(--line);color:var(--muted)}.gen figcaption{display:flex;flex-direction:column;gap:4px;padding:10px;font-size:13px}.chart h2{margin-bottom:8px}
