
:root{--bg:#f7f5f8;--card:#fff;--text:#29232d;--muted:#746d79;--accent:#765486;--accent2:#a88bb5;--soft:#ece4f0;--line:#ddd5e1;--good:#2f7d5b;--warn:#8e5f1d;--bad:#9b3340}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 16px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.app-header h1{font-size:1.45rem;margin:0 0 4px}.app-header p{margin:0;opacity:.9}.version{font-size:.8rem;background:rgba(255,255,255,.2);padding:5px 8px;border-radius:999px}
.tabs{display:flex;gap:8px;overflow:auto;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.tabs button{border:0;border-radius:999px;background:var(--soft);padding:10px 13px;white-space:nowrap;font:inherit}.tabs button.active{background:var(--accent);color:#fff}
main{max-width:1100px;margin:auto;padding:14px}.page{display:none}.page.active{display:block}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:13px;box-shadow:0 3px 12px rgba(40,20,50,.04)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:13px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.kpi strong{display:block;font-size:1.25rem;margin-top:4px}
h2,h3{margin-top:0}label{display:block;margin:12px 0 6px;font-weight:700;color:var(--text)}
input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--text);background:#fff}
textarea{min-height:86px}.field-info{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-info label{margin-bottom:6px}
.info{border:0;background:var(--soft);border-radius:50%;width:30px;height:30px;font-size:1rem;cursor:pointer}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.btn{border:0;border-radius:10px;background:var(--soft);padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:#fff}.danger{background:#f1dadd;color:#7d2630}
.muted{color:var(--muted);font-size:.9rem}.coach{padding:13px;border-radius:12px;background:#f0eaf3}.notice{padding:12px;border-radius:10px;background:#fff5dc;color:var(--warn)}.good{padding:12px;border-radius:10px;background:#e8f5ee;color:var(--good)}.bad{padding:12px;border-radius:10px;background:#f8e7e9;color:var(--bad)}
.range-value{font-weight:700;text-align:right;margin-top:4px}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.progress-wrap{height:10px;background:var(--soft);border-radius:999px;overflow:hidden;margin-bottom:14px}.progress-wrap>div{height:100%;width:0;background:var(--accent)}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:var(--soft);font-weight:700}
dialog{border:0;border-radius:16px;max-width:560px;width:calc(100% - 28px);padding:0;box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(30,20,35,.45)}dialog form{padding:18px}.dialog-close{float:right;border:0;background:var(--soft);border-radius:50%;width:32px;height:32px;font-size:1.2rem}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}
