:root{--green:#1e6b3b;--green-light:#e3f1e7;--amber:#f4b740;--amber-light:#fff4d9;--ink:#15201a;--muted:#5b665e;--ground:#f5f6f1;--line:#e3e6df;--danger:#9a3412;--danger-light:#fde8dc;color:var(--ink);background:var(--ground);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--ground);margin:0}a{color:var(--green)}h1{margin:0;font-size:1.7rem;font-weight:800}h2{margin:0 0 12px;font-size:1.1rem;font-weight:800}button,input,select,textarea{font:inherit}.layout{flex-wrap:wrap;min-height:100vh;display:flex}.side{background:var(--ink);color:#fff;flex-direction:column;flex:220px;gap:4px;max-width:100%;padding:22px 14px;display:flex}.brand{align-items:center;gap:10px;padding:0 8px 18px;display:flex}.logo{background:var(--amber);width:40px;height:40px;color:var(--ink);border-radius:12px;place-items:center;font-weight:800;display:grid}.side button{all:unset;cursor:pointer;border-radius:10px;align-items:center;min-height:42px;padding:0 12px;font-size:14px;display:flex}.side button:hover,.side button:focus-visible{background:#ffffff14;outline:none}.side button.on{background:#ffffff24;font-weight:800}.side .grow{flex:1}.side .who{opacity:.85;padding:8px 12px;font-size:12px}.main{flex-direction:column;flex:999 560px;gap:22px;min-width:0;padding:28px clamp(16px,3vw,40px);display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sub{color:var(--muted);margin-top:4px;font-size:.9rem}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px 20px}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.kpi .l{color:var(--muted);font-size:13px}.kpi .v{margin-top:4px;font-size:1.6rem;font-weight:800}.btn{cursor:pointer;background:var(--green);color:#fff;border:0;border-radius:12px;min-height:42px;padding:0 16px;font-weight:700}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--ink);background:#fff;border:1px solid #cfd5cc}.btn.danger{background:var(--danger)}.btn.sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{color:#3c4740;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.field input,.field select,.field textarea,.inp{min-height:42px;color:var(--ink);background:#fff;border:1px solid #cfd5cc;border-radius:10px;padding:0 12px;font-weight:500}.inp.num{width:100px}.check{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.check input{width:20px;height:20px;accent-color:var(--green)}.tablebox{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}th{background:var(--ground);text-align:left;color:#3c4740;padding:10px 14px;font-size:13px}td{vertical-align:top;border-top:1px solid #eef0eb;padding:10px 14px}.tag{background:var(--amber-light);color:#5c3c00;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.tag.green{background:var(--green-light);color:var(--green)}.tag.red{background:var(--danger-light);color:var(--danger)}.tag.blue{color:#1e4e79;background:#dcebf5}.notice{background:var(--amber-light);color:#5c3c00;border-radius:12px;padding:12px 14px;font-size:14px}.notice.red{background:var(--danger-light);color:var(--danger)}.credit{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.credit b{color:var(--ink)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{flex-direction:column;gap:14px;width:100%;max-width:400px;display:flex}
