:root{color:#172033;--bg:#e8eef7;--surface:#f8fbff;--surface-strong:#fff;--surface-soft:#eef5fc;--line:#c8d6e8;--line-strong:#9fb4cf;--text:#172033;--muted:#607086;--nav:#07111f;--nav-2:#0d2138;--metal:#176ea8;--metal-dark:#0b3f66;--metal-light:#5db8e8;--glow:#38bdf847;--shadow:#0c1f371f;--asset-version:20260700;background:#e8eef7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:linear-gradient(135deg, #176ea81f, transparent 32%), linear-gradient(180deg, #f7fbff 0%, var(--bg) 42%, #dde8f4 100%);margin:0}button{background:linear-gradient(135deg, var(--metal-dark), var(--metal) 52%, #2d93c8);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:6px;justify-content:center;align-items:center;gap:.45rem;min-height:36px;padding:.5rem .7rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffff47,0 8px 18px #0b3f6629}input,select,textarea{border:1px solid var(--line);color:var(--text);font:inherit;background:linear-gradient(#fff,#f5f9fe);border-radius:6px;width:100%;min-height:36px;padding:.45rem .6rem}input:not([type=email]):not([type=password]):not([type=date]):not([type=number]),textarea{text-transform:uppercase}input:disabled,button:disabled{cursor:not-allowed;opacity:.65}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.shell.sidebar-collapsed{grid-template-columns:64px 1fr}.sidebar{background:linear-gradient(180deg, #5db8e81f, transparent 28%), linear-gradient(145deg, var(--nav), var(--nav-2) 72%, #0a1527);color:#eef7ff;border-right:1px solid #5db8e838;padding:.9rem;box-shadow:inset -1px 0 #ffffff0a,8px 0 30px #07111f1f}.sidebar-collapsed .sidebar{padding:.65rem}.brand{text-shadow:0 0 18px #5db8e847;align-items:center;gap:.6rem;margin-bottom:1.25rem;font-weight:800;line-height:1.2;display:flex}.brand-mark{object-fit:cover;border:1px solid #e2f4ff6b;border-radius:999px;flex:none;width:28px;height:28px;box-shadow:0 0 18px #5db8e852}.sidebar-collapsed .brand{justify-content:center;margin-bottom:.75rem}.sidebar-toggle{box-shadow:none;color:#8fb4d6;opacity:.75;background:0 0;justify-content:center;width:26px;min-height:26px;margin-left:auto;padding:0}.sidebar-toggle:hover{color:#fff;opacity:1;background:#5db8e81f}.sidebar-collapsed .sidebar-toggle{margin-left:0}nav{gap:.65rem;margin-top:.75rem;display:grid}.nav-group{gap:.25rem;display:grid}.nav-group-toggle{box-shadow:none;color:#8fb4d6;text-transform:uppercase;background:0 0;justify-content:space-between;align-items:center;min-height:28px;padding:0 .55rem;font-size:.72rem;font-weight:800;display:flex}.sidebar-collapsed .nav-group-toggle{justify-content:center;padding:0}.sidebar-collapsed .nav-group-toggle span{display:none}.nav-group-toggle:hover{color:#fff;background:#5db8e81f}.nav-group-toggle svg{transition:transform .16s}.nav-group.open .nav-group-toggle svg{transform:rotate(180deg)}.nav-group-items{gap:.25rem;display:grid}nav button,.secondary{box-shadow:none;color:#c9dcf0;text-align:left;background:0 0;border-radius:6px;justify-content:flex-start;width:100%;min-height:32px;padding:.4rem .55rem}.sidebar-collapsed nav button,.sidebar-collapsed .secondary{justify-content:center;padding:.45rem}nav button.active,nav button:hover,.secondary:hover{color:#fff;background:linear-gradient(135deg,#5db8e82e,#176ea847);box-shadow:inset 0 0 0 1px #5db8e838}.secondary{margin-top:1rem}.workspace{color:var(--text);width:100%;max-width:1440px;padding:1rem}.topbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}h1,h2,p{margin:0}h1{font-size:1.35rem}h2{font-size:1rem}.topbar p{color:var(--muted);margin-top:.25rem;font-size:.86rem}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.75rem;display:grid}.dashboard-hero{color:#eef7ff;background:linear-gradient(135deg,#5db8e83d,#0000 34%),linear-gradient(145deg,#07111f,#102b47 58%,#0b3f66);border:1px solid #5db8e852;border-radius:8px;grid-template-columns:1.2fr 1fr;gap:1rem;margin-bottom:.75rem;padding:1rem;display:grid;overflow:hidden;box-shadow:0 18px 46px #07111f38,inset 0 1px #ffffff1f}.dashboard-hero-main{gap:.35rem;min-width:0;display:grid}.dashboard-hero-main span,.dashboard-hero-side span{color:#a9c7e2;text-transform:uppercase;font-size:.82rem;font-weight:800}.dashboard-hero-main strong{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.05}.dashboard-hero-main p{color:#c9dcf0}.dashboard-hero-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.dashboard-hero-side article{background:#ffffff14;border:1px solid #9fb4cf38;border-radius:8px;gap:.35rem;min-width:0;padding:.7rem;display:grid}.dashboard-hero-side strong{color:#fff;overflow-wrap:anywhere;font-size:1rem}.dashboard-mix{grid-template-columns:1fr 1.4fr auto;align-items:center;gap:.8rem;margin-bottom:.75rem;display:grid}.dashboard-mix p{color:var(--muted);margin-top:.2rem}.mix-bars{border:1px solid var(--line);background:#dbe7f4;border-radius:999px;min-width:180px;height:28px;display:flex;overflow:hidden}.mix-bars span{color:#fff;justify-content:center;align-items:center;min-width:0;font-size:.8rem;font-weight:800;display:inline-flex}.mix-income{background:linear-gradient(135deg,#047857,#10b981)}.mix-expense{background:linear-gradient(135deg,#991b1b,#ef4444)}.mix-legend{white-space:nowrap;gap:.3rem;display:grid}.mix-legend span{color:var(--muted);align-items:center;gap:.35rem;display:inline-flex}.mix-legend i{border-radius:999px;width:8px;height:8px;display:inline-flex}.legend-income{background:#10b981}.legend-expense{background:#ef4444}.metric,.panel,.status-panel{border:1px solid var(--line);box-shadow:0 10px 28px var(--shadow), inset 0 1px 0 #ffffffbf;background:linear-gradient(#fffffff5,#f1f7fef5);border-radius:8px}.metric{gap:.35rem;min-height:100px;padding:.7rem;display:grid}.metric-icon{color:var(--metal);background:linear-gradient(135deg,#5db8e833,#176ea824);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.metric span,.row span,.split span{color:var(--muted);font-size:.9rem}.metric strong{align-self:end;font-size:1.12rem}.positive{color:#047857}.negative{color:#b91c1c}.grid{grid-template-columns:1.2fr 1.5fr;gap:.75rem;display:grid}.panel{padding:.75rem}.panel.compact{grid-column:span 2}.panel-title{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.dashboard-ranking h2{margin-bottom:.7rem}.rank-list{gap:.55rem;display:grid}.rank-list article{border-bottom:1px solid #d9e4f1;grid-template-columns:1fr minmax(150px,.65fr);align-items:center;gap:.75rem;padding-bottom:.55rem;display:grid}.rank-list article:last-child{border-bottom:0;padding-bottom:0}.rank-list article>div:first-child,.rank-value{gap:.25rem;min-width:0;display:grid}.rank-list span{color:var(--muted);font-size:.84rem}.rank-value>span{background:#dbe7f4;border-radius:999px;height:7px;display:block;overflow:hidden}.rank-value i{background:linear-gradient(135deg, var(--metal-light), var(--metal));border-radius:inherit;height:100%;display:block}.form{grid-template-columns:repeat(5,minmax(128px,1fr));gap:.55rem;margin-bottom:.75rem;display:grid}.form button{min-height:36px}.entry-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.55rem}.title-entry-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.title-entry-panel{border:1px solid var(--line);box-shadow:0 10px 28px var(--shadow);background:linear-gradient(135deg,#5db8e821,#0000 44%),linear-gradient(#fff,#f4f8fd);border-radius:8px;padding:.75rem}.entry-mode{border:1px solid var(--line);background:#e8f1fb;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-bottom:.65rem;padding:.35rem;display:grid}.entry-mode button{color:#31435b;background:0 0;border:0;justify-content:center;align-items:center;gap:.45rem;font-weight:900;display:flex}.entry-mode button.active{background:linear-gradient(135deg, var(--metal), var(--metal-dark));color:#fff}.title-entry-form{box-shadow:none;grid-template-columns:repeat(4,minmax(190px,1fr));margin-bottom:.55rem}.title-entry-form label{gap:.25rem;min-width:0;display:grid}.title-entry-form label>span{color:var(--muted);text-transform:uppercase;padding-left:.1rem;font-size:.74rem;font-weight:900;line-height:1}.title-entry-form .wide-field{grid-column:span 2}.title-entry-form .full-field{grid-column:1/-1}.title-entry-form>button{grid-column:span 2}.installment-box{border:1px solid var(--line);background:#ffffffa3;border-radius:8px;gap:.65rem;padding:.65rem;display:grid}.installment-header,.installment-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.installment-header>span{color:var(--text);text-transform:uppercase;font-size:.82rem;font-weight:900}.segmented-control.compact{grid-template-columns:repeat(2,minmax(110px,1fr));max-width:280px}.installment-controls{grid-template-columns:repeat(2,minmax(160px,1fr));gap:.55rem;display:grid}.installment-preview{flex-wrap:wrap;gap:.4rem;display:flex}.installment-preview span{border:1px solid var(--line);color:#25455f;background:#e7f3fd;border-radius:999px;padding:.25rem .5rem;font-size:.78rem;font-weight:800}.manual-installments{gap:.45rem;display:grid}.manual-installments article{grid-template-columns:34px minmax(160px,1fr) minmax(160px,1fr) 32px;align-items:center;gap:.5rem;display:grid}.manual-installments strong{color:#25455f;background:#dce9f6;border-radius:6px;justify-content:center;align-items:center;height:34px;display:inline-flex}.title-attachments{border:1px dashed var(--line-strong);background:#eff6fdb8;border-radius:8px;gap:.55rem;padding:.65rem;display:grid}.attachment-field-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attachment-field-header>span{color:var(--text);text-transform:uppercase;font-size:.82rem;font-weight:900}.file-picker{background:linear-gradient(135deg, var(--metal), var(--metal-dark));color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;min-height:34px;padding:.35rem .65rem;font-size:.88rem;font-weight:900;display:inline-flex}.file-picker input{display:none}.attachment-required{color:#8a4b0f;font-size:.86rem;font-weight:800}.title-attachment-list{gap:.45rem;display:grid}.title-attachment-list article{grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) 32px;align-items:center;gap:.55rem;display:grid}.title-attachment-list strong,.title-attachment-list small{display:block}.title-attachment-list small{color:var(--muted);font-size:.78rem}.purchase-entry{gap:.35rem;margin-bottom:.75rem;display:grid}.purchase-form{grid-template-columns:repeat(4,minmax(140px,1fr));margin-bottom:0}.purchase-form textarea{resize:vertical;min-height:76px}.purchase-form textarea:first-of-type,.purchase-form textarea:nth-of-type(2){grid-column:span 2}.supply-form{grid-template-columns:repeat(4,minmax(140px,1fr))}.request-items-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:.55rem;padding:.55rem;display:grid}.request-item-form{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1.2fr) minmax(100px,.6fr) minmax(120px,.7fr) minmax(130px,.7fr);margin-bottom:0}.compact-table{box-shadow:none}.compact-table th,.compact-table td{padding:.35rem .5rem}.quote-form{grid-template-columns:repeat(4,minmax(140px,1fr));margin-bottom:0}.quote-form textarea{resize:vertical;grid-column:span 2;min-height:76px}.quote-map-backdrop{justify-content:stretch;align-items:stretch;padding:.75rem}.quote-map-page{border:1px solid var(--line);box-shadow:0 10px 28px var(--shadow);background:linear-gradient(#fff,#f2f7fd);border-radius:8px;gap:.85rem;min-height:calc(100vh - 7rem);padding:1rem;display:grid;overflow:auto}.quote-map-modal{align-content:start;gap:.85rem;width:100%;max-width:none;height:calc(100vh - 1.5rem);max-height:none;padding:1rem;overflow:auto}.quote-map-header,.quote-map-card-head,.quote-map-card-total{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.quote-map-header{border-bottom:1px solid var(--line);z-index:4;background:linear-gradient(#fff,#f2f7fd);margin:-1rem -1rem 0;padding:.9rem 1rem;position:sticky;top:-1rem}.quote-map-header div{gap:.2rem;display:grid}.quote-map-header span{color:var(--muted);font-size:.82rem}.quote-map-items{margin-bottom:.25rem}.quote-map-actions{justify-content:flex-end;display:flex}.quote-map-tabs{border:1px solid var(--line);background:#dce9f7;border-radius:8px;gap:.25rem;width:fit-content;padding:.25rem;display:inline-flex}.quote-map-tabs button{color:var(--text);background:#f8fbff;border:1px solid #0000;min-height:34px}.quote-map-tabs button.active{color:#fff;background:linear-gradient(135deg,#0f4f7c,#2387bd);border-color:#0f4f7c;box-shadow:0 8px 20px #0f4f7c40}.quote-map-pane{gap:.75rem;display:grid}.quote-decision-bar{grid-template-columns:repeat(3,minmax(220px,1fr));gap:.75rem;display:grid}.quote-decision-bar article{border:1px solid var(--line);background:#f8fbff;border-radius:8px;gap:.35rem;padding:.75rem;display:grid}.quote-decision-bar span,.quote-decision-bar small{color:var(--muted);font-size:.8rem;font-weight:800}.quote-decision-bar strong{color:var(--text);font-size:1rem}.quote-decision-bar button{min-height:34px}.quote-map-grid{grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:.75rem;display:grid}.quote-map-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:.6rem;padding:.65rem;display:grid}.quote-map-card-head .searchable-select{flex:1}.quote-map-meta{grid-template-columns:repeat(3,minmax(120px,1fr));margin-bottom:0}.quote-map-card table input{min-height:32px;padding:.3rem .45rem}.quote-comparison-table th span,.quote-comparison-table td small{color:var(--muted);margin-top:.2rem;font-size:.72rem;font-weight:800;display:block}.quote-comparison-table td{vertical-align:top;min-width:140px}.quote-comparison-table td.best-price-cell{background:#ecfdf5;box-shadow:inset 3px 0 #10b981}.quote-comparison-table td.selected-price-cell{background:#fffbeb;box-shadow:inset 3px 0 #f59e0b}.quote-price-choice{box-shadow:none;color:inherit;text-align:left;background:0 0;border:0;place-items:flex-start start;gap:.08rem;width:100%;min-height:0;padding:0;display:grid}.quote-price-choice:hover{box-shadow:none;background:#0f4f7c0f;transform:none}.best-price-label{color:#047857;text-transform:uppercase;margin-bottom:.15rem;font-size:.68rem;font-weight:900;display:block}.selected-price-label{color:#b45309;text-transform:uppercase;margin-bottom:.15rem;font-size:.68rem;font-weight:900;display:block}.muted-cell{color:var(--muted);font-size:.78rem}.floating-chat-button{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;z-index:80;background:linear-gradient(135deg,#0f4f7c,#2387bd);border:1px solid #ffffff5c;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 18px 42px #03142652}.floating-chat-button:hover,.floating-chat-button.active{background:linear-gradient(135deg,#123d66,#2aa8df);transform:translateY(-1px)}.floating-chat-badge{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 .3rem;font-size:.72rem;font-weight:900;display:inline-flex;position:absolute;top:-.25rem;right:-.2rem;box-shadow:0 6px 14px #dc262647}.floating-chat-alert{color:var(--text);text-align:left;z-index:80;background:#fffffffa;border:1px solid #2387bd47;border-radius:10px;align-items:start;gap:.18rem;max-width:min(330px,100vw - 6rem);min-height:58px;padding:.65rem .85rem;display:grid;position:fixed;bottom:1.35rem;right:5.35rem;box-shadow:0 18px 44px #0314263d}.floating-chat-alert strong{color:#0b3f66;font-size:.88rem}.floating-chat-alert span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;display:block;overflow:hidden}.floating-chat-window{z-index:79;background:#f5fafffa;border:1px solid #2387bd52;border-radius:12px;grid-template-rows:auto 1fr;width:min(980px,100vw - 2rem);height:min(690px,100vh - 6.6rem);display:grid;position:fixed;bottom:5.25rem;right:1.25rem;overflow:hidden;box-shadow:0 24px 70px #03142657}.floating-chat-titlebar{color:#fff;background:linear-gradient(135deg,#0a2644fa,#115c8bf5);justify-content:space-between;align-items:center;padding:.8rem .9rem;display:flex}.floating-chat-titlebar div{gap:.1rem;display:grid}.floating-chat-titlebar span{color:#e2f1ffd1;font-size:.78rem;font-weight:700}.floating-chat-titlebar .muted-button{color:#fff;background:#ffffff1f;border-color:#ffffff2e;width:40px;min-height:36px}.chat-layout{grid-template-columns:minmax(250px,.8fr) minmax(420px,1.7fr) minmax(260px,.9fr);gap:.85rem;display:grid}.chat-view{min-width:0}.floating-mode{min-height:0;display:grid;overflow:hidden}.floating-mode .edit-hint{margin:.55rem .75rem 0}.floating-mode .chat-layout{grid-template-columns:210px minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.floating-mode .notifications-panel{display:none}.chat-panel{border:1px solid var(--line);background:#f8fbffeb;border-radius:8px;min-height:560px;display:grid;overflow:hidden}.floating-mode .chat-panel{border:0;border-radius:0;min-height:0}.floating-mode .chat-threads{border-right:1px solid var(--line)}.floating-mode .chat-messages{grid-template-rows:auto minmax(0,1fr) auto}.floating-mode .chat-panel-head{padding:.62rem .7rem}.chat-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.8rem;display:flex}.chat-panel-head h2{margin:0;font-size:1rem}.chat-panel-head span{color:var(--muted);font-size:.78rem;font-weight:700;display:block}.chat-new-thread{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px;gap:.45rem;padding:.75rem;display:grid}.chat-new-thread .searchable-select{min-width:0}.chat-new-thread-action{flex:0 0 42px;place-self:start end;width:42px;height:42px;min-height:42px;padding:0}.floating-mode .chat-new-thread{grid-template-columns:minmax(0,1fr) 38px;gap:.35rem;padding:.55rem}.floating-mode .chat-new-thread-action{width:38px;height:38px;min-height:38px}.chat-thread-list,.notification-list{align-content:start;gap:.35rem;max-height:510px;padding:.65rem;display:grid;overflow:auto}.floating-mode .chat-thread-list,.floating-mode .notification-list,.floating-mode .message-list{max-height:none}.floating-mode .chat-thread-list{gap:.28rem;padding:.5rem}.chat-thread-list button{border:1px solid var(--line);color:var(--text);text-align:left;background:#fff;border-radius:8px;justify-items:start;gap:.2rem;min-height:58px;padding:.65rem;display:grid;position:relative}.floating-mode .chat-thread-list button{min-height:48px;padding:.48rem .55rem}.floating-mode .chat-thread-list strong{font-size:.86rem}.floating-mode .chat-thread-list span{font-size:.7rem}.chat-thread-list button.active{background:#e8f2fb;border-color:#2387bd;box-shadow:inset 3px 0 #2387bd}.chat-thread-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;overflow:hidden}.chat-thread-list em{color:#fff;text-align:center;background:#dc2626;border-radius:999px;min-width:22px;padding:.15rem .4rem;font-size:.72rem;font-style:normal;font-weight:900;position:absolute;top:.55rem;right:.55rem}.chat-messages{grid-template-rows:auto auto 1fr auto}.message-list{background:linear-gradient(#f8fbff,#eef6ff);align-content:start;gap:.65rem;max-height:425px;padding:.85rem;display:grid;overflow:auto}.message-bubble{border:1px solid var(--line);background:#fff;border-radius:8px;gap:.35rem;max-width:78%;padding:.65rem;display:grid}.message-bubble.mine{background:#e8f2fb;justify-self:end}.message-bubble header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.message-bubble header span{color:var(--muted);font-size:.72rem}.message-bubble p{white-space:pre-wrap;margin:0}.chat-attachment{border:1px solid var(--line);color:var(--text);background:#f1f5f9;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .5rem;text-decoration:none;display:flex}.chat-attachment small{color:var(--muted);margin-left:auto}.chat-compose{border-top:1px solid var(--line);gap:.55rem;padding:.75rem;display:grid}.floating-mode .chat-compose{align-content:start;height:154px}.chat-compose textarea{resize:vertical;text-transform:none;min-height:86px}.floating-mode .chat-compose textarea{resize:none;height:72px;min-height:72px;max-height:72px}.floating-mode .chat-compose-files{grid-template-columns:42px minmax(0,1fr) auto;align-items:start;height:42px}.floating-mode .chat-compose-files button{white-space:nowrap;height:42px;min-height:42px}.chat-compose-files{grid-template-columns:42px minmax(180px,1fr) minmax(120px,.6fr);gap:.45rem;display:grid}.chat-file-input{display:none}.chat-attach-button{width:42px;min-height:42px;padding:0}.chat-file-list{border:1px solid var(--line);background:linear-gradient(#fff,#f5f9fe);border-radius:6px;align-content:center;align-items:center;gap:.35rem;min-height:42px;padding:.25rem .4rem;display:flex;overflow:auto hidden}.chat-file-list>span{color:var(--muted);align-items:center;min-width:max-content;padding:0 .25rem;font-size:.82rem;font-weight:800;display:flex}.chat-file-chip{box-shadow:none;color:var(--text);background:#e8f2fb;border:1px solid #c8d6e8;flex:none;gap:.28rem;max-width:180px;min-height:30px;padding:.25rem .42rem;font-size:.78rem;overflow:hidden}.chat-file-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notifications-panel{grid-template-rows:auto auto 1fr}.notification-list article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:.25rem;padding:.65rem;display:grid}.notification-list article.unread{background:#fffbeb;box-shadow:inset 3px 0 #f59e0b}.notification-list p{margin:0}.notification-list span{color:var(--muted);font-size:.74rem}@media (width<=760px){.quote-map-backdrop{padding:0}.quote-map-modal{border-radius:0;height:100vh}.quote-map-grid,.quote-decision-bar,.chat-layout{grid-template-columns:1fr}.chat-panel{min-height:auto}.chat-compose-files{grid-template-columns:1fr}.message-bubble{max-width:100%}.floating-chat-button{width:54px;height:54px;bottom:.85rem;right:.85rem}.floating-chat-alert{max-width:calc(100vw - 1.7rem);bottom:4.9rem;right:.85rem}.floating-chat-window{border-radius:10px 10px 0 0;width:100vw;height:min(86vh,760px);bottom:0;right:0}.floating-mode .chat-layout{grid-template-columns:1fr}.floating-mode .chat-threads{border-bottom:1px solid var(--line);border-right:0;max-height:260px}.floating-mode .chat-new-thread{grid-template-columns:1fr}}.order-form{grid-template-columns:minmax(240px,2fr) minmax(140px,1fr) minmax(180px,1fr) minmax(150px,1fr);margin-bottom:0}.reconciliation-entry{gap:.75rem;margin-bottom:.9rem;display:grid}.reconciliation-session-box,.reconciliation-session-list,.reconciliation-session-current,.empty-state-box{border:1px solid var(--line);box-shadow:0 10px 28px var(--shadow);background:linear-gradient(#ffffffe6,#f0f7feeb);border-radius:8px;margin-bottom:.8rem;padding:.75rem}.reconciliation-session-box,.reconciliation-session-list,.empty-state-box{gap:.6rem;display:grid}.reconciliation-session-form{box-shadow:none;grid-template-columns:minmax(260px,1.25fr) repeat(2,minmax(145px,.7fr)) repeat(2,minmax(155px,.75fr));margin-bottom:0;overflow:visible}.reconciliation-session-form input:nth-of-type(5){grid-column:1/span 4}.reconciliation-session-form>button{white-space:nowrap;grid-column:span 1;min-width:170px}.reconciliation-session-list table{box-shadow:none}.reconciliation-session-current{justify-content:space-between;align-items:center;display:flex}.reconciliation-session-current div{gap:.12rem;display:grid}.reconciliation-session-current span,.reconciliation-session-current small,.empty-state-box span{color:var(--muted);font-weight:800}.selected-row td{background:#e7f3fd}.reconciliation-work-page{gap:.8rem;display:grid}.reconciliation-work-filter{grid-template-columns:minmax(180px,.8fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(150px,.55fr)}.reconciliation-work-entry{grid-template-columns:minmax(150px,.65fr) minmax(280px,1.4fr) minmax(190px,.85fr) minmax(180px,.8fr) minmax(170px,.65fr);margin-bottom:0}.bank-closing-box{border:1px solid var(--line);z-index:1;background:linear-gradient(#ffffffdb,#f0f7fee6);border-radius:8px;gap:.75rem;margin-bottom:.9rem;padding:.75rem;display:grid;position:relative}.bank-closing-box h2{margin:0}.bank-closing-filter{z-index:12;grid-template-columns:minmax(260px,1.35fr) minmax(150px,.75fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(150px,.65fr);align-items:start;position:relative;overflow:visible}.bank-closing-form{box-shadow:none;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(260px,1fr);margin-bottom:0;overflow:visible}.bank-closing-form button{min-width:150px}.bank-closing-page .searchable-options{width:max-content;min-width:100%;max-height:168px}.bank-closing-history-table{min-width:1120px}.bank-closing-preview{grid-template-columns:repeat(7,minmax(120px,1fr))}.bank-closing-movements{gap:.55rem;display:grid;overflow-x:auto}.bank-closing-movements table{box-shadow:none;min-width:980px}.csv-import-form{grid-template-columns:150px minmax(180px,.45fr) minmax(420px,1fr) minmax(150px,.2fr);align-items:start}.csv-import-form textarea{text-transform:none;min-height:76px}.csv-file-input{display:none}.csv-file-name{border:1px solid var(--line);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#fff,#f5f9fe);border-radius:6px;align-items:center;min-height:36px;padding:0 .65rem;font-size:.82rem;font-weight:800;display:flex;overflow:hidden}table{background:var(--surface-strong);border:1px solid var(--line);border-collapse:collapse;box-shadow:0 10px 28px var(--shadow);border-radius:8px;width:100%;overflow:hidden}.table-title{margin:1rem 0 .55rem}section{min-width:0;overflow-x:auto}th,td{color:var(--text);text-align:left;border-bottom:1px solid #d9e4f1;padding:.45rem .55rem}th{color:#31435b;background:linear-gradient(#eef6ff,#e5eef8);font-size:.85rem}.filter-bar{border:1px solid var(--line);background:linear-gradient(#fffffff0,#eff6fdf0);border-radius:8px;padding:.55rem}.searchable-select{min-width:0;position:relative}.searchable-select input{width:100%;padding-right:2.25rem}.searchable-toggle{box-shadow:none;color:#33536f;background:0 0;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;position:absolute;top:1px;right:1px}.searchable-toggle:hover{color:var(--metal);background:#eaf4fd}.searchable-options{border:1px solid var(--line-strong);z-index:35;background:#fff;border-radius:8px;gap:.15rem;min-width:min(360px,100vw - 2rem);max-height:240px;padding:.35rem;display:grid;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0f172a2e}.searchable-options button{box-shadow:none;color:var(--text);text-align:left;background:0 0;justify-content:flex-start;min-height:30px;padding:.35rem .5rem}.searchable-options button:hover,.searchable-options button.selected{color:var(--metal);background:#e7f3fd}.searchable-options span{color:var(--muted);padding:.45rem .55rem}.segmented-control{border:1px solid var(--line);background:#edf5fc;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:.2rem;min-height:36px;padding:.2rem;display:grid}.segmented-control button{box-shadow:none;color:#33536f;background:0 0;min-height:28px;padding:.25rem .45rem}.segmented-control button.active{background:linear-gradient(135deg, var(--metal-dark), var(--metal));color:#fff}.actions{gap:.35rem;display:inline-flex}.icon-button{width:28px;height:28px;padding:0}.icon-button.success{background:linear-gradient(135deg,#047857,#059669)}.icon-button.danger{background:linear-gradient(135deg,#991b1b,#dc2626)}.icon-button.neutral{background:linear-gradient(135deg,#334155,#64748b)}.attachment-button{color:#33536f;background:#e5eef8;min-height:28px;padding:.25rem .5rem}.muted-button{box-shadow:none;color:#33536f;background:#e5eef8}.edit-hint{color:var(--metal);margin-bottom:.5rem;font-size:.86rem;font-weight:800;display:inline-flex}.query-summary{grid-template-columns:repeat(4,minmax(140px,1fr));gap:.55rem;margin-bottom:.75rem;display:grid}.query-summary article{border:1px solid var(--line);background:linear-gradient(#fff,#f2f7fd);border-radius:8px;gap:.25rem;padding:.65rem;display:grid}.query-summary span{color:var(--muted);font-size:.82rem}.query-summary strong{font-size:1rem}.transaction-summary{align-items:stretch}.transaction-summary button{min-height:100%}.period-shortcuts{flex-wrap:wrap;align-items:center;gap:.45rem;margin:-.35rem 0 .75rem;display:flex}.period-shortcuts span{color:var(--muted);text-transform:uppercase;margin-right:.2rem;font-size:.82rem;font-weight:800}.period-shortcuts button{min-height:30px;padding:.3rem .55rem}.transaction-status-strip{grid-template-columns:repeat(4,minmax(120px,1fr));gap:.55rem;margin:-.25rem 0 .75rem;display:grid}.transaction-status-strip article{border:1px solid var(--line);background:#ffffff9e;border-radius:8px;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;display:flex}.transaction-status-strip span{color:var(--muted);font-size:.84rem}.transfer-summary{grid-template-columns:repeat(4,minmax(140px,1fr))}.transfer-entry{gap:.75rem;margin-bottom:.75rem;display:grid}.transfer-entry .entry-form{margin-bottom:0}.transfer-preview{border:1px solid var(--line);box-shadow:0 10px 28px var(--shadow);background:linear-gradient(135deg,#5db8e824,#0000 42%),linear-gradient(#fff,#f2f7fd);border-radius:8px;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.75rem;padding:.65rem;display:grid}.transfer-preview>svg{color:var(--metal);align-self:center}.transfer-preview article{background:#ffffffb8;border:1px solid #d9e4f1;border-radius:8px;gap:.25rem;min-width:0;padding:.65rem;display:grid}.transfer-preview span{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:800}.transfer-preview strong{overflow-wrap:anywhere}.transfer-preview small{color:var(--metal);font-weight:800}.empty-state{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;background:#ffffffc7;border-radius:8px;place-content:center;gap:.25rem;min-height:90px;margin-bottom:.75rem;display:grid}.empty-state strong{color:#31435b}.compact-empty{min-height:58px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.report-panel{padding:.65rem;overflow-x:auto}.report-panel h2{margin-bottom:.55rem}.report-panel table{box-shadow:none}.modal-backdrop.pdf-viewer-backdrop{background:#0f172ac7;justify-content:center;align-items:center;padding:.8rem}.pdf-viewer{background:var(--nav);border-radius:8px;grid-template-rows:auto 1fr;width:min(1180px,100%);height:calc(100vh - 1.6rem);display:grid;overflow:hidden;box-shadow:0 24px 70px #07111f61}.pdf-viewer-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(#fff,#eef6ff);justify-content:flex-end;align-items:center;gap:.5rem;padding:.55rem;display:flex}.pdf-frame{background:#52525b;border:0;width:100%;height:100%}.report-preview-backdrop{background:#0f172ab8;align-items:flex-start;padding:1rem;overflow:auto}.report-preview-modal{box-shadow:none;background:0 0;border:0;gap:.8rem;width:100%;max-width:none;padding:0}.report-preview-modal .modal-actions{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-width:1120px;margin:0 auto;padding:.6rem;box-shadow:0 12px 30px #0f172a2e}.printable-report{color:#111827;background:#fff;border-radius:8px;gap:.9rem;width:min(1120px,100%);min-height:760px;margin:0 auto 1rem;padding:1.25rem;display:grid;box-shadow:0 24px 70px #0f172a47}.print-header{border-bottom:2px solid #111827;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.print-header h1{margin-top:.2rem;font-size:1.7rem}.print-header>div:last-child{text-align:right;justify-items:end;gap:.2rem;min-width:180px;display:grid}.print-header span,.print-summary span{color:#64748b;font-size:.82rem}.print-summary{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.print-summary article{border:1px solid #d8dee6;border-radius:6px;gap:.25rem;padding:.55rem;display:grid}.print-groups{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.printable-report table{box-shadow:none;table-layout:fixed;border:1px solid #e2e8f0;border-radius:0;font-size:.82rem}.printable-report th,.printable-report td{overflow-wrap:anywhere;padding:.42rem .5rem}.printable-report h2{margin-bottom:.2rem}.empty-report{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.65rem}.modal-backdrop{z-index:20;background:#07111f7a;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}@media print{@page{margin:12mm;size:A4 landscape}body{background:#fff}body *{visibility:hidden}.printable-report,.printable-report *{visibility:visible}.screen-only{display:none}.report-preview-backdrop{background:#fff;padding:0;position:absolute;inset:0}.report-preview-modal{box-shadow:none;background:0 0;border:0;max-width:none;padding:0}.printable-report{box-shadow:none;border-radius:0;gap:8mm;width:100%;min-height:auto;padding:0;position:absolute;top:0;left:0}.print-groups,.print-summary{break-inside:avoid}th,td{padding:.28rem .35rem}.empty-report{border:1px solid #d8dee6}}.modal{border:1px solid var(--line);background:linear-gradient(#fff,#f2f7fd);border-radius:8px;gap:.7rem;width:100%;max-width:420px;padding:1rem;display:grid;box-shadow:0 24px 60px #07111f47,inset 0 1px #fffc}.modal-backdrop.reconciliation-modal-backdrop{padding:1.25rem}.modal.reconciliation-modal{gap:.8rem;width:min(1040px,100vw - 2.5rem);max-width:min(1040px,100vw - 2.5rem);max-height:calc(100vh - 2.5rem);overflow:hidden}.reconciliation-modal .modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:.75rem;padding-bottom:.65rem;display:flex}.reconciliation-modal .modal-header div{min-width:0}.reconciliation-modal .modal-header span{color:var(--muted);overflow-wrap:anywhere;margin-top:.2rem;font-size:.86rem;font-weight:800;display:block}.reconciliation-movement-strip{border:1px solid var(--line);background:#eef6ff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.55rem;display:grid}.reconciliation-movement-strip span{color:var(--text);background:#fff;border:1px solid #d9e4f1;border-radius:6px;gap:.15rem;min-width:0;padding:.5rem .6rem;display:grid}.reconciliation-movement-strip strong{color:var(--muted);text-transform:uppercase;font-size:.72rem}.reconciliation-movement-strip em{font-style:normal;font-weight:900}.reconciliation-table-wrap{overflow:auto}.reconciliation-table-wrap table{box-shadow:none;min-width:860px}.reconciliation-payment-cell{min-width:290px}.reconciliation-payment-cell strong,.reconciliation-payment-cell span{display:block}.reconciliation-payment-cell span{color:var(--muted);overflow-wrap:anywhere}.attachment-modal,.transaction-edit-modal{max-width:760px}.transaction-detail-modal{max-width:min(1120px,100vw - 2rem)}.detail-grid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:.55rem;margin-bottom:.75rem;display:grid}.detail-grid article{border:1px solid var(--line);background:#f2f7fd;border-radius:8px;gap:.25rem;padding:.6rem;display:grid}.detail-grid span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.lookup-field{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid}.lookup-field button{white-space:nowrap}.modal p{color:var(--muted)}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.modal-backdrop.quote-map-backdrop{justify-content:stretch;align-items:stretch;padding:.75rem}.modal.quote-map-modal{width:100%;max-width:none;height:calc(100vh - 1.5rem);max-height:none;overflow:auto}.attachment-list{gap:.5rem;display:grid}.attachment-list article{border:1px solid #d9e4f1;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem;display:flex}.attachment-upload{border:1px dashed var(--line-strong);background:#f2f7fd;border-radius:8px;gap:.35rem;padding:.65rem;display:grid}.attachment-upload span{color:var(--muted);font-size:.84rem}.attachment-list article>div:first-child{gap:.15rem;min-width:0;display:grid}.attachment-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-list span{color:var(--muted);font-size:.82rem}.file-link{background:linear-gradient(135deg, var(--metal-dark), var(--metal));color:#fff;border:0;border-radius:6px;align-items:center;gap:.3rem;min-height:28px;padding:.35rem .55rem;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex}.attachment-preview{border:1px solid var(--line);z-index:25;background:#fff;border-radius:8px;gap:.65rem;width:78vw;max-width:min(900px,100vw - 3rem);max-height:calc(100vh - 3rem);padding:.75rem;display:grid;position:fixed;box-shadow:0 24px 60px #0f172a42}.attachment-preview-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attachment-preview img,.attachment-preview iframe{object-fit:contain;background:#f2f7fd;border:1px solid #d9e4f1;border-radius:6px;width:100%;height:min(68vh,720px)}.badge{border-radius:999px;padding:.18rem .45rem;font-size:.78rem;font-weight:800;display:inline-flex}.badge.pending{color:#92400e;background:#fef3c7}.badge.paid{color:#166534;background:#dcfce7}.badge.canceled{color:#991b1b;background:#fee2e2}.badge.draft{color:#475569;background:#e2e8f0}.audit-action{border-radius:999px;padding:.18rem .45rem;font-size:.78rem;font-weight:800;display:inline-flex}.action-create,.action-create_installments,.action-upload,.action-pay,.action-transfer,.action-approval_request,.action-approve{color:#166534;background:#dcfce7}.action-update{color:#1e40af;background:#dbeafe}.action-deactivate,.action-delete,.action-cancel,.action-reject{color:#991b1b;background:#fee2e2}.tabs{gap:.4rem;margin-bottom:1rem;display:inline-flex}.tabs button{box-shadow:none;color:#33536f;background:#e5eef8}.tabs button.active{background:linear-gradient(135deg, var(--metal-dark), var(--metal));color:#fff}.login{background:radial-gradient(circle at 20% 12%, #0093ff57, transparent 34%), radial-gradient(circle at 82% 86%, #176ea847, transparent 34%), linear-gradient(160deg, var(--nav), #102b47 58%, #07111f);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:#f8fbfff5;border:1px solid #9fb4cfb8;border-radius:8px;gap:.95rem;width:100%;max-width:390px;padding:1.4rem;display:grid;box-shadow:0 30px 90px #07111f61,inset 0 1px #ffffffe0}.login-brand{text-align:center;justify-items:center;gap:.65rem;margin-bottom:.25rem;display:grid}.login-brand img{object-fit:cover;border-radius:999px;width:96px;height:96px;box-shadow:0 0 28px #176ea861}.login-brand span{color:var(--metal);text-transform:uppercase;font-size:.78rem;font-weight:900}.login-brand h1{color:var(--text);font-size:1.55rem}.login-brand p{color:var(--muted);font-size:.9rem}.login-card label{color:#31435b;gap:.35rem;font-size:.82rem;font-weight:900;display:grid}.error{color:#b91c1c;font-size:.9rem}.success-message{color:#047857;font-size:.9rem}.list{gap:.5rem;display:grid}.row{background:#f2f7fd;border:1px solid #d9e4f1;border-radius:6px;justify-content:space-between;align-items:center;min-height:38px;padding:.5rem;display:flex}.split{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem;display:grid}.split div{background:#f2f7fd;border:1px solid #d9e4f1;border-radius:6px;gap:.5rem;padding:.75rem;display:grid}.split strong{font-size:1.25rem}.status-panel{max-width:420px;margin:auto;padding:1.5rem}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{position:static}.metrics,.grid,.form,.dashboard-hero,.dashboard-hero-side,.dashboard-mix,.query-summary,.transaction-status-strip,.transfer-summary,.transfer-preview,.report-grid{grid-template-columns:1fr}.panel.compact{grid-column:span 1}.topbar{flex-direction:column;align-items:flex-start}.mix-legend{white-space:normal}.rank-list article{grid-template-columns:1fr}.attachment-field-header,.title-attachment-list article,.manual-installments article,.installment-controls{grid-template-columns:1fr;align-items:stretch}.attachment-field-header,.installment-header,.installment-footer{display:grid}}@media (width<=1200px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-mix{grid-template-columns:1fr}.form,.query-summary,.title-entry-form,.report-grid{grid-template-columns:repeat(3,minmax(128px,1fr))}}@media (width<=900px){.title-entry-layout,.title-entry-form,.supply-form,.purchase-form,.request-item-form,.quote-form,.order-form,.entry-mode{grid-template-columns:1fr}.purchase-form textarea:first-of-type,.purchase-form textarea:nth-of-type(2),.quote-form textarea{grid-column:span 1}}
