:root{--ink:#0f172a;--text:#334155;--muted:#64748b;--gray:#f1f5f9;--mist:#f8fafc;--line:#e2e8f0;--card:#fff;--green:#059669;--green-dark:#047857;--green-tint:#d1fae5;--accent:#0f766e;--red:#dc2626;--red-tint:#fee2e2;--warn:#92400e;--warn-tint:#fef3c7;--warn-line:#fde68a;--warn-border:#d97706;--brand-blue:#1d4ed8;--brand-blue-tint:#dbeafe;--radius:12px;--btn-radius:8px}body{background:var(--gray);color:var(--text);text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ant-table-thead>tr>th.ant-table-cell{letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:600}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header-text{min-width:0}.page-header h1{letter-spacing:-.025em;color:var(--ink);margin:0;font-size:24px;font-weight:700}.page-header p{color:var(--muted);margin:4px 0 0;font-size:14px}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-shell>.ant-layout-header.app-header{z-index:30;border-bottom:1px solid #1e293b;flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.app-body.ant-layout{flex:auto;min-width:0}.app-content.ant-layout{min-width:0}.app-sider.ant-layout-sider{border-right:1px solid var(--line)}@media (width<=760px){.header-user,.header-subtitle,.header-logout-text{display:none}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.cell-warn .ant-input,.cell-warn .ant-input-number,.cell-warn .ant-picker,.cell-warn .ant-select-selector{background:var(--warn-tint)!important;border-color:var(--warn-border)!important}.cell-error .ant-input,.cell-error .ant-input-number,.cell-error .ant-picker,.cell-error .ant-select-selector{background:var(--red-tint)!important;border-color:var(--red)!important}.doc-viewer{background:var(--mist);border-radius:var(--radius);max-height:75vh;padding:16px;overflow:auto}.app-shell.ant-layout{min-height:100vh}.app-main{flex-direction:column;min-width:0;padding:24px 32px;display:flex}.app-foot.ant-layout-footer{text-align:center;color:var(--muted);background:0 0;flex:none;padding:4px 32px;font-size:12px;line-height:20px}.page,.page-fill{flex-direction:column;gap:12px;min-width:0;display:flex}.page{gap:16px}.page-head{flex-direction:column;flex:none;gap:12px;display:flex}.page-section{flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.section-scroll{overflow-x:auto}.fill-table{min-width:0}.table-compact .ant-table-tbody>tr>td{padding-block:5px}.table-compact .ant-table-thead>tr>th{white-space:nowrap;padding-block:8px}.ant-btn.row-action{width:104px}.cell-one-line{text-overflow:ellipsis;white-space:nowrap;max-width:460px;overflow:hidden}.login-page{box-sizing:border-box;min-height:100vh}@media (width>=1100px) and (height>=601px){.app-shell.ant-layout{height:100dvh;min-height:0}.app-body.ant-layout,.app-content.ant-layout{min-height:0}.app-main{flex:1 1 0;min-height:0;overflow:auto}.page,.page-fill{flex:1;min-height:0}.page-section{flex:1 1 0;min-height:0}.section-scroll{flex:1;min-height:0;overflow:auto}.fill-table{flex:1 1 0;min-height:0;overflow:hidden}.page-top-scroll{flex:0 auto;max-height:40%;overflow:auto}}.revisio-page{flex-direction:column;gap:16px;display:flex}.revisio-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.revisio-main{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.revisio-doc{flex:3 340px;min-width:0}.revisio-form{flex:7 560px;min-width:0;padding:20px}.revisio-alerts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:8px;display:grid}.revisio-alerts .ant-alert{align-items:flex-start;padding:6px 10px}.revisio-alerts .ant-alert-message{font-size:13px;font-weight:600}.revisio-alerts .ant-alert-description{font-size:12px;line-height:1.4}.revisio-alerts .ant-alert-description ul{margin:2px 0 0;padding-left:16px}.revisio-form-body,.revisio-form-top{flex-direction:column;gap:10px;display:flex}@keyframes field-flash{0%,65%{outline-color:#2563eb}to{outline-color:#0000}}.field-flash{outline-offset:3px;border-radius:8px;outline:3px solid #2563eb;animation:2.6s ease-out forwards field-flash}.revisio-lines{flex-direction:column;gap:8px;min-height:0;display:flex}.revisio-lines-scroll{overflow-x:auto}.revisio-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (width>=1100px){.revisio-page{flex:1;min-height:0}.revisio-main{flex-wrap:nowrap;flex:1;align-items:stretch;min-height:0}.revisio-doc,.revisio-form{flex-direction:column;min-height:0;display:flex}.revisio-doc .doc-panel{flex-direction:column;flex:1;min-height:0;display:flex}.revisio-doc .doc-viewer{flex:1;min-height:0;max-height:none}.revisio-form-body{flex:1;min-height:0}.revisio-form-top{flex:none}.revisio-lines{flex:1}.revisio-lines-scroll{flex:1;min-height:140px;overflow:auto}.revisio-lines-scroll .ant-table-thead>tr>th{z-index:2;position:sticky;top:0}}.estat-ok{background:var(--green-tint);color:var(--green-dark)}.estat-warn{background:var(--warn-tint);color:var(--warn)}.estat-alert{background:var(--red-tint);color:var(--red)}.estat-valid{background:var(--brand-blue-tint);color:var(--brand-blue)}.estat-grey{background:var(--mist);color:var(--ink)}.ant-btn.ant-btn-default.filter-btn,.ant-btn.ant-btn-default.filter-btn:not(:disabled):not(.ant-btn-disabled):hover{background:var(--f-bg);color:var(--f-fg);border-color:var(--f-line)}.ant-btn.ant-btn-default.filter-btn:not(:disabled):not(.ant-btn-disabled):hover{filter:brightness(.95)}.filter-btn{--f-bg:#fff;--f-fg:var(--ink);--f-line:var(--ink)}.filter-btn.filter-all.filter-active{--f-bg:var(--ink);--f-fg:#fff}.filter-btn.filter-ok{--f-bg:var(--green-tint);--f-fg:var(--green-dark);--f-line:var(--green)}.filter-btn.filter-ok.filter-active{--f-bg:var(--green-dark);--f-fg:#fff;--f-line:var(--green-dark)}.filter-btn.filter-warn{--f-bg:var(--warn-tint);--f-fg:var(--warn);--f-line:var(--warn-border)}.filter-btn.filter-warn.filter-active{--f-bg:var(--warn);--f-fg:#fff;--f-line:var(--warn)}.filter-btn.filter-alert{--f-bg:var(--red-tint);--f-fg:var(--red);--f-line:var(--red)}.filter-btn.filter-alert.filter-active{--f-bg:var(--red);--f-fg:#fff}.filter-btn.filter-valid{--f-bg:var(--brand-blue-tint);--f-fg:var(--brand-blue);--f-line:var(--brand-blue)}.filter-btn.filter-valid.filter-active{--f-bg:var(--brand-blue);--f-fg:#fff}.ant-upload.ant-upload-drag{background:var(--card)}.manual,.page-fill.manual{flex:none;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;min-height:auto;display:grid}.manual-index{max-height:calc(100vh - 230px);padding:12px;position:sticky;top:0;overflow:auto}.manual-index ul{margin:0;padding:0;list-style:none}.manual-index a{color:var(--text);border-radius:8px;padding:6px 8px;font-size:14px;text-decoration:none;display:block}.manual-index a:hover{background:var(--gray)}.manual-index a.manual-index-active{color:var(--accent);background:#f0fdfa;font-weight:600}.manual-empty{color:var(--muted);padding:8px;font-size:13px}.manual-content{flex-direction:column;gap:16px;min-width:0;display:flex}.manual-section{padding:20px 24px;scroll-margin-top:8px}.manual-section h2{color:var(--ink);margin:0 0 12px;font-size:20px}.manual-section h4{color:var(--ink);margin:16px 0 4px;font-size:14px}.manual-section p,.manual-section li{line-height:1.6}.manual-section code{background:var(--gray);border-radius:4px;padding:1px 5px;font-size:13px}.manual-tip{margin-top:12px}.manual-flow{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.manual-flow-step{flex:150px;align-items:center;gap:8px;display:flex}.manual-flow-box{border:1px solid var(--line);background:var(--card);border-radius:8px;flex:1;align-self:stretch;padding:10px 12px}.manual-flow-title{color:var(--ink);font-size:14px;font-weight:700}.manual-flow-text{color:var(--muted);margin-top:2px;font-size:12px}.manual-flow-arrow{color:var(--muted);font-size:18px}.manual-table-wrap{overflow-x:auto}.manual-table{border-collapse:collapse;width:100%;font-size:14px}.manual-table th,.manual-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.manual-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}@media (width<=900px){.manual{grid-template-columns:1fr}.manual-index{max-height:none;position:static}}
