:root{--a:#4f46e5;--a2:#7b73ff;--bg:#f4f5fb;--tx:#1b2033;--mu:#6b7385;--bd:#e6e9f1;--ok:#12b76a;--wa:#f79009;--er:#f04438}
.r-admin{--a:#7c3aed;--a2:#a77bff}.r-org{--a:#2563eb;--a2:#5b94ff}.r-emp{--a:#059669;--a2:#34c894}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--tx)}
a{color:var(--a);text-decoration:none}a:hover{text-decoration:underline}
header{display:flex;align-items:center;gap:14px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;color:var(--tx)}
.mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--a),var(--a2));display:grid;place-items:center;color:#fff;font-size:16px}
.org{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--bd);font-weight:600}.org img{height:30px;border-radius:7px}
.sp{flex:1}.pill{background:#0000000d;background:color-mix(in srgb,var(--a) 12%,#fff);color:var(--a);padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700}
.out{color:var(--mu);font-weight:600}.out:hover{color:var(--er);text-decoration:none}
main{max-width:1180px;margin:26px auto;padding:0 18px}
h1{font-size:22px;margin:0 0 4px}h3{margin:0;font-size:16px}.sub{color:var(--mu);font-size:12.5px}
.card{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 1px 2px #1b20330a}
.ch{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;margin-bottom:18px}.grid .card{margin:0}
.stat{display:flex;gap:14px;align-items:flex-start}.stat>div:last-child{flex:1;min-width:0}
.ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:color-mix(in srgb,var(--a) 11%,#fff);flex:none}
.k{font-size:11.5px;color:var(--mu);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.v{font-size:27px;font-weight:800;line-height:1.2}
.bar{height:7px;background:#eceef5;border-radius:4px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--a),var(--a2));border-radius:4px}
.bar.mid i{background:var(--wa)}.bar.hi i{background:var(--er)}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}
th{font-size:11.5px;color:var(--mu);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:9px 10px;border-bottom:1px solid var(--bd);white-space:nowrap}
td{padding:10px;border-bottom:1px solid #eef0f6;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fafbfe}
.off td{opacity:.5}.off td:last-child{opacity:1}
input,select{font:inherit;padding:8px 11px;border:1px solid #d3d8e4;border-radius:9px;background:#fff;color:var(--tx);max-width:100%}
input:focus{outline:2px solid color-mix(in srgb,var(--a) 35%,#fff);border-color:var(--a)}
input[type=number]{width:92px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--a);padding:0}
button,.btn{font:inherit;font-weight:600;padding:8px 16px;border:0;border-radius:9px;background:var(--a);color:#fff;cursor:pointer;display:inline-block}
button:hover,.btn:hover{filter:brightness(1.08);text-decoration:none}button:disabled{background:#c5cad6;cursor:not-allowed}
.ghost{background:#eef0f6;color:var(--tx)}.danger{background:#fdecea;color:var(--er)}.sm-b{padding:5px 11px;font-size:12.5px}
.f{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.f label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mu);font-weight:600}
.chk{flex-direction:row!important;align-items:center;gap:8px!important;padding-bottom:9px;color:var(--tx)!important;font-size:13px!important}
.m{padding:11px 14px;border-radius:10px;margin-bottom:16px;font-weight:500;background:#e7f8f0;color:#067647;border:1px solid #b7ebd2}
.m.err{background:#fdecea;color:#b42318;border-color:#f8c5c0}
.b{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;background:#eef0f6;color:var(--mu)}.b.ok{background:#e7f8f0;color:#067647}.b.er{background:#fdecea;color:#b42318}
details summary{cursor:pointer;color:var(--a);font-weight:600}pre{background:#f6f7fb;border-radius:8px;padding:10px;margin:8px 0 0;max-width:420px;overflow:auto;font-size:12px}
.auth{max-width:400px;margin:9vh auto;padding:0 16px}.auth .card{padding:28px}.auth .mark{width:46px;height:46px;font-size:22px;border-radius:14px;margin:0 auto 14px}
.auth form{display:flex;flex-direction:column;gap:14px}.auth label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--mu)}.auth button{padding:11px}
.hero{text-align:center;margin:8vh 0 28px}.hero .mark{width:56px;height:56px;font-size:28px;border-radius:17px;margin:0 auto 14px}
.pick{display:block;text-align:center;color:var(--tx);padding:26px 18px;transition:.15s}.pick:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1b20331a;text-decoration:none}
.pick .ico{margin:0 auto 12px;width:56px;height:56px;font-size:26px;border-radius:16px}.pick b{font-size:16px;display:block}
@media(max-width:640px){header{padding:10px 14px}.org span{display:none}main{margin-top:16px}}
nav{display:flex;gap:4px;margin-left:14px}nav a{padding:6px 12px;border-radius:8px;color:var(--mu);font-weight:600}nav a:hover{background:#f1f2f8;text-decoration:none}nav a.on{background:color-mix(in srgb,var(--a) 12%,#fff);color:var(--a)}
select{font:inherit;padding:8px 11px;border:1px solid #d3d8e4;border-radius:9px;background:#fff;color:var(--tx);max-width:100%}
textarea{font:inherit;padding:8px 11px;border:1px solid #d3d8e4;border-radius:9px;width:100%;min-height:92px;resize:vertical}textarea:focus,select:focus{outline:2px solid color-mix(in srgb,var(--a) 35%,#fff);border-color:var(--a)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.two{grid-template-columns:1fr}}.stk{display:flex;flex-direction:column;gap:14px}.stk label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mu);font-weight:600}
