:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;background:#f5f5f5;color:#1d1d1f}#app{min-height:100vh}h1,h2,h3{margin:0}h2{font-size:24px;color:#161616}.public-shell{min-height:100vh;background:#f5f5f5}.public-header{height:62px;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;padding:0 22px;border-bottom:1px solid #e9e9e9;background:#fff}.public-brand{font-size:30px;font-weight:800}.public-nav{display:flex;justify-content:center;gap:34px}.public-link{border:none;background:transparent;color:#1c1c1c;cursor:pointer;padding:6px 10px;border-radius:999px;font-size:14px}.public-link.passive{color:#6b7280;cursor:default}.public-link.active{background:#eaf2ff;color:#2d63d7}.public-actions{display:flex;justify-content:flex-end;gap:8px}.public-auth-btn{border:none;background:transparent;color:#121212;font-size:14px;cursor:pointer;padding:8px 10px}.public-auth-btn.strong{background:#111;color:#fff;border-radius:999px;padding:8px 16px}.public-main{max-width:1180px;margin:0 auto;padding:20px 16px 48px}.breadcrumb{margin-bottom:14px}.breadcrumb-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.breadcrumb-item{display:flex;align-items:center;gap:8px}.breadcrumb-label{color:#6f809f;font-size:13px;font-weight:500}.breadcrumb-label.active{color:#274f9e;font-weight:700}.breadcrumb-sep{color:#9aa8c0;font-size:12px}.auth-shell{min-height:calc(100vh - 130px);display:grid;place-items:center}.auth-card{width:100%;max-width:460px;border:1px solid #ececec;border-radius:18px;background:#fff;padding:28px;display:grid;gap:14px}.auth-brand{display:grid;gap:6px}.landing-shell{display:grid;gap:30px}.landing-hero{border:1px solid #e7edf5;border-radius:18px;padding:26px;background:linear-gradient(135deg,#f8fbff,#ebf3ff);display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.landing-left{display:grid;gap:12px}.landing-tag{margin:0;color:#8391a9;font-size:13px}.landing-left h2{font-size:56px;line-height:1.12;letter-spacing:.01em}.landing-actions{display:flex;gap:10px;margin-top:6px}.landing-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.kpi-card{margin:0;border:1px solid #d9e6ff;background:#ffffffe6;border-radius:12px;padding:10px 12px}.landing-right{background:#ffffffd6;border:1px solid #dde9fb;border-radius:14px;padding:16px}.landing-right h3{margin-bottom:8px;font-size:24px}.landing-right ul{margin:0;padding-left:18px;display:grid;gap:6px}.landing-features{text-align:center}.landing-features h3{font-size:54px}.landing-modules,.landing-process{display:grid;gap:14px}.landing-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.landing-module{border:1px solid #e1e8f5;border-radius:12px;padding:14px;display:grid;gap:10px;background:#fcfdff}.landing-module h4{margin:0;font-size:16px;color:#243a62}.process-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.process-step{border:1px solid #d9e6ff;background:#f6f9ff;border-radius:12px;padding:12px;font-size:13px;color:#344c78;display:grid;gap:8px}.process-step span{width:24px;height:24px;border-radius:50%;background:#2f62d8;color:#fff;display:inline-grid;place-items:center;font-size:12px;font-weight:700}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f5f7fb}.sidebar{border-right:1px solid #e6ebf3;background:#fff;padding:24px 16px;display:grid;gap:24px;align-content:start}.sidebar-logo{border-radius:14px;padding:16px;background:linear-gradient(140deg,#f3f7ff,#e8f0ff);border:1px solid #d7e4ff}.eyebrow{margin:0 0 8px;color:#4d74cf;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{display:grid;gap:8px}.nav-item{width:100%;border:1px solid #e3e8f2;background:#fff;color:#2f3d5a;text-align:left;font-size:14px;font-weight:600;border-radius:10px;padding:11px 12px;cursor:pointer}.nav-item:hover{background:#f2f6ff}.nav-item.active{border-color:#94b2f7;background:#eaf2ff;color:#2f62d8}.workspace{padding:24px;display:grid;gap:18px;align-content:start;color:#1d2a3b}.card{background:#fff;border:1px solid #e6ebf3;border-radius:16px;padding:18px;box-shadow:0 8px 24px #1f325112}.topbar{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}.topbar-title{margin:0;font-size:20px;font-weight:700;color:#1f2b3d}.topbar-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.status-box{min-width:260px;background:#f7faff;border:1px solid #dce7fb;border-radius:12px;padding:10px 12px}.status-label{margin:0;font-size:12px;color:#6f87b7}.status-value{margin:6px 0 0;font-size:14px;font-weight:600}.account-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip-role{border:1px solid #b8ccfb;background:#eaf2ff;color:#2c5fce;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.upload-card{display:grid;gap:14px}.section-title{display:grid;gap:4px}.muted{margin:0;color:#7f8998;font-size:14px}.workspace .muted,.workspace label{color:#6f809f}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.summary-card{margin:0;border-radius:12px;border:1px solid #e1e8f5;background:#f9fbff;padding:12px}.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ops-card{border:1px solid #e1e8f5;border-radius:12px;background:#fcfdff;padding:14px;display:grid;gap:10px}.ops-card h3{margin:0;color:#243a62;font-size:16px}.summary-label{margin:0 0 6px;font-size:12px;color:#6f87b7}.summary-value{margin:0;font-weight:700}.action-row{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.grid{display:grid;gap:12px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-title{font-size:13px;color:#5771a7;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.field{display:grid;gap:6px}label{font-size:13px;font-weight:600;color:#2d2d2d}input,textarea,select{width:100%;background:#fff;color:#1f2937;border:1px solid #d6dce7;border-radius:12px;padding:11px 12px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.workspace input,.workspace textarea,.workspace select{background:#fff;color:#1f2937;border:1px solid #d6dce7}input:focus,textarea:focus,select:focus{border-color:#71a2ff;box-shadow:0 0 0 3px #5a8cfa33;outline:none}.btn{background:linear-gradient(180deg,#fff,#f8faff);color:#23324d;border:1px solid #cfd9ec;border-radius:10px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #23324d0f}.workspace .btn{background:linear-gradient(180deg,#fff,#f8faff);color:#23324d;border:1px solid #cfd9ec;border-radius:10px}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #23324d1f;border-color:#9fb6e6}.btn.primary{background:linear-gradient(180deg,#2f62d8,#244eae);border-color:#244eae;color:#fff}.workspace .btn.primary{background:linear-gradient(180deg,#2f62d8,#244eae);border-color:#244eae}.btn-ghost{background:#fff9}.btn-danger{background:linear-gradient(180deg,#fff5f5,#ffe8e8);border-color:#f0c2c2;color:#9f2c2c}.auth-submit{width:100%;margin-top:6px}.auth-switch{display:flex;justify-content:center;gap:8px;align-items:center}.auth-link{border:none;background:transparent;color:#111;font-size:14px;cursor:pointer}.btn:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}th,td{border:1px solid #e4ebf7;padding:9px 8px;font-size:13px;text-align:left;vertical-align:top}th{background:#f5f8ff;color:#2b3f67}.btn-group{display:flex;gap:6px;flex-wrap:wrap}.result-messages{min-height:22px}.success{margin:0;color:#059669;font-size:14px}.error{margin:0;color:#dc2626;font-size:14px}@media(max-width:980px){.public-header{grid-template-columns:1fr;gap:10px;height:auto;padding:12px}.public-nav,.public-actions{justify-content:flex-start}.landing-hero,.landing-kpis,.landing-module-grid,.process-row,.ops-grid{grid-template-columns:1fr}.landing-left h2{font-size:34px}.landing-features h3{font-size:36px}.dashboard-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(159,185,255,.22)}.workspace{padding:16px}.two-col{grid-template-columns:1fr}}
