:root{color:#14202b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;margin:0}button,input,textarea{letter-spacing:0}a{color:inherit}.app-shell{color:#14202b;background:#f5f7f9;grid-template-columns:268px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #dbe3ea;flex-direction:column;gap:24px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand,.nav-button,.ghost-button,.primary-button,.secondary-button,.small-button,.job-card,.client-card,.list-row,.reminder-row{font:inherit;cursor:pointer;border:0}.brand{text-align:left;color:#14202b;background:0 0;align-items:center;width:100%;min-height:48px;display:flex}.brand-logo{object-fit:contain;object-position:left center;width:min(188px,100%);height:auto;max-height:48px;display:block}.brand small,.topbar p,.panel p,.info span,.empty,.job-meta,.list-row small{color:#667482}.brand strong,.brand small{display:block}.sidebar nav{gap:6px;display:grid}.nav-button,.ghost-button{color:#526070;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.nav-button.active,.nav-button:hover,.ghost-button:hover{color:#0c6270;background:#eaf3f4}.sidebar-footer{gap:4px;margin-top:auto;display:grid}.main{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:30px;line-height:1.1}.topbar .topbar-notice{color:#18734e;background:#e6f6ef;border-radius:10px;align-items:center;min-height:40px;margin:10px 0 0;padding:8px 12px;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #18734e14}.topbar .topbar-realtime{border:1px solid #0000;border-radius:999px;align-items:center;min-height:32px;margin:10px 0 0;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.topbar .topbar-realtime--ok{color:#0f6a46;background:#e7f5ee;border-color:#c4e6d2}.topbar .topbar-realtime--pending{color:#8a5b00;background:#fff4df;border-color:#f4d7a0}.topbar .topbar-realtime--fallback{color:#a33a32;background:#fce9e8;border-color:#f0c1bd}.topbar-actions,.button-row,.photo-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search{color:#7a8794;cursor:text;background:#fff;border:1px solid #dbe3ea;border-radius:8px;align-items:center;gap:10px;min-width:260px;height:42px;padding:0 12px;font-size:14px;display:flex}.search:focus-within{border-color:#0c6270;box-shadow:0 0 0 3px #0c627026}.search input{color:#14202b;height:100%;font:inherit;background:0 0;border:0;outline:none;flex:1;margin:0;padding:0}.search input::placeholder{color:#7a8794}.primary-button,.secondary-button,.small-button,.file-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#0c6270}.primary-button:hover{background:#0a5260}.secondary-button,.small-button{color:#0c6270;background:#eaf3f4}.large{min-height:52px;font-size:16px}.compact{min-height:38px}.full{width:100%}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.content-grid,.details-layout,.protocol-layout,.client-layout,.technicians-layout{gap:16px;display:grid}.details-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.material-orders-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.material-orders-sidebar,.material-orders-main{min-width:0}.material-orders-main{gap:16px;display:grid}.details-stack,.details-main-stack{gap:16px;min-width:0;display:grid}.settings-layout{justify-content:center;display:grid}.settings-stack{gap:16px;width:min(100%,1080px);display:grid}.settings-hero{gap:18px;display:grid}.settings-grid-nav{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.settings-nav-card{color:#14202b;background:#f8fafb;border:1px solid #dbe3ea;border-radius:10px;gap:6px;padding:16px;text-decoration:none;transition:border-color .12s,background .12s,transform .12s;display:grid}.settings-nav-button{width:100%;font:inherit;cursor:pointer;text-align:left;border:1px solid #dbe3ea}.settings-nav-card:hover{background:#eef6f7;border-color:#9fc9d0;transform:translateY(-1px)}.settings-nav-card strong{color:#0c6270}.settings-nav-card span{color:#667482;font-size:14px;line-height:1.45}.settings-subsection{gap:12px;scroll-margin-top:24px;display:grid}.priority-settings-row{background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:12px;padding:12px;display:grid}.priority-settings-meta{color:#667482;flex-wrap:wrap;align-self:center;gap:8px;font-size:12px;font-weight:800;display:flex}.settings-inline-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.settings-detail-shell{gap:18px;display:grid}.settings-detail-head{margin-bottom:0}.template-library-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px;display:grid}.template-library-list,.template-library-editor,.template-library-links{gap:12px;display:grid}.template-library-card{color:#14202b;text-align:left;background:#f8fafb;border:1px solid #dbe3ea;border-radius:10px;gap:4px;width:100%;padding:14px;display:grid}.template-library-card:hover,.template-library-card.active{background:#eef6f7;border-color:#9fc9d0}.template-library-card strong{color:#0c6270}.template-library-card small{color:#667482}.template-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.template-library-filters{grid-template-columns:minmax(240px,1fr) minmax(180px,220px) minmax(180px,220px) repeat(2,minmax(160px,auto))}.template-library-summary{background:#f8fafb;border:1px solid #dbe3ea;border-radius:10px;align-self:end;gap:2px;padding:10px 12px;display:grid}.template-library-summary strong{color:#0c6270;font-size:22px;line-height:1}.template-library-summary span{color:#667482;font-size:13px}.template-version-badges{flex-wrap:wrap;gap:8px;display:flex}.template-migration-list{gap:10px;display:grid}.template-migration-row{background:#f8fafb;border:1px solid #dbe3ea;border-radius:10px;padding:12px}.compact-box{margin:0}.office-panel{align-self:start;gap:14px;display:grid}.office-panel .task-form-grid{grid-template-columns:minmax(0,1fr)}.office-panel .primary-button{justify-content:center;width:100%}.status-flow{grid-template-columns:repeat(5,minmax(90px,1fr));gap:8px;margin:18px 0;display:grid}.status-flow span{color:#667482;background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;min-height:58px;padding:10px;font-size:13px}.status-flow strong{color:#9aa7b3;margin-bottom:4px;display:block}.status-flow .done{color:#176b96;background:#e8f3fb;border-color:#9fc9d0}.status-flow .done strong{color:#0c6270}.workflow-note{background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;gap:8px;padding:12px;display:grid}.workflow-note p{color:#667482;margin:0;line-height:1.45}.protocol-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.client-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.client-main-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.client-detail-stack{gap:16px;min-width:0;display:grid}.technicians-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.protocol-form{gap:16px;display:grid}.kpi-grid{grid-column:1/-1;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;display:grid}.kpi,.panel,.job-card{background:#fff;border:1px solid #dbe3ea;border-radius:8px;box-shadow:0 10px 24px #1f2d3d0d}.kpi{color:#0c6270;align-content:space-between;min-height:110px;padding:16px;display:grid}.kpi span{color:#667482;font-size:13px}.kpi strong{color:#14202b;font-size:30px}.panel{padding:18px}.wide{grid-column:span 1}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel h2,.job-card h2,.phone h3,.pdf-sheet h3{letter-spacing:0;color:#14202b;margin:0 0 6px}.panel h2,.job-card h2{font-size:18px;line-height:1.2}.lead{max-width:900px;font-size:17px;line-height:1.55}.flow{grid-template-columns:repeat(7,minmax(88px,1fr));gap:8px;display:grid}.flow span{color:#526070;background:#f5f9fa;border-radius:8px;gap:8px;min-height:78px;padding:12px;display:grid}.flow strong{color:#fff;background:#0c6270;border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.phone-panel{place-items:center;display:grid}.phone{background:#f7fafb;border:10px solid #14202b;border-radius:30px;width:min(100%,300px);min-height:520px;padding:18px;box-shadow:0 18px 40px #14202b29}.phone-top{color:#fff;background:#14202b;border-radius:999px;place-items:center;width:92px;height:22px;margin:0 auto 22px;font-size:11px;display:grid}.mini-checks{gap:8px;margin:18px 0;display:grid}.mini-checks span{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:10px}.phone button{color:#fff;background:#0c6270;border:0;border-radius:8px;width:100%;min-height:48px;font-weight:700}.job-card{text-align:left;width:100%;color:inherit;border-left-width:5px;gap:14px;padding:18px;display:grid}.job-card:hover{border-color:#9fc9d0}.job-card.has-conflict{background:linear-gradient(#fffbeb 0%,#fff 100%);border-color:#d9770673}.job-card-statuses{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-line{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.job-meta{flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.job-card-warning,.kanban-conflict-note{color:#b45309;margin:0;font-weight:700}.availability-conflict-badge{color:#b45309;background:#ffedd5;border-radius:999px;padding:5px 9px;font-weight:800}.job-meta span,.chip,.status,.attention,.badge{background:#eef3f5;border-radius:999px;padding:5px 9px}.badge{color:#526070;align-items:center;min-height:32px;font-size:13px;font-weight:700;display:inline-flex}.status{color:#526070;width:fit-content;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-flex}.priority,.job-number-pill{color:#526070;background:#eef3f5;border-radius:999px;width:fit-content;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.priority.important{color:#926300;background:#fff5dd}.priority.urgent{color:#b42318;background:#ffe8e8}.status-line .status,.status-line .priority,.status-line .job-number-pill{margin-bottom:0}.attention{width:fit-content;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-flex}.attention.today{color:#176b96;background:#e8f3fb}.attention.overdue,.attention.followup{color:#926300;background:#fff5dd}.status.completed,.status.emailed,.status.sent,.status.planned,.status.active{color:#18734e;background:#e6f6ef}.status.in_progress,.status.assigned{color:#176b96;background:#e8f3fb}.status.requires_followup,.status.new{color:#926300;background:#fff5dd}.filter-bar{flex-wrap:wrap;gap:8px;display:flex}.chip{background:#fff;border:1px solid #dbe3ea;min-height:38px}.chip.active{color:#fff;background:#0c6270;border-color:#0c6270}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.compact-details{margin:14px 0}.info{gap:4px;min-width:0;display:grid}.info strong{overflow-wrap:anywhere}.callout,.error-box,.warning-box{border-radius:8px;margin:16px 0;padding:14px}.callout{background:#fff8e8;border:1px solid #f1d79d}.error-box{color:#992a2a;background:#fff0f0;border:1px solid #f1b4b4}.warning-box{color:#7a5a14;background:#fff8e8;border:1px solid #f1d79d}.warning-box p,.error-box p{margin:0;line-height:1.45}.warning-box p+p,.error-box p+p{margin-top:6px}.sync-warning{gap:10px;margin-top:-4px;display:grid}.sync-warning-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}label{color:#526070;gap:8px;font-size:14px;font-weight:700;display:grid}textarea,input,select{box-sizing:border-box;color:#14202b;width:100%;font:inherit;background:#fff;border:1px solid #cfd9e2;border-radius:8px;padding:11px 12px}.form-grid{align-content:start;gap:16px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.task-form-block{background:#fbfdfe;border:1px solid #dbe3ea;border-radius:8px;gap:14px;padding:14px;display:grid}.job-detail-section{background:#fbfdfe;border:1px solid #dbe3ea;border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.task-form-block-heading{gap:4px;display:grid}.task-form-block-heading h3{color:#14202b;margin:0;font-size:16px;line-height:1.25}.task-form-block-heading p{color:#667482;margin:0;line-height:1.45}.task-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.task-form-client-summary{color:#52606d;background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:12px;font-size:13px;display:grid}.task-form-client-summary strong{color:#14202b}.job-summary-sections{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;display:grid}.job-summary-sections .job-detail-section{gap:12px;padding:12px}.job-summary-sections .task-form-block-heading{gap:2px}.job-summary-sections .task-form-block-heading h3{font-size:15px}.job-summary-sections .task-form-block-heading p{font-size:13px;line-height:1.35}.job-summary-sections .detail-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 14px;margin:0}.job-summary-sections .detail-grid.single-column{grid-template-columns:minmax(0,1fr)}.job-summary-sections .info{gap:3px}.job-summary-sections .info span{font-size:12px;line-height:1.3}.job-summary-sections .info strong{font-size:14px;line-height:1.35}.nested-panel{gap:14px;display:grid}textarea{resize:vertical;min-height:96px}.checklist{gap:8px;display:grid}.check-row{color:#14202b;background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;min-height:44px;padding:0 10px;display:grid}.check-row input[type=checkbox]{width:18px;height:18px}.editable-checklist{gap:10px}.check-row.editable{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.check-main{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;display:grid}.check-label-input,.check-notes-input{background:#fff;border:1px solid #c9d7e3;border-radius:8px;width:100%}.check-item-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.template-attach-box{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.photo-thumb{text-align:center;background:linear-gradient(135deg,#0c627014,#2a9d8f24),#f8fafb;border:1px dashed #9fb0bf;border-radius:8px;place-content:center;min-height:118px;padding:10px;display:grid;position:relative}.photo-thumb img{object-fit:cover;border-radius:6px;width:100%;height:112px;margin-bottom:8px}.photo-thumb button{color:#992a2a;background:#ffffffeb;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:8px;right:8px}.photo-thumb span{color:#0c6270;font-weight:800}.file-button{color:#0c6270;background:#eaf3f4}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.signature-pad{position:relative}.signature-pad canvas{touch-action:none;background:#fff;border:1px solid #cfd9e2;border-radius:8px;width:100%;height:220px}.signature-placeholder{color:#9aa7b3;pointer-events:none;position:absolute;top:16px;left:16px}.sticky{gap:14px;display:grid;position:sticky;top:24px}.list{gap:8px;display:grid}.list-row,.reminder-row,.row-panel{justify-content:space-between;align-items:center;gap:12px;display:flex}.list-row{color:#14202b;background:#f8fafb;border-radius:8px;min-height:48px;padding:0 12px}.reminder-row{color:#14202b;text-align:left;background:#f8fafb;border-radius:8px;width:100%;min-height:44px;padding:8px 12px}.reminder-row:hover,.reminder-row:focus-visible{color:#0c6270;background:#eaf3f4}.empty{background:#f8fafb;border-radius:8px;padding:18px}.protocol-preview{max-width:980px}.pdf-frame{background:#f5f5f5;border:1px solid #dbe3ea;border-radius:8px;width:100%;height:760px;margin-top:18px;display:block}@media (width<=1060px){.pdf-frame{height:560px}}@media (width<=620px){.pdf-frame{height:460px}}.pdf-sheet{background:#fff;border:1px solid #dbe3ea;gap:12px;margin-top:18px;padding:28px;display:grid;box-shadow:0 12px 32px #14202b1a}.pdf-header{color:#fff;background:#0c6270;border-radius:8px;justify-content:space-between;padding:14px;display:flex}.signature-preview{border-bottom:2px solid #9fb0bf;align-items:end;min-height:58px;margin:18px 0;padding:0 12px 8px;font-family:Georgia,serif;font-size:24px;font-style:italic;display:flex}.signature-image{object-fit:contain;object-position:left center;border-bottom:2px solid #9fb0bf;width:260px;max-width:100%;height:88px}.filter-select{color:#14202b;min-height:38px;font:inherit;background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:0 12px}.email-list,.email-card{gap:12px;display:grid}.email-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.email-card-head h2{margin:6px 0 4px;font-size:17px}.email-card-head small{color:#667482;font-size:13px}.email-meta-list{gap:4px;margin-top:6px;display:grid}.email-delivery-note{gap:6px;margin:0;display:grid}.email-delivery-note strong{color:#7a5a14}.email-delivery-note p{margin:0;line-height:1.45}.email-body{white-space:pre-wrap;color:#14202b;background:#f8fafb;border:1px solid #e3eaf0;border-radius:8px;margin:0;padding:14px 16px;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.55}.email-preview{gap:6px;display:grid}.email-preview-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.email-preview-meta span{text-transform:uppercase;letter-spacing:.04em;color:#667482;font-size:12px}.email-snippet{color:#526070;white-space:pre-wrap;background:#f8fafb;border:1px solid #e3eaf0;border-radius:8px;margin:0;padding:10px 12px;font-family:inherit;font-size:13px}.client-card{text-align:left;width:100%;color:inherit;gap:8px;display:grid}.client-list-panel,.client-overview-panel{min-width:0}.client-list{overscroll-behavior:contain;gap:8px;max-height:calc(100vh - 210px);padding-right:2px;display:grid;overflow-y:auto}.client-list-item{color:#526070;width:100%;min-height:72px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe3ea;border-radius:8px;gap:4px;padding:10px 12px;font-size:13px;line-height:1.35;display:grid}.client-list-item:hover,.client-list-item:focus-visible{background:#f7fbfc;border-color:#9fc9d0;outline:none}.client-list-item.selected{background:#eef7f8;border-color:#0c6270;box-shadow:inset 4px 0 #0c6270}.client-list-item-name{color:#14202b;font-weight:800}.client-card:hover,.client-card.selected{border-color:#9fc9d0}.client-card.selected{box-shadow:0 0 0 2px #0c62701f,0 10px 24px #1f2d3d0d}.client-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.material-orders-list{gap:10px;display:grid}.material-order-card{text-align:left;width:100%;color:inherit;background:linear-gradient(#fff 0%,#f7fbfc 100%);border:1px solid #dbe3ea;border-radius:12px;gap:8px;padding:16px;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.material-order-card:hover,.material-order-card.selected{border-color:#9fc9d0;transform:translateY(-1px);box-shadow:0 8px 24px #0c627014}.material-order-card.selected{background:linear-gradient(#eef7f8 0%,#fff 100%)}.material-order-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.material-order-card-top strong{color:#14202b;line-height:1.35}.material-order-card-badges{flex-wrap:wrap;gap:8px;display:flex}.client-history h3{color:#14202b;margin:0 0 10px;font-size:15px}.client-collapsible-block{gap:12px;display:grid}.client-history-toggle{color:#334155;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-weight:800;display:flex}.client-history-toggle:hover,.client-history-toggle:focus-visible{background:#eef7f8;border-color:#9fc9d0;outline:none}.client-history-toggle span{color:#667482;margin-left:auto;font-size:12px;font-weight:800}.history-filter-row{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.history-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.timeline-feed{gap:12px;display:grid}.timeline-entry{background:linear-gradient(#fff 0%,#f8fbfc 100%);border:1px solid #dbe3ea;border-radius:14px;gap:10px;padding:14px;display:grid}.timeline-entry-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.timeline-entry-head h3,.timeline-section-head h3{color:#14202b;margin:0;font-size:15px}.timeline-entry-head p,.timeline-section-head p{color:#526070;margin:4px 0 0}.timeline-entry-meta{color:#667482;flex-wrap:wrap;gap:8px 12px;font-size:13px;font-weight:700;display:flex}.device-history-layout{gap:16px;display:grid}.device-pill{color:#526070;background:#eef3f5;border:1px solid #dbe3ea;border-radius:999px;padding:8px 12px;font-size:13px}.device-pill.selected{color:#0c6270;background:#eef7f8;border-color:#9fc9d0}.history-toolbar{gap:14px;display:grid}.history-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.audit-trail-panel,.audit-trail-list{gap:12px;display:grid}.audit-trail-entry{background:#f8fafb;border:1px dashed #dbe3ea;border-radius:12px;padding:14px}.checklist-list{gap:8px;display:grid}.checklist-row{background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:0 10px;display:grid}.checklist-row input{width:18px;height:18px}.comment-form{gap:12px;margin-top:14px;display:grid}.color-dot{background:var(--muted);vertical-align:middle;border-radius:999px;width:10px;height:10px;margin-right:8px;display:inline-block}.employee-dot{vertical-align:middle;background:#94a3b8;border-radius:999px;width:.62rem;height:.62rem;margin-right:.4rem;display:inline-block}.technician-color-legend{border:1px solid var(--border);background:#ffffffdb;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.technician-color-legend-title{color:#526070;font-size:.82rem;font-weight:800}.technician-color-legend-items,.job-secondary-chips{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.technician-color-legend-item{color:#334155;background:#fff;border:1px solid #dbe3ea;border-radius:999px;align-items:center;gap:.4rem;min-height:28px;padding:3px 8px;font-size:.82rem;font-weight:700;display:inline-flex}.technician-color-swatch{border-radius:999px;flex:none;width:.72rem;height:.72rem;box-shadow:inset 0 0 0 1px #0f172a29}.job-type-chip,.job-priority-chip{border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.78rem;font-weight:800;line-height:1.2;display:inline-flex}.job-type-chip{color:#0f766e;background:#e6f4f1}.job-priority-chip{color:#526070;background:#eef3f5}.calendar-event-tags{margin-top:.05rem}.audit-trail-entry h3{color:#14202b;margin:0 0 6px;font-size:15px}.audit-trail-entry-human{border-style:solid;border-left-width:5px;gap:6px;display:grid}.audit-trail-entry-human h3{margin:0;font-size:15px;line-height:1.45}.audit-trail-meta{color:#526070;flex-wrap:wrap;gap:8px 12px;font-size:13px;font-weight:700;display:flex}.audit-trail-entry-human small{color:#667482;font-size:12px}.device-list{flex-wrap:wrap;gap:8px;display:flex}.device-list span{color:#526070;background:#eef3f5;border-radius:999px;padding:6px 10px;font-size:13px}.client-tools{align-content:start;gap:12px;display:grid}.client-add-panel,.client-edit-panel{min-width:0}.technician-form,.technician-card,.technician-edit{gap:12px;display:grid}.availability-sidebar-list,.availability-list{gap:10px;display:grid}.availability-preset-row,.availability-form-actions,.availability-row-actions{flex-wrap:wrap;gap:8px;display:flex}.availability-row{background:#f8fafb;border:1px solid #dbe3ea;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.availability-row span{gap:4px;min-width:0;display:grid}.availability-row small{color:#667482;line-height:1.4}.availability-row-detailed .ghost-button{flex:none}.compact-heading{margin-bottom:0}.technicians-kpis{grid-template-columns:repeat(4,minmax(140px,1fr))}.simple-kpi{min-height:86px}.technician-actions{justify-content:flex-end}.toggle-row{grid-template-columns:20px minmax(0,1fr);align-items:center}.toggle-row input{width:18px;height:18px}.device-editor{background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;gap:8px;padding:12px;display:grid}.device-template-editor{gap:8px;padding-top:4px;display:grid}.device-template-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.backup-panel{gap:12px;display:grid}.nested-panel{background:#f8fafb;border-style:dashed;gap:12px;display:grid}.checkbox-label{grid-template-columns:18px minmax(0,1fr);align-items:center}.checkbox-label input{width:18px;height:18px}.inline-actions{flex-wrap:wrap;gap:10px;display:flex}.backup-panel p{margin:0}.import-message{color:#18734e;background:#e6f6ef;border-radius:8px;padding:10px 12px;font-weight:700}.catalog-import-warnings{gap:4px;margin-top:8px;display:grid}.catalog-import-warnings small{color:inherit;font-weight:600;display:block}.tool-divider{background:#dbe3ea;height:1px;margin:4px 0}.status.draft,.status.prepared{color:#526070;background:#eef3f5}.status.failed,.status.cancelled,.status.inactive{color:#992a2a;background:#ffe9e9}@media (width<=1060px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dbe3ea;border-right:0;height:auto;position:static}.sidebar nav,.sidebar-footer{display:flex;overflow-x:auto}.dashboard-grid,.details-layout,.protocol-layout,.client-layout,.technicians-layout,.template-library-layout,.template-library-grid,.template-attach-box{grid-template-columns:1fr}.kpi-grid,.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column}}@media (width<=620px){.main{padding:14px}.topbar h1{font-size:24px}.search{display:none}.kpi-grid,.detail-grid,.history-columns,.history-filter-grid,.photo-grid{grid-template-columns:1fr}.topbar-actions,.primary-button{width:100%}.job-meta,.row-panel,.list-row,.reminder-row{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;overflow-x:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,select,textarea{max-width:100%;font-size:16px}@media (width<=860px){.app-shell{background:#f5f7f9;min-height:100svh;display:block}.sidebar{z-index:30;border-bottom:1px solid #dbe3ea;border-right:0;gap:10px;height:auto;max-height:none;padding:10px 12px 12px;position:sticky;top:0;box-shadow:0 10px 28px #14202b14}.brand{min-height:42px}.brand-logo{width:min(172px,72vw);max-height:42px}.sidebar nav{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin:0;padding:2px 10px 4px 2px;scroll-padding-inline:20px;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.nav-button{white-space:nowrap;scroll-snap-align:center;background:#f5f7f9;border-radius:999px;flex:none;min-height:40px;padding:0 12px}.nav-button.active{color:#fff;background:#0c6270}.sidebar-footer{display:none}.main{width:100%;min-width:0;padding:14px 12px 28px}.topbar{gap:12px;margin-bottom:14px;display:grid}.topbar h1{font-size:clamp(22px,7vw,28px);line-height:1.12}.topbar p{margin-top:6px;font-size:13px;line-height:1.45}.topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.search{border-radius:14px;grid-column:1/-1;width:100%;min-width:0;height:46px}.primary-button,.secondary-button,.small-button,.file-button,.ghost-button{border-radius:14px;min-height:46px;padding:0 14px}.topbar-actions .primary-button,.topbar-actions .secondary-button{width:100%}.button-row,.photo-actions{grid-template-columns:1fr;width:100%;display:grid}.button-row>*,.photo-actions>*{width:100%}.dashboard-grid,.details-layout,.details-stack,.material-orders-layout,.protocol-layout,.client-layout,.client-main-layout,.technicians-layout,.content-grid{gap:12px;grid-template-columns:1fr!important}.panel,.job-card,.client-card,.material-order-card,.nested-panel,.list-row,.office-panel,.protocol-preview,.form-card,.summary-card{border-radius:18px;min-width:0}.panel{padding:14px}.status-flow{-webkit-overflow-scrolling:touch;gap:8px;margin:14px 0;padding-bottom:4px;display:flex;overflow-x:auto}.status-flow span{flex:0 0 132px;min-height:56px}.list-row,.job-card,.client-card,.material-order-card{gap:10px;display:grid}.list-row>*,.job-card>*,.client-card>*,.material-order-card>*{min-width:0}.list-row{align-items:start}.job-meta,.meta-row,.info-grid,.stats-grid,.cards-grid,.material-order-meta-grid,.material-order-item-stats,.detail-grid,.history-columns,.history-filter-grid,.photo-grid,.catalog-detail-grid,.filters-grid,.catalog-filters-grid,.template-library-layout,.template-library-grid,.template-library-filters{grid-template-columns:1fr!important}.email-card-head,.email-preview-meta,.client-card-head,.panel-heading,.catalog-pagination,.catalog-filter-actions,.technician-actions,.material-order-card-top{justify-content:flex-start;gap:10px;display:grid}.panel-heading>*,.catalog-pagination>*,.catalog-filter-actions>*,.technician-actions>*{width:100%}.office-panel,.sticky,.client-tools,.client-list-panel,.material-orders-sidebar{position:static;top:auto}.client-list{max-height:none;overflow-y:visible}.template-attach-box,.check-item-actions,.device-template-row,.priority-settings-row,.settings-inline-form,.material-order-item-head{grid-template-columns:1fr!important}.device-list,.catalog-material-list,.inline-actions,.material-orders-list{flex-wrap:wrap;display:flex}.device-list span,.catalog-material-list .secondary-button,.material-orders-list>*{width:100%}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrapper table{min-width:640px}.pdf-sheet{padding:18px}.pdf-header{gap:8px;display:grid}.signature-image{width:100%;height:76px}table{width:100%;min-width:640px}:is(.table-wrap,.table-scroll,.panel:has(table)){-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrapper th,.table-wrapper td{white-space:nowrap;padding:.65rem}.catalog-name-cell,.protocol-material-summary-item{min-width:220px}form,fieldset,label{min-width:0}input,select,textarea{border-radius:14px;width:100%;min-height:46px}textarea{min-height:110px}.material-orders-sidebar{order:2}.material-orders-main{order:1}.material-order-item{padding:14px}.material-order-item-head{align-items:start}.material-order-item-note{padding:10px 12px}.inline-actions,.button-row,.catalog-filter-actions,.technician-actions,.photo-actions{gap:8px}.inline-actions>*,.catalog-filter-actions>*,.technician-actions>*,.material-order-hero .button-row>*{width:100%}.office-panel .panel,.details-stack .panel,.material-orders-main .panel,.material-orders-sidebar .panel{overflow:hidden}.catalog-layout .details-stack{order:2}.catalog-layout .panel.wide{order:1}}@media (width<=520px){.main,.sidebar{padding-inline:10px}.nav-button{min-height:38px;padding-inline:11px;font-size:13px}.nav-button svg{width:16px;height:16px}.panel{padding:12px}.topbar-actions .primary-button{justify-content:center}.status-flow span{flex-basis:118px;font-size:12px}.detail-grid,.history-columns,.history-filter-grid,.photo-grid,.catalog-detail-grid,.kpi-grid{grid-template-columns:1fr!important}.client-card-head h2,.panel-heading h2,.email-card-head h2{font-size:18px;line-height:1.2}.panel-heading p,.helper-text,.protocol-card-note{font-size:12px}.pdf-sheet{padding:14px}.topbar-actions{grid-template-columns:1fr}.search{min-height:44px}.material-order-card-top strong,.material-order-item-head h3{font-size:15px}.job-card h2,.client-card-head h2{font-size:19px}}.calendar-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.calendar-heading{gap:.75rem;display:grid}.calendar-toolbar h2{margin:0 0 .3rem}.calendar-toolbar p{color:var(--muted);margin:0}.calendar-zoom-switch{flex-wrap:wrap;gap:.5rem;display:flex}.calendar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.calendar-scope-label{border:1px solid var(--border);min-height:42px;color:var(--text);background:#fff;border-radius:999px;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.calendar-grid-title{justify-content:flex-start;align-items:center;padding:0 .25rem;display:flex}.calendar-grid-title h3{color:#14202b;margin:0;font-size:1.1rem;line-height:1.2}.calendar-month-head{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;padding:0 .25rem;display:grid}.calendar-month-head span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:.78rem;font-weight:700}.calendar-free-day-label{color:#b42318}.calendar-month-grid,.calendar-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;display:grid}.calendar-day-tile,.calendar-summary-tile,.calendar-week-day{border:1px solid var(--border);width:100%;box-shadow:var(--shadow-soft);color:var(--text);text-align:left;background:#ffffffd1;border-radius:22px}.calendar-day-tile,.calendar-week-day{cursor:pointer;align-content:start;gap:.8rem;min-height:168px;padding:.9rem;display:grid}.calendar-day-tile:hover,.calendar-summary-tile:hover,.calendar-week-day:hover{border-color:var(--primary);box-shadow:0 12px 24px #0f172a14}.calendar-day-tile.outside-month{opacity:.55}.calendar-day-tile.free-day{background:linear-gradient(#fff8f7 0%,#ffffffeb 100%);border-color:#f1c7c2}.calendar-day-tile.has-conflicts,.calendar-week-day.has-conflicts{background:linear-gradient(#fffbeb 0%,#fffffff0 100%);border-color:#d9770673}.calendar-week-day.weekend,.calendar-week-day.holiday{background:linear-gradient(#fff4f2 0%,#fffffff0 100%);border-color:#e7a49c}.calendar-day-tile.weekend .calendar-day-tile-head strong,.calendar-day-tile.weekend .calendar-day-tile-head span,.calendar-day-tile.holiday .calendar-day-tile-head strong,.calendar-day-tile.holiday .calendar-day-tile-head span,.calendar-week-day.weekend .calendar-week-day-head strong,.calendar-week-day.weekend .calendar-week-day-head span,.calendar-week-day.holiday .calendar-week-day-head strong,.calendar-week-day.holiday .calendar-week-day-head span{color:#b42318}.calendar-day-tile.selected,.calendar-week-day.selected{background:#eef7f8;border-color:#0c6270}.calendar-day-tile.selected.free-day{background:linear-gradient(#fff1ef 0%,#ffe5e1 100%);border-color:#d16d62}.calendar-week-day.free-day{background:linear-gradient(#fff8f7 0%,#ffffffeb 100%);border-color:#f1c7c2}.calendar-week-day.selected.free-day{background:linear-gradient(#fff1ef 0%,#ffe5e1 100%);border-color:#d16d62}.calendar-day-tile-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.calendar-week-day-head{gap:.35rem;display:grid}.calendar-day-tile-head strong{font-size:1.35rem;line-height:1}.calendar-week-day-head strong{text-transform:capitalize;font-size:1rem;line-height:1.25}.calendar-day-tile-head span,.calendar-day-tile-stats span,.calendar-day-preview-job,.calendar-week-day-head span,.calendar-week-empty{color:var(--muted)}.calendar-conflict-summary{font-weight:700;color:#b45309!important}.calendar-day-tile-stats,.calendar-day-tile-preview{gap:.25rem;display:grid}.calendar-day-tile-preview{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;max-height:116px;padding-right:2px;overflow-y:auto}.calendar-day-preview-job{border:0;border-left:3px solid var(--border);width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:4px;padding:4px 4px 4px 6px;font-size:.78rem;line-height:1.35}.calendar-day-preview-job:hover,.calendar-day-preview-job:focus-visible{color:#14202b;background:#eef7f8;outline:none}.calendar-week-events{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;gap:.45rem;max-height:360px;padding-right:2px;display:grid;overflow-y:auto}.calendar-week-empty{border:1px dashed var(--border);background:#f8fafbe6;border-radius:14px;place-items:center;min-height:42px;font-size:.9rem;display:grid}.calendar-next-week-panel{gap:.85rem;display:grid}.calendar-next-week-actions{flex-wrap:wrap;gap:.75rem;display:flex}.calendar-next-week-actions>*{min-width:118px}.calendar-day-holiday-name{color:#b42318;min-height:1.25rem;font-size:.72rem;font-weight:700;line-height:1.25}.calendar-year-grid,.calendar-years-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:.75rem;display:grid}.calendar-summary-tile{align-content:start;gap:.45rem;min-height:126px;padding:1rem;display:grid}.calendar-summary-tile strong{color:#0c6270;text-transform:capitalize;font-size:1.02rem}.calendar-summary-tile span{color:var(--muted)}.calendar-selected-day-heading.free-day h2,.calendar-selected-day-heading.free-day p:first-of-type{color:#8f1d14}.calendar-holiday-note{color:#b42318;font-weight:700}.calendar-day-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-back-button{min-width:0}.calendar-events{gap:.55rem;display:grid}.calendar-day-layout .calendar-events{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;max-height:min(72vh,780px);padding-right:2px;overflow-y:auto}.calendar-event{border:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-left-width:4px;border-radius:16px;gap:.25rem;padding:.7rem;display:grid}.calendar-event:hover{border-color:var(--primary);box-shadow:0 12px 24px #0f172a14}.calendar-event.conflict-event{background:#fffbeb;border-color:#d9770673}.calendar-event.conflict-event:hover{border-color:#d97706}.calendar-event-time{color:var(--primary);font-size:.82rem;font-weight:800}.calendar-event small{color:var(--muted);line-height:1.35}.calendar-conflict-note{color:#b45309;font-weight:700}.calendar-day-layout{grid-template-columns:minmax(0,1fr)}@media (width<=1180px){.calendar-week-grid,.calendar-month-grid,.calendar-month-head{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-year-grid,.calendar-years-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (width<=760px){.calendar-toolbar{display:grid}.calendar-actions{justify-content:stretch}.calendar-actions>*{flex:1}.calendar-grid-title{padding:0}.calendar-week-grid,.calendar-month-head,.calendar-month-grid,.calendar-year-grid,.calendar-years-grid{grid-template-columns:1fr}.calendar-day-actions{grid-template-columns:1fr;width:100%;display:grid}.calendar-day-actions>*{width:100%}.calendar-week-events{max-height:260px}.calendar-day-tile-preview{max-height:180px}.calendar-day-layout .calendar-events{max-height:calc(100svh - 260px)}.calendar-next-week-actions{grid-template-columns:1fr;display:grid}.calendar-next-week-actions>*{width:100%}}.availability-event{background:#fff7ed;border-style:dashed}.availability-event .calendar-event-time{color:#c2410c}.kanban-board{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(280px,320px);grid-auto-flow:column;align-items:start;gap:.85rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.kanban-column{border:1px solid var(--border);min-height:320px;max-height:min(72vh,780px);box-shadow:var(--shadow-soft);scroll-snap-align:start;background:#ffffffd1;border-radius:22px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.kanban-column header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}.kanban-column h2{margin:0;font-size:1rem}.kanban-column header small{color:var(--muted);margin-top:.25rem;line-height:1.35;display:block}.kanban-column header strong{min-width:2rem;height:2rem;color:var(--primary);background:#e0f2fe;border-radius:999px;place-items:center;display:grid}.kanban-cards{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;align-content:start;gap:.65rem;min-height:0;padding:.75rem;display:grid;overflow-y:auto}.kanban-card{border:1px solid var(--border);background:#fff;border-left-width:5px;border-radius:18px;gap:.55rem;padding:.7rem;display:grid}.kanban-card.has-conflict{background:linear-gradient(#fffbeb 0%,#fff 100%);border-color:#d9770673}.kanban-card-main{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;gap:.3rem;padding:0;display:grid}.kanban-card-main h3{margin:0;font-size:.95rem}.kanban-card-main small,.kanban-empty{color:var(--muted)}.kanban-move-control,.kanban-position-field{gap:6px;display:grid}.kanban-move-control span,.kanban-position-field span{color:#667482;font-size:12px;font-weight:700}.kanban-move-control select,.kanban-position-field select{background:#f8fafb;border-radius:12px;min-height:38px}.kanban-settings-list{gap:12px;display:grid}.kanban-settings-card{gap:12px}.kanban-settings-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.kanban-settings-card-head strong{color:#0c6270}.kanban-settings-card-head span{color:#667482;margin-top:4px;font-size:14px;line-height:1.45;display:block}.kanban-settings-card-head .kanban-position-field{min-width:104px}.kanban-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=760px){.kanban-board{grid-auto-columns:minmax(260px,86vw)}.kanban-column{max-height:calc(100svh - 260px)}.kanban-settings-grid{grid-template-columns:1fr}}.ghost-button.danger,.secondary-button.danger,.small-button.danger{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;font-weight:800}.ghost-button.danger:hover,.secondary-button.danger:hover,.small-button.danger:hover{color:#7f1d1d;background:#fee2e2;border-color:#f87171}.filters-grid{grid-template-columns:minmax(240px,1fr) minmax(180px,260px) auto;align-items:end;gap:1rem;display:grid}.catalog-material-picker{gap:.75rem;display:grid}.catalog-material-list{flex-wrap:wrap;gap:.5rem;display:flex}.catalog-quantity-stepper{background:#f8fbfc;border:1px solid #cfe0e6;border-radius:999px;align-items:center;gap:.5rem;padding:.2rem .25rem;display:inline-flex}.catalog-quantity-input{color:#14202b;text-align:center;background:#fff;border:1px solid #cfe0e6;border-radius:8px;width:4rem;min-width:4rem;height:2rem;padding:0 .35rem;font-size:1rem;font-weight:800;line-height:1}.catalog-quantity-input:focus{outline-offset:1px;border-color:#0c6270;outline:2px solid #0c627033}.catalog-order-controls{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.catalog-order-index{color:#667482;text-align:center;min-width:1.4rem;font-size:.85rem;font-weight:800}.catalog-order-button{color:#0c6270;cursor:pointer;background:#fff;border:1px solid #cfe0e6;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.catalog-order-button:hover:not(:disabled){background:#e8f3f5;border-color:#0c6270}.catalog-order-button:disabled{color:#94a3ad;cursor:not-allowed;background:#eef3f6}.catalog-stepper-button{color:#fff;cursor:pointer;background:#0c6270;border:1px solid #0c6270;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.1rem;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0c62702e}.catalog-stepper-button:hover:not(:disabled){background:#094c56;border-color:#094c56}.catalog-stepper-button:disabled{color:#94a3ad;cursor:not-allowed;box-shadow:none;background:#eef3f6;border-color:#d4dde3}.catalog-material-list .secondary-button{text-align:left;flex-direction:row;align-items:flex-start;min-height:auto;padding:.65rem .8rem}.catalog-material-list .secondary-button small{color:#667482;font-size:.8rem;font-weight:600}.catalog-suggestion-card{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.catalog-suggestion-thumb{color:#0c6270;background:#dff0f3;border-radius:14px;flex:0 0 64px;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.catalog-suggestion-thumb .catalog-row-thumb{width:100%;height:100%}.catalog-suggestion-content{gap:6px;min-width:0;display:grid}.catalog-suggestion-content>span{font-weight:700;line-height:1.35}.catalog-layout{align-items:start}.catalog-filters-grid{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,220px)) auto}.catalog-filter-actions{justify-content:flex-end;display:flex}.checkbox-row{color:#14202b;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.checkbox-row input[type=checkbox]{accent-color:#0c6270;width:18px;height:18px}.catalog-name-cell{align-items:flex-start;gap:10px;display:flex}.catalog-row-icon{color:#0c6270;background:#eaf3f4;border-radius:10px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.catalog-row-thumb{object-fit:cover;width:100%;height:100%;display:block}.catalog-category-pill{color:#41505d;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;max-width:160px;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.catalog-row-active{background:#f4fbff}.catalog-row-active td{border-bottom-color:#cbe6f5}.catalog-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.details-stack{align-content:start;gap:1rem;display:grid}.compact-empty{padding:1.5rem 1rem}.catalog-detail{gap:1rem;display:grid}.catalog-detail h3{margin:0}.catalog-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.catalog-detail-field{border:1px solid var(--border);background:#fbfdff;border-radius:10px;gap:.2rem;padding:.7rem .85rem;display:grid}.catalog-detail-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.catalog-detail-section{gap:.6rem;display:grid}.catalog-detail-section h4,.catalog-detail-section p{margin:0}@media (width<=760px){.protocol-materials-table table,.protocol-materials-table thead,.protocol-materials-table tbody,.protocol-materials-table tr,.protocol-materials-table th,.protocol-materials-table td{display:block}.protocol-materials-table thead{display:none}.protocol-materials-table tbody{gap:.85rem;display:grid}.protocol-materials-table tr{background:#fbfdfe;border:1px solid #dbe7ec;border-radius:16px;padding:.9rem}.protocol-materials-table td{border:0;grid-template-columns:minmax(88px,108px) minmax(0,1fr);align-items:center;gap:.75rem;padding:.35rem 0;display:grid}.protocol-materials-table td:before{content:attr(data-label);color:#667482;letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;font-weight:800}.protocol-materials-table td[data-label=Nazwa]{grid-template-columns:1fr;padding-top:0}.protocol-materials-table td[data-label=Nazwa]:before{display:none}.protocol-materials-table .catalog-name-cell{align-items:center}.protocol-materials-table td[data-label=Akcje]{grid-template-columns:1fr;padding-bottom:0}.protocol-materials-table td[data-label=Akcje]:before{display:none}.protocol-materials-table td[data-label=Akcje] .ghost-button{justify-content:center;width:100%}.protocol-materials-table .catalog-quantity-stepper{justify-self:start}}.catalog-link-list{gap:.35rem;display:grid}.catalog-link-list a{overflow-wrap:anywhere}.catalog-image-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.catalog-image-link{aspect-ratio:1;background:#f8fafb;border:1px solid #dbe3ea;border-radius:12px;display:block;overflow:hidden}.catalog-image-link img{object-fit:cover;width:100%;height:100%;display:block}.catalog-parameter-list{gap:.45rem;display:grid}.catalog-parameter-row{border:1px solid var(--border);background:#fbfdff;border-radius:10px;justify-content:space-between;gap:1rem;padding:.65rem .8rem;display:flex}.catalog-import-panel,.catalog-import-summary,.catalog-import-progress{gap:.6rem;display:grid}.catalog-import-summary small,.catalog-import-progress small{color:var(--muted)}.catalog-import-progress progress{width:100%;height:12px}.table-wrapper{overflow-x:auto}.table-wrapper table{border-collapse:collapse;width:100%}.table-wrapper th,.table-wrapper td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.75rem}.table-wrapper td small{color:var(--muted);margin-top:.25rem;display:block}.empty-state{color:var(--muted);text-align:center;justify-items:center;gap:.5rem;padding:2rem;display:grid}.protocol-card-summary{gap:10px;display:grid}.protocol-card-mail-row{flex-wrap:wrap;gap:8px;display:flex}.protocol-card-note,.helper-text{color:#667482;margin:0;font-size:13px;line-height:1.45}.protocol-material-summary-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.protocol-material-summary-item{align-items:center;gap:10px;display:flex}.material-order-hero{background:radial-gradient(circle at 100% 0,#0c627014,#0000 36%),linear-gradient(#fff 0%,#f8fbfc 100%)}.material-order-meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.material-orders-list-filter{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.material-order-items-panel{gap:14px;display:grid}.material-order-add-row{background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(96px,120px) minmax(90px,120px) auto;align-items:end;gap:10px;padding:12px;display:grid}.material-order-catalog-bar{background:#f8fafb;border:1px solid #dbe3ea;border-radius:8px;gap:12px;padding:12px;display:grid}.material-order-catalog-head{grid-template-columns:minmax(0,1fr) minmax(96px,120px);align-items:end;gap:10px;display:grid}.material-order-catalog-head strong,.material-order-catalog-selected-title{color:#14202b;font-weight:800;display:block}.material-order-catalog-head small,.material-order-catalog-bar>small,.material-order-catalog-chip small{color:#667482}.material-order-catalog-search{min-width:0}.material-order-catalog-results{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.material-order-catalog-result{text-align:left;grid-template-columns:44px minmax(0,1fr) auto;justify-content:stretch;width:100%}.material-order-catalog-result .catalog-suggestion-thumb{border-radius:10px;flex-basis:44px;width:44px;height:44px}.material-order-catalog-selected{gap:8px;display:grid}.material-order-catalog-chip{background:#fff;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.material-order-catalog-chip-copy{gap:2px;min-width:0;display:grid}.material-order-catalog-chip-copy strong,.material-order-catalog-chip-copy small,.material-order-catalog-result .catalog-suggestion-content>span,.material-order-catalog-result .catalog-suggestion-content small{overflow-wrap:anywhere}.material-order-filter-empty{margin:0}.material-order-items-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.material-order-item{background:#fbfdfe;border:1px solid #dbe3ea;border-radius:12px;gap:14px;padding:16px;display:grid}.material-order-item-head{align-items:flex-start;gap:12px;display:flex}.material-order-item-head .catalog-row-icon{border-radius:12px;flex:0 0 44px;width:44px;height:44px}.material-order-item-head-copy{min-width:0}.material-order-item-head h3{margin:0 0 4px;font-size:17px;line-height:1.3}.material-order-item-head p{color:#667482;margin:0}.material-order-item-index{color:#0c6270;background:#eaf3f4;border-radius:999px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.material-order-item-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.material-order-flow-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.material-flow-chip{color:#52606d;background:#f8fafb;border:1px solid #dbe3ea;border-radius:12px;gap:2px;padding:10px 12px;font-size:12px;font-weight:700;display:grid}.material-flow-chip strong{color:#14202b;font-size:16px;line-height:1}.material-flow-chip.warning{color:#b45309;background:#fff7ed;border-color:#fdba74}.material-flow-chip.success{color:#15803d;background:#f0fdf4;border-color:#86efac}.material-flow-chip.info{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.material-order-section-label{color:#52606d;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px;font-weight:800}.material-order-item-note{color:#41505d;background:#f2f6f8;border-radius:10px;margin:0;padding:12px 14px;line-height:1.5}.material-order-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.material-order-progress-grid label,.material-order-item-note-editor{color:#52606d;gap:6px;font-size:13px;display:grid}.material-order-progress-grid input,.material-order-progress-grid select,.material-order-item-note-editor textarea{width:100%}.material-order-item-note-editor textarea{resize:vertical;min-height:88px}.material-order-primary-action{flex-wrap:wrap;gap:10px;display:flex}.material-order-advanced{gap:10px;padding-top:4px;display:grid}.material-order-advanced summary{cursor:pointer;color:#52606d;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}@media (width<=780px){.filters-grid,.catalog-detail-grid{grid-template-columns:1fr}.catalog-parameter-row,.catalog-pagination{flex-direction:column;align-items:flex-start}.material-order-items-grid,.material-order-flow-strip,.material-order-item-stats,.material-order-progress-grid,.material-order-add-row,.material-order-catalog-head,.material-order-catalog-chip,.task-form-grid,.material-order-catalog-results{grid-template-columns:1fr}.material-order-catalog-result{grid-template-columns:44px minmax(0,1fr)}.material-order-catalog-result>svg{display:none}.material-order-card-top,.material-order-item-head{display:grid}.material-order-card .job-meta{gap:6px;display:grid}.material-order-item{gap:12px;padding:14px}.material-order-item-head .catalog-row-icon{flex-basis:52px;width:52px;height:52px}.material-order-flow-strip{gap:6px}.material-flow-chip{padding:9px 10px}.material-flow-chip strong{font-size:15px}.material-orders-list-filter{grid-template-columns:1fr;display:grid}.material-order-progress-grid label,.material-order-item-note-editor{font-size:12px}}.logout-stack{justify-items:end;gap:4px;display:grid}.logout-stack .ghost-button{justify-self:start}.logout-stack span,.logout-stack .brand-link{color:var(--muted);font-size:12px}.logout-stack .brand-link{text-decoration:none;transition:color .16s,opacity .16s}.logout-stack .brand-link:hover,.logout-stack .brand-link:focus-visible{color:var(--accent);text-decoration:underline}
