:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2f6;--surface:#fff;--surface-alt:#f5f7fa;--primary:#12344d;--accent:#d18b2c;--text:#14212b;--muted:#627180;--border:#d7dfe7;--danger:#b42318;--warning:#b54708;font-family:Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 100% 0,#d18b2c24,#0000 28%),linear-gradient(#f4f7fb 0%,#e9edf3 100%);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{grid-template-columns:280px 1fr;min-height:100vh;transition:grid-template-columns .22s;display:grid}.shell-sidebar-collapsed{grid-template-columns:96px 1fr}.sidebar{color:#f4f7fb;background:linear-gradient(#102a3f 0%,#163650 100%);flex-direction:column;gap:24px;padding:28px 24px;display:flex}.mobile-nav-toggle,.sidebar-close,.sidebar-backdrop{display:none}.desktop-nav-toggle{z-index:35;border:1px solid var(--border);color:var(--primary);cursor:pointer;background:#fffffff5;border-radius:999px;justify-content:center;align-items:center;width:28px;height:56px;padding:0;font-size:18px;font-weight:700;transition:left .22s,background .18s,box-shadow .18s;display:inline-flex;position:fixed;top:88px;left:264px;box-shadow:0 10px 28px #0b233814}.desktop-nav-toggle:hover{background:#fff;box-shadow:0 12px 30px #0b233824}.shell-sidebar-collapsed .desktop-nav-toggle{left:80px}.sidebar-brand{gap:4px;min-width:0;display:grid}.nav{gap:8px;display:grid}.nav-link{color:#ffffffbf;border-radius:12px;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.nav-link-icon{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.nav-link-icon svg{width:18px;height:18px;display:block}.nav-link.active,.nav-link:hover{color:#fff;background:#ffffff1f}.sidebar-footer{gap:6px;margin-top:auto;display:grid}.content{gap:24px;padding:28px;display:grid}.shell:not(.shell-sidebar-collapsed) .content{padding-left:36px}.shell-sidebar-collapsed .sidebar{padding-left:14px;padding-right:14px}.shell-sidebar-collapsed .sidebar-brand .eyebrow,.shell-sidebar-collapsed .sidebar-brand h1,.shell-sidebar-collapsed .sidebar-user-name,.shell-sidebar-collapsed .sidebar-user-role,.shell-sidebar-collapsed .sidebar-logout-button{display:none}.shell-sidebar-collapsed .nav-link{place-items:center;padding:12px 8px;display:grid;position:relative}.shell-sidebar-collapsed .nav-link-label{display:none}.shell-sidebar-collapsed .nav-link-icon{flex-basis:20px;width:20px;height:20px}.shell-sidebar-collapsed .nav-link-icon svg{width:20px;height:20px}.shell-sidebar-collapsed .nav-link:after{content:attr(data-label);opacity:0;pointer-events:none;white-space:nowrap;color:#fff;background:#102a3ff5;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 10px 24px #0b233838}.shell-sidebar-collapsed .nav-link:hover:after{opacity:1;transform:translateY(-50%)translate(0)}.shell-sidebar-collapsed .sidebar-footer{justify-items:center}.content>section{flex-direction:column;gap:12px;display:flex}.page-header,.section-title-row,.header-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.page-header-main{align-items:center;display:flex}.page-header h2,.login-card h1,.sidebar h1{margin:0}.muted{color:var(--muted)}.inline-actions{align-items:center;gap:10px;display:flex}.inline-actions input[readonly]{flex:1;min-width:0}.panel,.metric-card,.login-card{border:1px solid var(--border);background:#ffffffeb;border-radius:20px;padding:20px;box-shadow:0 14px 40px #0b23380f}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{align-content:start;gap:12px;display:grid}.metric-card strong{font-size:28px}.metric-card-caption{color:var(--muted);margin-top:-4px;font-size:12px;font-weight:600}.metric-card-accent{color:#fff;background:linear-gradient(#163650 0%,#12344d 100%);border-color:#12344d}.metric-card-accent span,.metric-card-accent .metric-card-caption{color:#ffffffb8}.dashboard-panel-wide{grid-column:1/-1}.dashboard-panel-wide h3{margin:0}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.alert-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:16px;display:grid}.alert-card{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;align-content:start;gap:4px;padding:14px 16px;display:grid}.alert-card-label{font-size:12px;font-weight:700}.alert-card-value{font-size:26px;line-height:1.1}.alert-card-hint{color:var(--muted);font-size:11px}.alert-card-ok{color:var(--muted)}.alert-card-danger{color:var(--danger);background:#b4231814;border-color:#b4231859}.alert-card-warning{color:var(--warning);background:#b5470717;border-color:#b5470752}.alert-card-danger .alert-card-hint,.alert-card-warning .alert-card-hint{color:inherit;opacity:.72}.alert-grid-caption{margin:12px 0 0;font-size:12px}.alert-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px #0b23381a}.alert-card{transition:box-shadow .16s,transform .16s}.active-filter-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.active-filter-chip{background:var(--surface-alt);border:1px solid var(--border);color:var(--primary);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.active-filter-chip button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0;font-weight:700;line-height:1}.field-inline-action{justify-self:start;margin-top:6px}.two-columns{grid-template-columns:420px 1fr;gap:20px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-fieldset-reset{border:0;min-width:0;margin:0;padding:0}.form-block{gap:12px;display:grid}.form-block+.form-block{border-top:1px solid var(--border);padding-top:16px}.form-block-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.field-hint{color:var(--muted);font-size:12px;line-height:1.35}.attendance-form{gap:18px;display:grid}.invoice-header-grid{grid-template-columns:minmax(280px,1fr) auto;align-items:start}.invoice-date-row{justify-content:flex-start;align-items:flex-start;gap:12px;display:flex}.invoice-date-row .field{flex:0 0 220px;width:220px}.invoice-header-grid .field:last-child{grid-column:1/-1}.plan-inline-fields{justify-content:flex-start;align-items:flex-start;gap:12px;display:flex}.plan-inline-fields .field{flex:0 0 220px;width:220px}.service-order-inline-fields{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;align-items:flex-start;gap:12px;display:flex}.service-order-inline-fields .field{flex:none;width:auto;min-width:150px;max-width:220px}.service-order-inline-fields .field input,.service-order-inline-fields .field select{min-width:150px}.linked-attendances-field{grid-column:1/-1}.linked-attendances-list{flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;display:flex}.linked-attendances-list li{align-items:baseline;gap:6px;font-size:14px;display:inline-flex}.linked-attendances-list em{color:var(--muted);font-size:12px;font-style:normal}.linked-attendances-empty{color:var(--muted);margin:0;font-size:13px}.linked-attendances a{color:var(--primary)}.field{gap:8px;display:grid}.field span{color:var(--muted);font-size:12px;font-weight:600}.field input,.field textarea,.field select,.inline-row input,.product-grid input,.product-grid select{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;width:100%;padding:10px 12px;font-size:14px}.field textarea{resize:vertical;min-height:92px}.logo-upload-field input[type=file]{background:var(--surface-alt);padding:10px}.logo-upload-actions{justify-content:flex-start;display:flex}.logo-preview,.logo-placeholder{border:1px dashed var(--border);background:var(--surface-alt);border-radius:14px;place-items:center;min-height:140px;display:grid;overflow:hidden}.logo-preview img{object-fit:contain;max-width:100%;max-height:140px;display:block}.logo-placeholder{color:var(--muted);font-size:13px}.primary-button,.ghost-button{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:11px 16px}.primary-button{background:var(--primary);color:#fff}.ghost-button{background:var(--surface-alt);color:var(--primary);border-color:var(--border)}.ghost-button-compact{border-radius:10px;padding:7px 12px;font-size:12px}.icon-button{border:1px solid var(--border);background:var(--surface-alt);width:32px;height:32px;color:var(--primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button svg{width:16px;height:16px;display:block}.icon-button:hover{background:var(--surface);border-color:var(--primary)}.icon-button-danger{color:var(--danger)}.icon-button-danger:hover{border-color:var(--danger)}.list-toolbar-shell{gap:0;display:grid}.list-toolbar{align-content:start;gap:16px;display:grid}.toolbar-search-row{justify-content:flex-start;align-items:center;gap:8px;display:flex}.toolbar-search{flex:0 560px;max-width:560px}.toolbar-search-actions{align-items:center;gap:10px;display:flex}.toolbar-inline-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar-inline-filters .field{align-items:center;gap:8px;width:auto;min-width:128px;max-width:220px;display:flex}.toolbar-inline-filters .field span{white-space:nowrap;flex:none}.toolbar-inline-filters .field input,.toolbar-inline-filters .field select{width:auto;min-width:128px;max-width:220px}.toolbar-inline-filters .field textarea{width:min(280px,100%)}.toolbar-inline-filters .period-field{align-items:initial;min-width:316px;max-width:360px;display:grid}.toolbar-inline-filters .period-field-inputs{grid-template-columns:repeat(2,minmax(136px,1fr));gap:6px}.toolbar-actions{justify-content:flex-end;gap:10px;display:flex}.toolbar-filters{gap:12px;display:grid}.toolbar-filter-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.toolbar-filters-advanced{gap:12px;display:grid}.filter-picker-list{min-width:240px}.filter-picker-item{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.filter-picker-item:hover{background:var(--surface-alt)}.filter-picker-item input{margin:0}.period-field{min-width:0}.period-field-inputs{grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;display:grid}.period-field-inputs input{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;width:100%;padding:10px 12px;font-size:14px}.search-input{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;width:100%;padding:10px 14px;font-size:14px}.form-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.permission-panel{grid-column:1/-1}.permission-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.permission-card{border:1px solid var(--border);background:#ffffffb8;border-radius:14px;gap:10px;padding:14px;display:grid}.permission-actions{gap:8px;display:grid}.permission-checkbox{color:var(--text);align-items:center;gap:8px;font-size:.92rem;display:flex}.detail-footer{justify-content:flex-end;padding-top:4px;display:flex}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:11px 10px;font-size:14px}.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-actions-nowrap{flex-wrap:nowrap}.table-actions-nowrap>*{flex:none}.data-table td.actions-cell,.data-table th.actions-cell{white-space:nowrap;width:1%}.data-table td.select-cell,.data-table th.select-cell{white-space:nowrap;width:1%;padding-right:0}.list-selection-bar{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 14px;display:flex}.list-selection-info{gap:2px;display:grid}.list-selection-info span{color:var(--muted);font-size:12px}.list-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.list-selection-danger{color:var(--danger)}.list-selection-failures{border:1px solid var(--danger);background:#c530300d;border-radius:14px;margin-bottom:12px;padding:12px 14px}.list-selection-failures-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.list-selection-failures ul{gap:4px;margin:8px 0 0;padding-left:18px;display:grid}.list-selection-failures li{color:var(--text);font-size:13px}.link-button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.link-button:hover{text-decoration:underline}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#12344d0a}.status-badge{border-radius:999px;align-items:center;gap:6px;margin-right:8px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-draft{color:#526273;background:#eef2f6}.status-open{color:#1c5a93;background:#e6f0fb}.status-progress{color:#9a5b00;background:#fff1d6}.status-completed{color:#1f6f43;background:#e4f4ea}.status-cancelled{color:#b42318;background:#fde8e8}.status-invoiced{color:#12344d;background:#e8edf6}.detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.detail-metric{align-content:start;min-height:116px}.detail-metric span{color:var(--muted);font-size:13px;font-weight:600}.detail-metric strong{font-size:24px;line-height:1.1}.detail-metric-accent{color:#fff;background:linear-gradient(#163650 0%,#12344d 100%)}.detail-metric-accent span{color:#ffffffb8}.attendance-overview-panel{gap:14px;padding:14px 16px;display:grid}.attendance-overview-group{gap:8px;display:grid}.attendance-overview-group+.attendance-overview-group{border-top:1px solid var(--border);padding-top:12px}.attendance-overview-caption{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.attendance-overview-grid{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:10px;display:grid}.attendance-overview-item{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;align-content:start;gap:4px;min-width:0;padding:10px 12px;display:grid}.attendance-overview-item span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.attendance-overview-item strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.25;display:-webkit-box;overflow:hidden}.attendance-overview-badge{align-items:center;min-height:20px;display:flex}.attendance-overview-badge .status-badge{margin-right:0}.attendance-overview-item-warning{background:#fff6e6;border-color:#e7b45c}.attendance-overview-item-warning span{color:#9a5b00}.attendance-overview-item-accent{background:linear-gradient(#163650 0%,#12344d 100%);border-color:#12344d}.attendance-overview-item-accent span{color:#ffffffb8}.attendance-overview-item-accent strong{color:#fff}.detail-section{gap:10px;display:grid}.detail-section-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.detail-section-header.compact{margin-bottom:12px}.detail-section-header h3{margin:0;font-size:18px}.detail-section-header p{color:var(--muted);margin:4px 0 0;font-size:13px}.tab-strip{align-items:center;gap:10px;display:flex}.tab-button{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:12px;padding:10px 14px}.tab-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.subsection{gap:18px;display:grid}.intervention-card{gap:16px;display:grid}.intervention-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.intervention-card-title{flex:240px;gap:2px;min-width:0;display:grid}.intervention-card-title h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:800}.intervention-card-title strong{overflow-wrap:anywhere;font-size:16px;line-height:1.3}.intervention-card-header .header-actions{flex:none;justify-content:flex-end}.intervention-card-header .status-badge{margin-right:0}.intervention-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.intervention-summary-grid div{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;gap:6px;min-width:0;padding:10px 12px;display:grid}.intervention-summary-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.intervention-summary-grid strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.35;display:-webkit-box;overflow:hidden}.intervention-summary-wide{grid-column:1/-1}.intervention-children{gap:14px;display:grid}.intervention-child-block{border:1px solid var(--border);background:var(--surface-alt);border-radius:16px;gap:12px;padding:14px 16px;display:grid}.intervention-child-block h5{margin:0;font-size:14px}.intervention-child-block input,.intervention-child-block select{background:#fff}.intervention-child-list{gap:8px;display:grid}.intervention-child-list .product-grid{margin-bottom:0}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.inline-row,.totals-bar,.summary-list div{align-items:center;gap:10px;display:flex}.checklist-row input[type=checkbox]{flex:none;width:18px;height:18px}.checklist-row input:not([type=checkbox]){flex:auto;min-width:0}.checklist-row .ghost-button{flex:0 0 96px}.empty-inline-note{border:1px dashed var(--border);background:var(--surface-alt);color:var(--muted);border-radius:14px;padding:14px 16px;font-size:13px}.equipment-manuals-field{grid-column:1/-1}.equipment-manuals-field input[type=file]{background:var(--surface-alt);padding:10px}.equipment-manuals-list{gap:8px;display:grid}.equipment-manual-item{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.equipment-manual-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:13px;font-weight:600;overflow:hidden}.intervention-photo-picker{flex:none;align-items:center;gap:8px;display:inline-flex}.intervention-photo-picker input[type=file]{display:none}.intervention-photo-picker-disabled{opacity:.6;cursor:not-allowed}.intervention-photo-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.intervention-photo{border:1px solid var(--border);background:#fff;border-radius:14px;gap:8px;min-width:0;margin:0;padding:10px;display:grid}.intervention-photo-thumb{background:var(--surface-alt);cursor:zoom-in;border:0;border-radius:10px;width:100%;min-width:0;height:132px;padding:0;display:block;overflow:hidden}.intervention-photo-thumb img{object-fit:cover;width:100%;max-width:100%;height:100%;display:block}.intervention-photo>*{min-width:0;max-width:100%}.header-check{white-space:nowrap;color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.header-check input{width:16px;height:16px}.summary-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.summary-strip div{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;gap:6px;padding:12px 14px;display:grid}.summary-strip span{color:var(--muted);font-size:12px;font-weight:600}.summary-strip strong{font-size:16px}.product-grid{grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.product-grid-expanded{grid-template-columns:minmax(200px,2.2fr) repeat(3,minmax(110px,1fr)) 96px;align-items:center}.product-grid-planned{grid-template-columns:minmax(200px,2.2fr) minmax(110px,1fr) minmax(160px,1.6fr) 96px;align-items:center}.product-grid-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.product-grid-expanded>button,.product-grid-planned>button{width:100%}.totals-bar{justify-content:space-between}.totals-bar div,.summary-list div{border-bottom:1px solid var(--border);justify-content:space-between;width:100%;padding:10px 0;display:flex}.summary-list{display:grid}.context-menu{position:relative}.context-menu summary{list-style:none}.context-menu summary::-webkit-details-marker{display:none}.context-menu[open] .ghost-button{border-color:#12344d33;box-shadow:0 8px 24px #0b233814}.context-menu-list{border:1px solid var(--border);z-index:20;background:#fffffffa;border-radius:16px;gap:4px;min-width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #0b23381f}.context-menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 12px}.context-menu-item:hover{background:var(--surface-alt)}.context-menu-item-danger{color:var(--danger)}.row-menu-list{z-index:30;width:220px;position:fixed;right:auto}.selection-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.selection-bar>span{color:var(--text);font-size:14px;font-weight:700}.selection-bar-actions{align-items:center;gap:10px;display:flex}.selection-cell{width:36px}.selection-cell input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0}.pagination-bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.pagination-summary{color:var(--muted);font-size:13px}.pagination-controls{align-items:center;gap:10px;display:flex}.pagination-position{color:var(--text);text-align:center;min-width:56px;font-size:13px;font-weight:700}.pagination-controls button[disabled]{opacity:.45;cursor:not-allowed}.invoice-print-shell{display:none}.invoice-print-shell,.invoice-print-shell *{font-family:Segoe UI,Arial,sans-serif}.invoice-print-sheet{gap:18px;font-size:10px;line-height:1.3;display:grid}.invoice-print-sheet-model{gap:10px}.invoice-print-company-bar{border-bottom:1px solid #d8e0ea;padding-bottom:8px}.invoice-print-document-head{justify-content:flex-start;padding-top:4px;display:flex}.invoice-print-document-head h1{color:var(--primary);letter-spacing:.02em;margin:0;font-size:16px;font-weight:700}.invoice-print-document-head p{color:var(--primary);margin:2px 0 0;font-size:10px;font-weight:700}.invoice-print-row{gap:8px;display:grid}.invoice-print-row-2{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}.invoice-print-row>*{min-width:0}.invoice-print-box{background:#fff;border:1px solid #d8e0ea;border-radius:3px;gap:5px;min-width:0;padding:7px 9px;display:grid}.invoice-print-box-title{color:#2d5b8f;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.invoice-print-fields-grid{gap:6px 8px;min-width:0;display:grid}.invoice-print-fields-grid-client{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.invoice-print-fields-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-print-fields-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.invoice-print-fields-grid>div{align-content:start;gap:2px;min-width:0;display:grid}.invoice-print-fields-grid span{color:#5e6c7a;text-transform:uppercase;letter-spacing:.03em;font-size:8px;font-weight:700}.invoice-print-fields-grid strong{overflow-wrap:anywhere;word-break:break-word;font-size:10px;font-weight:600;line-height:1.25}.invoice-print-span-all{grid-column:1/-1}.invoice-print-header{gap:18px;display:grid}.invoice-print-header-ref{border-bottom:2px solid #d9e1ea;padding:8px 0 14px}.invoice-print-brand{justify-content:space-between;align-items:center;gap:24px;display:flex}.invoice-print-company{align-items:center;gap:22px;display:flex}.invoice-print-logo,.invoice-print-placeholder{border:1px solid var(--border);background:#fff;border-radius:18px;place-items:center;width:144px;height:144px;display:grid;overflow:hidden}.invoice-print-logo-flat{background:0 0;border:0;border-radius:0;width:140px;height:78px}.invoice-print-logo img{object-fit:contain;width:100%;height:100%}.invoice-print-placeholder{color:#fff;letter-spacing:.08em;background:linear-gradient(#12344d 0%,#1d4f73 100%);font-size:28px;font-weight:800}.attendance-print-items{gap:8px;display:grid}.attendance-print-item{border-bottom:1px solid #d8e0ea;gap:6px;padding:7px 0;display:grid}.attendance-print-item:last-child{border-bottom:0;padding-bottom:0}.attendance-print-item-head{grid-template-columns:44px minmax(0,1.7fr) minmax(78px,.6fr) minmax(78px,.6fr) minmax(56px,.4fr);align-items:start;gap:8px;display:grid}.attendance-print-item-body{gap:5px;display:grid}.attendance-print-item-head>div,.attendance-print-item-body>div{gap:2px;min-width:0;display:grid}.attendance-print-item span{color:#5e6c7a;text-transform:uppercase;letter-spacing:.03em;font-size:8px;font-weight:700}.attendance-print-item strong{overflow-wrap:anywhere;word-break:break-word;font-size:10px;font-weight:600;line-height:1.25}.attendance-print-item-photos{gap:4px;display:grid}.attendance-print-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.attendance-print-photo{gap:2px;margin:0;display:grid}.attendance-print-photo img{object-fit:cover;border:1px solid #d8e0ea;border-radius:3px;width:100%;height:88px}.attendance-print-photo figcaption{color:#5e6c7a;overflow-wrap:anywhere;font-size:8px;line-height:1.2}.invoice-print-company-text{gap:4px;display:grid}.invoice-print-company-text-flat{gap:2px}.invoice-print-company-text h1{color:var(--primary);margin:0;font-size:28px;line-height:1.1}.invoice-print-company-text strong{font-size:13px;font-weight:700}.invoice-print-company-text span{color:var(--muted);font-size:9px;line-height:1.25}.invoice-print-title{text-align:right;gap:4px;display:grid}.invoice-print-title h1{letter-spacing:.14em;color:var(--primary);margin:0;font-size:30px}.invoice-print-title p{color:var(--primary);margin:0;font-weight:800}.invoice-print-meta{border:1px solid var(--border);background:linear-gradient(#f8fafc 0%,#eef3f8 100%);border-radius:18px;gap:12px;padding:18px;display:grid}.invoice-print-meta div{gap:4px;display:grid}.invoice-print-meta span,.invoice-print-client-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.invoice-print-meta strong,.invoice-print-client-grid strong{font-size:15px}.invoice-print-grid{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.invoice-print-grid-bottom{grid-template-columns:1fr}.invoice-print-block{border:1px solid var(--border);background:#fffffffa;border-radius:18px;gap:12px;padding:18px;display:grid}.invoice-print-block-header{gap:4px;display:grid}.invoice-print-block-header h3{color:var(--primary);margin:0;font-size:16px}.invoice-print-block-header p{color:var(--muted);margin:0;font-size:12px}.invoice-print-client-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.invoice-print-client-grid.compact,.invoice-print-fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-print-fields-5{grid-template-columns:repeat(4,minmax(0,1fr))}.invoice-print-wide{grid-column:1/-1}.invoice-print-client-grid div{gap:4px;display:grid}.invoice-print-break-before{break-before:page;page-break-before:always}.invoice-print-footer-grid{grid-template-columns:minmax(0,1fr) 320px;gap:18px;display:grid}.invoice-print-notes{white-space:pre-wrap;color:var(--text);margin:0;font-size:9px;line-height:1.3}.invoice-print-summary .summary-list div:last-child strong{color:var(--primary)}.login-page{background:radial-gradient(circle at 18% 18%,#d18b2c29,#0000 30%),radial-gradient(circle at 82% 14%,#12344d29,#0000 28%),linear-gradient(135deg,#edf2f7 0%,#f8fafc 46%,#e6edf4 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #d7dfe7eb;border-radius:26px;gap:18px;width:min(430px,100%);padding:34px;display:grid;box-shadow:0 28px 70px #0b233824}.login-brand{width:min(210px,78%);min-height:116px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-self:center;place-items:center;padding:8px;display:grid}.login-brand img{object-fit:contain;width:100%;max-height:108px;display:block}.login-brand-fallback{background:linear-gradient(145deg, var(--primary), #1d587c);color:#fff;letter-spacing:-.04em;border-radius:18px;place-items:center;width:70px;height:70px;font-size:24px;font-weight:800;display:grid}.login-title{text-align:center;gap:6px;margin:0 0 4px;display:grid}.login-title h1{color:var(--primary);letter-spacing:-.035em;margin:0;font-size:clamp(26px,3vw,36px)}.login-card .field input{background:#f8fafc;min-height:48px}.login-card .field input:focus{background:#fff;border-color:#12344d6b;outline:0;box-shadow:0 0 0 4px #12344d14}.login-submit{width:100%;min-height:48px;margin-top:4px;font-weight:800;box-shadow:0 16px 28px #12344d2e}.error-text{color:var(--danger)}.toast-stack{z-index:1000;gap:10px;display:grid;position:fixed;top:20px;right:20px}.toast{color:#fff;border-radius:14px;min-width:280px;max-width:420px;padding:14px 16px;box-shadow:0 16px 40px #0b23382e}.toast-success{background:#1f6f43}.toast-error{background:#b42318}.toast-info{background:#12344d}@media (width<=1400px){.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1200px){.dashboard-grid,.detail-metrics,.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.two-columns{grid-template-columns:1fr}.form-grid-3,.intervention-summary-grid,.product-grid-expanded,.product-grid-planned{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){.shell,.shell-sidebar-collapsed{grid-template-columns:1fr}.desktop-nav-toggle{display:none}.mobile-nav-toggle{z-index:45;border:1px solid var(--border);color:var(--primary);cursor:pointer;background:#fffffff5;border-radius:12px;padding:10px 14px;display:inline-flex;position:fixed;top:16px;left:16px;box-shadow:0 10px 28px #0b23381f}.sidebar{z-index:50;width:min(320px,86vw);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 24px 48px #0b233838}.sidebar.open{transform:translate(0)}.sidebar-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;align-self:flex-start;padding:8px 12px;display:inline-flex}.sidebar-backdrop{z-index:40;background:#0b233861;border:0;display:block;position:fixed;inset:0}.content{padding:72px 18px 18px}.panel,.metric-card,.login-card,.login-page{padding:18px}.toolbar-search{flex:auto;max-width:none}.toolbar-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-inline-filters{width:100%}.toolbar-inline-filters .field,.toolbar-inline-filters .field input,.toolbar-inline-filters .field select{width:auto;min-width:140px;max-width:none}.page-header{gap:12px}.page-header h2{font-size:30px}.page-header .header-actions,.detail-section-header,.section-title-row{align-items:flex-start}.invoice-header-grid{grid-template-columns:1fr}.data-table{white-space:nowrap;display:block;overflow-x:auto}.data-table th,.data-table td{font-size:13px}.plan-inline-fields,.invoice-date-row{flex-wrap:wrap}.plan-inline-fields .field,.invoice-date-row .field{flex:240px;width:calc(50% - 6px)}.intervention-card-header .header-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.product-grid-expanded,.product-grid-planned{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.product-grid-head{display:none}.product-grid-expanded>:first-child,.product-grid-planned>:first-child,.product-grid-expanded>button,.product-grid-planned>button{grid-column:1/-1}.checklist-row{align-items:flex-start}.checklist-row input:not([type=checkbox]){flex:auto}}@media (width<=768px){.form-grid,.form-grid-3,.form-grid-4,.split-grid,.dashboard-grid,.detail-metrics,.summary-strip,.intervention-summary-grid,.product-grid-expanded,.product-grid-planned,.toolbar-filter-grid{grid-template-columns:1fr}.intervention-child-block{padding:12px}.login-page{padding:14px}.login-card{padding:26px 20px}.login-brand{min-height:92px}.invoice-header-grid{grid-template-columns:1fr}.invoice-date-row{grid-template-columns:1fr;display:grid}.invoice-date-row .field{flex:auto;width:auto}.content{padding:18px}.page-header{grid-template-columns:1fr}.page-header h2{font-size:26px}.page-header .header-actions{justify-content:stretch;width:100%}.page-header .header-actions>button,.page-header .header-actions>.context-menu{width:100%}.toolbar-actions{flex-wrap:wrap;justify-content:flex-start}.toolbar-search-row,.header-actions,.section-title-row,.tab-strip{flex-wrap:wrap}.toolbar-search-actions{justify-content:flex-start;width:100%}.toolbar-inline-filters{width:100%}.toolbar-inline-filters .field,.toolbar-inline-filters .field input,.toolbar-inline-filters .field select,.toolbar-inline-filters .period-field{width:100%;min-width:0;max-width:none}.intervention-summary-row{flex-direction:column}.intervention-summary-grid{grid-template-columns:1fr}.intervention-inline-selects{grid-template-columns:1fr;display:grid}.intervention-inline-selects .field,.intervention-inline-selects .field select{width:100%;min-width:0;max-width:none}.intervention-summary-grid strong{white-space:normal;text-overflow:unset;overflow:visible}.plan-inline-fields{grid-template-columns:1fr;display:grid}.plan-inline-fields .field{flex:auto;width:auto}.service-order-inline-fields{grid-template-columns:1fr;display:grid}.service-order-inline-fields .field,.service-order-inline-fields .field input,.service-order-inline-fields .field select{width:100%;min-width:0;max-width:none}.period-field-inputs{grid-template-columns:1fr}.context-menu,.context-menu>.ghost-button{width:100%}.context-menu-list{width:100%;min-width:0;left:0;right:auto}.intervention-card{gap:14px}.intervention-child-block{gap:10px}.empty-inline-note{padding:12px 14px}.mobile-nav-toggle{padding:9px 12px;top:12px;left:12px}.toast-stack{top:18px;left:18px;right:18px}.toast{min-width:0;max-width:none}}@media print{body{background:#fff}.sidebar,.page-header,.attendance-overview-panel,.detail-section,.detail-footer,.toast-stack,.panel,.mobile-nav-toggle,.desktop-nav-toggle,.sidebar-backdrop{display:none!important}.content,.content>section{gap:0!important;padding:0!important}.invoice-print-shell{color:#111827;padding:14mm 11mm;display:grid!important}.invoice-print-sheet{gap:10px}.invoice-print-company-bar{padding-bottom:8px}.invoice-print-company{gap:16px}.invoice-print-logo-flat,.invoice-print-placeholder.invoice-print-logo-flat{width:116px;height:64px}.invoice-print-company-text strong{font-size:12px}.invoice-print-company-text span{font-size:8px;line-height:1.2}.invoice-print-document-head{padding-top:0}.invoice-print-row{gap:6px}.invoice-print-row-2{grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);align-items:start}.invoice-print-box{break-inside:auto;page-break-inside:auto;gap:4px;padding:6px 8px;display:block;overflow:visible}.invoice-print-box-title{margin-bottom:4px;font-size:9px;display:block}.invoice-print-fields-grid{gap:5px 6px}.invoice-print-fields-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-print-fields-grid span{font-size:7px}.invoice-print-fields-grid strong{font-size:9px;line-height:1.2}.invoice-print-header-ref,.invoice-print-block,.invoice-print-grid,.invoice-print-grid-bottom{break-inside:avoid}.invoice-print-table th,.invoice-print-table td{border-bottom:1px solid #d1d9e0;padding:6px}.invoice-print-box .invoice-print-table tbody tr:last-child td,.invoice-print-box .invoice-print-table.no-row-lines td{border-bottom:0}.invoice-print-table{table-layout:fixed;white-space:normal!important;width:100%!important;display:table!important}.invoice-print-table thead{display:table-header-group}.invoice-print-table tbody{display:table-row-group}.invoice-print-table tr{display:table-row}.invoice-print-table-compact th{color:#5e6c7a;text-transform:uppercase;letter-spacing:.03em;font-size:8px;font-weight:700}.invoice-print-table-compact td{word-break:break-word;overflow-wrap:anywhere;vertical-align:top;font-size:9px;line-height:1.2;white-space:normal!important;text-overflow:unset!important;overflow:visible!important}.invoice-print-table-tight th,.invoice-print-table-tight td{padding-left:2px;padding-right:2px}.invoice-print-table-parts{table-layout:auto!important}.invoice-print-table-parts th:first-child,.invoice-print-table-parts td:first-child{width:52px}.invoice-print-table-parts th:nth-child(2),.invoice-print-table-parts td:nth-child(2){width:58px}.invoice-print-table-parts th:nth-child(4),.invoice-print-table-parts td:nth-child(4){width:68px}.invoice-print-table-parts th:nth-child(5),.invoice-print-table-parts td:nth-child(5),.invoice-print-table-parts th:nth-child(6),.invoice-print-table-parts td:nth-child(6){width:72px}.invoice-print-notes{font-size:8px;line-height:1.2}.attendance-print-items{gap:6px}.attendance-print-item{gap:4px;padding:6px 0}.attendance-print-item-head{grid-template-columns:38px minmax(0,1.7fr) minmax(64px,.6fr) minmax(64px,.6fr) minmax(48px,.4fr);gap:6px}.attendance-print-item span{font-size:7px}.attendance-print-item strong{font-size:9px;line-height:1.2}.attendance-print-item-photos{break-inside:avoid;page-break-inside:avoid}.attendance-print-photo-grid{gap:5px}.attendance-print-photo img{height:74px}.attendance-print-photo figcaption{font-size:7px}.invoice-print-grid,.invoice-print-client-grid,.invoice-print-fields-3,.invoice-print-fields-5{page-break-inside:avoid}.invoice-print-block,.invoice-print-meta,.invoice-print-logo{break-inside:avoid;box-shadow:none!important}}.attendance-clock-field{align-content:start;gap:8px;display:grid}.attendance-clock-field .ghost-button-compact{justify-self:start}.field.field-inline-check{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.field.field-inline-check input{width:16px;height:16px;padding:0}.field.field-inline-check span{font-size:12px}.form-grid .field-inline-check{align-self:end;min-height:42px}.attendance-signature-panel{align-items:start}.signature-pad{gap:8px;display:grid}.signature-canvas{border:1px dashed var(--border);background:var(--surface-alt);touch-action:none;cursor:crosshair;border-radius:12px;width:100%;height:180px}.signature-canvas-disabled{cursor:default;opacity:.7}.signature-pad-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.signature-pad-footer span{color:var(--muted);font-size:12px}.attendance-print-signature{gap:6px;display:grid}.attendance-print-signature-mark{place-items:end center;min-height:56px;display:grid}.attendance-print-signature-mark img{object-fit:contain;max-width:300px;max-height:56px}.attendance-print-signature-line{border-bottom:1px solid #5e6c7a;width:300px;display:block}
