:root{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#17308f;--primary-2:#2447c6;--soft:#eef2ff;--danger:#dc2626;--warning:#d97706;--success:#15803d;--secondary:#64748b;--shadow:0 14px 34px rgba(15,23,42,.075);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.45}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none}.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;border-radius:10px;z-index:99}.skip-link:focus{left:10px}.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(15,23,42,.045)}.top-inner{max-width:1420px;margin:0 auto;padding:14px 24px;display:grid;grid-template-columns:265px minmax(0,1fr);gap:18px;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:var(--text);min-width:0}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.5px;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-text strong{font-size:15px;max-width:210px}.brand-text small{font-size:12px;color:var(--muted);margin-top:3px}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.main-nav a{color:#182033;padding:8px 10px;border-radius:999px;font-size:14px;white-space:nowrap}.main-nav a:hover,.main-nav a.active{background:var(--soft);color:var(--primary);font-weight:800}.nav-toggle{display:none;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:800;margin:0}.wrap{width:min(100%,1420px);margin:0 auto;padding:34px 24px 48px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1,.wrap>h1{font-size:36px;letter-spacing:-.035em;margin:0 0 8px}.wrap>p.muted{margin-top:-8px}.foot{text-align:center;color:var(--muted);padding:26px 18px 36px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:20px 0}.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:18px 0;box-shadow:var(--shadow);overflow-x:auto}.card h1{font-size:30px;margin:0 0 10px}.card h2{margin:0 0 16px;font-size:22px;letter-spacing:-.02em}.card h3{margin:14px 0 8px}.muted,.mini{color:var(--muted)}.muted{font-size:14px}.mini{font-size:12px}.notice,.ok{padding:13px 15px;border-radius:14px;margin:14px 0}.notice{background:#fff7ed;border:1px solid #fed7aa}.ok{background:#ecfdf5;border:1px solid #bbf7d0}.login-shell{min-height:calc(100vh - 220px);display:grid;place-items:center}.login-card{width:min(100%,480px);margin:0}.kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:22px 0 26px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);min-height:104px}.kpi span{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:10px}.kpi strong{display:block;font-size:28px;line-height:1.05;letter-spacing:-.03em}.split-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.split-line span{color:var(--muted);white-space:nowrap}.progressbar{height:10px;background:#e8eef7;border-radius:999px;overflow:hidden}.progressbar span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:999px}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.tabs a{display:inline-flex;align-items:center;justify-content:center;background:var(--soft);border:1px solid #c7d2fe;color:var(--primary);border-radius:999px;padding:9px 12px;font-weight:800;font-size:13px}label{display:block;margin:12px 0 6px;font-weight:800;font-size:14px}input,select,textarea{width:100%;max-width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit}textarea{min-height:118px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,48,143,.14);border-color:var(--primary)}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:14px 0}.toolbar>*{flex:1 1 210px;min-width:0}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:9px 13px;cursor:pointer;margin:4px 4px 4px 0;font-weight:800;font-size:13px;line-height:1.2;white-space:nowrap;min-height:36px;vertical-align:middle}.btn.secondary,button.secondary{background:var(--secondary)}.btn.danger,button.danger{background:var(--danger)}button:hover,.btn:hover{filter:brightness(.96);color:#fff}form[style*="display:inline"],td form{display:inline-flex;align-items:center;gap:6px;vertical-align:top;margin:0;max-width:100%;flex-wrap:wrap}td form select{min-width:180px;max-width:230px;margin:0}table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;table-layout:auto}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.045em;background:#f8fafc;position:sticky;top:0;z-index:1}tr:hover td{background:#fbfdff}td:last-child{min-width:155px}.badge{display:inline-flex;align-items:center;color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.badge-danger{background:var(--danger)}.badge-warning{background:var(--warning)}.badge-success{background:var(--success)}.badge-secondary{background:var(--secondary)}.pillbar{display:flex;gap:8px;flex-wrap:wrap}.pill{background:var(--soft);border:1px solid #c7d2fe;color:var(--primary);border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.empty{padding:22px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cbd5e1;border-radius:16px}.ai-box{white-space:pre-wrap;background:#0f172a;color:#e5e7eb;border-radius:14px;padding:16px;overflow:auto;max-height:520px}.mail-snippet{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px;max-height:260px;overflow:auto}.doc-preview{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knowledge-card{border-left:5px solid var(--primary)}.nowrap{white-space:nowrap}.danger-text{color:var(--danger);font-weight:800}.card::-webkit-scrollbar{height:10px}.card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.card::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}@media(max-width:1180px){.top-inner{grid-template-columns:1fr auto}.nav-toggle{display:inline-flex}.main-nav{display:none;grid-column:1/-1;justify-content:flex-start;max-height:70vh;overflow:auto;padding-top:8px}.nav-open .main-nav{display:flex}.main-nav a{background:#f8fafc;border:1px solid var(--line)}}@media(max-width:980px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.two-cards{grid-template-columns:1fr}}@media(max-width:760px){body{font-size:14px}.top-inner{padding:10px 14px}.brand-mark{width:38px;height:38px}.brand-text small{display:none}.wrap{padding:20px 12px 34px}.page-head h1,.wrap>h1{font-size:29px}.card{padding:16px;border-radius:16px}.formgrid,.two-col{grid-template-columns:1fr}.toolbar{display:block}.toolbar>*{margin-bottom:10px}.kpi-row{grid-template-columns:1fr;gap:12px}.kpi{min-height:auto}.kpi strong{font-size:26px}button,.btn{width:auto;max-width:100%}table{min-width:760px}td form select{min-width:160px}.tabs a{width:100%}}@media print{.top,.foot,.nav-toggle,button,.btn{display:none!important}.wrap{max-width:100%;padding:0}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}body{background:#fff}}
