@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2) format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2) format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #ffffff;--navy: #00102f;--ink: #232841;--text: #232841;--muted: #6b7280;--accent: #2b5cd6;--accent-dark: #1f47ad;--card-2: #f5f6f8;--border: #e4e4e7;--border-strong: #232841;--discussion: #9a7423;--implementation: #2b5cd6;--implemented: #2f7a4f;--danger: #c0392b;--radius: 0px}::selection{background:#00102fe8;color:#fff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:#fff}.shell,.main{background:#fff}body{font-family:DINround,Barlow,Helvetica,Arial,Verdana,sans-serif;font-weight:400;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;font-feature-settings:"onum" 1}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}.shell{min-height:100vh}.topbar{display:flex;align-items:center;gap:36px;background:var(--navy);color:#fff;padding:0 32px;height:58px;position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:10px}.brand .logo{width:28px;height:28px;background:#fff;display:grid;place-items:center;font-weight:700;color:var(--navy);font-size:14px}.brand .name{font-weight:700;font-size:15px;color:#fff;white-space:nowrap}.topnav{display:flex;gap:24px;flex:1}.topnav a{color:#ffffffc7;font-size:14px;padding:6px 0}.topnav a:hover{color:#fff;text-decoration:none}.topnav a.active{color:#fff;font-weight:700}.topbar-user{display:flex;align-items:center;gap:14px;font-size:14px;color:#ffffffd1;white-space:nowrap}.topbar-user a{color:#ffffffd1}.topbar-user a:hover{color:#fff;text-decoration:none}.topbar-user a.active{color:#fff;font-weight:700}.topbar-user .logout{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:6px 12px;font-size:13px;font-family:inherit}.topbar-user .logout:hover{background:#fff;color:var(--navy)}.main{padding:48px 56px;max-width:1560px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;flex-wrap:wrap;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:22px}.page-head h1{font-size:52px;margin:0;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.05}.page-head .sub{color:var(--muted);font-size:15px;margin-top:12px}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--bg);border:1px solid var(--border);padding:28px}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:46px;font-weight:700;margin-top:10px;color:var(--ink);letter-spacing:-.02em}.kpi .value .unit{font-size:16px;color:var(--muted);font-weight:400;margin-left:6px}.kpi .foot{color:var(--muted);font-size:13px;margin-top:10px}.card h3{margin:0 0 18px;font-size:20px;font-weight:700;color:var(--accent)}.charts{grid-template-columns:1.3fr 1fr}@media (max-width: 1050px){.charts{grid-template-columns:1fr}}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.toolbar input,.toolbar select{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:9px 12px;font-size:14px;outline:none}.toolbar input:focus,.toolbar select:focus{border-color:var(--accent)}.toolbar .grow{flex:1;min-width:180px}.table-wrap{overflow-x:auto;border:1px solid var(--border);background:var(--bg)}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top}th{background:var(--bg);color:var(--muted);font-size:13px;font-weight:600;position:sticky;top:0;border-bottom:2px solid var(--ink)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--card-2)}td.remarks{white-space:normal;min-width:280px;max-width:420px;color:var(--muted)}td .editable{cursor:text;padding:3px 5px}td .editable:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.num{text-align:right;font-variant-numeric:tabular-nums}.status-select{border:1px solid var(--border);padding:4px 9px;font-weight:400;font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;background:#fff}.st-discussion{color:var(--discussion)}.st-implementation{color:var(--implementation)}.st-implemented{color:var(--implemented)}.pill{display:inline-block;padding:2px 9px;font-size:13px;font-weight:400;border:1px solid var(--border)}.pill.sales{color:var(--accent)}.pill.delivery{color:var(--navy)}.btn{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:9px 15px;font-weight:400;font-size:13px}.btn:hover{background:var(--navy);color:#fff;border-color:var(--navy);text-decoration:none}.btn.primary{background:var(--navy);border:1px solid var(--navy);color:#fff}.btn.primary:hover{background:#11203c}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:var(--danger);color:#fff}.icon-btn{background:none;border:none;color:var(--muted);font-size:15px;padding:4px 6px}.icon-btn:hover{color:var(--accent)}.icon-btn.danger:hover{color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b2a4a52;display:grid;place-items:center;z-index:50}.modal{background:var(--bg);border:1px solid var(--border-strong);padding:28px;width:560px;max-width:92vw}.modal h2{margin:0 0 20px;font-size:20px;font-weight:700;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1 / -1}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:9px 12px;font-size:14px;outline:none;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:70px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.overlay>.drawer{position:fixed;top:0;right:0;height:100vh;width:470px;max-width:94vw;background:var(--bg);border-left:1px solid var(--border-strong);padding:28px;display:flex;flex-direction:column}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-strong);padding-bottom:16px}.drawer-head h2{font-size:20px;font-weight:700;color:var(--ink)}.update-form{padding:16px 0;border-bottom:1px solid var(--border)}.update-form textarea{width:100%;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;outline:none;resize:vertical;margin-bottom:10px}.update-form textarea:focus{border-color:var(--accent)}.timeline{overflow-y:auto;padding-top:16px;flex:1}.tl-item{display:flex;gap:14px;padding-bottom:18px;position:relative}.tl-item:not(:last-child):before{content:"";position:absolute;left:4px;top:13px;bottom:0;width:1px;background:var(--border)}.tl-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:4px;flex-shrink:0;z-index:1}.tl-body{flex:1}.tl-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:4px}.tl-meta b{color:var(--text)}.tl-note{font-size:14px;line-height:1.45}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:380px;max-width:92vw;border:1px solid var(--border-strong);background:var(--bg);padding:28px}.login-card .brand{justify-content:center;padding-bottom:10px}.login-card .brand .name{color:var(--ink)}.login-card .brand .sub{color:var(--muted)}.login-card .brand .logo{background:var(--navy);color:#fff}.login-card h2{text-align:center;margin:6px 0 4px;font-weight:700;color:var(--ink)}.login-card p.hint{text-align:center;color:var(--muted);font-size:13px;margin-top:0}.login-card .field{margin-bottom:14px}.login-card .btn{width:100%}.error{color:var(--danger);font-size:13px;margin:6px 0}.muted{color:var(--muted)}.center{text-align:center}.switch-link{color:var(--accent);cursor:pointer;font-weight:700}.empty{padding:42px;text-align:center;color:var(--muted)}.spinner{padding:60px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:#fff;padding:11px 16px;z-index:60;font-size:14px}.toast.err{background:var(--danger)}
