:root{--teal: #43a7ab;--dark: #1a1a1a;--green: #2e4a33;--gray: #646464;--light: #f4f6f4;--border: #e2e6e2;--danger: #c0392b}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;background:var(--light);color:var(--dark);font-size:14px}button{font-family:inherit;font-size:13px;border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 14px;cursor:pointer}button.primary{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:default}input,textarea,select{font-family:inherit;font-size:14px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--green)}.login-card{background:#fff;border-radius:16px;padding:32px;width:360px}.login-card h1{margin:0 0 4px;font-size:22px}.login-card p{margin:0 0 20px;color:var(--gray)}.login-card form>*{margin-bottom:12px}.error{color:var(--danger);font-size:13px}.topbar{background:var(--green);color:#fff;display:flex;align-items:center;gap:24px;padding:0 20px;height:56px}.topbar h1{font-size:16px;margin:0;display:flex;align-items:center;gap:8px}.brand-logo{height:26px;width:auto}.login-logo{height:64px;width:auto;display:block;margin:0 auto 14px}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav button{background:transparent;border:none;color:#ffffffbf;padding:8px 14px;border-radius:8px}.topbar nav button.active{background:#ffffff26;color:#fff;font-weight:600}.topbar .who{font-size:12px;color:#ffffffb3}main{max-width:1100px;margin:24px auto;padding:0 20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}.stat .num{font-size:28px;font-weight:700;color:var(--teal)}.stat .label{color:var(--gray);font-size:12px;margin-top:4px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:20px}.panel h2{margin:0 0 14px;font-size:16px}.toolbar{display:flex;gap:10px;margin-bottom:14px;align-items:center}.toolbar input{max-width:320px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);padding:8px 10px;border-bottom:1px solid var(--border)}td{padding:9px 10px;border-bottom:1px solid var(--light);vertical-align:top}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f7faf7}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--gray)}.tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--light);color:var(--gray);margin-right:4px}.tag.teal{background:#e2f2f3;color:var(--teal)}.tag.warn{background:#fdecea;color:var(--danger)}.drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:95vw;background:#fff;border-left:1px solid var(--border);box-shadow:-8px 0 30px #00000014;padding:22px;overflow-y:auto;z-index:10}.drawer h2{margin-top:0;font-size:16px;word-break:break-all}.drawer .field{margin-bottom:14px}.drawer .field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);margin-bottom:5px}.row-actions{display:flex;gap:8px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.muted{color:var(--gray);font-size:12px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:9}
