:root{--navy-950:#04254f;--navy-900:#06346d;--navy-800:#07519a;--blue-600:#087ed5;--cyan-500:#18afe8;--teal-500:#08ae9c;--slate-900:#25394b;--slate-600:#647587;--slate-400:#94a5b6;--surface:#f3f7fb;--paper:#fff;--line:#dce5ee;--line-strong:#c9d6e2;--error:#b33a43;--success:#087b62;--warning:#9a6415;--radius:16px}*{box-sizing:border-box}html,body{background:var(--surface);min-height:100%;color:var(--slate-900);margin:0}body{font-family:Inter,Segoe UI,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #18afe861}.eyebrow{color:var(--blue-600);letter-spacing:.15em;margin:0 0 7px;font-size:.68rem;font-weight:800}.primary-button,.secondary-button{border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 18px;font-weight:750;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.primary-button{background:var(--blue-600);color:#fff;box-shadow:0 8px 18px #087ed52e}.primary-button:hover{background:#066cba;transform:translateY(-1px)}.primary-button:disabled{opacity:.62;cursor:wait;transform:none}.secondary-button{color:var(--navy-800);background:#e7f3fc}.secondary-button:hover{background:#d8ecfa}.primary-button svg,.secondary-button svg{width:18px;height:18px}.form-error,.form-success{border-radius:9px;margin:0;padding:10px 12px;font-size:.84rem}.form-error{color:var(--error);background:#fbe8e9}.form-success{color:var(--success);background:#e3f5ef}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{grid-template-columns:minmax(520px,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-story{background:var(--paper);flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(42px,5.5vw,82px);display:flex;position:relative;overflow:hidden}.login-story:before{content:"";border:80px solid #edf7fd;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-250px;right:-260px}.login-logo{z-index:1;width:clamp(180px,18vw,245px);height:auto;margin:-28px 0 0 -28px;position:relative}.login-promise{z-index:1;max-width:700px;position:relative}.login-promise h1{color:var(--navy-950);letter-spacing:-.055em;margin:0 0 24px;font-size:clamp(3rem,5vw,5.4rem);font-weight:760;line-height:.98}.login-copy{max-width:590px;color:var(--slate-600);margin:0;font-size:1.08rem;line-height:1.7}.login-benefits{z-index:1;flex-wrap:wrap;gap:15px 24px;display:flex;position:relative}.login-benefits span{color:var(--slate-600);align-items:center;gap:8px;font-size:.82rem;font-weight:650;display:flex}.login-benefits svg{width:18px;color:var(--teal-500)}.login-panel{color:#fff;background:var(--navy-950);place-items:center;padding:42px;display:grid;position:relative;overflow:hidden}.login-panel:after{content:"NF-e";color:#ffffff09;letter-spacing:-.08em;font-size:14rem;font-weight:900;position:absolute;bottom:-70px;right:-20px}.login-card{z-index:1;width:min(420px,100%);position:relative}.login-card .eyebrow{color:var(--cyan-500)}.login-card h2{letter-spacing:-.035em;margin:0 0 12px;font-size:2.3rem}.login-card>p:not(.eyebrow){color:#aebed0;margin:0 0 34px;line-height:1.55}.auth-form{gap:19px;display:grid}.auth-form label,.composer-form label{gap:8px;font-size:.82rem;font-weight:750;display:grid}.auth-form label span{color:#d9e6f1}.auth-form input{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;min-height:50px;padding:13px 15px}.auth-form input::placeholder{color:#7890a6}.auth-form input:hover{border-color:#18afe899}.auth-form .primary-button{background:var(--cyan-500);color:#032b58;box-shadow:none;margin-top:5px}.auth-form .primary-button:hover{background:#45c2ed}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy-950);color:#fff;z-index:30;flex-direction:column;height:100vh;min-height:100vh;padding:18px 16px 20px;display:flex;position:sticky;top:0}.sidebar-brand{background:#fff;border-radius:13px;place-items:center;min-height:150px;display:grid;position:relative;overflow:hidden}.sidebar-brand>img{object-fit:contain;width:142px;height:142px}.sidebar nav{gap:5px;margin-top:28px;display:grid}.sidebar nav>p{color:#6f8ca9;letter-spacing:.16em;margin:0 12px 8px;font-size:.64rem;font-weight:800}.sidebar nav button,.sidebar-foot form button{color:#adc0d2;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:12px 13px;font-size:.88rem;font-weight:650;display:flex}.sidebar nav button svg,.sidebar-foot form svg{width:18px;height:18px}.sidebar nav button:hover{color:#fff;background:#ffffff12}.sidebar nav button.active{color:#fff;background:var(--navy-800);box-shadow:inset 3px 0 var(--cyan-500)}.sidebar-foot{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:17px}.environment-badge{color:#d6b56f;align-items:center;gap:7px;margin:0 8px 15px;font-size:.68rem;display:flex}.environment-badge span{background:#e0a635;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #e0a6351f}.signed-user{align-items:center;gap:10px;padding:10px 8px 15px;display:flex}.signed-user>span{color:#92ddf6;background:#0d5a9d;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:850;display:grid}.signed-user>div{min-width:0;display:grid}.signed-user strong{font-size:.75rem}.signed-user small{color:#7892a9;text-overflow:ellipsis;margin-top:3px;font-size:.64rem;overflow:hidden}.close-menu{color:var(--navy-950);display:none;position:absolute;top:8px;right:8px}.icon-button{color:inherit;background:0 0;border:0;place-items:center;display:grid}.menu-scrim{display:none}.workspace{min-width:0;padding:0 clamp(22px,4vw,58px) 60px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:104px;display:flex}.page-title h1{color:var(--navy-950);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,2.5vw,2.15rem)}.page-title .eyebrow{margin-bottom:3px}.menu-button{display:none}.company-switcher{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:10px;min-width:310px;margin-left:auto;padding:9px 12px;display:flex}.company-switcher>svg:first-child{width:20px;color:var(--blue-600)}.company-switcher>svg:last-child{width:16px;color:var(--slate-400)}.company-switcher>span{flex:1;min-width:0;display:grid}.company-switcher small{color:var(--slate-600);font-size:.62rem}.company-switcher select{appearance:none;width:100%;min-width:0;color:var(--navy-950);cursor:pointer;background:0 0;border:0;outline:0;padding:1px 0;font-size:.76rem;font-weight:750}.company-strip{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:12px;max-width:1320px;min-height:68px;margin:22px 0;padding:11px 16px;display:flex}.company-monogram{width:43px;height:43px;color:var(--navy-800);background:#e4f3fc;border-radius:10px;place-items:center;font-size:.72rem;font-weight:900;display:grid}.company-strip>div{gap:3px;min-width:0;display:grid}.company-strip strong{color:var(--navy-950);font-size:.86rem}.company-strip small{color:var(--slate-600);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.company-status{color:var(--success);white-space:nowrap;grid-auto-flow:column;align-items:center;margin-left:auto;font-size:.72rem;font-weight:750;display:flex!important}.company-status svg{width:16px}.composer-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);align-items:start;gap:20px;max-width:1320px;display:grid}.conversation-panel,.review-panel,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.conversation-panel{overflow:hidden}.conversation-heading{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:70px;padding:13px 20px;display:flex}.assistant-avatar{background:var(--navy-800);color:#fff;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.assistant-avatar svg{width:21px}.conversation-heading>div:nth-child(2){gap:3px;display:grid}.conversation-heading strong{color:var(--navy-950);font-size:.86rem}.conversation-heading span{color:var(--slate-600);font-size:.68rem}.secure-session{color:var(--success);grid-auto-flow:column;align-items:center;margin-left:auto;font-size:.7rem;gap:5px!important;display:flex!important}.secure-session svg{width:16px}.conversation-body{background:#f6f9fc;flex-direction:column;min-height:590px;padding:clamp(22px,3vw,36px);display:flex}.assistant-message{background:#fff;border:1px solid #d8e5ef;border-radius:4px 15px 15px;max-width:630px;padding:19px 20px;box-shadow:0 6px 20px #103d670f}.message-label{color:var(--blue-600);letter-spacing:.12em;align-items:center;gap:7px;margin-bottom:14px;font-size:.62rem;font-weight:850;display:flex}.message-label span{background:var(--teal-500);border-radius:50%;width:7px;height:7px}.assistant-message p{margin:0;line-height:1.55}.assistant-message blockquote{border-left:3px solid var(--cyan-500);color:var(--navy-900);background:#eff8fd;margin:14px 0;padding:12px 14px;font-size:.88rem;line-height:1.5}.assistant-message small{color:var(--slate-600);line-height:1.5}.composer-form{gap:11px;margin-top:auto;padding-top:30px;display:grid}.textarea-shell{border:1px solid var(--line-strong);background:#fff;border-radius:12px;transition:border .15s,box-shadow .15s;overflow:hidden}.textarea-shell:focus-within{border-color:var(--cyan-500);box-shadow:0 0 0 3px #18afe81f}.textarea-shell label{color:var(--navy-950);padding:13px 15px 0}.textarea-shell textarea{resize:vertical;width:100%;min-height:126px;color:var(--slate-900);border:0;outline:0;padding:10px 15px}.textarea-shell textarea::placeholder{color:#98a8b7}.textarea-hint{color:var(--slate-600);border-top:1px solid #edf1f5;align-items:center;gap:6px;padding:9px 14px;font-size:.68rem;display:flex}.textarea-hint svg{width:14px}.composer-actions{justify-content:space-between;align-items:center;gap:15px;display:flex}.composer-actions>span{color:var(--slate-600);align-items:center;gap:6px;font-size:.72rem;display:flex}.composer-actions>span svg{width:16px}.review-panel{padding:24px;position:sticky;top:18px}.review-heading{justify-content:space-between;align-items:start;display:flex}.review-heading>span{color:var(--slate-600);font-size:.67rem}.review-panel h2,.panel-heading h2,.dashboard-heading h2{color:var(--navy-950);letter-spacing:-.03em;margin:0;font-size:1.45rem}.review-steps{gap:12px;margin:25px 0;display:grid}.review-steps>div{opacity:.45;align-items:center;gap:10px;display:flex}.review-steps>div.active{opacity:1}.review-steps>div>span{width:26px;height:26px;color:var(--slate-600);background:#e8eef4;border-radius:50%;place-items:center;font-size:.7rem;font-weight:850;display:grid}.review-steps .active>span{background:var(--blue-600);color:#fff}.review-steps div div{gap:2px;display:grid}.review-steps strong{font-size:.75rem}.review-steps small{color:var(--slate-600);font-size:.65rem}.empty-review{text-align:center;min-height:210px;color:var(--slate-600);background:#f8fafc;border:1px dashed #cbd9e5;border-radius:12px;padding:35px 18px}.empty-review>svg{color:#78a9cd;width:34px;height:34px}.empty-review strong{color:var(--navy-950);margin:10px 0 5px;font-size:.82rem;display:block}.empty-review p{margin:0;font-size:.72rem;line-height:1.55}.review-panel>button{color:#8e9ca8;cursor:not-allowed;background:#e8edf1;border:0;border-radius:10px;width:100%;margin-top:18px;padding:12px;font-weight:750}.review-warning{text-align:center;color:var(--slate-600);margin-top:10px;font-size:.63rem;display:block}.content-stack{gap:20px;max-width:1320px;display:grid}.dashboard-heading{justify-content:space-between;align-items:end;gap:20px;padding:8px 2px 4px;display:flex}.dashboard-heading h2{text-transform:capitalize;font-size:1.8rem}.dashboard-heading>div>p:last-child{color:var(--slate-600);margin:6px 0 0;font-size:.8rem}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr;gap:5px 11px;min-height:136px;padding:18px;display:grid}.metric-icon{border-radius:10px;grid-row:span 3;place-items:center;width:39px;height:39px;display:grid}.metric-icon svg{width:19px}.metric-icon.blue{color:var(--blue-600);background:#e5f2fb}.metric-icon.cyan{color:#087da8;background:#e2f7fc}.metric-icon.teal{color:var(--teal-500);background:#e2f6f2}.metric-icon.slate{color:var(--slate-600);background:#edf1f5}.metric-grid article>span{color:var(--slate-600);font-size:.72rem}.metric-grid article>strong{color:var(--navy-950);letter-spacing:-.035em;font-size:1.45rem}.metric-grid article>small{color:var(--slate-400);font-size:.64rem}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);align-items:start;gap:20px;display:grid}.panel{padding:clamp(20px,2.5vw,28px)}.panel-heading{justify-content:space-between;align-items:end;gap:18px;min-height:44px;margin-bottom:20px;display:flex}.text-button{color:var(--blue-600);background:0 0;border:0;align-items:center;gap:6px;font-size:.74rem;font-weight:750;display:flex}.text-button svg{width:15px}.status-panel{display:grid}.status-row{border-top:1px solid var(--line);grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:15px 0;display:grid}.status-row:first-of-type{border-top:0}.status-symbol{border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.status-symbol svg{width:17px}.status-symbol.ready{color:var(--success);background:#e2f5ef}.status-symbol.waiting{color:var(--warning);background:#faf1df}.status-row>div{gap:3px;display:grid}.status-row strong{font-size:.75rem}.status-row small{color:var(--slate-600);font-size:.64rem}.status-row>svg{width:17px;color:var(--success)}.status-text{color:var(--warning);font-size:.65rem;font-weight:750}.empty-state{text-align:center;min-height:190px;color:var(--slate-600);padding:35px 20px}.empty-state>svg{color:#75a5c9;width:34px;height:34px}.empty-state h3{color:var(--navy-950);margin:8px 0 5px;font-size:.9rem}.empty-state p{max-width:430px;margin:0 auto 17px;font-size:.75rem;line-height:1.55}.request-list{gap:9px;display:grid}.request-list article{border:1px solid var(--line);border-radius:11px;grid-template-columns:1fr auto;gap:7px 16px;padding:14px 16px;display:grid}.request-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.79rem;line-height:1.5}.request-list time{color:var(--slate-600);grid-area:1/2/span 2;align-self:center;font-size:.66rem}.request-status{color:var(--blue-600);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:.61rem;font-weight:850;display:flex}.request-status span{background:var(--cyan-500);border-radius:50%;width:6px;height:6px}.invoice-list{display:grid}.invoice-list article{border-top:1px solid var(--line);grid-template-columns:150px minmax(180px,1fr) 120px 90px;align-items:center;gap:12px;min-height:68px;display:grid}.invoice-list article:first-child{border-top:0}.invoice-list article>div{gap:3px;display:grid}.invoice-list small{color:var(--slate-600);font-size:.65rem}.invoice-list article>strong{color:var(--navy-950);font-size:.78rem}.invoice-number{grid-auto-flow:column;justify-content:start;align-items:center;gap:8px!important;display:flex!important}.invoice-number>svg{width:19px;color:var(--blue-600)}.invoice-number>span{gap:2px;display:grid}.invoice-number strong{font-size:.75rem}.invoice-status{color:var(--slate-600);background:#edf1f5;border-radius:20px;justify-self:end;padding:5px 9px;font-size:.61rem;font-weight:750}.status-authorized{color:var(--success);background:#e2f5ef}.status-rejected,.status-error,.status-denied{color:var(--error);background:#fbe8e9}.status-processing,.status-queued{color:var(--warning);background:#faf1df}.history-heading{align-items:center}.search-field{border:1px solid var(--line);border-radius:9px;align-items:center;gap:8px;width:min(310px,100%);min-height:40px;padding:0 11px;display:flex}.search-field svg{width:16px;color:var(--slate-400)}.search-field input{width:100%;color:var(--slate-900);border:0;outline:0}.result-count{color:var(--slate-600);font-size:.7rem}.centered-shell{background:var(--navy-950);place-items:center;min-height:100vh;padding:25px;display:grid}.pending-card{text-align:center;background:#fff;border-radius:18px;width:min(500px,100%);padding:44px}.pending-card h1{color:var(--navy-950);margin:8px 0 12px;font-size:1.8rem}.pending-card p:not(.eyebrow){color:var(--slate-600);line-height:1.6}.status-icon{width:54px;height:54px;color:var(--blue-600);background:#e5f2fb;border-radius:14px;place-items:center;margin:0 auto 20px;display:grid}@media (max-width:1120px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:900px){.login-shell{grid-template-columns:1fr}.login-story{gap:35px;min-height:auto;padding:28px 30px 45px}.login-logo{width:170px;margin:-25px 0 -20px -25px}.login-promise h1{font-size:clamp(2.7rem,10vw,4.2rem)}.login-benefits{display:none}.login-panel{min-height:520px;padding:50px 26px}.app-shell{grid-template-columns:1fr}.sidebar{width:260px;transition:left .2s;position:fixed;left:-280px;box-shadow:14px 0 42px #00162f47}.sidebar-open{left:0}.close-menu,.menu-button{display:grid}.menu-scrim{z-index:20;background:#0219348c;border:0;display:block;position:fixed;inset:0}.workspace{padding-inline:19px}.topbar{min-height:90px}.menu-button{color:var(--navy-950);margin-right:3px}.composer-layout{grid-template-columns:1fr}.review-panel{position:static}.company-switcher{min-width:250px}}@media (max-width:650px){.topbar{flex-wrap:wrap;padding:16px 0}.page-title{flex:1}.company-switcher{order:3;width:100%;min-width:0;margin-left:0}.company-strip{align-items:start}.company-status{display:none!important}.company-strip small{white-space:normal}.conversation-heading{align-items:start}.secure-session{display:none!important}.conversation-body{min-height:530px;padding:20px 15px}.composer-actions{flex-direction:column;align-items:stretch}.composer-actions>span{justify-content:center}.metric-grid{grid-template-columns:1fr}.dashboard-heading,.history-heading{flex-direction:column;align-items:stretch}.search-field{width:100%}.request-list article{grid-template-columns:1fr}.request-list time{grid-area:auto/1}.invoice-list article{grid-template-columns:1fr auto;padding:14px 0}.invoice-list article>div:nth-child(2){grid-column:1/-1}.invoice-status{grid-area:1/2}.pending-card{padding:34px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
