@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#18312c;font-synthesis:none;--green:#16483e;--green-2:#22695b;--mint:#dbece6;--ink:#17312b;--muted:#697a75;--line:#dce4e0;--panel:#fff;background:#f3f6f4;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-family:Manrope,sans-serif}a{color:inherit}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:700;transition:all .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #18312c18}.button:disabled,.icon-button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--green);color:#fff}.button.secondary{color:var(--green);background:#fff;border-color:#b9cbc5}.button.ghost{color:var(--ink);border-color:var(--line);background:0 0}.button.small{min-height:32px;padding:0 11px;font-size:13px}.button.wide{width:100%;min-height:48px}.button-link{background:0 0;border:0;padding:0}.icon-button{color:#50645e;background:0 0;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:inline-grid}.icon-button:hover{color:var(--green);background:#edf2f0}.icon-button.danger{color:#b42318}.eyebrow{color:var(--green-2);letter-spacing:.13em;font-size:12px;font-weight:800}.eyebrow.light{color:#a8d5c8}.brand-mark{width:62px;height:62px;color:var(--green);background:#d8ebe4;border-radius:16px;place-items:center;font:800 34px/1 Manrope;display:inline-grid}.brand-mark.small{border-radius:11px;width:40px;height:40px;font-size:23px}.sidebar-brand{align-items:center;gap:11px;display:flex}.sidebar-brand div{flex-direction:column;display:flex}.sidebar-brand strong{letter-spacing:.06em;font:800 18px Manrope}.sidebar-brand small{color:#82918d}.auth-page{grid-template-columns:minmax(380px,43%) 1fr;min-height:100vh;display:grid}.auth-side{color:#fff;background:linear-gradient(145deg,#0e322b,#1b594d);flex-direction:column;justify-content:space-between;padding:clamp(40px,7vw,90px);display:flex;position:relative;overflow:hidden}.auth-side:after{content:"";border:1px solid #ffffff20;border-radius:50%;width:470px;height:470px;position:absolute;bottom:-150px;right:-220px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.auth-side h1{max-width:690px;margin:20px 0;font-size:clamp(36px,4vw,59px);line-height:1.06}.auth-side p{color:#d7e4df;max-width:530px;font-size:18px;line-height:1.7}.auth-side small{color:#b7cbc5}.auth-panel{background:#f8faf9;place-items:center;padding:32px;display:grid}.auth-card{flex-direction:column;gap:19px;width:min(440px,100%);display:flex}.auth-card h2{margin:-8px 0 0;font-size:38px}.auth-card>p{color:var(--muted);line-height:1.6}label{color:#334943;flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd7d3;border-radius:8px;outline:0;padding:10px 12px}input,select{height:42px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#48877a;box-shadow:0 0 0 3px #3f83751c}.input-icon{background:#fff;border:1px solid #cbd7d3;border-radius:8px;align-items:center;gap:9px;height:46px;padding:0 12px;display:flex}.input-icon input{height:42px;box-shadow:none;border:0;padding:0}.input-icon button{color:#63756f;background:0 0;border:0;padding:5px}.auth-link{color:var(--green-2);align-self:center;font-weight:700;text-decoration:none}.back-link{color:var(--green-2);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.notice{border-radius:8px;align-items:center;gap:9px;padding:12px 14px;font-size:14px;display:flex}.notice.error{color:#912018;background:#fff0ee;border:1px solid #f6c6c0}.notice.success{color:#175c42;background:#eaf8f0;border:1px solid #bee4cd}.notice.info{color:#285467;background:#edf7fa;border:1px solid #c9e3eb}.context-page{background:#f4f7f5;min-height:100vh}.context-page>header{border-bottom:1px solid var(--line);height:78px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;padding:0 clamp(24px,5vw,72px);display:flex}.context-content{width:min(980px,100% - 40px);margin:0 auto;padding:80px 0}.context-content h1{margin:12px 0 8px;font-size:42px}.context-content>p{color:var(--muted);margin-bottom:36px}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;margin-top:24px;display:grid}.choice-card{border:1px solid var(--line);text-align:left;min-height:120px;color:var(--green);background:#fff;border-radius:13px;grid-template-columns:38px 1fr 24px;align-items:center;gap:15px;padding:22px;transition:all .18s;display:grid}.choice-card:hover{border-color:#84ada2;transform:translateY(-2px);box-shadow:0 10px 28px #18312c14}.choice-card span{color:var(--ink);flex-direction:column;gap:5px;display:flex}.choice-card strong{font-size:17px}.choice-card small{color:var(--muted)}.center-page{place-items:center;min-height:100vh;display:grid}.app-shell{grid-template-columns:258px 1fr;min-height:100vh;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:82px 1fr}.sidebar{z-index:20;color:#fff;background:#103c33;flex-direction:column;width:258px;height:100vh;padding:24px 18px;display:flex;position:fixed}.sidebar-collapsed .sidebar{width:82px;padding-inline:13px}.sidebar .sidebar-brand{border-bottom:1px solid #ffffff16;padding:0 8px 25px}.sidebar .sidebar-brand small{color:#a7c0b9}.sidebar nav{flex-direction:column;gap:5px;padding-top:22px;display:flex}.sidebar nav a{color:#cfe0db;border-radius:8px;align-items:center;gap:11px;min-height:46px;padding:0 13px;font-weight:600;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff13}.sidebar nav a.active{box-shadow:inset 3px 0 #8cc5b7}.sidebar-bottom{flex-direction:column;gap:7px;margin-top:auto;display:flex}.context-switch,.logout{color:#cfe0db;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.context-switch:hover,.logout:hover{color:#fff;background:#ffffff12}.context-switch span{flex-direction:column;min-width:0;display:flex}.context-switch strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{grid-column:2;min-width:0}.sidebar-toggle{color:#bcd1cb;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:38px;margin:14px 0 -5px;padding:0 12px;font-weight:600;display:flex}.sidebar-toggle:hover{color:#fff;background:#ffffff12}.sidebar-collapsed .sidebar-brand div,.sidebar-collapsed .sidebar-toggle span,.sidebar-collapsed .sidebar nav a span,.sidebar-collapsed .sidebar-bottom span{display:none}.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .sidebar nav a,.sidebar-collapsed .sidebar-toggle,.sidebar-collapsed .context-switch,.sidebar-collapsed .logout{justify-content:center;padding-inline:0}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffed;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.context-label{flex-direction:column;gap:2px;display:flex}.context-label span{color:var(--muted);font-size:13px}.user-chip{color:var(--green);background:#eaf2ef;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700}.page{max-width:1600px;margin:auto;padding:32px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px;display:flex}.page-heading h1{margin:8px 0 5px;font-size:34px}.page-heading p{color:var(--muted);margin:0}.heading-actions{gap:9px;display:flex}.tabs{border-bottom:1px solid #cfd9d5;gap:3px;min-height:47px;margin-bottom:17px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:#60716c;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 16px;font-weight:700}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}.certificate-tabs button{align-items:center;gap:7px;display:inline-flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 4px 18px #17312b08}.toolbar,.filter-bar,.section-meta{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:66px;padding:12px 16px;display:flex}.toolbar{justify-content:space-between}.filter-bar{flex-wrap:wrap}.filter-bar>label{white-space:nowrap;flex-direction:row;align-items:center}.filter-bar input[type=date]{width:145px}.filter-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(24,minmax(0,1fr));align-items:end;gap:14px 12px;padding:16px;display:grid}.filter-grid .filter-search{grid-column:span 8;align-self:end}.filter-grid>.filter-field:nth-child(2),.filter-grid>.filter-field:nth-child(3){grid-column:span 6}.filter-grid>.filter-field:nth-child(4){grid-column:span 4}.filter-grid>.filter-field:nth-child(5),.filter-grid>.filter-field:nth-child(6){grid-column:span 6}.filter-date{grid-column:span 3}.filter-actions{grid-column:span 6;justify-content:flex-start;align-items:center;gap:7px;min-height:42px;display:flex}.filter-actions .button{white-space:nowrap;padding-inline:12px}.filter-field,.filter-date,.form-field{flex-direction:column;gap:7px;min-width:0;display:flex}.filter-field select{height:42px}.field-label{color:#334943;font-size:12px;font-weight:800;line-height:1.2}select:disabled,input:disabled{color:#899691;cursor:not-allowed;background:#f1f4f3}.search-box{color:#75847f;background:#fff;border:1px solid #d0dad6;border-radius:8px;align-items:center;gap:8px;width:min(400px,100%);min-width:240px;height:40px;padding:0 11px;display:flex}.search-box input{height:36px;box-shadow:none;background:0 0;border:0;padding:0}.count,.section-meta span{color:var(--muted);font-size:13px}.section-meta{justify-content:space-between}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th{color:#50625c;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f6f8f7;padding:13px 14px;font-size:11px}td{white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #e6ebe9;max-width:270px;padding:13px 14px;overflow:hidden}.communications-table{table-layout:fixed}.communications-table th,.communications-table td{vertical-align:top}.communications-table th:first-child,.communications-table td:first-child{width:10%}.communications-table th:nth-child(2),.communications-table td:nth-child(2){width:8%}.communications-table th:nth-child(3),.communications-table td:nth-child(3){width:10%}.communications-table th:nth-child(4),.communications-table td:nth-child(4){white-space:normal;text-overflow:clip;width:28%;overflow:hidden}.communications-table th:nth-child(5),.communications-table td:nth-child(5){width:8%}.communications-table th:nth-child(6),.communications-table td:nth-child(6){width:9%}.communications-table th:nth-child(7),.communications-table td:nth-child(7){width:8%}.communications-table th:nth-child(8),.communications-table td:nth-child(8){width:11%}.communications-table th:nth-child(9),.communications-table td:nth-child(9){width:8%}.communications-table th:nth-child(8),.communications-table th:nth-child(9){overflow-wrap:normal}.communications-table td.actions{vertical-align:top;display:table-cell;overflow:visible}.communication-folio{white-space:normal;overflow-wrap:anywhere;word-break:break-word;display:block}.communication-summary{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;display:block}.communications-list .section-meta{justify-content:flex-start}.communications-list .section-meta span{margin-left:auto}.status-filter{grid-column:span 4}.communications-tabs{margin-bottom:17px}.dashboard-stack{gap:18px;display:grid}.dashboard-filters{grid-template-columns:150px 150px minmax(200px,1fr) minmax(200px,1fr) auto;align-items:end;gap:12px;padding:16px;display:grid;overflow:visible}.dashboard-filters label{flex-direction:column;gap:7px;min-width:0;display:flex}.dashboard-loading,.empty-dashboard{min-height:280px;color:var(--muted);place-items:center;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-card{border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:column;gap:7px;min-height:128px;padding:19px;display:flex;box-shadow:0 4px 18px #17312b08}.kpi-card span{color:var(--muted);font-size:13px;font-weight:700}.kpi-card strong{color:var(--green);overflow-wrap:anywhere;font-size:27px}.kpi-card small{color:var(--muted)}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chart-card{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;min-height:310px;padding:20px;box-shadow:0 4px 18px #17312b08}.chart-card h3{margin:0 0 20px;font-size:16px}.donut-layout{grid-template-columns:minmax(130px,190px) 1fr;align-items:center;gap:24px;display:grid}.donut{aspect-ratio:1;border-radius:50%;width:100%;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:28%}.chart-legend{gap:8px;min-width:0;display:grid}.chart-legend>div{grid-template-columns:10px minmax(60px,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;display:grid}.chart-legend i,.compact-legend i{border-radius:3px;width:9px;height:9px}.chart-legend span{overflow-wrap:anywhere}.chart-legend strong{white-space:nowrap}.bars{gap:13px;display:grid}.bar-row{grid-template-columns:minmax(90px,1fr) 2fr auto;align-items:center;gap:10px;font-size:12px;display:grid}.bar-row>span{overflow-wrap:anywhere}.bar-row>div{background:#edf2f0;border-radius:5px;height:13px;overflow:hidden}.bar-row>div i{border-radius:5px;height:100%;display:block}.bar-row strong{white-space:nowrap}.bar-row small{color:var(--muted);font-weight:500}.stacked-chart{gap:14px;display:grid}.stacked-row{grid-template-columns:minmax(90px,150px) minmax(0,1fr) 36px;align-items:center;gap:10px;font-size:12px;display:grid}.stacked-row>span{overflow-wrap:anywhere}.stacked-row>div{background:#edf2f0;border-radius:5px;height:25px;display:flex;overflow:hidden}.stacked-row i{height:100%}.stacked-row>strong{color:var(--green);text-align:right;font-size:12px}.compact-legend{color:var(--muted);flex-wrap:wrap;gap:9px 15px;margin-top:22px;font-size:11px;display:flex}.compact-legend span{align-items:center;gap:5px;display:inline-flex}.dashboard-section-title h2{margin:10px 0 4px;font-size:22px}.dashboard-section-title p,.subfront-hint{color:var(--muted)}.subfront-hint{text-align:center;background:#f8faf9;border:1px dashed #bdcbc6;border-radius:10px;padding:22px}tbody tr:hover{background:#fafcfb}td.actions{gap:2px;display:flex;overflow:visible}.row-menu{position:relative}.row-menu-popover{z-index:40;border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;width:170px;padding:6px;display:flex;position:fixed;box-shadow:0 12px 34px #17312b24}.row-menu-popover button{min-height:38px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:0 10px;display:flex}.row-menu-popover button:hover:not(:disabled){background:#edf3f1}.row-menu-popover button.danger{color:#b42318}.row-menu-popover button:disabled{color:#a4afab;cursor:not-allowed}.row-menu-popover.add-record-menu{width:260px}.add-record-menu button{white-space:nowrap}.multi-select{height:auto;min-height:100px}.multi-combobox{min-width:0;position:relative}.multi-combobox-trigger{width:100%;height:42px;color:var(--ink);text-align:left;background:#fff;border:1px solid #cbd7d3;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;display:flex}.multi-combobox-trigger:focus{border-color:#48877a;outline:0;box-shadow:0 0 0 3px #3f83751c}.multi-combobox.disabled .multi-combobox-trigger{color:#899691;cursor:not-allowed;background:#f1f4f3}.multi-combobox-value{align-items:center;gap:7px;min-width:0;display:flex;overflow:hidden}.multi-placeholder{color:#74847f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-combobox.disabled .multi-placeholder{color:#899691}.multi-chip,.multi-count{white-space:nowrap;background:#f8faf9;border:1px solid #d8e0dd;border-radius:6px;flex:0 auto;align-items:center;gap:5px;height:25px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.multi-chip{text-overflow:ellipsis;min-width:0;overflow:hidden}.multi-chip>span{border-radius:3px;flex:none;padding:2px;display:inline-flex}.multi-chip>span:hover{color:#9c2f26;background:#f4dfdc}.multi-count{flex:none}.multi-combobox-popover{z-index:80;background:#fff;border:1px solid #cad6d2;border-radius:9px;padding:8px;position:fixed;box-shadow:0 15px 38px #17312b2e}.multi-search{color:#7c8985;border:1px solid #397db5;border-radius:7px;align-items:center;gap:8px;height:40px;padding:0 10px;display:flex}.multi-search input{height:36px;box-shadow:none;background:0 0;border:0;padding:0}.multi-options{max-height:276px;margin-top:7px;overflow-y:auto}.multi-option{width:100%;min-height:38px;color:var(--ink);text-align:left;cursor:pointer;border-radius:5px;grid-template-columns:18px minmax(0,1fr);place-items:center start;gap:8px;margin:0;padding:7px 8px;font-size:13px;font-weight:500;display:grid}.multi-option>span:last-child{text-align:left;width:100%}.multi-option:hover,.multi-option.selected{background:#eef2f0}.multi-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.multi-check{color:#fff;background:#fff;border:1px solid #cbd5d2;border-radius:5px;place-items:center;width:17px;height:17px;display:inline-grid}.multi-option.selected .multi-check{background:#2e6da7;border-color:#2e6da7}.multi-empty{color:var(--muted);text-align:center;padding:20px 10px;font-size:13px}.dashboard-front-multiselect .multi-combobox-trigger{height:42px}.dashboard-front-multiselect .multi-combobox-popover{border-radius:10px;padding:9px}.dashboard-front-multiselect .multi-search{width:100%}.dashboard-front-multiselect .multi-options{max-height:300px}.dashboard-front-multiselect .multi-option{text-align:left;grid-template-columns:18px minmax(0,1fr);place-items:center start;min-height:42px;padding:9px 10px}.dashboard-front-multiselect .multi-option>span:last-child{text-align:left;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.followup-indicator{color:#fff;background:#f4f6f5;border:1px solid #ccd6d3;border-radius:5px;place-items:center;width:20px;height:20px;display:inline-grid}.followup-indicator.active{background:#257358;border-color:#257358}.pdf-frame{background:#eef2f0;border:0;width:100%;height:min(76vh,860px)}.confirm-body{padding:22px}.confirm-body p{color:var(--muted);line-height:1.6}.followup-relations{padding:22px 22px 0}.followup-section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.followup-section-heading>div{flex-direction:column;gap:4px;display:flex}.followup-section-heading span{color:var(--muted);font-size:12px}.followup-relations .table-wrap{border:1px solid var(--line);border-radius:9px;max-height:240px;margin-top:14px}.followup-relations .state{min-height:120px}.followup-table{table-layout:fixed}.followup-table th:first-child,.followup-table td:first-child{width:20%}.followup-table th:nth-child(2),.followup-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:15%}.followup-table th:nth-child(3),.followup-table td:nth-child(3){width:15%}.followup-table th:nth-child(4),.followup-table td:nth-child(4){width:42%}.followup-table th:nth-child(5),.followup-table td:nth-child(5){width:8%}.followup-table td{vertical-align:top}.wrap-cell{white-space:normal;overflow-wrap:anywhere;line-height:1.5;display:block}.followup-form{border-top:1px solid var(--line);margin-top:20px}.followup-mode{background:#edf2f0;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.followup-mode button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:10px 12px;font-weight:700}.followup-mode button.active{color:var(--green);background:#fff;box-shadow:0 1px 4px #16372b1f}.readonly-area{gap:8px}.readonly-area strong{border:1px solid var(--line);background:#f6f8f7;border-radius:7px;align-items:center;min-height:42px;padding:0 12px;display:flex}.empty-inline{color:var(--muted);text-align:center;background:#f6f8f7;border-radius:8px;margin:14px 0 0;padding:18px}.pagination{border-top:1px solid var(--line);min-width:700px;color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.pagination>span:first-child{margin-right:auto}.state,.empty{min-height:250px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:50;background:#0b211c99;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:13px;width:min(720px,100%);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 24px 80px #0005}.modal.modal-wide{width:min(1180px,100%)}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:67px;padding:0 22px;display:flex}.modal h2{margin:0;font-size:21px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;padding:22px;display:grid}.form-grid .full{grid-column:1/-1}.communications-success{margin:-6px 0 17px}.bulk-communications-modal{width:min(960px,100%)}.bulk-communications-form{gap:15px;padding:20px 22px 22px;display:grid}.bulk-communications-form label{min-width:0}.bulk-communications-form textarea{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.45}.bulk-intro{color:var(--muted);line-height:1.5}.bulk-intro p{margin:0 0 8px}.bulk-intro code{color:var(--ink);background:#f2f5f4;border-radius:7px;padding:9px 11px;display:block;overflow-x:auto}.bulk-readonly-area{gap:7px;display:grid}.bulk-readonly-area strong{border:1px solid var(--line);background:#f6f8f7;border-radius:8px;padding:11px 12px}.bulk-validation-summary{flex-wrap:wrap;gap:8px 20px;display:flex}.bulk-validation-summary span{color:var(--muted)}.bulk-validation-summary .has-errors{color:#b42318;font-weight:700}.bulk-errors{color:#9f2d24;background:#fff3f1;border:1px solid #efc4bf;border-radius:8px;gap:5px;max-height:130px;padding:11px 13px;font-size:13px;display:grid;overflow-y:auto}.bulk-preview{border:1px solid var(--line);border-radius:9px;max-height:260px;overflow:auto}.bulk-preview table{table-layout:fixed}.bulk-preview th:first-child{width:16%}.bulk-preview th:nth-child(2){width:22%}.bulk-preview th:nth-child(3){width:62%}.bulk-preview td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}.bulk-preview thead{z-index:1;position:sticky;top:0}.bulk-confirmation{color:#294a40;background:#eef5f2;border-radius:8px;padding:11px 13px;font-weight:650}.bulk-communications-form .modal-actions{padding-top:0}.modal.bolt-inspection-modal{width:min(1040px,100%)}.bolt-inspection-form{gap:12px;padding:16px 20px 18px}.bolt-context{border:1px solid var(--line);background:var(--surface-muted);border-radius:9px;grid-template-columns:1fr 1fr;display:grid}.bolt-context>span{align-items:baseline;gap:8px;min-width:0;padding:9px 12px;display:flex}.bolt-context>span+span{border-left:1px solid var(--line)}.bolt-context small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:none;font-size:11px;font-weight:800}.bolt-context strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bolt-main-fields{grid-template-columns:repeat(12,minmax(0,1fr));gap:11px;display:grid}.bolt-main-fields>*{min-width:0}.bolt-main-fields label>small{color:var(--muted);font-weight:600}.bolt-front,.bolt-subfront{grid-column:span 3}.bolt-location{grid-column:span 6}.bolt-type{grid-column:span 3}.bolt-method{grid-column:span 4}.bolt-total{grid-column:span 2}.bolt-verdict,.bolt-main-fields.calibrated .bolt-method{grid-column:span 3}.bolt-main-fields.calibrated .bolt-inspected,.bolt-main-fields.calibrated .bolt-total,.bolt-main-fields.calibrated .bolt-verdict{grid-column:span 2}.bolt-breakdown{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.bolt-breakdown>header{border-bottom:1px solid var(--line);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 11px;display:flex}.bolt-breakdown>header>div{gap:2px;display:grid}.bolt-breakdown>header small{color:var(--muted);font-size:11px}.button.compact{min-height:34px;padding:7px 10px;font-size:12px}.bolt-breakdown-list{gap:7px;padding:9px 11px 11px;display:grid}.bolt-breakdown-head,.bolt-breakdown-row{grid-template-columns:minmax(190px,2fr) minmax(130px,1fr) minmax(90px,.65fr) 36px;align-items:center;gap:8px;display:grid}.bolt-breakdown-head{color:var(--muted);text-transform:uppercase;letter-spacing:.035em;padding:0 2px;font-size:11px;font-weight:800}.bolt-breakdown-row input{min-width:0}.bolt-breakdown-empty{width:100%;min-height:48px;color:var(--muted);cursor:pointer;background:#fff;border:0}.bolt-breakdown-empty:hover{color:var(--green);background:#f8fbfa}.bolt-comments{flex-direction:column;gap:6px;display:flex}.bolt-comments textarea{background:#fff}.relation-modal-body{padding:18px 22px 22px}.relation-filters{grid-template-columns:150px 150px minmax(190px,1fr) minmax(260px,1.25fr) 42px;align-items:end;gap:12px;display:grid}.relation-refresh{margin-bottom:2px}.relation-modal-body>.section-meta{margin:18px -22px 0}.relation-modal-body>.table-wrap{width:calc(100% + 44px);margin-inline:-22px}.relations-table th,.relations-table td{min-width:115px}.relations-table th:nth-child(7),.relations-table td:nth-child(7){white-space:normal;min-width:220px}.relations-table th:nth-child(8),.relations-table td:nth-child(8){white-space:normal;min-width:150px}.modal-actions{justify-content:flex-end;gap:9px;padding-top:7px;display:flex}.sampling-filter-grid{border-bottom:1px solid var(--line);grid-template-columns:150px 150px minmax(190px,.8fr) minmax(230px,1fr) minmax(260px,1.2fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.sampling-filter-grid>label{min-width:0}.sampling-filter-actions{align-items:center;gap:7px;min-height:42px;display:flex}.sampling-filter-actions .button{white-space:nowrap}.sampling-form label{min-width:0}.modal.masonry-sampling-modal{width:min(1120px,100%)}.masonry-sampling-form{gap:12px;padding:18px 22px 20px;display:grid}.masonry-sampling-form .full{grid-column:1/-1}.masonry-row{gap:10px;min-width:0;display:grid}.masonry-row>*{min-width:0}.masonry-primary-row{grid-template-columns:145px 145px minmax(115px,.7fr) minmax(115px,.7fr) minmax(150px,.9fr)}.masonry-measures-row{grid-template-columns:repeat(3,minmax(95px,.75fr)) minmax(125px,.95fr) minmax(95px,.7fr) minmax(85px,.65fr)}.masonry-source-row{grid-template-columns:145px minmax(280px,2fr) minmax(180px,1.2fr)}.masonry-contract-row{grid-template-columns:minmax(330px,2fr) minmax(260px,1.5fr) minmax(170px,.75fr)}.masonry-location-row{grid-template-columns:repeat(2,minmax(280px,1fr))}.masonry-sampling-form textarea{resize:vertical;width:100%}.modal.aggregate-sampling-modal{width:min(1080px,100%)}.aggregate-sampling-form{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.aggregate-main-row,.aggregate-study-row,.aggregate-front-row{grid-column:1/-1;gap:10px;min-width:0;display:grid}.aggregate-main-row{grid-template-columns:minmax(135px,.5fr) minmax(190px,.75fr) minmax(360px,2.25fr)}.aggregate-sampling-form .aggregate-origin,.aggregate-sampling-form .aggregate-lot,.aggregate-sampling-form .aggregate-place,.aggregate-sampling-form .aggregate-amount{grid-column:span 3;min-width:0}.aggregate-study-row{grid-template-columns:minmax(220px,1fr) minmax(320px,1.65fr) minmax(180px,.7fr)}.aggregate-front-row{grid-template-columns:repeat(2,minmax(0,1fr))}.aggregate-sampling-form .aggregate-comments,.aggregate-sampling-form .aggregate-loading,.aggregate-sampling-form .modal-actions,.aggregate-sampling-form .notice{grid-column:1/-1}.aggregate-sampling-form .aggregate-loading{color:var(--muted);margin-top:-5px;font-size:12px}.modal.concrete-sampling-modal{width:min(1080px,100%)}.concrete-sampling-form{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 14px;padding:18px 22px 20px;display:grid}.concrete-sampling-form .full{grid-column:1/-1}.concrete-mode-tabs{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;padding:6px;display:grid}.concrete-mode-tabs button{background:var(--surface);min-height:58px;color:var(--muted);cursor:pointer;border:2px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-weight:750;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s;display:flex}.concrete-mode-tabs button:hover:not(.active){border-color:color-mix(in srgb, var(--primary) 35%, var(--border));color:var(--primary)}.concrete-mode-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 30%, transparent)}.concrete-mode-label{align-items:center;gap:8px;display:inline-flex}.concrete-mode-label svg{opacity:0;flex:none}.concrete-mode-tabs button.active .concrete-mode-label svg{opacity:1}.concrete-mode-tabs button small{background:var(--surface-muted);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.concrete-mode-tabs button.active small{color:#fff;background:#ffffff26}.concrete-cast-picker{gap:14px;display:grid}.concrete-cast-filters{grid-template-columns:145px 130px minmax(220px,1.25fr) minmax(220px,1.25fr) auto;align-items:end;gap:10px;display:grid}.concrete-cast-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.concrete-cast-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13px}.concrete-cast-table th{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-muted);color:var(--muted);text-align:left;padding:10px 12px}.concrete-cast-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle;white-space:normal;overflow-wrap:anywhere;height:48px;padding:10px 12px}.concrete-cast-table th:last-child,.concrete-cast-table td:last-child{border-right:0}.concrete-cast-table tbody tr:last-child td{border-bottom:0}.concrete-cast-table tbody tr:nth-child(2n){background:#fafcfb}.concrete-cast-table tbody tr{cursor:pointer}.concrete-cast-table tbody tr:hover,.concrete-cast-table tbody tr.selected{background:color-mix(in srgb, var(--primary) 8%, transparent)}.concrete-cast-table th:first-child,.concrete-cast-table td:first-child{text-align:center;width:42px}.concrete-cast-table th:last-child,.concrete-cast-table td:last-child{text-align:center;width:145px}.concrete-cast-pagination{border-top:1px solid var(--border);min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:7px 10px 7px 14px;font-size:12px;display:flex}.concrete-cast-pagination>div{gap:6px;display:flex}.concrete-cast-pagination .button{min-height:32px;padding:0 10px}.selected-cast-summary{color:var(--muted);font-size:13px}.new-cast-fields{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding:14px;display:grid}.new-cast-fields>*{min-width:0}.new-cast-fields .cast-date{grid-column:span 2}.new-cast-fields .cast-mix{grid-column:span 3}.new-cast-fields .cast-specification{grid-column:span 7}.new-cast-fields .cast-front,.new-cast-fields .cast-subfront,.new-cast-fields .cast-element,.new-cast-fields .cast-location{grid-column:span 6}.new-cast-fields .cast-provider{grid-column:span 7}.new-cast-fields .cast-volume{grid-column:span 2}.new-cast-fields .cast-deliveries{grid-column:span 3}.new-cast-fields .cast-study{grid-column:span 5}.new-cast-fields .cast-strength{grid-column:span 2}.new-cast-fields .cast-unit{grid-column:span 3}.new-cast-fields .cast-age{grid-column:span 2}.new-cast-fields .cast-comments,.new-cast-fields .cast-catalog-loading{grid-column:1/-1}.new-cast-fields .cast-toggle{flex-direction:row;grid-column:span 9;align-items:center;gap:9px;padding-top:8px;display:flex}.new-cast-fields .cast-toggle input{width:18px;height:18px}.new-cast-fields .cast-contractor-samples{grid-column:span 3}.new-cast-fields .cast-catalog-loading{color:var(--muted);font-size:12px}.concrete-sampling-fields{border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(320px,1fr) 150px 200px;gap:12px;padding:14px;display:grid}.concrete-sampling-fields>*{min-width:0}.concrete-sampling-fields .sampling-comments{grid-column:1/-1}.modal.compaction-sampling-modal{width:min(1080px,100%)}.compaction-sampling-form{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 14px;padding:18px 22px 20px;display:grid}.compaction-sampling-form .full{grid-column:1/-1}.compaction-layer-picker{gap:14px;display:grid}.compaction-layer-filters{grid-template-columns:145px minmax(240px,1.4fr) minmax(240px,1.4fr) minmax(130px,.65fr) auto;align-items:end;gap:10px;display:grid}.compaction-layer-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.compaction-layer-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13px}.compaction-layer-table th{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-muted);color:var(--muted);text-align:left;padding:10px 11px}.compaction-layer-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle;white-space:normal;overflow-wrap:anywhere;height:48px;padding:9px 11px}.compaction-layer-table th:last-child,.compaction-layer-table td:last-child{text-align:center;border-right:0;width:120px}.compaction-layer-table th:first-child,.compaction-layer-table td:first-child{text-align:center;width:42px}.compaction-layer-table th:nth-child(2),.compaction-layer-table td:nth-child(2),.compaction-layer-table th:nth-child(3),.compaction-layer-table td:nth-child(3){width:145px}.compaction-layer-table th:nth-child(4),.compaction-layer-table td:nth-child(4){width:90px}.compaction-layer-table tbody tr:last-child td{border-bottom:0}.compaction-layer-table tbody tr:nth-child(2n){background:#fafcfb}.compaction-layer-table tbody tr{cursor:pointer}.compaction-layer-table tbody tr:hover,.compaction-layer-table tbody tr.selected{background:color-mix(in srgb, var(--primary) 8%, transparent)}.compaction-layer-pagination{border-top:1px solid var(--border);min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:7px 10px 7px 14px;font-size:12px;display:flex}.compaction-layer-pagination>div{gap:6px;display:flex}.compaction-layer-pagination .button{min-height:32px;padding:0 10px}.new-layer-fields{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding:14px;display:grid}.new-layer-fields .layer-work-type{grid-column:span 2}.new-layer-fields .layer-structure{grid-column:span 7;min-width:0}.new-layer-fields .layer-date{grid-column:span 3}.new-layer-fields .layer-front,.new-layer-fields .layer-subfront{grid-column:span 6}.new-layer-fields .layer-deliverables{grid-column:1/-1;min-width:0}.new-layer-fields .layer-toggle{flex-direction:row;grid-column:1/-1;align-items:center;gap:9px;padding:4px 0;display:flex}.new-layer-fields .layer-toggle input{width:18px;height:18px}.layer-location-box{border:1px solid var(--border);border-radius:9px;grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px;display:grid}.layer-location-box .wide-location{grid-column:span 3}.layer-location-box .layer-comments{grid-column:1/-1}.compaction-sampling-fields{border-top:1px solid var(--border);grid-template-columns:minmax(320px,1fr) 150px 200px;gap:12px;padding-top:14px;display:grid}.compaction-sampling-fields>*{min-width:0}.compaction-sampling-fields .sampling-comments{grid-column:1/-1}.modal.steel-sampling-modal,.modal.ndt-sampling-modal{width:min(1060px,100%)}.special-sampling-form{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 12px;padding:18px 22px 20px;display:grid}.special-sampling-form .full{grid-column:1/-1}.special-sampling-form>*{min-width:0}.steel-sampling-form{grid-template-columns:repeat(16,minmax(0,1fr))}.steel-date{grid-column:span 3}.steel-designation{grid-column:span 2}.steel-specification{grid-column:span 8}.steel-grade{grid-column:span 3}.steel-amount{grid-column:span 2}.steel-specimens{grid-column:span 3}.steel-provider{grid-column:span 7}.steel-lot{grid-column:span 4}.steel-lab-row,.steel-front-row{gap:12px;display:grid}.steel-lab-row{grid-template-columns:minmax(0,1fr) minmax(190px,210px)}.steel-front-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ndt-date,.ndt-place{grid-column:span 2}.ndt-specification,.ndt-deliverable{grid-column:span 4}.ndt-front,.ndt-subfront,.ndt-mark,.ndt-consecutive,.ndt-lab{grid-column:span 6}.ndt-total,.ndt-rejected,.ndt-delivery{grid-column:span 2}.statistics-panel{min-height:320px}.statistics-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;padding:22px;display:grid}.statistics-grid article{border:1px solid var(--line);background:#f9fbfa;border-radius:10px;flex-direction:column;gap:7px;min-height:130px;padding:20px;display:flex}.statistics-grid article span{min-height:34px;color:var(--muted);font-size:13px;font-weight:700}.statistics-grid article strong{color:var(--green);font:800 30px Manrope}.statistics-grid article small{color:var(--muted)}.splash{min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.mobile-only{display:none}.quality-heading{align-items:center}.quality-master-detail{grid-template-columns:minmax(290px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.materials-pane{flex-direction:column;height:clamp(480px,72vh,760px);min-height:0;display:flex;position:sticky;top:92px}.quality-right-pane{flex-direction:column;gap:12px;min-width:0;display:flex}.materials-pane>header,.spec-list-panel>header,.quality-detail>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}.materials-pane h2,.spec-list-panel h2,.quality-detail h2{margin:0;font-size:18px}.materials-pane header span,.spec-list-panel header span{color:var(--muted);font-size:12px}.material-filters{border-bottom:1px solid var(--line);flex:none;gap:7px;padding:10px;display:grid}.material-filters .search-box{width:100%;min-width:0}.two-filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.material-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;padding:5px;overflow-y:auto}.material-list article,.spec-list article{border:1px solid #0000;border-radius:9px;position:relative}.material-list article:hover,.material-list article.selected,.spec-list article:hover,.spec-list article.selected{background:#f1f7f4}.material-list article.selected,.spec-list article.selected{box-shadow:inset 3px 0 var(--green-2);border-color:#a9c8bf}.material-select{width:100%;min-height:62px;color:var(--ink);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 38px 8px 10px;display:flex}.material-select>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.material-select>span{align-items:center;gap:7px;display:flex}.material-select small,.spec-list small,.deliverable-trigger small,.test-card small,.applicability small{color:var(--muted)}.badge{color:#455b55;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap;background:#edf1ef;border-radius:999px;width:max-content;padding:3px 7px;font-size:10px;font-weight:800}.badge.generico{color:#285467;background:#e6f2f5}.badge.contractual{color:#6a491a;background:#f7eedc}.badge.unavailable{color:#8a3028;background:#f9e6e4}.status-dot{color:var(--muted);font-size:11px}.status-dot:before{content:"";background:#a0aaa7;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.status-dot.active:before{background:#2f8a66}.item-menu{z-index:4;position:absolute;top:8px;right:4px}.item-menu>.icon-button{background:#fff;border:1px solid #d5dfdb}.item-menu-popover{z-index:5;border:1px solid var(--line);background:#fff;border-radius:8px;width:145px;padding:5px;display:none;position:absolute;top:34px;right:0;box-shadow:0 10px 25px #17312b22}.item-menu:focus-within .item-menu-popover{flex-direction:column;display:flex}.item-menu-popover button{text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;min-height:34px;display:flex}.item-menu-popover button:hover{background:#edf3f1}.specification-pane{gap:12px;min-width:0;display:grid}.spec-list-panel{align-self:start;width:100%}.spec-list{overscroll-behavior:contain;grid-template-columns:1fr;gap:3px;max-height:290px;padding:5px;display:grid;overflow-y:auto}.spec-list article>button:first-child{width:100%;min-height:62px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 42px 8px 9px;display:grid}.spec-list article>button>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.spec-list article>button>.unavailable{grid-column:3}.spec-code{min-width:45px;color:var(--green);text-align:center;background:#e7eeeb;border-radius:6px;padding:6px;font-size:11px;font-weight:800}.quality-detail{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.quality-detail-row{min-width:0;margin-top:0}.quality-detail-row>.quality-detail,.quality-detail-row>.quality-placeholder,.quality-detail-row>.detail-skeleton{width:100%}.quality-detail>header h2{margin:5px 0}.quality-detail>header p{color:var(--muted);margin:0;font-size:13px}.deliverables{gap:8px;padding:10px;display:grid}.spec-detail-actions{border-bottom:1px solid var(--line);background:#f8faf9;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.spec-detail-actions>div:first-child{flex-direction:column;gap:3px;display:flex}.spec-detail-actions>div:first-child span{color:var(--muted);font-size:12px}.spec-detail-actions>div:last-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deliverable{border:1px solid var(--line);border-radius:9px;overflow:hidden}.deliverable-trigger{width:100%;min-height:66px;color:var(--ink);text-align:left;background:#fafcfb;border:0;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.deliverable-trigger>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.deliverable-trigger svg{transition:transform .15s}.deliverable-trigger svg.rotated{transform:rotate(180deg)}.badges{align-items:center;gap:5px;display:inline-flex}.deliverable-body{gap:16px;padding:14px;display:grid}.applicability{background:#f5f8f7;border-radius:8px;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.applicability>span{flex-direction:column;gap:3px;display:flex}.quality-switch{background:#aab5b1;border:0;border-radius:999px;width:40px;height:23px;padding:3px;transition:all .15s}.quality-switch span{background:#fff;border-radius:50%;width:17px;height:17px;transition:all .15s;display:block;box-shadow:0 1px 3px #0003}.quality-switch.on{background:var(--green-2)}.quality-switch.on span{transform:translate(17px)}.detail-section{gap:9px;display:grid}.detail-section+.detail-section{border-top:1px solid var(--line);padding-top:15px}.detail-section-title{justify-content:space-between;align-items:center;display:flex}.detail-section-title h3{margin:0;font-size:15px}.detail-section-title span{color:var(--muted);font-size:11px}.compact-table{font-size:12px}.compact-table th,.compact-table td{padding:9px}.compact-table td{white-space:normal}.row-actions{display:inline-flex}.row-actions .icon-button{width:29px;height:29px}.tests-list{gap:8px;display:grid}.test-card{border:1px solid var(--line);border-radius:8px;padding:12px}.test-card>header{align-items:center;gap:10px;display:flex}.test-card>header>div:first-child{flex-direction:column;gap:3px;margin-right:auto;display:flex}.inline-switch{flex-direction:row;align-items:center;margin-left:7px;font-size:11px}.limits-heading{border-top:1px solid #e8edeb;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.button-link{color:var(--green-2);align-items:center;gap:4px;font-weight:800;display:inline-flex}.limits-list{margin:7px 0 0;padding:0;list-style:none}.limits-list li{border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:5px 7px;display:flex}.limits-list li:nth-child(odd){background:#f7f9f8}.limits-list li>span:first-child{margin-right:auto;font-weight:600}.muted-item{opacity:.62}.disabled-row{opacity:.48;text-decoration:none}.quality-placeholder{min-height:230px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px;display:flex}.quality-placeholder.compact,.spec-list-panel>.state{min-height:96px}.empty-compact{color:var(--muted);text-align:center;margin:0;padding:15px;font-size:12px}.inline-empty{min-height:72px;color:var(--muted);background:#fafcfb;border:1px dashed #cfdad6;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;font-size:12px;display:flex}.quality-primary-cta{min-width:max-content}.dialog-tabs{background:#f4f7f5;grid-template-columns:1fr 1fr;gap:7px;padding:9px;display:grid}.dialog-tabs button{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;font-weight:700}.dialog-tabs button.active{color:var(--green);background:#fff;border-color:#b7ccc5}.quality-search{width:100%}.catalog-picker{border:1px solid var(--line);border-radius:8px;max-height:290px;overflow-y:auto}.catalog-option{border-bottom:1px solid var(--line);grid-template-columns:18px 1fr;align-items:center;min-height:58px;padding:9px 12px;display:grid}.catalog-option:last-child{border-bottom:0}.catalog-option.selected{background:#edf5f2}.catalog-option.assigned{opacity:.62;cursor:not-allowed;background:#f4f6f5}.catalog-option input{width:16px;height:16px}.catalog-option span{flex-direction:column;gap:3px;display:flex}.catalog-option small{color:var(--muted)}.check-label{flex-direction:row;align-self:end;align-items:center;min-height:42px}.check-label input{width:17px;height:17px}.quality-toast{z-index:100;color:#fff;background:#22634f;border-radius:9px;max-width:390px;padding:13px 17px;font-weight:600;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 35px #0004}.quality-toast.error{background:#9a3129}.detail-skeleton{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:20px;display:grid}.detail-skeleton i{background:linear-gradient(90deg,#edf1ef,#f8faf9,#edf1ef) 0 0/200%;border-radius:8px;height:66px;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200%}}@media (width>=901px) and (width<=1150px){.quality-master-detail{grid-template-columns:minmax(270px,30%) minmax(0,1fr);gap:12px}.materials-pane>header,.spec-list-panel>header{flex-direction:column;align-items:flex-start}}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-side{display:none}.auth-panel{min-height:100vh}.app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar-collapsed .sidebar{width:258px;padding:24px 18px}.sidebar-collapsed .sidebar-brand div,.sidebar-collapsed .sidebar nav a span,.sidebar-collapsed .sidebar-bottom span{display:flex}.sidebar-collapsed .sidebar-toggle,.sidebar-toggle{display:none}.sidebar.open{transform:translate(0)}.nav-scrim{z-index:15;background:#0a1f1a7d;border:0;position:fixed;inset:0}.main{grid-column:1}.mobile-only{display:inline-grid}.sidebar-brand .mobile-only{color:#fff;margin-left:auto}.topbar{justify-content:flex-start;gap:12px;padding:0 16px}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-left:auto;overflow:hidden}.page{padding:22px 16px}.page-heading{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.bolt-main-fields{grid-template-columns:repeat(6,minmax(0,1fr))}.bolt-front,.bolt-subfront{grid-column:span 3}.bolt-location{grid-column:span 6}.bolt-type,.bolt-method{grid-column:span 3!important}.bolt-total,.bolt-inspected,.bolt-verdict{grid-column:span 2!important}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid .filter-search,.filter-grid>.filter-field:nth-child(n),.filter-date{grid-column:span 1}.filter-grid .filter-search,.filter-actions{grid-column:1/-1}.filter-actions{justify-content:flex-start}.relation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.relation-refresh{align-self:end;margin:0}.sampling-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sampling-filter-actions{grid-column:1/-1}.quality-master-detail{grid-template-columns:1fr}.materials-pane{height:min(58vh,480px);position:static;top:auto}.material-list{max-height:none}.spec-list{grid-template-columns:1fr}.spec-detail-actions{flex-direction:column;align-items:flex-start}}@media (width>=561px) and (width<=900px){.masonry-row{grid-template-columns:repeat(2,minmax(0,1fr))}.masonry-contract-row>:first-child,.masonry-source-row>:nth-child(2){grid-column:1/-1}.aggregate-sampling-form,.concrete-sampling-form,.compaction-sampling-form,.special-sampling-form,.new-cast-fields,.new-layer-fields,.concrete-sampling-fields,.compaction-sampling-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.aggregate-sampling-form>*,.new-cast-fields>*,.new-layer-fields>*,.concrete-sampling-fields>*,.compaction-sampling-fields>*,.special-sampling-form>*{grid-column:span 1}.aggregate-main-row,.aggregate-study-row{grid-template-columns:repeat(2,minmax(0,1fr))}.aggregate-main-row .aggregate-specification,.aggregate-study-row .aggregate-deliverable,.aggregate-sampling-form>.full,.aggregate-front-row,.aggregate-main-row,.aggregate-study-row,.concrete-sampling-form>.full,.new-cast-fields .cast-specification,.new-cast-fields .cast-comments,.new-cast-fields .cast-catalog-loading,.special-sampling-form>.full,.steel-lab-row,.steel-front-row{grid-column:1/-1}}@media (width<=560px){.auth-panel{padding:24px}.auth-card h2{font-size:31px}.context-page>header{padding:0 18px}.context-page>header>span{display:none}.context-content{padding:48px 0}.context-content h1{font-size:34px}.choice-grid{grid-template-columns:1fr}.page-heading h1{font-size:29px}.materials-pane>header,.spec-list-panel>header{flex-direction:column;align-items:flex-start}.heading-actions{flex-wrap:wrap;width:100%}.filter-bar>*{width:100%!important}.filter-bar>label{justify-content:space-between}.filter-grid{grid-template-columns:1fr}.filter-grid .filter-search,.filter-grid>.filter-field:nth-child(n),.filter-date,.filter-actions{grid-column:1}.filter-actions{flex-wrap:wrap}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}.bolt-inspection-form{padding:14px}.bolt-context{grid-template-columns:1fr}.bolt-context>span+span{border-top:1px solid var(--line);border-left:0}.bolt-main-fields{grid-template-columns:1fr}.bolt-main-fields>*{grid-column:1!important}.bolt-breakdown>header{flex-direction:column;align-items:flex-start}.bolt-breakdown-head{display:none}.bolt-breakdown-row{grid-template-columns:1fr 1fr 82px 36px}.relation-filters,.sampling-filter-grid{grid-template-columns:1fr}.sampling-filter-actions{flex-wrap:wrap;grid-column:1}.masonry-sampling-form{padding:14px}.masonry-row,.aggregate-sampling-form,.aggregate-front-row,.aggregate-main-row,.aggregate-study-row,.steel-lab-row,.steel-front-row{grid-template-columns:1fr}.aggregate-sampling-form>*,.aggregate-sampling-form .aggregate-date,.aggregate-sampling-form .aggregate-material,.aggregate-sampling-form .aggregate-place,.aggregate-sampling-form .aggregate-amount,.aggregate-sampling-form .aggregate-deadline,.aggregate-sampling-form .aggregate-lot,.aggregate-sampling-form .aggregate-origin,.aggregate-sampling-form .aggregate-lab,.aggregate-sampling-form .aggregate-front,.aggregate-sampling-form .aggregate-subfront{grid-column:1}.concrete-sampling-form,.compaction-sampling-form,.special-sampling-form,.new-cast-fields,.new-layer-fields,.concrete-sampling-fields,.compaction-sampling-fields,.layer-location-box,.compaction-layer-filters,.concrete-cast-filters{grid-template-columns:1fr}.special-sampling-form>*,.steel-date,.steel-designation,.steel-specification,.steel-grade,.steel-amount,.steel-specimens,.steel-provider,.steel-lot,.steel-lab,.steel-deadline,.steel-front,.steel-subfront,.ndt-date,.ndt-place,.ndt-specification,.ndt-deliverable,.ndt-front,.ndt-subfront,.ndt-mark,.ndt-consecutive,.ndt-lab,.ndt-total,.ndt-rejected,.ndt-delivery{grid-column:1}.concrete-mode-tabs{grid-template-columns:1fr}.concrete-sampling-form,.compaction-sampling-form,.special-sampling-form{padding:14px}.concrete-cast-pagination,.compaction-layer-pagination{flex-direction:column;align-items:flex-start}.new-cast-fields>*,.new-cast-fields .cast-date,.new-cast-fields .cast-mix,.new-cast-fields .cast-strength,.new-cast-fields .cast-age,.new-cast-fields .cast-front,.new-cast-fields .cast-subfront,.new-cast-fields .cast-provider,.new-cast-fields .cast-volume,.new-cast-fields .cast-toggle,.new-cast-fields .cast-contractor-samples,.concrete-sampling-fields>*,.compaction-sampling-fields>*,.new-layer-fields>*,.layer-location-box>*{grid-column:1}.dashboard-filters,.kpi-grid,.donut-layout{grid-template-columns:1fr}.donut{width:min(190px,70%);margin:auto}.stacked-row{grid-template-columns:minmax(70px,100px) minmax(0,1fr) 32px;gap:7px}.bar-row{grid-template-columns:1fr}}
