@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/space-grotesk-500-vietnamese.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/space-grotesk-500-latin-ext.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/space-grotesk-500-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/space-grotesk-700-vietnamese.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/space-grotesk-700-latin-ext.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/space-grotesk-700-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-vietnamese.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-latin-ext.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-latin.woff2) format("woff2");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{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-surface: #ffffff;--color-canvas: #fbfaff;--color-surface-muted: #f3f1fa;--color-border: #e7e4f2;--color-border-soft: #f1eff8;--color-border-strong: #d5d0e6;--color-fg-faint: #9a96ab;--color-fg-muted: #6a6678;--color-fg-subtle: #494559;--color-fg-slate: #494559;--color-fg-gray: #3a3648;--color-fg-strong: #201b30;--color-fg: #141020;--color-fg-deep: #141020;--color-brand: #693efe;--color-brand-strong: #5a2be6;--color-brand-deep: #4a22c4;--color-brand-deepest: #35187f;--color-brand-300: #9b7bff;--color-brand-200: #c9baff;--color-brand-100: #e7e0ff;--color-brand-50: #f3f0ff;--color-brand-wash: #f3f0ff;--color-accent: #d3fe3e;--color-accent-strong: #c2f520;--color-accent-deep: #a7d900;--color-accent-ink: #1b2400;--color-accent-200: #e9ffa6;--color-accent-100: #f3ffd2;--color-accent-50: #fbffec;--color-success: #157a3c;--color-success-200: #b6e6c4;--color-success-100: #e7f6ec;--color-success-50: #f3fbf6;--color-danger: #d92d20;--color-danger-strong: #b42318;--color-danger-200: #fecdca;--color-danger-100: #feecea;--color-danger-50: #fef4f3;--color-info: #1849a9;--color-info-strong: #175cd3;--color-info-200: #b2ddff;--color-info-sky: #d1e9ff;--color-info-100: #eff8ff;--color-info-50: #f5faff;--color-error: #d92d20;--color-status-success: #157a3c;--color-status-waiting: #1568d6;--color-warning: #ffd952;--color-surface-subtle: #f9f8fd;--color-brand-soft: #9b7bff;--color-hero-base: #241a4d;--color-overlay: rgba(20, 16, 32, .8);--color-brand-rgb: 105, 62, 254;--color-accent-rgb: 211, 254, 62;--color-shadow-rgb: 32, 22, 64;--radius-0: .4rem;--radius-1: .45rem;--radius-2: .5rem;--radius-3: .55rem;--radius-4: .6rem;--radius-5: .65rem;--radius-6: .75rem;--radius-7: .8rem;--radius-8: .9rem;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--color-fg);background:var(--color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-brand)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}h1,h2,h3,p{overflow-wrap:anywhere}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:.6rem 1rem;border-radius:var(--radius-2);background:var(--color-brand);color:#fff;font-weight:600;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:12px}button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius-2);background:var(--color-fg);color:var(--color-surface);font-family:inherit;font-weight:600;font-size:.95rem;padding:.7rem 1.1rem;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}button:hover,.button-link:hover{background:var(--color-fg-strong);color:var(--color-surface)}button:disabled{opacity:.45;cursor:not-allowed}button.accent,.button-link.accent{background:var(--color-brand);color:var(--color-surface)}button.accent:hover,.button-link.accent:hover{background:var(--color-brand-strong);color:var(--color-surface);box-shadow:0 6px 18px rgba(var(--color-brand-rgb),.28)}button.accent-lime,.button-link.accent-lime{background:var(--color-accent);color:var(--color-accent-ink)}button.accent-lime:hover,.button-link.accent-lime:hover{background:var(--color-accent-strong);color:var(--color-accent-ink);box-shadow:0 6px 18px rgba(var(--color-accent-rgb),.4)}button.outline,.button-link.outline{background:transparent;color:var(--color-fg);border-color:var(--color-border-strong)}button.outline:hover,.button-link.outline:hover{background:var(--color-surface-muted);color:var(--color-fg);border-color:var(--color-fg)}button.secondary,.button-link.secondary{background:var(--color-surface-muted);color:var(--color-fg)}button.secondary:hover,.button-link.secondary:hover{background:var(--color-border);color:var(--color-fg)}button.danger,.button-link.danger{background:var(--color-danger-100);color:var(--color-danger)}button.pill,.button-link.pill{border-radius:var(--radius-pill)}button.small{padding:.4rem .7rem;font-size:.85rem}.plain-link{display:inline;background:transparent;color:var(--color-brand);padding:0;border:0;font-weight:600;text-decoration:none;cursor:pointer}.plain-link:hover{background:transparent;color:var(--color-brand-strong);text-decoration:underline}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}button:focus-visible,.button-link:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.hero :focus-visible,.site-footer :focus-visible{outline-color:var(--color-accent)}label{display:grid;gap:.35rem;font-size:.92rem;font-weight:500}input,select,textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-2);padding:.7rem .8rem;font:inherit;color:var(--color-fg);background:var(--color-surface)}input:focus,select:focus,textarea:focus{border-color:var(--color-brand)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}input::placeholder,textarea::placeholder{color:var(--color-fg-faint)}textarea{resize:vertical}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-8);padding:1rem}.soft-card{background:var(--color-surface-muted)}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}.page-heading h1{margin:.1rem 0 .35rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--color-fg-muted);font-size:.68rem;font-weight:600;margin:0}.muted{color:var(--color-fg-muted)}.small-text{font-size:.9rem}.simple-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.form-grid{display:grid;gap:.85rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.loading-card,.empty-state{border:1px dashed var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-8);padding:1.5rem;text-align:center;color:var(--color-fg-subtle)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.65rem;border-bottom:1px solid var(--color-border)}th{color:var(--color-fg-subtle);font-size:.85rem}@media (max-width: 720px){.page-heading{display:grid;align-items:start}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.card{padding:.85rem}}.auth-shell{max-width:480px;margin:0 auto;padding:1.5rem 0 3rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);margin-bottom:2.5rem}.auth-tab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1rem;border-radius:var(--radius-pill);font-weight:500;font-size:.95rem;color:var(--color-fg-muted);text-decoration:none}.auth-tab.active{background:var(--color-fg);color:var(--color-surface)}.auth-head{text-align:center;margin-bottom:2rem}.auth-head h1{margin:0 0 .5rem;font-size:2rem}.auth-head p{margin:0;color:var(--color-fg-subtle)}.auth-form{display:grid;gap:1.5rem}.auth-field{border-bottom:1px solid var(--color-fg);padding:.1rem 0 .5rem}.auth-field-top{display:flex;align-items:center;justify-content:space-between;color:var(--color-fg);margin-bottom:.35rem}.auth-field-top .auth-link{color:var(--color-brand);font-size:.82rem;font-weight:500;text-decoration:none}.auth-input{width:100%;border:0;padding:.15rem 0;background:transparent;font-size:.95rem}.auth-input:focus{outline:none}.pw-rules{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:.55rem}.pw-rule{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--color-fg-muted)}.pw-rule.met{color:var(--color-success)}.auth-submit{width:100%;margin-top:.5rem;padding:.85rem}.auth-toast{display:flex;flex-direction:column;gap:.15rem;background:var(--color-success);color:var(--color-surface);border-radius:var(--radius-md);padding:.7rem 1rem;margin-bottom:1.5rem}.auth-toast strong{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.auth-toast span{font-size:.82rem;opacity:.9}.account-tabs{display:flex;align-items:flex-end;gap:40px;border-bottom:1px solid var(--color-border);padding-bottom:16px;margin-bottom:40px}.account-tabs a{padding:0 8px;color:var(--color-fg);text-decoration:none;font-weight:500;font-size:18px;line-height:28px}.account-tabs a:hover{color:var(--color-brand)}.account-tabs a.active{color:var(--color-brand);font-weight:700;font-size:22px;line-height:32px}.account-title{margin:0 0 40px;font-size:40px;line-height:52px;font-weight:500}.card-title{display:flex;align-items:center;gap:12px;width:100%;font-size:18px;font-weight:500;line-height:28px;color:var(--color-fg-subtle)}.card-mark{flex-shrink:0;width:20px;height:2px;border-radius:2px;background:var(--color-brand-soft)}.card-divider{width:100%;height:1px;background:var(--color-border)}.panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.panel-title{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;font-weight:600;font-size:1rem}.panel-mark{width:18px;height:3px;border-radius:var(--radius-pill);background:var(--color-brand)}.data-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:640px}.data-table thead th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--color-fg-subtle);border-bottom:1px solid var(--color-border)}.data-table tbody td{padding:.9rem 1rem;font-size:.88rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table .cell-product a{color:var(--color-brand);text-decoration:none;font-weight:500}.data-table .cell-product a:hover{text-decoration:underline}.status-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted)}.status-pill.active,.status-pill.completed,.status-pill.s{color:var(--color-success)}.status-pill.pending,.status-pill.processing,.status-pill.waiting,.status-pill.r,.status-pill.p,.status-pill.n{color:var(--color-info-strong)}.status-pill.cancelled,.status-pill.error,.status-pill.f{color:var(--color-danger)}.history-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.history-toolbar select{width:auto;min-width:180px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 0;margin-bottom:1rem}.breadcrumb a,.breadcrumb .sep{color:var(--color-fg-muted);font-size:12px;text-decoration:none}.breadcrumb a:hover{color:var(--color-brand)}.breadcrumb .current{color:var(--color-fg);font-size:14px;font-weight:500;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.site-footer{margin-top:3rem;background:var(--color-fg);color:#ffffffb8}.footer-container{max-width:1280px;margin:0 auto;padding:3rem 20px 1.5rem}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem}.footer-brand{display:flex;flex-direction:column;gap:1rem;max-width:24rem}.footer-logo{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none}.footer-logo img{width:36px;height:36px;border-radius:10px}.footer-logo-name{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:-.01em;color:#fff}.footer-tagline{margin:0;font-size:.9rem;line-height:1.55;color:#fff9}.footer-col h2{margin:0 0 1.1rem;font-family:var(--font-sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent)}.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.footer-col a{color:#ffffffb8;text-decoration:none;font-size:.92rem}.footer-col a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;color:#ffffff8c}.footer-bottom a{color:#ffffffb3;text-decoration:none}.footer-bottom a:hover{color:#fff;text-decoration:underline}@media (max-width: 760px){.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1 / -1}}@media (max-width: 460px){.footer-top{grid-template-columns:1fr}}.app-loading{position:fixed;inset:0;display:grid;place-items:center;background:var(--color-canvas);z-index:2000}.app-loading-mark{width:56px;height:56px;border-radius:16px;animation:app-loading-pulse 1.1s ease-in-out infinite}@keyframes app-loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.92)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
