@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#183024;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#fbf8ef 0%,#f1ede1 100%);font-family:Space Grotesk,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}body,button,input,select,textarea{font:inherit}button,input,select,textarea{appearance:none}img{max-width:100%;display:block}a{color:inherit}::selection{background:#bee74d47}#root{min-height:100vh}.app-shell{background:radial-gradient(circle at 12% 10%,#bfe74b38,#0000 22%),radial-gradient(circle at 90% 16%,#1a94d829,#0000 24%),linear-gradient(#f9f6ec 0%,#efe9dd 100%);grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f8f5eb;background:#132d24f5;grid-template-rows:auto 1fr auto;gap:24px;padding:26px 22px;display:grid}.sidebar-brand{align-items:center;gap:14px;display:flex}.sidebar-logo{object-fit:contain;background:#ffffff14;border-radius:16px;width:58px;height:58px;padding:6px}.sidebar-brand p,.panel-eyebrow,.panel-detail,.hero-kicker,.hero-text,.topbar-kicker,.sidebar-footer,.sidebar-footer span{margin:0}.sidebar-brand p,.topbar-kicker,.panel-eyebrow,.hero-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}.sidebar-brand strong{margin-top:4px;font-size:1.08rem;display:block}.sidebar-nav{align-content:start;gap:10px;display:grid}.nav-button,.action-chip{cursor:pointer;border:0;border-radius:18px;align-items:center;gap:10px;transition:transform .18s,background-color .18s,box-shadow .18s;display:inline-flex}.nav-button{color:#d8e5dd;background:#ffffff0a;width:100%;padding:14px 16px;font-weight:600}.nav-button.is-active{color:#fff;background:linear-gradient(135deg,#bfe74b3d,#1a94d83d);box-shadow:inset 0 0 0 1px #ffffff14}.nav-button:hover,.action-chip:hover{transform:translateY(-1px)}.sidebar-footer{color:#f8f5ebd1;background:#ffffff0d;border-radius:22px;gap:6px;padding:16px;display:grid}.sidebar-footer p{font-weight:700}.main-shell{padding:24px}.topbar,.hero-banner,.panel-head,.stack-item,.budget-topline{justify-content:space-between;gap:16px;display:flex}.topbar{align-items:center;margin-bottom:20px}.topbar-actions{flex-wrap:wrap;gap:10px;display:flex}.module-toolbar{background:#ffffffb8;border:1px solid #14281c14;border-radius:24px;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;padding:18px 20px;display:flex;box-shadow:0 18px 36px #10231c0f}.module-toolbar h3{color:#14281c;letter-spacing:-.03em;margin:6px 0 0}.module-copy{color:#5a6a62;max-width:56ch;margin:10px 0 0}.segmented-control{background:#14281c0f;border-radius:999px;flex-wrap:wrap;gap:8px;padding:6px;display:inline-flex}.segmented-button{color:#365347;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 14px;font-weight:700}.segmented-button.is-active{color:#f8f5eb;background:linear-gradient(135deg,#173528,#224b3a);box-shadow:0 12px 24px #10231c24}.topbar-kicker,.panel-eyebrow,.hero-kicker{color:#5c6f66}.topbar h2,.panel-head h2,.hero-banner h1{color:#14281c;letter-spacing:-.04em;margin:0}.topbar h2,.panel-head h2{font-size:clamp(1.2rem,2vw,1.6rem)}.hero-banner{background:#fffc;border:1px solid #14281c1a;border-radius:28px;align-items:center;margin-bottom:20px;padding:28px 30px;box-shadow:0 24px 44px #10231c1a}.brand-lockup{align-items:center;gap:16px;display:flex}.brand-logo{object-fit:contain;width:92px;height:92px}.hero-banner h1{max-width:12ch;font-size:clamp(2.6rem,5vw,4.3rem);line-height:.96}.hero-text{color:#5a6a62;max-width:62ch;margin-top:12px;line-height:1.7}.hero-notice{color:#f8f5eb;background:linear-gradient(160deg,#173528,#224b3a);border-radius:22px;gap:10px;max-width:320px;padding:18px;display:grid}.hero-badge,.pill{border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.hero-badge{background:#ffffff14;width:fit-content}.hero-badge--accent{background:#ff8b2f2e}.stats-grid,.dashboard-grid{gap:18px;margin-bottom:18px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-grid--overview,.dashboard-grid--split{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-card,.stat-card{background:#ffffffd6;border:1px solid #14281c14;border-radius:26px;box-shadow:0 20px 40px #10231c14}.panel-card{padding:22px}.panel-head{align-items:flex-start;margin-bottom:18px}.panel-detail{color:#5a6a62;max-width:54ch;margin-top:8px}.stat-card{padding:18px}.stat-card p,.stat-card span{color:#66776e}.stat-card strong{color:#14281c;letter-spacing:-.05em;margin:12px 0 8px;font-size:2rem;display:block}.stat-card--warning{border-color:#ff8a2b29}.stat-card--success{border-color:#4aae2a2e}.chart-panel{height:320px}.stack-list,.budget-list,.endpoint-list{gap:12px;display:grid}.stack-item,.budget-item,.endpoint-item,.info-tile{background:#f6f3ebeb;border-radius:20px;padding:16px}.stack-item,.endpoint-item{align-items:flex-start}.stack-item.is-selected{border:1px solid #1a94d82e;box-shadow:inset 0 0 0 1px #1a94d814}.stack-item--status{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.stack-item strong,.budget-item strong,.endpoint-item strong{color:#183024;margin-bottom:6px;display:block}.stack-item p,.budget-item p,.endpoint-item p,.info-tile p{color:#5d6d65;margin:0}.stack-meta{text-align:right}.stack-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px;display:inline-flex}.status-icon-wrap{background:#14281c0f;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.status-icon{flex:none}.status-icon--success{color:#2e6921}.status-icon--warning{color:#b6621b}.status-copy{min-width:0}.pill{color:#214233;background:#14281c14}.pill--warning{color:#b6621b;background:#ff8a2b24}.pill--success{color:#2e6921;background:#4aae2a29}.pill--neutral{color:#136fa5;background:#1a94d824}.progress-track{background:#14281c14;border-radius:999px;height:10px;margin:12px 0;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#bfdc4b,#1a94d8);height:100%;display:block}.table-shell{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid #14281c14;padding:14px 12px}th{color:#66776e;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}td{color:#203328}tbody tr.is-selected{background:#bfdc4b1f}.table-action-cell{gap:8px;display:grid}.table-action-button{color:#2e6921;cursor:pointer;background:#4aae2a29;border:0;border-radius:999px;width:fit-content;padding:8px 12px;font-weight:700}.action-chip{color:#f8f5eb;background:linear-gradient(135deg,#173528,#224b3a);padding:11px 14px;font-weight:700;position:relative}.action-chip:disabled,.segmented-button:disabled,.table-action-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.action-chip--secondary{color:#214233;background:#14281c14}.file-input{opacity:0;cursor:pointer;position:absolute;inset:0}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.search-box{gap:10px;margin-bottom:14px;display:grid}.search-box span{color:#556760;font-weight:700}.search-box input{background:#ffffffd1;border:1px solid #14281c1f;border-radius:18px;width:100%;padding:14px 16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.form-section{border-top:1px solid #14281c14;gap:12px;margin-top:18px;padding-top:18px;display:grid}.form-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.form-section-head{gap:4px;display:grid}.form-section-head h3,.asset-photo-copy strong,.table-primary strong{color:#173528;margin:0}.form-section-head p,.field-note,.table-primary p{color:#5d6d65;margin:0}.field-group{gap:8px;display:grid}.field-group--span{grid-column:1/-1}.field-group label{color:#556760;font-weight:700}.field-group input,.field-group select,.field-group textarea{color:#203328;background:#ffffffd1;border:1px solid #14281c1f;border-radius:18px;width:100%;padding:14px 16px}.field-group textarea{resize:vertical;min-height:96px}.workflow-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.asset-photo-panel,.asset-register-toolbar,.asset-register-summary,.table-primary{display:grid}.asset-photo-panel{background:#f6f3ebeb;border-radius:22px;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:16px}.asset-photo-preview{aspect-ratio:1;color:#355045;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(160deg,#bfdc4b38,#1a94d81f);border-radius:22px;justify-content:center;align-items:center;font-weight:800;display:flex;overflow:hidden}.asset-photo-preview img,.asset-thumb img{object-fit:cover;width:100%;height:100%}.asset-photo-copy{align-content:start;gap:10px;display:grid}.field-note{font-size:.92rem}.asset-register-toolbar{grid-template-columns:minmax(0,1fr) 240px;align-items:end;gap:14px;margin-bottom:16px}.asset-register-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-inspector{gap:18px;display:grid}.asset-inspector-top,.meta-grid{gap:16px;display:grid}.asset-inspector-top{grid-template-columns:180px minmax(0,1fr);align-items:center}.asset-inspector-media{aspect-ratio:1;color:#355045;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(160deg,#bfdc4b38,#1a94d81f);border-radius:24px;justify-content:center;align-items:center;font-weight:800;display:flex;overflow:hidden}.asset-inspector-media img{object-fit:cover;width:100%;height:100%}.asset-inspector-copy{gap:10px;display:grid}.asset-inspector-copy h3{color:#14281c;letter-spacing:-.03em;margin:0}.meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.approval-drawer,.timeline-copy{display:grid}.approval-drawer{gap:16px}.timeline-list{gap:12px;display:grid}.timeline-item{background:#f6f3ebeb;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;display:grid}.timeline-marker{background:#1a94d8;border-radius:999px;width:12px;height:12px;margin-top:8px;box-shadow:0 0 0 6px #1a94d81f}.timeline-copy{gap:4px}.timeline-copy strong{color:#183024}.timeline-copy p{color:#5d6d65;margin:0}.diff-list,.attachment-list,.diff-label,.diff-values,.attachment-copy,.ai-response-panel,.ai-response-grid,.chip-list{display:grid}.diff-list,.attachment-list{gap:12px}.diff-item,.attachment-item{background:#f6f3ebeb;border-radius:20px;padding:16px}.attachment-item.is-selected{border:1px solid #1a94d82e;box-shadow:inset 0 0 0 1px #1a94d814}.diff-item{gap:12px;display:grid}.diff-label strong{color:#183024;margin:0}.diff-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.diff-value{background:#ffffffc2;border:1px solid #14281c14;border-radius:18px;padding:14px 16px}.diff-value span{letter-spacing:.08em;text-transform:uppercase;color:#6a7a72;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.diff-value strong{color:#183024;display:block}.diff-value--after{background:#bfdc4b29;border-color:#4aae2a2e}.attachment-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.attachment-copy{gap:4px}.attachment-copy strong,.attachment-copy a{color:#183024;font-weight:700}.attachment-copy a{text-decoration:none}.attachment-copy a:hover{text-decoration:underline}.attachment-copy p{color:#5d6d65;margin:0}.attachment-preview-panel{background:#f6f3ebeb;border-radius:24px;gap:16px;padding:18px;display:grid}.ai-response-panel{background:linear-gradient(160deg,#bfdc4b24,#1a94d814);border:1px solid #14281c14;border-radius:24px;gap:14px;margin-top:16px;padding:18px}.ai-response-panel p{color:#355045;margin:0}.ai-response-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ai-response-head h3{color:#14281c;margin:4px 0 0}.ai-response-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chip-list{grid-template-columns:repeat(auto-fit,minmax(160px,max-content));gap:10px}.attachment-preview-surface{background:#ffffffc7;border:1px solid #14281c14;border-radius:20px;min-height:320px;overflow:hidden}.attachment-preview-image,.attachment-preview-frame{border:0;width:100%;min-height:320px;display:block}.attachment-preview-image{object-fit:contain;background:linear-gradient(160deg,#bfdc4b29,#1a94d814)}.meta-pair{background:#f6f3ebeb;border-radius:20px;padding:16px}.meta-pair strong{color:#183024;margin-bottom:6px;display:block}.meta-pair p{color:#5d6d65;margin:0}.panel-head--compact{margin-bottom:0}.asset-list-table td{vertical-align:top}.asset-thumb{color:#355045;background:linear-gradient(160deg,#bfdc4b38,#1a94d81f);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-weight:800;display:flex;overflow:hidden}.table-primary{gap:4px;min-width:140px}input,select,textarea,button{font:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #1a94d82e}@media (width<=1180px){.app-shell{grid-template-columns:1fr}.sidebar{grid-template-rows:auto}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stats-grid,.dashboard-grid--overview,.dashboard-grid--split,.form-grid,.info-grid,.meta-grid,.asset-register-toolbar,.asset-register-summary{grid-template-columns:1fr}}@media (width<=860px){.main-shell,.sidebar{padding:16px}.hero-banner,.topbar,.module-toolbar,.panel-head,.ai-response-head,.stack-item,.endpoint-item,.budget-topline,.asset-photo-panel{flex-direction:column;align-items:flex-start}.asset-inspector-top,.asset-photo-panel,.diff-values,.attachment-item,.ai-response-grid,.stack-item--status,.timeline-item{grid-template-columns:1fr}.hero-banner h1{font-size:2.4rem}.hero-notice{width:100%;max-width:none}.topbar-actions{width:100%}.action-chip{justify-content:center;width:100%}table{min-width:620px}}.foundation-card{gap:1.25rem}.foundation-search-row{align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.foundation-search-row .text-input{flex:1}.foundation-mini-grid,.foundation-form-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.foundation-form{background:#ffffffe0;border:1px solid #14271f14;border-radius:20px;gap:.75rem;padding:1rem;display:grid}.foundation-form h3{margin:0;font-size:1rem}
