:root{--nav-bg: #16365f;--nav-bg-soft: #1f4377;--primary: #1773e0;--primary-soft: #e8f1fc;--positive: #2e9e2e;--danger: #d4233b;--warn-bg: #fff7e0;--page-bg: #f4f5f7;--card-bg: #ffffff;--border: #e2e5ea;--text: #1a2233;--muted: #6b7280;--radius: 8px;--sp-1: .5rem;--sp-2: .75rem;--sp-3: 1rem;--sp-4: 1.5rem}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--page-bg);color:var(--text);font-size:15px;line-height:1.45}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{background:var(--nav-bg);color:#fff;position:sticky;top:0;z-index:10}.topbar__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.topbar__brand{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.topbar__logo{height:32px;width:auto;border-radius:4px;background:#fff}.topbar__company{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__account{font-size:.78rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topnav{display:flex;gap:.25rem;padding:0 var(--sp-2) var(--sp-1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav__link{color:#ffffffd1;text-decoration:none;padding:.45rem .8rem;border-radius:6px;white-space:nowrap;font-size:.92rem}.topnav__link--active{background:var(--nav-bg-soft);color:#fff;font-weight:600}.content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:var(--sp-3)}.page__title{font-size:1.25rem;font-weight:650;margin:0 0 var(--sp-3)}.page--center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-3)}.card__title{font-size:.95rem;font-weight:650;margin:0 0 var(--sp-2)}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);margin-bottom:var(--sp-3)}@media (min-width: 720px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.kpi__label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.kpi__value{font-size:1.15rem;font-weight:700;margin-top:2px}.kpi__hint{font-size:.75rem;color:var(--muted);margin-top:2px}.table-wrapper{overflow-x:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.data-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}.data-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;padding:.55rem .95rem;font-size:.92rem;font-weight:600;cursor:pointer;min-height:40px}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn--ghost{background:transparent;border-color:#fff6;color:#fff}.btn--sm{padding:.3rem .6rem;min-height:32px;font-size:.82rem}.btn:disabled{opacity:.55;cursor:default}.badge{display:inline-block;border-radius:999px;padding:.1rem .55rem;font-size:.74rem;font-weight:650;background:var(--primary-soft);color:var(--primary);white-space:nowrap}.badge--good{background:#e8f7e8;color:var(--positive)}.badge--warn{background:var(--warn-bg);color:#9a6b00}.badge--bad{background:#fdecee;color:var(--danger)}.form{display:flex;flex-direction:column;gap:var(--sp-2)}.form label{font-size:.82rem;font-weight:600;color:var(--muted);display:block;margin-bottom:.25rem}.form input{width:100%;border:1px solid var(--border);border-radius:6px;padding:.6rem .7rem;font-size:1rem}.form input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}.status-msg{border-radius:6px;padding:var(--sp-2) var(--sp-3);font-size:.9rem}.status-msg--ok{background:#e8f7e8;color:#1d6b1d}.status-msg--error{background:#fdecee;color:var(--danger)}.muted{color:var(--muted)}.small{font-size:.82rem}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-3);background:linear-gradient(180deg,var(--nav-bg) 0 240px,var(--page-bg) 240px)}.auth__card{width:100%;max-width:400px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:var(--sp-4)}.auth__title{margin:0 0 .25rem;font-size:1.2rem}.auth__sub{margin:0 0 var(--sp-3);color:var(--muted);font-size:.88rem}.auth__links{margin-top:var(--sp-3);font-size:.85rem}a{color:var(--primary)}.activity{list-style:none;margin:0;padding:0}.activity li{display:flex;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);font-size:.9rem}.activity li:last-child{border-bottom:none}.actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2);font-size:.85rem;color:var(--muted)}.stepper{display:inline-flex;align-items:center;gap:.4rem}.stepper button{width:36px;height:36px;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;color:var(--primary)}.stepper button:disabled{opacity:.35;cursor:default}.stepper__value{min-width:1.6rem;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.form select,select.select{width:100%;border:1px solid var(--border);border-radius:6px;padding:.6rem .7rem;font-size:1rem;background:var(--card-bg)}.row{display:flex;gap:.5rem}.row--center{align-items:center}.row--between{justify-content:space-between;align-items:center}.row--end{justify-content:flex-end}.row--wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.5rem}.stack--tight{gap:.2rem}.text-xs{font-size:.7rem}.text-sm{font-size:.8rem}.text-md{font-size:.9rem}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.field-label{color:var(--muted);font-size:.8rem}
