:root{--brand-turquoise:#9dd0c3;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-lg: 16px;--font-size-xl: 20px;--line-height-sm: 1.2;--line-height-md: 1.35;--line-height-lg: 1.5;--brand:#22c7b8;--brand2:#0ea5a8;--bg:#eef3f6;--bg-soft:#0f172a;--panel:#ffffff;--panel-soft:#f7fbfb;--text:#0f172a;--muted:#64748b;--sidebar-text:#e5e7eb;--sidebar-muted:rgba(229,231,235,.72);--line:#e5e7eb;--line2:#eef2f7;--danger:#ef4444;--warning:#f59e0b;--success:#16a34a;--radius:10px;--radius-sm:8px;--radius-control: 10px;--radius-panel: 14px;--table-font-size: 12px;--table-number-size: 11px;--table-percent-size: 9px;--table-header-bg: #f5f9fb;--table-percent-bg: #faf3dc;--table-percent-text: #735b23;--table-result-bg: #183d47;--danger-text: #991b1b;--danger-bg: #fff1f2;--focus-ring: 0 0 0 3px rgba(34,199,184,.24);--shadow:0 1px 2px rgba(15,23,42,.04);--shadow-sm:0 1px 2px rgba(15,23,42,.06);--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";--bg-card: var(--panel);--text-main: var(--text);--text-muted: var(--muted);--border: var(--line);--control-height: 38px;--control-height-sm: 30px;--workspace-bg:#ffffff;--workspace-alt:#f7fafb;--ui-border:#d9e3e8;--ui-border-soft:#edf2f5;--ui-section:#f8fbfc;--ui-hover:rgba(34,199,184,.06);--ui-divider:#edf2f5;--ui-quiet:#f9fbfc}@media(max-width:760px){:root{--control-height: 42px;--control-height-sm: 36px}}*{box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(900px 360px at 16% -5%,#22c7b82e,#22c7b800 60%),radial-gradient(800px 340px at 86% 0%,#0ea5a81f,#0ea5a800 55%),linear-gradient(180deg,#f8fbfc,#eef3f6)}body.pageProduction .content{height:100vh;padding:10px;overflow:hidden}body.pageProduction .content-inner{max-width:100%;height:100%}body.pageProduction .page{height:100%;padding:10px;overflow:hidden}@media(max-width:980px){body.pageProduction .content{height:auto;min-height:100vh;overflow:visible}body.pageProduction .content-inner,body.pageProduction .page{height:auto;overflow:visible}}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}hr{border:none;border-top:1px solid var(--line);margin:10px 0}.app-shell{display:flex;min-height:100vh;min-width:0}.sidebar{width:252px;padding:18px 14px;background:radial-gradient(380px 220px at 30% 0%,#22c7b824,#22c7b800 70%),linear-gradient(180deg,#0f172af5,#020617fa);border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;height:100vh;overflow:auto}.sidebar-brand{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 10px 14px;margin-bottom:10px}.brand-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand-top-actions{display:flex;align-items:center;gap:8px}.brand-identity{min-width:0;display:flex;align-items:center;gap:10px}.brand-text-wrap{min-width:0;display:grid;gap:2px}.brand-mark{width:36px;height:36px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 18px #02061759;position:relative;overflow:hidden}.brand-logo-img{width:100%;height:100%;object-fit:cover;display:flex}.brand-text{color:var(--sidebar-text);font-weight:900;letter-spacing:-.4px;line-height:1.05}.brand-user-name{max-width:160px;color:var(--sidebar-muted);font-size:12px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:8px}.brand-settings{position:relative}.brand-settings>summary{list-style:none;cursor:pointer;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#e5e7ebf2;display:grid;place-items:center;font-size:14px;line-height:1;background:#22c7b838;box-shadow:inset 0 0 0 1px #ffffff14;padding:0}.brand-gear{display:block;font-size:18px;line-height:1;font-family:Segoe UI Symbol,"Noto Color Emoji",sans-serif;transform:translateY(-.5px)}.brand-icon-btn{list-style:none;cursor:pointer;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#e5e7ebf2;display:grid;place-items:center;font-size:14px;line-height:1;background:#ffffff0f;padding:0}.brand-icon-btn-settings{border-color:#22c7b88c;background:linear-gradient(135deg,#22c7b8eb,#0ea5a8e0);color:#fff;box-shadow:0 8px 18px #22c7b847}.brand-icon-btn:hover{background:#ffffff1f}.brand-icon-btn-settings:hover{background:linear-gradient(135deg,#5eead4fa,#22c5c2f0)}.brand-icon-btn-danger{border-color:#ef4444a6;background:#ef4444;color:#fff;font-weight:900}.brand-icon-btn-danger:hover{background:#dc2626}.brand-settings>summary::-webkit-details-marker{display:none}.brand-settings-menu{position:absolute;top:30px;right:0;min-width:140px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#020617f5;box-shadow:0 10px 24px #00000057;padding:6px;z-index:30}.brand-settings-link{display:block;border-radius:8px;padding:8px 10px;color:var(--sidebar-text);font-weight:700;font-size:12.5px}.brand-settings-link:hover{background:#22c7b829}.sidebar-home-btn{width:64px;min-width:64px;height:28px;padding:0 8px;justify-content:flex-start;border-color:#22c7b84d;background:#ffffff14;color:var(--sidebar-text);box-shadow:none;font-size:12px}.sidebar-home-btn:hover{border-color:#22c7b87a;background:#22c7b824}.sidebar-nav{padding:4px 6px 10px}.sidebar-menu{display:flex;flex-direction:column;gap:10px}.sidebar-accordion{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff08;overflow:hidden}.sidebar-accordion.open{border-color:#22c7b83d;box-shadow:0 10px 24px #22c7b814}.sidebar-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:none;background:transparent;color:var(--sidebar-text);font-weight:850;font-size:12.5px;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.sidebar-accordion-trigger:hover{background:#ffffff0f}.sidebar-accordion-trigger.route-active{background:#22c7b824;color:#f8fafc}.sidebar-accordion-arrow{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#e5e7ebeb;font-size:14px;line-height:1}.sidebar-accordion-panel{display:grid;gap:4px;padding:0 8px 8px}.sidebar-section{display:flex;flex-direction:column;gap:6px;padding-left:10px;border-left:1px solid rgba(255,255,255,.1)}.sidebar-section-title{padding:8px 10px 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e5e7ebad}.sidebar-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;color:var(--sidebar-text);font-weight:700;font-size:13px;transition:background .14s ease,transform .06s ease,color .14s ease,box-shadow .14s ease;border:1px solid transparent}.sidebar-link:hover{background:#ffffff0f;border-color:#ffffff1a}.sidebar-link.active{background:#22c7b829;border-color:#22c7b84d;box-shadow:0 10px 24px #22c7b81a}.sidebar-link.has-sidebar-alert{border-color:#f59e0b5c}.sidebar-link.has-sidebar-alert>span:first-child{min-width:0}.sidebar-alert-badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#f97316;color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 8px 18px #f973163d}.sidebar-subnav{margin-left:8px;padding-left:10px;border-left:1px solid rgba(255,255,255,.1)}.sidebar-sublink{font-size:12.5px;padding:9px 12px;color:#e5e7ebeb}.sep{border:none;border-top:1px solid rgba(255,255,255,.1);margin:10px 4px}.content{flex:1;padding:18px 18px 80px;min-width:0;overflow-x:hidden;overflow-x:clip}.content-inner{max-width:1240px;margin:0 auto;min-width:0}.page{background:#fffffff5;border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:var(--shadow);padding:16px;min-width:0}.page-title{font-size:26px;font-weight:900;letter-spacing:-.6px;margin:0 0 4px}.page-subtitle{color:var(--muted);font-size:13px;margin:0 0 14px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.toolbar-search{flex:1;min-width:320px}.mobile-shell-bar{display:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);padding:var(--space-4)}.stat-card{min-width:190px;flex:1 1 190px}.stat-card-label{font-size:var(--font-size-sm);color:var(--text-muted)}.stat-card-value{font-size:24px;font-weight:900;margin-top:6px;color:var(--text-main)}.stat-card-hint{margin-top:6px;font-size:var(--font-size-sm);color:var(--text-muted)}.stat-card.is-danger .stat-card-value{color:var(--danger)}.stat-card.is-warning .stat-card-value{color:var(--warning)}.stat-card.is-success .stat-card-value{color:var(--success)}.catalog-page{max-width:1200px}.catalog-head{margin-bottom:12px;align-items:flex-start}.catalog-head .page-title{margin-bottom:2px}.catalog-filters{margin-bottom:10px}.catalog-filters .toolbar-search{min-width:360px}.auth-login-shell{width:min(420px,calc(100% - 32px));margin:80px auto;padding:24px}.auth-login-brand{margin-bottom:10px;font-size:22px;font-weight:900}.auth-login-intro{margin-bottom:12px;color:var(--text-muted)}.auth-login-help{margin-bottom:12px;color:var(--text-muted);font-size:12px;line-height:1.45}.auth-login-form{display:grid;gap:10px;margin-top:18px}.auth-login-form input{width:100%;min-width:0;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}.auth-login-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.auth-login-submit,.auth-login-passkey{min-height:44px;font-weight:800}.auth-login-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;color:var(--text-muted);font-size:12px}.auth-login-divider:before,.auth-login-divider:after{height:1px;background:var(--border);content:""}.auth-login-error{color:var(--danger);font-size:12px}.session-lock-passkey{width:100%;min-height:44px;margin-top:10px;border:1px solid rgba(94,234,212,.42);border-radius:12px;background:#14b8a61f;color:#ccfbf1;font-weight:900;cursor:pointer}.session-lock-passkey:disabled{cursor:default;opacity:.65}@media(max-width:600px){.auth-login-shell{margin:24px auto;padding:20px}}.view-shell{display:grid;gap:16px;width:100%}.view-shell.is-narrow{max-width:1180px}.view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.view-header-main{min-width:0}.view-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.view-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.view-toolbar>.toolbar-search{flex:1 1 320px}.surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);padding:16px}.surface-muted{background:#0f172a06}.surface-danger{border-color:#ef444438;background:#ef44440d}.surface-warning{border-color:#f59e0b3d;background:#f59e0b14}.surface-success{border-color:#16a34a38;background:#16a34a0f}.surface-title{margin:0 0 6px;font-size:18px;font-weight:900;letter-spacing:-.25px}.surface-subtitle{margin:0;font-size:12.5px;color:var(--muted)}.section-stack,.section-grid{display:grid;gap:12px}.section-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{display:grid;gap:12px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:grid;gap:4px;min-width:0}.field-label{font-size:12px;font-weight:700;color:var(--muted)}.field-hint{font-size:11px;color:var(--muted)}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ingredients-modal-stack{gap:18px}.ingredients-modal-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.ingredients-modal-toggle{gap:8px}.ingredients-modal-checkbox{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--text)}.ingredients-modal-checkbox input{width:16px;height:16px}.ingredients-modal-tech-head{display:grid;gap:4px;margin-bottom:2px}.ingredients-modal-tech-title{font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.01em}.ingredients-modal-tech-subtitle{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:2px}.recipe-procedure{display:grid;gap:12px}.recipe-procedure-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.recipe-procedure-title{font-size:14px;font-weight:900;color:var(--text);letter-spacing:0}.recipe-procedure-list{display:grid;gap:12px}.recipe-procedure-step{display:grid;gap:10px;padding:12px;border:1px solid rgba(15,23,42,.09);border-radius:12px;background:#f8fafcb8}.recipe-procedure-step-top{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center}.recipe-procedure-number{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#22c7b824;color:var(--brand-strong);font-weight:900}.recipe-procedure-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.recipe-procedure-ingredients{display:grid;gap:6px}.recipe-procedure-chips{display:flex;flex-wrap:wrap;gap:6px}.recipe-procedure-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:11px;font-weight:800;color:var(--text-muted);cursor:pointer}.recipe-procedure-chip input{width:13px;height:13px}.recipe-procedure-chip.is-selected{border-color:#22c7b875;background:#22c7b81c;color:var(--text)}.recipe-procedure-empty{padding:12px;border:1px dashed rgba(15,23,42,.18);border-radius:12px;color:var(--muted);background:#f8fafcb8}.sector-news-featured-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sector-news-card,.sector-news-list-item{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.sector-news-card.is-high{border-color:#b91c1c2e;background:linear-gradient(180deg,#fef2f2f5,#fffffffa)}.sector-news-card.is-medium{border-color:#d977062e;background:linear-gradient(180deg,#fffbebf5,#fffffffa)}.sector-news-card.is-low{border-color:#0284c72e;background:linear-gradient(180deg,#f0f9fff5,#fffffffa)}.sector-news-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sector-news-impact-chip,.sector-news-featured-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.sector-news-impact-chip.is-high{background:#fee2e2f2;color:#b91c1c}.sector-news-impact-chip.is-medium{background:#fef3c7f2;color:#b45309}.sector-news-impact-chip.is-low{background:#e0f2fef2;color:#0369a1}.sector-news-featured-badge{background:#dcfce7f2;color:#166534}.sector-news-meta{font-size:12px;color:var(--muted)}.sector-news-title{margin:0;font-size:18px;font-weight:900;letter-spacing:-.02em;color:var(--text)}.sector-news-why{font-size:13px;color:var(--text);font-weight:600}.sector-news-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sector-news-list{display:grid;gap:10px}.sector-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sector-news-saved-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:#dcfce7f2;color:#166534}.sector-news-read-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:#eff6fff2;color:#1d4ed8}.sector-radar-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.sector-radar-big-number{font-size:34px;line-height:1;font-weight:900;letter-spacing:-.03em;color:var(--text)}@media(max-width:980px){.sector-news-grid{grid-template-columns:1fr}}.employee-detail-split{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:14px;align-items:start}.employee-detail-card{display:grid;gap:12px}.employee-detail-card-title{margin-bottom:0}.employee-detail-card-body{display:grid;gap:12px}.employee-detail-card-schedule{position:sticky;top:12px}.employee-general-compact{display:grid;gap:10px}.employee-general-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:10px;align-items:start}.employee-general-panels-single{grid-template-columns:minmax(0,1fr)}.employee-general-compact .surface{padding:12px}.employee-general-compact .form-grid{gap:10px}.employee-general-head-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,.8fr);align-items:start}.employee-general-contract-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1.15fr) minmax(120px,.85fr);align-items:start}.employee-general-vacation-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.employee-general-vacation-full{grid-column:1 / -1}.employee-general-vacation-period-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.2fr);align-items:start}.employee-general-compact .field{gap:3px;min-width:0}.employee-general-compact .field-label{font-size:11px}.employee-general-compact .field-hint,.employee-general-compact .helper-text{font-size:10.5px;line-height:1.25}.employee-general-compact .input{width:100%;min-width:0;min-height:36px;padding:6px 10px}.employee-general-compact .badge{padding:2px 8px;font-size:10.5px}.employee-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.employee-admin-card{display:grid;gap:10px;align-content:start;min-width:0}.employee-compact-card{gap:8px}.employee-compact-card .input{min-height:34px;padding:5px 10px}.employee-details-card{gap:6px}.employee-details-card .surface-title{font-size:17px!important}.employee-details-card .field-label{font-size:10.5px}.employee-details-card .input{min-height:32px;padding:4px 10px}.employee-details-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 8px;align-items:end}.employee-field-span-2{grid-column:span 2}.employee-identity-grid-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.95fr);gap:8px}.employee-identity-grid-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}.employee-contract-grid-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.employee-contract-grid-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.employee-admin-card-full{grid-column:1 / -1}.employee-header-status{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:var(--control-height);padding:0 14px;border-radius:18px}.employee-header-status input{margin:0}.employee-header-picker{min-width:320px;min-height:var(--control-height);padding:0 14px;border:1px solid var(--line);border-radius:18px;background:#fffffff5;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px}.employee-header-picker-label{font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}.employee-header-picker-select{flex:1;min-width:0;height:100%;border:none;background:transparent;box-shadow:none;padding:0;font:inherit}.employee-cost-card{gap:6px}.employee-cost-helper{max-width:900px}.employee-cost-section-title{font-size:12px;font-weight:800;line-height:1.2;margin-top:2px}.employee-cost-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;align-items:end}.employee-cost-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.employee-cost-stats-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-cost-stat{display:grid;gap:4px;align-content:start;min-width:0;padding:10px}.employee-cost-stat strong{font-size:15px;line-height:1.15}.employee-cost-summary{display:grid;gap:4px;padding:10px 12px}.employee-cost-card .input{min-height:34px;padding:5px 10px}.employee-cost-card .surface{padding:10px}.employee-admin-card .surface-title{line-height:1.1}.employee-vacation-period{display:grid;gap:6px;padding:8px 10px}.employee-schedule-sidebar,.employee-schedule-sidebar .surface{min-width:0}.employee-schedule-sidebar .employee-schedule-period-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-day-editor-sticky{position:sticky;top:12px;z-index:2}.employee-schedule-dedicated-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start;min-width:0}.employee-schedule-calendar-board{min-width:0;max-width:none}.employee-schedule-side-stack.is-dedicated{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.employee-schedule-side-stack.is-dedicated .employee-day-editor-sticky{position:static}.employee-schedule-grid-wrap{min-width:0;overflow-x:auto;padding-bottom:4px}.employee-schedule-grid-wrap .employee-schedule-header,.employee-schedule-grid-wrap .employee-schedule-row{min-width:620px}@media(max-width:1200px){.employee-schedule-dedicated-layout{grid-template-columns:1fr}.employee-schedule-calendar-board{max-width:none}.employee-day-editor-sticky{position:static}.employee-general-panels{grid-template-columns:1fr}.employee-general-head-grid,.employee-general-contract-grid,.employee-general-vacation-grid,.employee-general-vacation-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.employee-general-head-grid,.employee-general-contract-grid,.employee-general-vacation-grid,.employee-general-vacation-period-grid,.employee-identity-grid-top,.employee-identity-grid-bottom,.employee-contract-grid-top,.employee-contract-grid-bottom,.employee-cost-input-grid,.employee-cost-stats-grid{grid-template-columns:1fr}}.mobile-card-list{display:grid;gap:12px}.mobile-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px;display:grid;gap:10px}.mobile-card-title{font-size:17px;font-weight:900;line-height:1.2;letter-spacing:-.2px}.mobile-card-meta{font-size:12px;color:var(--muted)}.mobile-card-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:13px}.mobile-card-actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:800;line-height:1.1}.badge-muted{background:#0f172a0a;color:var(--muted)}.badge-success{background:#16a34a1a;color:#166534;border-color:#16a34a33}.badge-warning{background:#f59e0b1f;color:#92400e;border-color:#f59e0b3d}.badge-danger{background:#ef44441a;color:#991b1b;border-color:#ef444433}.allergen-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.allergen-badge{background:#b4530914;border-color:#b453092e;color:#8a3c03}.allergen-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}.allergen-option{display:flex;align-items:center;gap:8px;min-height:40px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffb8;cursor:pointer}.allergen-option.is-selected{border-color:#b4530947;background:#f59e0b1a}.allergen-option input{margin:0}.table-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.metric-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ingredients-fresh-cell{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.ingredients-fresh-cell .badge{padding:2px 7px;font-size:10.5px}.ingredients-fresh-date{font-size:11px;color:var(--muted);line-height:1}.ingredients-allergen-flag{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid #94a3b8;border-radius:4px;background:#fff;color:#16a34a;font-size:14px;line-height:1;font-weight:900}.ingredients-allergen-flag.is-checked{border-color:#16a34a;background:#ecfdf5}.helper-text{font-size:12px;color:var(--muted)}.employee-schedule-header{display:grid;gap:8px;align-items:center}.employee-schedule-header>:nth-child(1){grid-column:1}.employee-schedule-header>:nth-child(2){grid-column:2}.employee-schedule-header>:nth-child(3),.employee-schedule-header>:nth-child(4),.employee-schedule-header>:nth-child(5),.employee-schedule-header>:nth-child(8),.employee-schedule-header>:nth-child(9){position:relative;color:transparent}.employee-schedule-header>:nth-child(3){grid-column:3}.employee-schedule-header>:nth-child(4){grid-column:4}.employee-schedule-header>:nth-child(5){grid-column:5}.employee-schedule-header>:nth-child(3):after{content:"Matu00ed";color:var(--muted);position:absolute;inset:0}.employee-schedule-header>:nth-child(4):after{content:"Inici";color:var(--muted);position:absolute;inset:0}.employee-schedule-header>:nth-child(5):after{content:"Fi";color:var(--muted);position:absolute;inset:0}.employee-schedule-row{grid-template-rows:auto auto}.employee-schedule-row:before{grid-column:3;grid-row:1;color:var(--text);font-size:14px;font-weight:800}.employee-schedule-row>:nth-child(1){grid-column:1;grid-row:1 / span 2}.employee-schedule-row>:nth-child(2){grid-column:2;grid-row:1 / span 2;justify-content:center}.employee-schedule-row>:nth-child(3){grid-column:4}.employee-schedule-row>:nth-child(5){justify-content:flex-start;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.employee-schedule-row>:nth-child(5):after{content:"Tarda"}.employee-schedule-row>:nth-child(6){grid-column:4}.employee-schedule-header>:nth-child(3),.employee-schedule-header>:nth-child(4),.employee-schedule-header>:nth-child(5),.employee-schedule-header>:nth-child(6),.employee-schedule-header>:nth-child(7),.employee-schedule-header>:nth-child(8),.employee-schedule-header>:nth-child(9),.employee-schedule-header>:nth-child(10){position:relative;color:transparent}.employee-schedule-header>:nth-child(6),.employee-schedule-header>:nth-child(7){display:block}.employee-schedule-header>:nth-child(6){grid-column:6}.employee-schedule-header>:nth-child(7){grid-column:7}.employee-schedule-header>:nth-child(8){grid-column:8}.employee-schedule-header>:nth-child(9){grid-column:9}.employee-schedule-header>:nth-child(10){grid-column:10}.employee-schedule-header>:nth-child(6):after{content:"Tarda";color:var(--muted);position:absolute;inset:0}.employee-schedule-header>:nth-child(7):after{content:"Inici";color:var(--muted);position:absolute;inset:0}.employee-schedule-header>:nth-child(8):after{content:"Fi";color:var(--muted);position:absolute;inset:0}.employee-schedule-header>:nth-child(9):after{content:"Pausa";color:var(--muted);position:absolute;inset:0}.employee-schedule-header>:nth-child(10):after{content:"Nota";color:var(--muted);position:absolute;inset:0}.employee-schedule-row:before{content:none}.employee-schedule-row>:nth-child(3):after,.employee-schedule-row>:nth-child(5):after,.employee-schedule-row>:nth-child(6):after{content:none!important}.employee-schedule-row>:nth-child(9){grid-column:6;grid-row:1 / span 2}.employee-schedule-row>:nth-child(10){grid-column:7 / span 4;grid-row:1 / span 2;min-width:0}.employee-schedule-header{grid-template-columns:60px 78px 58px 100px 100px 58px 100px 100px}.employee-schedule-row{display:grid!important;grid-template-columns:60px 78px 58px 100px 100px 58px 100px 100px;gap:8px;align-items:center}.employee-schedule-row>:nth-child(3),.employee-schedule-row>:nth-child(6){grid-column:3;justify-content:flex-start;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.employee-schedule-row>:nth-child(3){grid-row:1}.employee-schedule-row>:nth-child(3):after{content:"Matu00ed"}.employee-schedule-row>:nth-child(4){grid-column:4;grid-row:1}.employee-schedule-row>:nth-child(5){grid-column:5;grid-row:1}.employee-schedule-row>:nth-child(6){grid-row:2}.employee-schedule-row>:nth-child(6):after{content:"Tarda"}.employee-schedule-row>:nth-child(7){grid-column:4;grid-row:2}.employee-schedule-row>:nth-child(8){grid-column:5;grid-row:2}.danger-text{color:#991b1b}.warning-text{color:#9a3412}.success-text{color:#166534}.employee-schedule-row>:nth-child(3):after,.employee-schedule-row>:nth-child(6):after{content:none!important}.btn,.btnPrimary,.btnGhost,.btnDangerGhost{height:var(--control-height);padding:0 14px;border-radius:var(--radius-control);font-family:var(--font);border:1px solid var(--line);background:#ffffffeb;cursor:pointer;font-weight:700;font-size:var(--font-size-md);line-height:var(--line-height-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;max-width:100%;transition:transform .08s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.btn:hover{box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(1px)}.btn.btn-stable:active{transform:none}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-sm{height:var(--control-height-sm);padding:0 10px;font-size:12.5px}.btn-primary{border-color:#22c7b873;background:linear-gradient(135deg,#22c7b82e,#0ea5a81f)}.btn-primary:hover{border-color:#22c7b8a6}.btn-danger{border-color:#ef444459;background:#ef44441a}.btnPrimary{border-color:#22c7b873;background:linear-gradient(135deg,#22c7b82e,#0ea5a81f);color:var(--text)}.btnGhost{border-color:var(--line);background:#ffffffeb;color:var(--text)}.btnDangerGhost{border-color:#ef444459;background:#ef44441a;color:#b00}.input,select,input[type=text],input[type=number],input[type=date],input[type=password],input[type=email],input[type=search],textarea{font-family:var(--font);font-size:var(--font-size-md);padding:0 10px;height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-control);background:#fffffff5;outline:none;transition:box-shadow .12s ease,border-color .12s ease}textarea{min-height:88px;resize:vertical;height:auto;padding:9px 10px}.input:focus,select:focus,input:focus,textarea:focus{border-color:#22c7b88c;box-shadow:0 0 0 4px #22c7b829}.table-wrap{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:transparent;box-shadow:none}.catalog-table-scroll{overflow:auto;max-height:calc(100vh - 230px);max-width:100%;border-radius:inherit;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.b2bTableWrap{overflow-x:auto}.b2bTable{width:100%;border-collapse:separate;border-spacing:0;min-width:880px}.b2bTable thead th{background:#e9eff2;color:#0f172a;font-size:11px;font-weight:900;letter-spacing:.01em;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap;line-height:1.1}.b2bTable tbody td{padding:7px 10px;border-bottom:1px solid var(--line2);vertical-align:middle;line-height:1.15;font-size:12px}.b2bTable tbody tr:last-child td{border-bottom:none}.b2bTable tbody .btn{min-height:24px;height:24px;padding:0 8px;font-size:11px;border-radius:999px}.b2bTable tbody .btn+.btn{margin-left:0}.b2bLinesTable th,.b2bLinesTable td{font-size:13px}.b2bLinesTable thead th{padding:8px 10px;font-size:11px}.b2bLinesTable tbody td{padding:7px 10px;line-height:1.2}.b2bDocsTable th,.b2bDocsTable td{font-size:12px}@media(max-width:1100px){.b2bTable{min-width:760px}.b2bTable thead th{padding:8px 9px}.b2bTable tbody td{padding:7px 9px}}@media(max-width:780px){.b2bTable{min-width:680px}.b2bTable thead th{font-size:11px;padding:7px}.b2bTable tbody td{font-size:12px;padding:7px}}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table thead th{position:sticky;top:0;z-index:8;background-color:#e9eff2;background-image:none;background-clip:padding-box;box-shadow:0 1px #94a3b847;color:#0f172a;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.table-card .data-table thead th:first-child{border-top-left-radius:calc(var(--radius) - 1px)}.table-card .data-table thead th:last-child{border-top-right-radius:calc(var(--radius) - 1px)}.data-table tbody td{padding:8px 10px;border-bottom:1px solid var(--line2);vertical-align:middle;font-size:var(--font-size-md);line-height:var(--line-height-md)}.data-table tbody tr:nth-child(2n){background:#0f172a05}.data-table tbody tr:hover{background:#22c7b814}.right{text-align:right}.muted{color:var(--muted)}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table thead th.th-sort:hover{background-color:#dff7f4}.data-table thead th.th-sort.is-active{background-color:#d1f1ee}.data-table thead th.th-sort:hover,.data-table thead th.th-sort.is-active{background-image:none;background-clip:padding-box}.th-sort-label{display:inline-block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.table-sort-button{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:inherit;gap:4px;width:100%;min-width:0;padding:0;font:inherit;font-weight:inherit;text-align:inherit}.table-sort-button:focus-visible{outline:2px solid #14b8a6;outline-offset:2px;border-radius:4px}.table-sort-indicator{flex:0 0 auto;font-size:10px;line-height:1;opacity:.72}.right .table-sort-button{justify-content:flex-end}.gelato-formulation-page.is-lab-mode{display:flex;flex-direction:column}.gelato-formulation-page.is-lab-mode .gelato-formulation-composition{order:1}.gelato-formulation-page.is-lab-mode .gelato-formulation-setup{order:2}.gelato-formulation-page.is-lab-mode .gelato-formulation-ai{order:3}.gelato-formulation-page.is-lab-mode .gelato-formulation-analysis{order:4}.gelato-formulation-page.is-lab-mode .gelato-formulation-comparison{order:5}.table-col-autofit-handle{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:6}.table-col-autofit-handle:after{content:"";position:absolute;top:8px;bottom:8px;left:4px;width:1px;background:#0f172a1f}.data-table thead th:hover .table-col-autofit-handle:after{background:#0f172a5c}.childSortBtn{margin-left:8px;padding:4px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#ffffffbf;font-size:12px;font-weight:800;cursor:pointer}.childSortBtn:hover{background:#22c7b81a}.m-green{color:#0b7a2a;font-weight:800}.m-orange{color:#b45309;font-weight:800}.m-red{color:#b91c1c;font-weight:800}.product-variant-row{background:#22c7b80f}.product-variant-row td:first-child{font-weight:700}.childBadge{display:inline-block;font-size:11px;font-weight:900;color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;padding:2px 8px;border-radius:999px;margin-right:8px}.toggle{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffffeb;cursor:pointer;font-weight:900;line-height:1}.toggle:hover{box-shadow:var(--shadow-sm)}.data-table tbody td:first-child{font-weight:700;color:#0b1220}.data-table thead th:first-child,.data-table tbody td:first-child{width:260px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table.data-table-fit{width:100%;min-width:0;table-layout:fixed}.data-table.data-table-fit th,.data-table.data-table-fit td{min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;padding-inline:var(--space-2)}.data-table.data-table-fit th:first-child,.data-table.data-table-fit td:first-child{width:24%}.data-table.data-table-fit th:last-child,.data-table.data-table-fit td:last-child{width:19%}.data-table.data-table-fit .row-actions{flex-wrap:wrap;justify-content:flex-start}.data-table td.actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:nowrap;white-space:nowrap;min-width:260px}.data-table th.actions{text-align:right}.composition-modal-table col.col-qty{width:110px}.composition-modal-table col.col-pct{width:72px}.composition-modal-table col.col-cost{width:92px}.composition-modal-table col.col-actions{width:136px}.composition-modal-table thead th:first-child,.composition-modal-table tbody td:first-child{width:auto;max-width:none}.composition-modal-table thead th{padding:8px}.composition-modal-table tbody td{padding:7px 8px}.composition-modal-table td.actions{min-width:0;width:136px;gap:6px;padding-left:4px;padding-right:4px}.composition-modal-table th.actions{width:136px;padding-left:4px;padding-right:4px}.composition-modal-table td.actions .btn.btn-sm{padding:5px 8px;font-size:11px}.composition-modal-ref{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.formulation-table-wrap{overflow-y:auto;overflow-x:hidden}@media(max-width:1280px){.formulation-table-wrap .formulation-composition-table col.col-qty{width:84px}.formulation-table-wrap .formulation-composition-table col.col-pct{width:56px}.formulation-table-wrap .formulation-composition-table col.col-actions{width:92px}.formulation-table-wrap .formulation-composition-table thead th{padding:7px 6px;white-space:normal;font-size:11px;line-height:1.2}.formulation-table-wrap .formulation-composition-table tbody td{padding:6px;font-size:12px;line-height:1.2}.formulation-table-wrap .formulation-composition-table thead th:first-child,.formulation-table-wrap .formulation-composition-table tbody td:first-child{white-space:normal}.formulation-table-wrap .formulation-composition-table td.actions,.formulation-table-wrap .formulation-composition-table th.actions{width:92px;padding-left:4px;padding-right:4px}.formulation-table-wrap .formulation-composition-table td.actions .btn.btn-sm{width:100%;padding:4px 6px;font-size:10px;line-height:1.15;white-space:normal}.formulation-table-wrap .formulation-composition-table input[type=number],.formulation-table-wrap .formulation-composition-table td input:not([type=checkbox]){width:100%!important;min-width:0;padding-left:6px;padding-right:6px}.formulation-table-wrap .composition-modal-ref{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}}.ingredients-table thead th:first-child,.ingredients-table tbody td:first-child{width:var(--ingredients-col-1, 170px);max-width:var(--ingredients-col-1, 170px)}.ingredients-table{table-layout:fixed}.ingredients-table thead th,.ingredients-table tbody td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredients-table thead th:nth-child(2),.ingredients-table tbody td:nth-child(2),.ingredients-table thead th:nth-child(3),.ingredients-table tbody td:nth-child(3){white-space:normal;overflow-wrap:anywhere}.ingredients-table thead th:nth-child(8),.ingredients-table tbody td:nth-child(8){width:var(--ingredients-col-8, 84px);max-width:var(--ingredients-col-8, 84px);padding-left:6px;padding-right:6px}.ingredients-table thead th:nth-child(9),.ingredients-table tbody td:nth-child(9){width:var(--ingredients-col-9, 54px);max-width:var(--ingredients-col-9, 54px);padding-left:6px;padding-right:6px}.ingredients-table td.actions{min-width:138px;gap:4px;flex-direction:row;align-items:center;justify-content:flex-end}.ingredients-table th.actions{width:var(--ingredients-col-10, 138px);max-width:var(--ingredients-col-10, 138px);padding-left:6px;padding-right:6px}.ingredients-table td.actions .btn.btn-sm{width:auto;min-width:52px;padding:4px 8px;font-size:11px;white-space:nowrap}.mobile-tabs{display:none}@media(max-width:900px){.sidebar{display:none}.app-shell{display:block}.content{padding:12px 12px 86px}.content-inner{max-width:100%}.page{border-radius:16px;padding:14px}.toolbar-search{min-width:0}.mobile-shell-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 6px}.mobile-shell-brand{min-width:0;display:flex;align-items:center;gap:10px}.mobile-shell-mark{width:34px;height:34px;border-radius:12px;overflow:hidden;border:1px solid rgba(34,199,184,.22);background:#fff;box-shadow:0 6px 16px #0206171a;flex:0 0 auto}.mobile-shell-text{min-width:0}.mobile-shell-title{font-size:14px;font-weight:900;color:var(--text);line-height:1.1}.mobile-shell-user{margin-top:2px;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.mobile-shell-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.view-header,.view-toolbar{align-items:stretch}.view-actions{width:100%}.view-actions>*{flex:1 1 auto;min-width:0}.view-toolbar>*,.toolbar>*{min-width:0}.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.section-grid.cols-2,.section-grid.cols-3,.ingredients-modal-category-row,.employee-detail-split{grid-template-columns:1fr}.employee-detail-card-schedule{position:static;top:auto}.mobile-card-stats{grid-template-columns:1fr}.data-table thead th:first-child,.data-table tbody td:first-child{width:auto;max-width:none;white-space:normal}.data-table td.actions{min-width:0;flex-wrap:wrap;justify-content:flex-start}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.catalog-table-scroll{overflow-x:auto;overflow-y:visible;max-height:none;-webkit-overflow-scrolling:touch}.mobile-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-start;position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px;border-bottom:1px solid var(--line);margin:0 0 10px;border-radius:14px}}@media(max-width:640px){.content{padding:10px 10px 92px}.page,.surface,.panel,.card{padding:12px}.page-title{font-size:22px}.toolbar-search,.catalog-filters .toolbar-search,.view-toolbar>.toolbar-search{min-width:0;width:100%;flex-basis:100%}.stat-card{min-width:0;flex-basis:100%}.mobile-shell-bar{align-items:flex-start}.mobile-shell-actions{flex-wrap:wrap;justify-content:flex-end}.btn{white-space:normal;text-align:center}.simple-shell-actions{width:100%;justify-content:flex-start}.gelato-board-kiosk-hero{align-items:stretch}}body.modeObrador .sidebar,body.modeObrador .mobile-tabs{display:none!important}body.modeObrador .content{padding:10px}body.modeObrador .content-inner{max-width:1600px}body.modeObrador .page{padding:12px}body.modeObrador{font-size:16.5px}.mobile-tab-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#ffffffeb;font-size:13px;font-weight:750;color:var(--text)}.mobile-tab-link.active{border-color:#22c7b88c;background:#22c7b824}.card{background:#fff;border-radius:12px;padding:18px;margin-bottom:20px;box-shadow:0 4px 12px #0000000f}.card-plan{background:#f5f6f8}.card-gelat{background:#fff}.card-done{background:#eef7f1}.card h2{margin:0 0 8px;font-size:18px;font-weight:600}.productionToday .todayHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 14px}.sectionTitle{margin:0;font-size:20px;font-weight:800;letter-spacing:-.2px}.tabs{display:flex;gap:10px;margin:10px 0 18px}.tab{padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font-weight:700;font-size:13px}.tab.active{border-color:#1fb6b28c;background:#1fb6b21f}.search{flex:1;min-width:240px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:#fff}.select{padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:#fff}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font-size:13px;font-weight:700}.pill.active{border-color:#1fb6b28c;background:#1fb6b21a}.cardsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.cardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cardTitle{font-size:16px;font-weight:800;letter-spacing:-.15px}.quantityLine{display:flex;align-items:baseline;gap:8px;margin:12px 0 6px}.qtyValue{font-size:32px;font-weight:900;line-height:1}.qtyUnit{font-size:14px;opacity:.72;font-weight:700}.notePreview{font-size:13px;opacity:.75;margin-top:6px}.statusPill{padding:6px 12px;border-radius:999px;font-size:12px;border:1px solid rgba(0,0,0,.12);font-weight:800}.statusPill.PENDING{opacity:.78}.statusPill.DOING{border-color:#ffc10759;background:#ffc10724}.statusPill.DONE{border-color:#28a74559;background:#28a74524}.btnPrimary,.btnGhost,.btnDangerGhost{font-weight:800}.cardActions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.cardActionsRight{display:flex;gap:10px}.emptyState{padding:18px;border-radius:18px;border:1px dashed rgba(0,0,0,.22);opacity:.76}.tempPrintHeader{display:none}.print-only{display:none!important}@media print{@page{size:A4 portrait;margin:5mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.mobile-tabs,.no-print{display:none!important}.app-shell,.content,.content-inner,.page{display:block!important;width:auto!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;box-shadow:none!important;border:none!important;background:#fff!important;overflow:visible!important}.tempPrintArea{border:1px solid #cbd5e1!important;border-radius:0!important;overflow:visible!important;padding:6px!important}.tempPrintHeader{display:block!important;font-size:16px;font-weight:900;text-align:center;padding:4px 6px 6px;border-bottom:1px solid #cbd5e1;margin-bottom:6px}.print-only{display:grid!important}.store-calendar-layout{display:block!important}.store-calendar-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.store-calendar-grid button{display:grid!important}.store-calendar-grid>.store-month{break-inside:avoid;page-break-inside:avoid;padding:5px!important;min-height:108px}.store-calendar-grid button{aspect-ratio:auto!important;min-height:16px!important;height:16px!important;padding:0!important}.store-calendar-grid button strong{font-size:8px!important}.store-calendar-grid button span[aria-hidden=true]{width:10px!important;height:2px!important;margin-top:1px!important}.store-calendar-side,.store-holiday-panel{display:none!important}.tempPrintArea .surface-title{font-size:9px!important}.tempPrintArea .helper-text{font-size:7px!important}.tempPrintArea [style*="grid-template-columns: repeat(7, 1fr)"]{gap:2px!important;font-size:8px!important}table{page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}input{border:none!important;background:transparent!important;padding:0!important;height:auto!important}}.mobile-top-links,.mobile-dock,.mobile-sheet,.mobile-sheet-backdrop{display:none}@media(max-width:900px){.content{padding:10px 10px 94px}.page{padding:12px}.mobile-top-links{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px 2px 10px;margin-bottom:6px}.mobile-top-links::-webkit-scrollbar{display:none}.mobile-top-link{flex:0 0 auto;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:#ffffffeb;font-size:12px;font-weight:800;color:var(--text);white-space:nowrap}.mobile-top-link.active{border-color:#22c7b899;background:#22c7b824}.mobile-dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:70;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;border-radius:18px;border:1px solid rgba(15,23,42,.1);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 32px #02061733}.mobile-dock-link{display:flex;align-items:center;justify-content:center;text-align:center;min-height:36px;padding:6px 8px;border-radius:11px;border:1px solid transparent;font-size:11px;font-weight:800;line-height:1.15;background:#0f172a08;color:var(--text)}.mobile-dock-link.active{border-color:#22c7b880;background:#22c7b829}.mobile-dock-menu{appearance:none;cursor:pointer;font-family:inherit}.mobile-sheet-backdrop{position:fixed;inset:0;z-index:72;background:#02061759;opacity:0;pointer-events:none;transition:opacity .16s ease}.mobile-sheet-backdrop.open{display:block;opacity:1;pointer-events:auto}.mobile-sheet{position:fixed;left:10px;right:10px;bottom:72px;z-index:73;background:#fffffffa;border:1px solid rgba(15,23,42,.1);border-radius:18px;box-shadow:0 20px 50px #02061747;padding:10px;transform:translateY(8px);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;max-height:55vh;overflow:auto}.mobile-sheet.open{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px;border-bottom:1px solid var(--line);margin-bottom:10px}.mobile-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-sheet-link{display:flex;align-items:center;justify-content:center;min-height:38px;text-align:center;border-radius:12px;border:1px solid var(--line);background:#0f172a05;font-size:12px;font-weight:800;padding:6px 8px}.mobile-sheet-link.active{border-color:#22c7b88c;background:#22c7b824}}.simple-shell{min-height:100vh;min-height:100dvh;width:100%;max-width:100dvw;overflow-x:hidden;overflow-x:clip;background:radial-gradient(920px 420px at 14% -8%,#fff8efe0,#fff8ef00 58%),radial-gradient(860px 360px at 100% 0%,#22c7b824,#22c7b800 62%),linear-gradient(180deg,#fffaf2,#f8f6ef 48%,#f2eee6)}.simple-shell-topbar{background:linear-gradient(90deg,#11b8bf,#22c7b8);color:#fffdf8;padding:var(--space-3) var(--space-5);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,250,242,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 28px #11b8bf2e;min-width:0}.simple-shell-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.simple-shell-logo{width:34px;height:34px;border-radius:12px;box-shadow:0 8px 18px #0f172a24;flex:0 0 auto;background:#fffaf4;border:1px solid rgba(255,248,240,.78)}.simple-shell-title{margin:0;font-size:var(--font-size-lg);font-weight:800;min-width:0;overflow-wrap:anywhere}.simple-shell-link{color:#f7fbf8;font-weight:800;flex:0 0 auto}.simple-shell-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.simple-shell-link-button{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.simple-shell-content{padding:var(--space-5);width:100%;max-width:100%;min-width:0;overflow-x:hidden;overflow-x:clip}.simple-shell-link-muted{color:var(--text-muted)}.simple-shell.simple-shell-kiosk{min-height:100dvh;height:100dvh;overflow:hidden;background:radial-gradient(920px 420px at 14% -8%,#fff8efe0,#fff8ef00 58%),radial-gradient(860px 360px at 100% 0%,#22c7b824,#22c7b800 62%),linear-gradient(180deg,#fffaf2,#f8f6ef 48%,#f2eee6)}.simple-shell.simple-shell-kiosk .simple-shell-topbar{background:linear-gradient(90deg,#11b8bf,#22c7b8);border-bottom:1px solid rgba(255,250,242,.5);position:sticky;top:0;z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 12px}.simple-shell.simple-shell-kiosk .simple-shell-content{padding:10px;height:calc(100dvh - 50px);overflow:hidden}.kiosk-clock{max-width:920px;margin:0 auto;display:grid;gap:10px;height:100%}.gelato-board-kiosk-shell{display:grid;gap:16px;height:100%;overflow:auto}.gelato-board-kiosk-shell .view-header{display:none}.gelato-board-kiosk-shell .view-shell{max-width:none}.gelato-board-kiosk-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;border-color:#22c7b838;background:radial-gradient(460px 220px at 8% -10%,#fffaf4e6,#fffaf400 70%),linear-gradient(180deg,#fffbf5fa,#f7f4edfa)}.gelato-board-kiosk-hero__main{min-width:0}.gelato-board-kiosk-hero__eyebrow{margin-bottom:6px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#11aeb5}.kiosk-install-card,.kiosk-card{border:1px solid rgba(34,199,184,.18);border-radius:20px;background:#fffbf5f7;box-shadow:0 16px 42px #0f172a14}.kiosk-install-card{padding:14px;display:grid;gap:8px}.kiosk-install-title{font-size:18px;font-weight:900;color:#111}.kiosk-install-btn{justify-self:start}.kiosk-card{padding:14px;display:grid;gap:10px;background:radial-gradient(380px 180px at 0% 0%,#fffaf4e0,#fffaf400 68%),linear-gradient(180deg,#fffbf5fa,#f7f4edfa);border-color:#22c7b82e}.kiosk-card .helper-text{color:#5f6368}.kiosk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.kiosk-head h2{margin:0;font-size:clamp(24px,4.2vh,34px);line-height:1;color:#111}.kiosk-current-name{margin-top:8px;font-size:clamp(16px,2.8vh,20px);font-weight:900;color:#11aeb5}.kiosk-label{display:grid;gap:7px}.kiosk-label span{font-size:14px;font-weight:800;color:#1d1d1f}.kiosk-label select{border:1px solid rgba(34,199,184,.24);border-radius:16px;background:#fffdf9f5;padding:16px;font-size:21px;font-weight:700;color:#111;box-shadow:inset 0 1px #fffc}.kiosk-pin-panel{display:grid;gap:10px}.kiosk-pin-dots{display:flex;gap:10px;align-items:center;min-height:18px}.kiosk-pin-dot{width:14px;height:14px;border-radius:999px;border:2px solid rgba(34,199,184,.42);background:#22c7b81a}.kiosk-pin-dot.filled{background:#22c7b8;border-color:#22c7b8}.kiosk-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kiosk-pad button{border:1px solid rgba(34,199,184,.16);background:linear-gradient(180deg,#fffdf9,#f3efe8);color:#111;border-radius:16px;min-height:clamp(48px,6.8vh,70px);font-size:clamp(24px,4.2vh,34px);font-weight:900;cursor:pointer;box-shadow:0 8px 16px #0f172a0f}.kiosk-pad button:disabled{opacity:.5;cursor:not-allowed}.kiosk-actions{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(180px,.5fr));gap:10px}.kiosk-main-action,.kiosk-secondary-action{border:none;border-radius:18px;min-height:clamp(52px,7vh,74px);font:inherit;font-weight:900;cursor:pointer}.kiosk-main-action{background:linear-gradient(135deg,#11b8bf,#22c7b8);color:#fff;font-size:clamp(18px,2.8vh,26px);box-shadow:0 14px 24px #11b8bf38}.kiosk-secondary-action{background:#fffcf7f0;color:#111;border:1px solid rgba(17,17,17,.14);font-size:clamp(15px,2.2vh,20px)}.kiosk-main-action:disabled,.kiosk-secondary-action:disabled{opacity:.55;cursor:not-allowed}.kiosk-alert{border:1px solid rgba(185,124,24,.42);border-radius:14px;background:#f8edcab8;padding:11px 12px;font-weight:800;color:#7a4f12}.kiosk-info{border:1px solid rgba(34,199,184,.22);border-radius:14px;background:#22c7b814;padding:11px 12px;font-weight:800;color:#0d4c4f}.kiosk-info.is-error{border-color:#ef4444;background:#fee2e2d1;color:#991b1b}@media(max-width:980px){.kiosk-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.kiosk-main-action{grid-column:1 / -1}}@media(max-height:760px){.kiosk-card{padding:12px;gap:8px}.kiosk-head,.kiosk-pin-panel,.kiosk-pad{gap:8px}}.clock-login-screen{width:calc(100vw - 24px);width:min(420px,calc(100vw - 24px));max-width:420px;margin:30px auto;padding:16px;border:1px solid rgba(34,199,184,.2);border-radius:16px;background:#fffbf5f0;box-shadow:0 12px 28px #0f172a38;overflow:hidden}.clock-login-mode-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.clock-login-mode-tabs>button{min-width:0;flex:1 1 140px}.clock-login-screen input,.clock-login-screen select,.clock-login-screen textarea,.simple-shell input,.simple-shell select,.simple-shell textarea{font-size:16px}.clock-login-title{font-size:22px;font-weight:900;margin-bottom:10px;color:#0f172a}.clock-login-logo{width:84px;height:84px;border-radius:26px;margin:0 auto 10px;display:block;box-shadow:0 18px 36px #0f172a2e}.clock-login-subtitle{color:#4b5563;margin-bottom:16px;overflow-wrap:anywhere}.clock-home{display:grid;gap:12px}.clock-home-page,.clock-hours-page,.clock-schedule-page{display:grid;gap:12px;width:100%;max-width:1180px;margin:0 auto;min-width:0;overflow-x:hidden;overflow-x:clip}.clock-home-main{display:grid;gap:10px;margin-bottom:14px}.clock-home-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.clock-documents-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px;margin-top:2px;border-top:1px solid rgba(15,23,42,.08)}.clock-document-shortcut{border:1px solid rgba(17,184,180,.26);border-radius:14px;background:#ffffffad;color:var(--text);font:inherit;font-size:13px;font-weight:850;line-height:1.15;min-height:48px;padding:10px 12px;text-align:center;cursor:pointer}.clock-document-shortcut:hover,.clock-document-shortcut:focus-visible{border-color:#11b8b48c;background:#f0fdfae6;box-shadow:0 0 0 3px #11b8b41f;outline:none}.clock-link-button{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 10px}.clock-link-button:hover,.clock-link-button:focus-visible{color:var(--brand);outline:none}.clock-documents-page{display:grid;gap:12px;width:100%;max-width:720px;margin:0 auto}.clock-documents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.clock-documents-header-copy{min-width:0;flex:1 1 auto}.clock-documents-title{font-weight:900;line-height:1.1}.clock-btn-compact{min-height:0;padding:8px 12px;border-radius:999px;white-space:nowrap;flex:0 0 auto}.clock-documents-list{display:grid;gap:8px}.clock-document-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.clock-document-row:hover,.clock-document-row:focus-visible{border-color:#11b8b480;box-shadow:0 0 0 3px #11b8b424;outline:none}.clock-document-row:disabled{opacity:.65;cursor:wait}.clock-document-row>span:first-child{display:grid;gap:3px;min-width:0}.clock-document-action{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900}@media(max-width:390px){.clock-documents-header{align-items:center;gap:8px}.clock-documents-header .clock-btn-compact{max-width:104px;padding-inline:10px;font-size:12px}}.clock-hours-summary{padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--panel)}.clock-hours-detail{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel)}@media(min-width:900px){.simple-shell-content{padding:18px 24px}.clock-home-page{max-width:980px}.clock-home-main{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch}.clock-home-main>.clock-brand-card{min-height:100%}.clock-home-nav-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clock-home-nav-grid>button{min-height:58px!important;grid-column:auto!important}.clock-documents-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.clock-hours-page{max-width:1080px}.clock-hours-summary{position:sticky;top:58px;z-index:2;box-shadow:0 10px 24px #0f172a14}.clock-hours-detail>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.clock-hours-detail>div:last-child>div{border-right:1px solid var(--border)}.clock-schedule-page{max-width:1120px}}.clock-brand-card{padding:12px;border:1px solid rgba(34,199,184,.2);border-radius:14px;background:linear-gradient(180deg,#fffbf5fa,#f7f4edfa);display:grid;gap:8px;min-width:0;max-width:100%;overflow-wrap:anywhere}.clock-brand-muted{color:#4b5563;font-size:13px}.clock-btn-primary,.clock-btn-dark,.clock-btn-light{border:none;border-radius:12px;font:inherit;font-weight:800;cursor:pointer;min-width:0;max-width:100%;overflow-wrap:anywhere;touch-action:manipulation}.clock-btn-primary{background:linear-gradient(135deg,#11b8bf,#22c7b8);color:#fff;padding:10px 12px}.clock-btn-dark{background:#111;color:#fff;padding:10px 12px}.clock-btn-light{background:#fffaf4;color:#111;border:1px solid rgba(17,17,17,.14);padding:10px 12px}@media(max-width:600px){.simple-shell-topbar{padding:10px 12px;gap:8px}.simple-shell-logo{width:30px;height:30px;border-radius:10px}.simple-shell-title{font-size:15px;line-height:1.15}.simple-shell-link{font-size:13px}.simple-shell-content{padding:12px}.clock-login-screen{width:calc(100vw - 16px);max-width:calc(100vw - 16px);margin:12px auto;padding:14px}.clock-login-mode-tabs{display:grid;grid-template-columns:1fr}.clock-home-nav-grid{gap:8px}.clock-documents-shortcuts{grid-template-columns:1fr}}.clock-document-page{display:grid;gap:12px;width:100%;max-width:100%;min-width:0}.clock-document-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap}.clock-document-text{max-height:56vh;overflow:auto;min-width:0}.clock-document-text pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:inherit;font-size:13px;line-height:1.45;color:#0f172a}.clock-document-page .clock-brand-card,.clock-document-page .clock-brand-muted{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}body.modeObrador .mobile-top-links,body.modeObrador .mobile-dock,body.modeObrador .mobile-sheet,body.modeObrador .mobile-sheet-backdrop{display:none!important}.timeclock-shell{display:grid;gap:14px}.timeclock-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.timeclock-stat-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.timeclock-stat-card{display:grid;gap:6px}.timeclock-stat-label{font-size:12px;color:var(--muted);font-weight:700}.timeclock-stat-value{font-size:28px;font-weight:900;line-height:1}.timeclock-stat-hint{font-size:12px;color:var(--muted)}.timeclock-stat-card.is-warning .timeclock-stat-value{color:#b45309}.timeclock-employees-layout{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.55fr);gap:14px;align-items:start}.timeclock-planning-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.5fr);gap:14px;align-items:start}.timeclock-employee-rail,.timeclock-planning-sidebar,.timeclock-main-column,.timeclock-employee-list,.timeclock-alert-list,.timeclock-shift-day-list{display:grid;gap:10px}.timeclock-rail-head,.timeclock-workspace-head,.timeclock-employee-list-top,.timeclock-shift-day-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.timeclock-employee-list-item,.timeclock-focus-card{width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;display:grid;gap:6px;cursor:pointer}.timeclock-employee-list-item.active{border-color:#22c7b880;background:#22c7b814}.timeclock-workspace{display:grid;gap:14px}.timeclock-empty-state-grid,.timeclock-warning-grid,.timeclock-dual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.timeclock-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.timeclock-alert-item,.timeclock-shift-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#0f172a05;display:grid;gap:4px}.timeclock-shift-day{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;display:grid;gap:10px}.timeclock-shift-list{display:grid;gap:8px}.timeclock-kiosk-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr);gap:12px}.timeclock-kiosk-grid label,.timeclock-list{display:grid;gap:8px}.timeclock-kiosk-grid select,.timeclock-kiosk-grid input{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 16px;font:inherit}.timeclock-copy-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.timeclock-link-pill{flex:1 1 280px;min-height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;display:flex;align-items:center;font-weight:700;color:var(--text);word-break:break-all}.timeclock-list-item{border:1px solid var(--line);border-radius:12px;background:#0f172a05;padding:10px 12px}.timeclock-punch-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(170px,.5fr));gap:10px}.timeclock-punch-primary,.timeclock-punch-secondary{border:none;border-radius:16px;padding:18px 16px;font:inherit;font-weight:900;cursor:pointer}.timeclock-punch-primary{background:linear-gradient(135deg,#12335e,#1f7f86);color:#fff;font-size:18px}.timeclock-punch-secondary{background:#fff;border:1px solid var(--line);color:var(--text)}.timeclock-punch-primary:disabled,.timeclock-punch-secondary:disabled{opacity:.55;cursor:not-allowed}.timeclock-recent-list{display:grid;gap:10px}.timeclock-alert-panel{display:grid;gap:8px}.timeclock-recent-item{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.timeclock-alert-badges{display:flex;gap:8px;flex-wrap:wrap}.timeclock-registry-filters{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.45fr)) auto;gap:12px;align-items:end}.timeclock-registry-filters label,.timeclock-registry-list{display:grid;gap:8px}.timeclock-registry-filters select,.timeclock-registry-filters input{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;font:inherit}.timeclock-registry-day{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:grid;gap:10px}.timeclock-registry-day.has-alert{border-color:#f59e0b47;background:#f59e0b0a}.timeclock-event-strip{display:flex;gap:8px;flex-wrap:wrap}.timeclock-event-chip{border:1px solid var(--line);border-radius:12px;background:#0f172a05;padding:8px 10px;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.timeclock-inline-edit{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px;min-width:min(100%,520px)}.timeclock-inline-edit input,.timeclock-inline-edit select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 10px;font:inherit}.payroll-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,.35fr) auto;gap:12px;align-items:end}.payroll-filter-actions{align-self:end}.payroll-table-wrap{overflow:auto;max-width:100%}.payroll-table{min-width:880px}.payroll-month-summary-list{display:grid;gap:12px}.payroll-month-summary{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff}.payroll-month-summary.is-selected{border-color:#22c7b88c;box-shadow:0 0 0 2px #22c7b81a}.payroll-month-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.payroll-selected-month-details{margin-top:12px}.payroll-selected-month-details summary{cursor:pointer;font-weight:800;color:var(--text-muted)}.payroll-selected-month-details .payroll-table-wrap{margin-top:8px}.payroll-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px}.payroll-schedule-panel{display:grid;gap:12px}.payroll-planning-panel{display:grid;gap:10px}.payroll-planning-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;color:#475569;font-size:12px;font-weight:800}.payroll-planning-summary span{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 9px;border:1px solid rgba(203,213,225,.85);border-radius:999px;background:#fff}.payroll-planning-summary .is-danger{color:#991b1b;border-color:#f8717173;background:#fef2f2}.payroll-planning-summary .is-warning{color:#92400e;border-color:#fbbf248c;background:#fffbeb}.payroll-planning-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:visible}.payroll-planning-day{display:grid;grid-template-rows:auto auto 1fr;gap:6px;min-width:0;min-height:0;padding:7px;border:1px solid rgba(203,213,225,.9);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.payroll-planning-day.is-ok{border-color:#14b8a661;background:#f7fffd}.payroll-planning-day.is-warning{border-color:#fbbf2494;background:#fffbeb}.payroll-planning-day.is-danger{border-color:#f8717194;background:#fff5f5}.payroll-planning-day.is-closed{background:#f8fafc;color:#64748b}.payroll-planning-day-head{display:flex;justify-content:space-between;gap:6px;align-items:flex-start;min-height:0}.payroll-planning-day-title{display:grid;gap:2px;min-width:0}.payroll-planning-day-head strong{color:#0f172a;font-size:12px;text-transform:capitalize;line-height:1.15}.payroll-planning-day-head span{color:#64748b;font-size:10px;font-weight:700;line-height:1.2}.payroll-planning-count{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:999px;background:#0f766e;color:#fff!important;font-size:12px!important;font-weight:900!important}.payroll-planning-day.is-warning .payroll-planning-count{background:#d97706}.payroll-planning-day.is-danger .payroll-planning-count{background:#dc2626}.payroll-planning-day.is-closed .payroll-planning-count{background:#94a3b8}.payroll-planning-day-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.payroll-planning-day-meta span{min-height:20px;padding:3px 5px;border-radius:7px;background:#ffffffc7;color:#334155;font-size:10px;font-weight:900;text-align:center}.payroll-planning-workers{display:grid;align-content:start;gap:4px}.payroll-planning-sections{display:grid;grid-template-columns:1fr;gap:0;align-content:start}.payroll-planning-section{display:grid;gap:4px;min-height:0;padding:5px 0 6px;border:0;background:transparent}.payroll-planning-section.is-afternoon{border-top:1px solid rgba(148,163,184,.5);padding-top:7px}.payroll-planning-section-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:18px;color:#0f172a;font-size:11px;font-weight:900}.payroll-planning-section-head span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:18px;padding:0 5px;border-radius:999px;background:#14b8a61f;color:#0f766e;font-size:10px;font-weight:900}.payroll-planning-section-head span.is-low{background:#fffbeb;color:#b45309}.payroll-planning-worker{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 5px;border:1px solid rgba(203,213,225,.75);border-radius:6px;background:#fff;min-width:0}.payroll-planning-worker strong{color:#0f172a;font-size:10px;line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-planning-worker span,.payroll-planning-empty{color:#64748b;font-size:9px;font-weight:700;line-height:1.15}.payroll-planning-worker span{flex:0 0 auto;white-space:nowrap}.payroll-planning-empty{display:grid;place-items:center;min-height:28px;padding:5px;border:1px dashed rgba(148,163,184,.65);border-radius:6px;text-align:center}.payroll-base-schedule,.payroll-base-schedule-list{display:grid;gap:12px}.payroll-base-period{display:grid;gap:10px}.payroll-base-period-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:42px;padding:8px 10px;border:1px solid rgba(203,213,225,.9);border-radius:8px;background:#fff;color:#0f172a;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.payroll-base-period-toggle:hover{border-color:#14b8a673}.payroll-base-period-toggle-main{display:grid;gap:2px;min-width:0}.payroll-base-period-toggle-main span{color:#64748b;font-size:12px;font-weight:700}.payroll-base-period-toggle-meta{display:flex;align-items:center;gap:10px;color:#0f766e;font-size:12px;font-weight:900;white-space:nowrap}.payroll-base-period-head{display:grid;grid-template-columns:repeat(2,minmax(160px,220px)) minmax(130px,160px);gap:10px}.payroll-week-total-card{align-self:end;display:flex;align-items:center;justify-content:space-between;gap:10px;height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fffffff5;box-shadow:var(--shadow-sm)}.payroll-week-total-card .field-label{margin:0;white-space:nowrap}.payroll-week-total-card strong{font-size:13px;white-space:nowrap}.payroll-base-week{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));gap:8px;overflow:auto}.payroll-base-day{display:grid;gap:7px;padding:9px;border:1px solid rgba(203,213,225,.8);border-radius:8px;background:#f8fafc}.payroll-base-day.is-enabled{background:#fff;border-color:#14b8a65c}.payroll-base-day-title,.payroll-base-second-shift{justify-content:flex-start}.payroll-base-day-title{min-height:20px}.payroll-base-day-times{display:grid;grid-template-columns:1fr 1fr;gap:6px}.payroll-base-day-times .input{min-width:0;padding:6px;font-size:12px}.payroll-day-list{display:grid;gap:0;border:1px solid rgba(203,213,225,.7);border-radius:8px;overflow:hidden;background:#fff}.payroll-day-header{display:grid;grid-template-columns:86px 118px minmax(250px,1fr) 58px 58px 58px 82px;gap:0;align-items:center;min-height:28px;padding:0 8px;color:#475569;background:#e9eff2;border-bottom:1px solid rgba(148,163,184,.35);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.payroll-day-header span:nth-child(n+4){text-align:right}.payroll-day-group{display:grid;gap:0}.payroll-day-row{position:relative;border:0;border-bottom:1px solid rgba(226,232,240,.95);border-radius:0;background:#fff;padding:0 8px 0 12px;display:grid;grid-template-columns:86px 118px minmax(250px,1fr) 58px 58px 58px 82px;gap:0;align-items:center;min-height:29px;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.payroll-day-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}.payroll-day-group:nth-child(odd) .payroll-day-row{background:#f7fbfa}.payroll-day-row:hover,.payroll-day-row:focus-visible{background:#eefaf8;outline:none}.payroll-day-row:hover:before,.payroll-day-row:focus-visible:before{background:#22c7b8bf}.payroll-day-row:active{transform:none}.payroll-day-row.has-incident{background:#fff9ec}.payroll-day-row.is-empty-rest-day{color:#64748b}.payroll-day-row.is-empty-rest-day .payroll-day-state{color:#94a3b8;font-weight:600}.payroll-day-row.is-empty-rest-day .payroll-day-marks{min-height:20px}.payroll-day-row.has-mark-warning{background:#fff9ec}.payroll-day-row.has-diff-short{background:#fff7ed}.payroll-day-row.has-diff-short:before{background:#f59e0b}.payroll-day-row.has-diff-short-high{background:#fff1f2}.payroll-day-row.has-diff-short-high:before{background:#dc2626}.payroll-day-row.has-diff-extra{background:#ecfdf5}.payroll-day-row.has-diff-extra:before{background:#10b981}.payroll-day-row.has-diff-extra-high{background:#e6fffb}.payroll-day-row.has-diff-extra-high:before{background:#0f766e}.payroll-day-row.has-mark-warning:before{background:#f59e0b}.payroll-day-row:hover,.payroll-day-row:focus-visible{background:#eefaf8}.payroll-day-row.is-selected{background:#e7fbf7}.payroll-day-row.is-selected:before{background:#22c7b8e6}.payroll-day-status{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.1;padding-right:8px}.payroll-day-status strong{font-size:11px;white-space:nowrap}.payroll-day-status .helper-text{font-size:9.5px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-day-state{min-width:0;padding-right:8px;color:#475569;font-size:10.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-day-metrics{display:contents}.payroll-day-time,.payroll-day-diff,.payroll-day-count,.payroll-day-empty-cell,.payroll-day-metrics .btn-sm,.payroll-day-row .payroll-mark-warning{min-height:20px;height:20px;padding:0 6px;font-size:10px;line-height:1;justify-self:end;white-space:nowrap}.payroll-day-time,.payroll-day-diff,.payroll-day-count,.payroll-day-empty-cell{display:inline-flex;align-items:center;justify-content:flex-end;border:0;background:transparent;box-shadow:none}.payroll-day-empty-cell{pointer-events:none}.payroll-day-time{color:#334155;font-weight:750}.payroll-day-time-done{color:#047857}.payroll-day-diff{font-weight:850;color:#475569}.payroll-day-diff.badge-success{color:#047857}.payroll-day-diff.badge-warning{color:#b45309}.payroll-day-diff.badge-danger{color:#dc2626}.payroll-day-count{color:#475569;font-weight:700}.payroll-day-count.has-incident{color:#b45309}.payroll-day-metrics .btn-sm{min-width:58px}.payroll-day-marks{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-right:8px}.payroll-correction-requests{display:grid;gap:10px}.payroll-pending-anchor{scroll-margin-top:16px}.payroll-correction-head,.payroll-correction-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.payroll-correction-list{display:grid;gap:8px}.payroll-correction-row{border:1px solid rgba(245,158,11,.25);background:#fffbeb;border-radius:8px;padding:8px 10px}.payroll-vacation-risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 12px;font-size:12px}.payroll-marks-list{display:grid;grid-template-columns:repeat(auto-fill,72px);flex-wrap:wrap;column-gap:4px;row-gap:2px;align-items:center;width:100%}.payroll-marks-empty{color:#64748b;font-style:italic;font-size:11px}.payroll-mark-chip{display:grid;grid-template-columns:14px 32px 12px;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#0f172a;line-height:1;white-space:nowrap;min-height:18px;width:72px;padding:0 1px;border:0;border-radius:4px;background:transparent;box-shadow:none}.payroll-mark-time{display:inline-block;width:32px;font-variant-numeric:tabular-nums}.payroll-mark-clock{width:12px;height:12px;border:2px solid #f59e0b;border-radius:50%;position:relative;display:inline-block;flex:0 0 auto;visibility:hidden}.payroll-mark-clock.is-visible{visibility:visible}.payroll-mark-clock:before,.payroll-mark-clock:after{content:"";position:absolute;left:50%;top:50%;width:1.5px;background:#b45309;transform-origin:bottom center;border-radius:999px}.payroll-mark-clock:before{height:4px;transform:translate(-50%,-100%) rotate(0)}.payroll-mark-clock:after{height:3px;transform:translate(-50%,-100%) rotate(90deg)}.payroll-mark-icon{width:14px;height:14px;border-radius:3px;display:inline-grid;place-items:center;background:#22c7b8;color:#fff;font-size:8px;font-weight:900}.payroll-mark-chip.is-out .payroll-mark-icon{background:#ef4444}.payroll-mark-chip.is-break .payroll-mark-icon{background:#f59e0b}.payroll-mark-chip.is-break-end .payroll-mark-icon{background:#3b82f6}.payroll-mark-warning{justify-self:start}.payroll-day-row>.timeclock-alert-badges{display:none}.payroll-day-editor{display:grid;gap:14px;border-color:#22c7b83d}.payroll-day-editor.has-incident{border-color:#f59e0b52;background:linear-gradient(180deg,rgba(245,158,11,.05),var(--panel))}.payroll-editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:12px;align-items:start}.payroll-editor-card{display:grid;gap:12px}.payroll-event-list{display:grid;gap:8px}.payroll-event-row{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.payroll-add-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:980px){.timeclock-employees-layout,.timeclock-planning-layout,.timeclock-empty-state-grid,.timeclock-warning-grid,.timeclock-dual-grid,.employee-admin-grid{grid-template-columns:1fr}.employee-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-field-span-2{grid-column:span 1}.employee-identity-grid-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-contract-grid-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-cost-input-grid,.employee-cost-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeclock-kiosk-grid,.timeclock-punch-grid,.timeclock-registry-filters,.timeclock-inline-edit,.payroll-filter-bar,.payroll-day-header,.payroll-day-row,.payroll-editor-grid,.payroll-add-event-grid{grid-template-columns:1fr}.payroll-day-header{display:none}.payroll-day-metrics{justify-content:flex-start}}@media(max-width:760px){.employee-details-grid,.employee-identity-grid-top,.employee-identity-grid-bottom,.employee-contract-grid-top,.employee-contract-grid-bottom,.employee-cost-input-grid,.employee-cost-stats-grid{grid-template-columns:1fr}.employee-field-span-2{grid-column:auto}}.settings-layout-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(420px,1fr);gap:20px;align-items:start}.settings-users-col{order:1}.settings-profiles-col{order:2}.settings-config-panel{display:grid;gap:18px}.settings-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}.settings-config-head h2{margin:0 0 4px;font-size:22px;letter-spacing:0}.settings-config-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:18px;align-items:start}.settings-config-nav{position:sticky;top:18px;display:grid;gap:8px}.settings-config-nav-card{width:100%;display:grid;gap:4px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);cursor:pointer}.settings-config-nav-card span{font-size:14px;font-weight:900}.settings-config-nav-card small{color:var(--muted);font-size:12px;line-height:1.3}.settings-config-nav-card:hover,.settings-config-nav-card.is-active{border-color:#22c7b88c;box-shadow:0 8px 20px #0f172a14}.settings-config-nav-card.is-active{background:linear-gradient(180deg,#22c7b824,#fffffff5)}.settings-config-content{min-width:0;display:grid;gap:14px}.settings-config-content-head{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafce6}.settings-config-kicker{color:var(--brand2);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.settings-config-content-head h3{margin:4px 0;font-size:24px;letter-spacing:0}.settings-config-block{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.settings-config-block-title{font-size:14px;font-weight:900;color:var(--text)}.settings-config-footer{display:flex;justify-content:flex-end;padding-top:4px}.sales-invoice-settings.is-embedded .surface{box-shadow:none}.settings-users-col,.settings-profiles-col{min-width:0}.settings-profiles-table tbody td,.settings-users-table tbody td{padding-top:6px;padding-bottom:6px}.settings-actions-cell{text-align:right}.settings-action-stack{display:inline-flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.settings-create-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}.settings-create-actions input{width:84px}.settings-users-table tbody td{overflow:hidden;white-space:normal;vertical-align:top}.settings-users-table input,.settings-users-table select{width:100%;min-width:0;box-sizing:border-box}.settings-user-identity{display:grid;gap:4px;min-width:0}.settings-user-identity span{min-width:0;color:#64748b;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-enabled-toggle{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12px;line-height:1.2}.settings-enabled-toggle input{width:auto}.settings-user-access-summary{display:grid;gap:7px;min-width:0}.settings-risk-badge{display:grid;gap:2px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#f8fafc;color:#334155;line-height:1.25}.settings-risk-badge strong{font-size:12px}.settings-risk-badge span{font-size:11.5px}.settings-risk-badge.is-safe{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.settings-risk-badge.is-warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.settings-risk-badge.is-danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.settings-risk-badge.is-muted{border-color:#e2e8f0;background:#f8fafc;color:#475569}.settings-module-chip-list{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.settings-module-chip-list span{max-width:100%;border:1px solid #dbe3ea;border-radius:999px;padding:2px 7px;background:#fff;color:#475569;font-size:11px;font-weight:800;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-module-chip-list span.is-sensitive{border-color:#fecaca;background:#fff7f7;color:#991b1b}.settings-profiles-table .settings-action-stack{display:inline-flex;flex-wrap:nowrap;justify-content:end;gap:4px}.settings-profiles-table .btn.btn-sm{padding:5px 7px;font-size:11px;white-space:nowrap}.settings-permissions-grid{padding:var(--space-2);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-2);align-items:start}.settings-permissions-group{border:1px solid var(--line);background:var(--panel);padding:var(--space-2);border-radius:var(--radius-sm)}.settings-permissions-group-title{margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase;color:var(--text-muted)}.settings-permissions-list{display:grid}.settings-permission-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center;border-bottom:1px solid var(--line);padding:var(--space-1) 0;font-size:var(--font-size-sm);min-width:0}.settings-permission-enabled{display:flex;gap:var(--space-2);align-items:center;margin:0;min-width:0;font-weight:600;line-height:1.2}.settings-permission-enabled span{overflow-wrap:anywhere}.settings-permission-mode{width:88px;min-width:0;height:var(--control-height-sm);min-height:var(--control-height-sm);padding:0 var(--space-1);font-size:var(--font-size-xs)}@media(max-width:760px){.settings-permissions-grid{grid-template-columns:1fr}.settings-permission-enabled{min-height:44px}.settings-permission-mode{height:44px}}.settings-users-table .btn.btn-sm{padding:5px 8px;font-size:11.5px;white-space:nowrap}.readonly-banner{margin:0 0 14px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;padding:10px 12px;font-size:13px;font-weight:800}.readonly-fieldset{min-width:0;margin:0;padding:0;border:0}.readonly-fieldset:disabled{color:inherit}.readonly-fieldset:disabled button,.readonly-fieldset:disabled input,.readonly-fieldset:disabled select,.readonly-fieldset:disabled textarea{cursor:not-allowed}.settings-users-table .settings-action-stack{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.settings-detail-cell{background:#0f172a05}.settings-user-access-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#f8fafcfa,#fffffffa)}.settings-user-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-user-connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:start}.settings-users-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-users-head h2{margin:0 0 4px;font-size:18px}.settings-users-panel{display:grid;gap:10px;max-width:100%;overflow:hidden}.settings-users-summary{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:13px}.settings-users-summary span{color:var(--muted)}.settings-users-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,150px) minmax(120px,150px);gap:8px}.settings-users-list{display:grid;gap:8px;min-width:0}.settings-user-row{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.settings-user-row.is-create{border-color:#22c7b866;background:linear-gradient(180deg,#22c7b814,#fff)}.settings-user-main{min-width:0;display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(92px,.55fr) minmax(150px,.95fr) minmax(160px,1fr) minmax(132px,.7fr);gap:8px;align-items:start;padding:8px}.settings-user-main input,.settings-user-main select,.settings-users-toolbar input,.settings-users-toolbar select{width:100%;min-width:0;height:34px;box-sizing:border-box}.settings-user-field{min-width:0;display:grid;gap:4px}.settings-user-field small,.settings-user-role small{min-width:0;color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-user-state{display:grid;gap:6px;align-content:start}.settings-session-pill{width:max-content;max-width:100%;display:inline-flex;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;line-height:1.35}.settings-user-role{min-width:0;display:grid;gap:6px}.settings-user-actions{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;justify-items:stretch}.settings-user-actions .btn.btn-sm{width:100%;min-width:0;padding:5px 6px;font-size:11px;line-height:1.2}.settings-user-actions .btn-danger{grid-column:auto}.settings-user-detail{margin:0 8px 8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.settings-users-empty{padding:14px;text-align:center;color:#64748b;border:1px dashed var(--line);border-radius:10px}@media(max-width:1320px){.settings-config-layout{grid-template-columns:minmax(170px,210px) minmax(0,1fr);gap:12px}.settings-config-nav-card{padding:10px}.settings-config-nav-card small{display:none}.settings-user-main{grid-template-columns:minmax(130px,1fr) minmax(84px,.5fr) minmax(130px,.9fr) minmax(150px,1fr) minmax(118px,.7fr);gap:7px;padding:7px}.settings-risk-badge{padding:6px 7px}.settings-module-chip-list span:nth-child(n+4){display:none}}.calendar-tone-row{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:12px;align-items:center}.calendar-tone-preview{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-weight:900;font-size:13px;cursor:default;text-align:center}.calendar-tone-controls{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:10px;align-items:center;justify-content:start}.calendar-tone-chip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);box-shadow:0 4px 12px #0f172a0d}.calendar-tone-chip-label{font-size:12px;font-weight:800;color:var(--text)}.calendar-tone-color-input{width:28px;height:28px;padding:0;border:none;background:transparent;cursor:pointer}.calendar-tone-chip-select{min-width:220px;justify-content:space-between}.calendar-tone-select{min-width:120px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--text);padding:8px 10px;font:inherit}@media(max-width:1280px){.settings-layout-grid,.settings-config-layout{grid-template-columns:1fr}.settings-config-nav{position:static;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:900px){.settings-config-head{align-items:stretch}.settings-config-head>.btn{width:100%}.settings-config-nav{grid-template-columns:1fr}.settings-config-content-head h3{font-size:21px}.settings-config-block{padding:12px}.calendar-tone-row{grid-template-columns:1fr;gap:8px}.calendar-tone-controls{grid-template-columns:1fr}.calendar-tone-chip,.calendar-tone-chip-select{width:100%}.calendar-tone-select{width:100%;min-width:0}.settings-action-stack,.settings-create-actions{flex-wrap:wrap;justify-content:flex-start}.settings-user-access-grid{grid-template-columns:1fr}.settings-actions-cell{text-align:left}}.inline-actions-start{justify-content:flex-start}.app-toast-stack{position:fixed;right:18px;bottom:18px;z-index:1200;display:grid;gap:10px;width:min(360px,calc(100vw - 24px))}.app-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:0 14px 30px #07142b29}.app-toast.is-success{border-color:#bfe6cf;background:#f3fbf6}.app-toast.is-error{border-color:#f1c3c3;background:#fff5f5}.app-toast.is-info{border-color:#b8e6e7;background:#f5fbfc}.app-toast-message{font-size:13px;line-height:1.45;color:var(--text);white-space:pre-line}.app-toast-close{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:0}.passkey-settings{display:grid;gap:12px}.passkey-settings-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.passkey-settings-field{display:grid;flex:1 1 220px;gap:4px}.passkey-settings-field span{color:var(--text-muted);font-size:12px}.passkey-settings-list{display:grid;gap:8px}.passkey-settings-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle, #f8fafc)}.passkey-settings-name{font-weight:800}.passkey-settings-meta,.passkey-settings-status{color:var(--text-muted);font-size:12px}.passkey-settings-status.is-error{color:var(--danger)}@media(max-width:600px){.passkey-settings-item{align-items:flex-start;flex-direction:column}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(34,199,184,.36);outline-offset:2px}::selection{background:#22c7b838}.page,.view-shell,.catalog-page{min-width:0}.page-title{letter-spacing:0}.page-subtitle,.surface-subtitle,.helper-text,.field-hint{line-height:1.45}.surface-muted{border-color:#e2e8f0}.btn,.btnPrimary,.btnGhost,.btnDangerGhost{min-height:var(--control-height);text-decoration:none}.btn-primary,.btnPrimary{border-color:#0ea5a88c;background:linear-gradient(135deg,#29d3c4,#13a6aa);color:#062b31}.btn-primary:hover,.btnPrimary:hover{border-color:#0e7490c7;box-shadow:0 10px 24px #0ea5a833}.btn-danger,.btnDangerGhost{color:#991b1b}.btn-danger:hover,.btnDangerGhost:hover{border-color:#ef44448c;box-shadow:0 10px 24px #ef444424}.input,select,input[type=text],input[type=number],input[type=date],input[type=password],input[type=email],input[type=search],textarea{color:var(--text);min-width:0}input::placeholder,textarea::placeholder{color:#94a3b8}.field-label,.settings-permissions-group-title,.gelato-board-stat-label{letter-spacing:0}.data-table,.b2bTable{background:var(--panel)}.data-table thead th,.b2bTable thead th{background:#edf4f6;color:#102033;border-bottom-color:#d7e3e8}.data-table tbody tr:last-child td,.b2bTable tbody tr:last-child td{border-bottom:0}.data-table tbody td,.b2bTable tbody td{color:#172033}.data-table td.actions,.b2bTable td.actions{white-space:normal}.empty,.emptyState,.payroll-planning-empty{color:var(--muted);background:#0f172a06}.empty,.data-table td.empty{padding:18px 12px;text-align:center;font-size:13px;line-height:1.45}.alert,.surface-danger,.surface-warning,.surface-success{line-height:1.45}.alert.error{border:1px solid rgba(239,68,68,.22);border-radius:var(--radius-sm);background:#ef444412;color:#991b1b;padding:12px 14px}.app-toast{border-radius:12px}.app-toast-close{width:28px;height:28px;display:grid;place-items:center;border-radius:999px}.app-toast-close:hover{background:#0f172a0f;color:var(--text)}.content{padding:16px 16px 72px}.content-inner{max-width:1320px}.page{border-color:#e3ecef;border-radius:16px;box-shadow:0 1px 2px #0f172a0a;padding:18px;background:#fffffffa}.view-shell,.section-stack,.section-grid{gap:10px}.view-header,.catalog-head,.toolbar{gap:8px 12px}.page-title{font-size:24px;line-height:1.15}.page-subtitle{margin-bottom:10px}.surface,.panel,.table-card,.mobile-card,.ui-card{border-color:var(--ui-border);border-radius:var(--radius-panel);box-shadow:none}.surface,.panel,.ui-card{padding:14px}.ui-card,.surface{background:var(--workspace-bg)}.surface+.surface,.panel+.panel,.ui-card+.ui-card{margin-top:8px}.surface-muted,.mobile-card,.table-card{background:var(--workspace-alt)}.surface-title{font-size:16px;margin-bottom:4px}.metric-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-card,.stat-card{min-width:0;border:0;border-left:1px solid var(--ui-divider);border-radius:0;background:transparent;padding:6px 12px}.metric-card:first-child,.stat-card:first-child{border-left:0;padding-left:0}.metric-card-value,.stat-card-value{margin-top:4px;color:var(--metric-accent, var(--brand2));font-size:22px;font-weight:900;line-height:1.1}.stat-card-hint{margin-top:4px}.catalog-filters,.view-toolbar,.filter-bar,.settings-users-toolbar{border:0;border-top:1px solid var(--ui-divider);border-bottom:1px solid var(--ui-divider);border-radius:0;background:transparent;padding:10px 0}.catalog-filters .toolbar,.view-toolbar{margin:0}.data-table,.b2bTable{border:1px solid var(--ui-border);border-radius:8px;overflow:hidden}.table-card .data-table,.table-card .b2bTable{border:0;border-radius:0}.data-table thead th,.b2bTable thead th{background:#f7fafb;border-bottom-color:#d9e3e8;padding:8px 10px;font-size:12px}.data-table tbody td,.b2bTable tbody td{padding:7px 10px;border-bottom-color:#edf2f5}.data-table tbody tr:nth-child(2n),.b2bTable tbody tr:nth-child(2n){background:#fbfdfe}.data-table tbody tr:hover,.b2bTable tbody tr:hover{background:var(--ui-hover)}.badge,.statusPill,.settings-module-chip-list span,.settings-session-pill,.btn,.btnPrimary,.btnGhost,.btnDangerGhost,.btn:hover,.btnPrimary:hover,.btnGhost:hover{box-shadow:none}.card{border:1px solid var(--ui-border);border-radius:8px;box-shadow:none;margin-bottom:10px;padding:12px;background:var(--workspace-bg)}.cardsGrid{gap:10px}.empty,.emptyState,.payroll-planning-empty{border-radius:10px;border-color:var(--ui-border)}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px;align-items:start}.workspace-main,.workspace-sidebar,.section-block,.context-panel{min-width:0}.workspace-main{display:grid;gap:12px}.workspace-sidebar{display:grid;gap:12px;position:sticky;top:16px}.section-block{padding:12px 0;border-top:1px solid var(--ui-divider)}.section-block:first-child{border-top:0;padding-top:0}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:0;border-top:1px solid var(--ui-divider);border-bottom:1px solid var(--ui-divider);padding:10px 0}.context-panel{border-left:1px solid var(--ui-divider);padding-left:14px;color:var(--text)}.ui-card,.surface,.panel{position:relative}.ui-card>.metric-grid,.surface>.metric-grid,.panel>.metric-grid{border-top:1px solid var(--ui-divider);border-bottom:1px solid var(--ui-divider);padding:10px 0}.cardsGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cardsGrid>.card,.cardsGrid>.panel,.cardsGrid>.ui-card{margin-bottom:0}.mobile-card{border-radius:8px;box-shadow:none}.badge,.chip,.statusPill,.settings-module-chip-list span,.settings-session-pill{border-radius:999px;box-shadow:none}.modal-toggle-card,.settings-config-nav-card,.sector-news-card,.biblioteca-card,.biblioteca-technical-card,.employee-detail-card,.employee-admin-card,.employee-cost-card,.timeclock-stat-card,.timeclock-focus-card,.timeclock-shift-card,.payroll-week-total-card,.payroll-editor-card{box-shadow:none!important}.settings-config-nav-card,.biblioteca-card,.biblioteca-technical-card,.sector-news-card{border-radius:8px!important}.settings-config-nav-card:hover,.settings-config-nav-card.is-active,.biblioteca-card:hover,.biblioteca-card.is-active,.biblioteca-technical-card:hover,.biblioteca-technical-card.is-active{box-shadow:none!important}.gelato-formulation-page{display:grid;gap:10px}.gelato-formulation-setup,.gelato-formulation-ai,.gelato-formulation-analysis>div,.gelato-formulation-composition,.gelato-formulation-comparison>div{border-color:var(--ui-border)!important;border-radius:10px!important;box-shadow:none!important;background:var(--workspace-bg)!important}.gelato-formulation-analysis{align-items:stretch!important}.gelato-formulation-analysis>div,.gelato-formulation-composition{padding:14px!important}.formulation-kpi-inner{border:0!important;border-left:1px solid var(--ui-divider)!important;border-radius:0!important;background:transparent!important;padding:6px 10px!important}.formulation-kpi:nth-child(4n+1) .formulation-kpi-inner{border-left:0!important;padding-left:0!important}.formulation-inline-metric,.formulation-compare-summary{background:transparent!important;border-color:var(--ui-divider)!important;border-radius:8px!important;box-shadow:none!important}.gelato-formulation-page .formulation-table-wrap{border-color:var(--ui-border)!important;border-radius:8px!important}.gelato-formulation-page .data-table{border-radius:8px}.gelato-formulation-page .chip{background:var(--ui-quiet)}.page{border:0!important;box-shadow:none!important}.page .surface:not(.surface-danger):not(.surface-warning):not(.surface-success),.page .panel,.page .ui-card,.page .card:not(.mobile-card){border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.page .surface:not(.surface-danger):not(.surface-warning):not(.surface-success),.page .panel,.page .ui-card{padding:0!important}.page .surface:not(.surface-danger):not(.surface-warning):not(.surface-success)+.surface:not(.surface-danger):not(.surface-warning):not(.surface-success),.page .panel+.panel,.page .ui-card+.ui-card{margin-top:14px;padding-top:14px!important;border-top:1px solid var(--ui-divider)!important}.page .table-card,.page .catalog-table-scroll,.page .data-table,.page .b2bTable{border-radius:8px!important}.page .table-card{border:1px solid var(--ui-border)!important;background:#fff!important}.page .cardsGrid{gap:0!important;border-top:1px solid var(--ui-divider);border-bottom:1px solid var(--ui-divider)}.page .cardsGrid>.card,.page .cardsGrid>.panel,.page .cardsGrid>.ui-card{padding:12px!important;border-right:1px solid var(--ui-divider)!important}.page .cardsGrid>:last-child{border-right:0!important}.page .metric-grid{gap:0!important}.page .mobile-card{border:1px solid var(--ui-border)!important;border-radius:8px!important;background:#fff!important}.gelato-formulation-page>div[style*=border],.gelato-formulation-page div[style*="background: rgb(248, 250, 252)"],.gelato-formulation-page div[style*="background: #f8fafc"],.gelato-formulation-page div[style*="background: rgb(248, 251, 255)"],.gelato-formulation-page div[style*="background: #fbfdff"]{border-color:var(--ui-divider)!important;box-shadow:none!important;background:transparent!important}.gelato-formulation-page .formulation-kpi-inner{min-height:58px}.gelato-formulation-page .formulation-table-wrap,.gelato-formulation-page .data-table{background:#fff!important}@media(max-width:1280px){.formulation-kpi:nth-child(4n+1) .formulation-kpi-inner{border-left:1px solid var(--ui-divider)!important;padding-left:10px!important}.formulation-kpi:nth-child(odd) .formulation-kpi-inner{border-left:0!important;padding-left:0!important}}@media(max-width:900px){.workspace-layout{grid-template-columns:1fr}.workspace-sidebar{position:static}.context-panel{border-left:0;border-top:1px solid var(--ui-divider);padding-left:0;padding-top:12px}.content{padding:12px 12px 86px}.page{padding:12px;border-radius:12px}.page-title{font-size:22px}.surface,.panel,.ui-card{padding:10px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card:nth-child(odd),.stat-card:nth-child(odd){border-left:0;padding-left:0}.formulation-kpi .formulation-kpi-inner{border-left:0!important;padding-left:0!important;border-top:1px solid var(--ui-divider)!important;padding-top:10px!important}.formulation-kpi:first-child .formulation-kpi-inner{border-top:0!important;padding-top:6px!important}}@media(max-width:760px){.view-header,.catalog-head{align-items:stretch}.view-actions,.toolbar,.inline-actions,.mobile-card-actions{gap:10px}.view-actions .btn,.toolbar .btn,.inline-actions .btn{flex:1 1 auto}.data-table thead th,.b2bTable thead th{font-size:12px}.data-table tbody td,.b2bTable tbody td{font-size:13px;line-height:1.35}.app-toast-stack{right:12px;bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.gelato-board-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gelato-board-stat-card{display:grid;gap:6px}.gelato-board-stat-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.gelato-board-stat-value{font-size:34px;line-height:1;font-weight:900;color:var(--text)}.gelato-board-inline-toggle{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700;color:var(--text)}.gelato-board-inline-toggle input{width:16px;height:16px}.gelato-board-manager-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.gelato-board-manager-item{display:flex;align-items:center;justify-content:space-between;gap:14px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.gelato-board-manager-item.is-selected{border-color:#22c7b873;background:linear-gradient(180deg,#f0fdfafa,#fffffffa)}.gelato-board-manager-main{min-width:0;display:grid;gap:8px}.gelato-board-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.gelato-board-manager-name{font-size:20px;line-height:1.1;font-weight:900;color:var(--text)}.gelato-board-type-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a0a;font-size:12px;font-weight:800;white-space:nowrap}.gelato-board-type-pill.is-dairy-free{border-color:#10b98147;background:#10b9811f;color:#166534}.gelato-board-display{--xata-board-accent:#22c7b8;--tv-font-display:Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;--tv-font-body:"Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;min-height:100vh;padding:24px;background:#f5efe5}.gelato-board-display__frame{min-height:calc(100vh - 48px);display:grid;grid-template-rows:auto 1fr auto;gap:22px;padding:28px 30px;border-radius:28px;border:none;background:radial-gradient(900px 300px at 50% -10%,#22c7b814,#22c7b800 62%),linear-gradient(180deg,#fffaf3,#f5efe5);box-shadow:0 18px 40px #0f172a14}.gelato-board-display__header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px}.gelato-board-display__brand-mark{position:relative;width:min(300px,24vw);aspect-ratio:1147 / 816}.gelato-board-display__headline{color:#111;font-size:clamp(24px,2.1vw,36px);line-height:1.04;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:center;font-family:var(--tv-font-display)}.gelato-board-display__slide-tabs{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.gelato-board-display__slide-tab{padding:6px 14px;border-radius:999px;border:1px solid rgba(17,17,17,.14);color:#11111194;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#ffffffad}.gelato-board-display__slide-tab.is-active{color:#111;background:var(--xata-board-accent);border-color:transparent}.gelato-board-display__brand-fill,.gelato-board-display__brand-overlay{position:absolute;inset:0;width:100%;height:100%}.gelato-board-display__brand-fill{background:var(--xata-board-accent);-webkit-mask-image:var(--xata-board-logo);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:var(--xata-board-logo);mask-repeat:no-repeat;mask-position:center;mask-size:contain}.gelato-board-display__brand-overlay{object-fit:contain;mix-blend-mode:multiply}.gelato-board-display__legend-title,.gelato-board-display__footnote{font-family:var(--tv-font-display)}.gelato-board-display__sections{display:grid;gap:22px;align-content:start}.gelato-board-display__sections.has-two-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gelato-board-display__section{display:grid;gap:14px;padding:16px 18px 18px;border:none;border-radius:0;background:transparent;align-content:start}.gelato-board-display__section.is-dairy-free{border:none;background:transparent}.gelato-board-display__section-head{display:grid;grid-template-rows:minmax(48px,auto) 1px;gap:10px;min-height:74px;align-content:start}.gelato-board-display__section-title{margin:0;display:flex;align-items:center;justify-content:center;color:#111;font-size:clamp(22px,2vw,34px);line-height:1.05;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;font-family:var(--tv-font-display)}.gelato-board-display__section-rule{height:1px;background:#11111129}.gelato-board-display__items{display:grid;grid-template-columns:repeat(var(--gelato-board-columns, 1),minmax(0,1fr));gap:10px 18px;align-content:start}.gelato-board-display__product-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-content:start}.gelato-board-display__product-section{display:grid;gap:14px}.gelato-board-display__product-items{display:grid;gap:10px}.gelato-board-display__product-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;padding-bottom:8px;border-bottom:1px solid rgba(17,17,17,.12)}.gelato-board-display__product-name,.gelato-board-display__product-price{color:#111;font-size:clamp(20px,1.7vw,30px);line-height:1.02;font-weight:700;letter-spacing:-.015em;font-family:var(--tv-font-body);text-shadow:none}.gelato-board-display__product-name{min-width:0}.gelato-board-display__product-price{white-space:nowrap}.gelato-board-display__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;color:#111;font-size:clamp(18px,1.55vw,28px);line-height:1.02;font-weight:700;letter-spacing:-.015em;font-family:var(--tv-font-body);text-shadow:none}.gelato-board-display__item-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gelato-board-display__allergens{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.gelato-board-display__allergens.is-slotted{display:grid;grid-template-columns:repeat(14,17px);gap:3px;justify-content:end;align-items:center;min-width:277px}.gelato-board-display__allergens.is-legend{justify-content:flex-start;gap:8px}.gelato-board-display__allergens.is-inline{justify-content:flex-end;gap:8px}.gelato-board-display__allergen-slot{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px}.gelato-board-display__allergen-slot.is-empty{visibility:hidden}.gelato-board-display__allergen-placeholder{width:17px;height:17px;display:block}.gelato-board-display__allergen-chip{display:inline-flex;align-items:center;gap:6px}.gelato-board-display__allergen-icon{width:17px;height:17px;object-fit:contain;border-radius:4px;background:#fff;border:2px solid var(--allergen-accent, #22c7b8);box-shadow:0 0 0 1px #1111110f,0 8px 14px #0f172a14}.gelato-board-display__allergen-icon.is-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 2px;border-radius:999px;border:2px solid var(--allergen-accent, #22c7b8);color:#111;background:color-mix(in srgb,var(--allergen-accent, #22c7b8) 18%,#fffaf3);font-size:8px;font-weight:900;letter-spacing:.04em;font-family:var(--font);text-shadow:none;box-shadow:0 8px 14px #0f172a14}.gelato-board-display__allergens.is-legend .gelato-board-display__allergen-icon{width:38px;height:38px;border-radius:8px}.gelato-board-display__allergens.is-legend .gelato-board-display__allergen-icon.is-fallback{min-width:38px;height:38px;padding:0 8px;font-size:14px}.gelato-board-display__allergens.is-inline .gelato-board-display__allergen-icon{width:22px;height:22px}.gelato-board-display__allergens.is-inline .gelato-board-display__allergen-icon.is-fallback{min-width:22px;height:22px;padding:0 4px;font-size:10px}.gelato-board-display__allergen-label{color:#111111c2;font-size:15px;font-weight:700;font-family:var(--font)}.gelato-board-display__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;align-content:end;align-items:end}.gelato-board-display__legend-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gelato-board-display__legend-title{color:#111111d6;font-size:16px;font-weight:800;flex:0 0 auto}.gelato-board-display__footnote{color:#1111119e;font-size:15px;justify-self:end;text-align:right}.gelato-board-display__message{display:grid;place-items:center;padding:28px;border-radius:24px;border:1px dashed rgba(255,255,255,.16);color:#f5f5ef;font-size:clamp(24px,2vw,34px);font-weight:800;text-align:center;font-family:var(--tv-font-display)}.gelato-board-display__sections.is-spacious{justify-items:center}.gelato-board-display__sections.is-spacious .gelato-board-display__section{width:min(100%,1480px);gap:20px;padding:8px 24px 24px}.gelato-board-display__sections.is-spacious .gelato-board-display__section-head{grid-template-rows:minmax(64px,auto) 1px;min-height:90px;gap:14px}.gelato-board-display__sections.is-spacious .gelato-board-display__section-title{font-size:clamp(34px,3vw,54px)}.gelato-board-display__sections.is-spacious .gelato-board-display__items{gap:18px 26px}.gelato-board-display__sections.is-spacious .gelato-board-display__item{font-size:clamp(30px,2.5vw,44px);gap:20px}.gelato-board-display__sections.is-spacious .gelato-board-display__item-name{white-space:normal}.gelato-board-toolbar{display:flex;align-items:center;gap:12px}.gelato-board-tabs-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gelato-board-toolbar__status{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.gelato-board-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.gelato-board-panel-title{font-size:15px;font-weight:900;color:var(--text)}.gelato-board-toolbar__summary{flex:0 0 auto;min-width:92px;min-height:38px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:var(--text)}.gelato-board-toolbar__summary.is-live{color:#065f46;border-color:#10b98147;background:#ecfdf5}.gelato-board-announcement-editor{display:grid;gap:12px}.gelato-board-announcement-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}.gelato-board-announcement-preview-stack{display:grid;gap:8px;width:100%;max-width:640px;min-width:0;justify-items:start}.gelato-board-announcement-preview-stack>.gelato-board-announcement-preview{width:100%}.gelato-board-announcement-fields{display:grid;gap:10px;align-content:start}.gelato-board-announcement-preview{min-height:320px;border-radius:16px;border:1px solid rgba(15,23,42,.12);overflow:hidden;position:relative;isolation:isolate;background:#0d2928;background-size:cover;background-position:center;display:flex;align-items:center;padding:28px;color:var(--brand-turquoise)}.gelato-board-announcement-preview__art{position:absolute;right:10px;bottom:6px;z-index:0;width:min(58%,420px);max-height:86%;object-fit:contain;object-position:right bottom;pointer-events:none;mix-blend-mode:normal;filter:saturate(1.08) contrast(1.04)}.gelato-board-announcement-preview__copy{width:min(420px,70%);display:grid;gap:10px;position:relative;z-index:1}.gelato-board-announcement-preview__copy span{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-turquoise)}.gelato-board-announcement-preview__copy strong{font-size:34px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:0}.gelato-board-announcement-preview__copy p{margin:0;font-size:14px;line-height:1.35;color:var(--brand-turquoise)}.gelato-board-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--gelato-board-rows),minmax(38px,auto));gap:var(--space-1) var(--space-2)}.gelato-board-sections>.gelato-board-section{grid-column:span 1;grid-row:1 / span var(--gelato-board-rows);grid-template-columns:subgrid;grid-template-rows:subgrid;padding:0}.gelato-board-sections .gelato-board-section__header{grid-column:1 / -1}.gelato-board-sections .gelato-board-rows{display:contents}.gelato-board-product-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.gelato-board-product-editor{max-width:900px;width:100%}.gelato-board-product-list{display:grid;gap:var(--space-2)}.gelato-board-product-list .gelato-board-section{padding:var(--space-2);gap:var(--space-2)}.gelato-board-product-list .gelato-board-order-list{gap:var(--space-1)}.gelato-board-product-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm, 10px);padding:var(--space-1) var(--space-2);background:var(--panel)}.gelato-board-product-order-actions{display:grid;grid-template-columns:52px;gap:4px;align-items:center}.gelato-board-position{width:52px;height:var(--control-height-sm);min-height:var(--control-height-sm);padding:4px}.gelato-board-product-list .gelato-board-section__header{flex-wrap:wrap}.gelato-board-product-list .gelato-board-section__header-actions{margin-left:auto}.gelato-board-product-row.is-selected{background:var(--panel-soft);border-color:var(--brand)}.gelato-board-item-selection{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer;min-height:var(--control-height-sm)}@media(max-width:600px){.gelato-board-position,.gelato-board-item-selection{min-height:44px}.gelato-board-item-selection{grid-template-columns:auto minmax(0,1fr)}.gelato-board-item-selection .gelato-board-row__meta{grid-column:2;justify-self:start}.gelato-board-item-selection .gelato-board-row__price{text-align:left}}.gelato-board-order-list{display:grid;gap:8px}.gelato-board-section{display:grid;gap:10px;padding:12px}.gelato-board-section__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.gelato-board-section__header-actions{display:flex;align-items:center;gap:6px}.gelato-board-section__title{margin:0;font-size:17px;font-weight:900;letter-spacing:-.02em}.gelato-board-section__count{min-width:32px;height:32px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;display:grid;place-items:center;font-size:13px;font-weight:900}.gelato-board-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px}.gelato-board-row-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.gelato-board-row{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:10px;background:#fff;padding:8px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .08s ease}.gelato-board-row:hover{border-color:#22c7b86b;box-shadow:0 8px 22px #0f172a0f}.gelato-board-row.is-selected{border-color:#22c7b885;background:linear-gradient(180deg,#d6f6f1fa,#b7eae3fa);box-shadow:0 10px 22px #22c7b82e}.gelato-board-row:active{transform:translateY(1px)}.gelato-board-row.is-disabled,.gelato-board-row.is-busy{opacity:.66}.gelato-board-row.is-disabled{cursor:not-allowed}.gelato-board-row__name{min-width:0;font-size:13.5px;line-height:1.15;font-weight:800;color:var(--text);letter-spacing:-.02em;overflow-wrap:anywhere}.gelato-board-row__meta{display:flex;align-items:center;justify-content:flex-end;min-width:0;justify-self:end}.gelato-board-row__price{min-width:68px;text-align:right;font-size:12px;font-weight:900;color:#0f172a}.gelato-board-row__allergens{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;justify-self:end}.gelato-board-row.is-product{grid-template-columns:minmax(0,1fr);align-items:start}.gelato-board-row.is-managed{grid-template-columns:minmax(0,1fr) 52px;padding:var(--space-1) var(--space-2);cursor:default}.gelato-board-row.is-managed:active{transform:none}.gelato-board-row.is-product .gelato-board-row__meta{width:100%;justify-self:stretch}.gelato-board-row__actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.gelato-board-row__move{min-height:34px;border:1px solid rgba(15,23,42,.14);border-radius:10px;background:#f8fafc;color:var(--text);font-size:16px;font-weight:900;cursor:pointer;display:grid;place-items:center;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .08s ease}.gelato-board-row__move:hover{border-color:#22c7b86b;box-shadow:0 8px 20px #0f172a0f}.gelato-board-row__move:active{transform:translateY(1px)}.gelato-board-row__move:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.gelato-board-section__move{min-width:34px;padding:0}.gelato-board-row__allergen{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;overflow:hidden;background:#fff;border:1.5px solid var(--allergen-accent, #22c7b8);box-shadow:0 1px 4px #0f172a1f}.gelato-board-row.is-selected .gelato-board-row__allergen{box-shadow:0 0 0 1px #ffffff40,0 0 10px color-mix(in srgb,var(--allergen-accent, #22c7b8) 35%,transparent)}.gelato-board-row__allergen-icon{width:100%;height:100%;object-fit:contain;display:block}.gelato-board-row__allergen-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text);background:color-mix(in srgb,var(--allergen-accent, #22c7b8) 18%,#fff);font-size:9px;font-weight:900;letter-spacing:.04em}@media(max-width:980px){.gelato-board-stats{grid-template-columns:1fr}.gelato-board-manager-item{flex-direction:column;align-items:stretch}.gelato-board-display{padding:12px}.gelato-board-display__frame{min-height:calc(100vh - 24px);padding:18px 16px}.gelato-board-display__header{min-height:96px}.gelato-board-display__brand-mark{width:min(190px,38vw)}.gelato-board-display__headline{font-size:clamp(20px,5vw,28px)}.gelato-board-display__slide-tab{font-size:12px;padding:5px 10px}.gelato-board-display__sections.has-two-sections{grid-template-columns:1fr;display:grid}.gelato-board-display__items{grid-template-columns:1fr!important}.gelato-board-display__item{grid-template-columns:minmax(0,1fr);gap:6px}.gelato-board-display__allergens,.gelato-board-display__allergens.is-inline{justify-content:flex-start}.gelato-board-display__product-groups{grid-template-columns:1fr;gap:18px}.gelato-board-display__product-item{gap:10px}.gelato-board-display__sections.is-spacious .gelato-board-display__section{width:100%;padding:8px 0 18px}.gelato-board-display__sections.is-spacious .gelato-board-display__section-title{font-size:clamp(26px,6vw,36px)}.gelato-board-display__sections.is-spacious .gelato-board-display__item{font-size:clamp(22px,4.8vw,30px);gap:10px}.gelato-board-display__product-name,.gelato-board-display__product-price{font-size:clamp(18px,4.2vw,24px)}.gelato-board-toolbar,.gelato-board-tabs-head{flex-direction:column;align-items:stretch}.gelato-board-toolbar__status{justify-content:space-between}.gelato-board-panel-head{flex-direction:column;align-items:stretch}.gelato-board-toolbar__summary{width:100%}.gelato-board-sections{grid-template-columns:1fr;grid-template-rows:none;gap:var(--space-3)}.gelato-board-sections>.gelato-board-section{grid-column:auto;grid-row:auto;grid-template-columns:1fr;grid-template-rows:auto;gap:var(--space-2)}.gelato-board-sections .gelato-board-rows{display:grid}.gelato-board-product-sections{grid-template-columns:1fr}.gelato-board-announcement-grid{grid-template-columns:minmax(0,1fr)}.gelato-board-announcement-preview-stack{max-width:260px}.gelato-board-announcement-preview{min-height:240px}.gelato-board-rows{grid-template-columns:1fr}.gelato-board-row__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.gelato-board-screen-control{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.gelato-board-screen-control label,.gelato-board-piece-duration{display:flex;align-items:center;gap:var(--space-2)}.gelato-board-screen-control input[type=number],.gelato-board-piece-duration input{width:5.25rem}.gelato-board-piece-list{display:grid;gap:var(--space-2);padding-inline-start:var(--space-5)}.gelato-board-piece-row{display:grid;grid-template-columns:minmax(0,1fr) auto repeat(2,2.75rem) auto;align-items:center;gap:var(--space-2)}.gelato-board-piece-name{overflow-wrap:anywhere}@media(max-width:480px){.gelato-board-piece-row{grid-template-columns:auto repeat(2,2.75rem) auto;justify-content:start}.gelato-board-piece-name{grid-column:1 / -1}}.autumn-campaign{position:relative;width:100%;height:100%;overflow:hidden;background:#24180f;container-type:inline-size;color:var(--brand-turquoise)}.autumn-campaign__slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}.autumn-campaign__slide.is-active{opacity:1}.autumn-campaign__slide>img,.autumn-campaign__slide>video{width:100%;height:100%;object-fit:cover;transform:scale(1)}.autumn-campaign__slide.is-active>img{animation:autumn-approach 8s linear both}.autumn-campaign.is-paused .autumn-campaign__slide.is-active>img{animation-play-state:paused}.autumn-campaign__copy{position:absolute;z-index:1;text-shadow:0 2px 16px #0009}.autumn-campaign__word{white-space:nowrap}.autumn-campaign__copy h1{font:400 3.9cqw/1.08 Georgia,serif;margin:.2em 0}.autumn-campaign__copy p{font:400 1.65cqw/1.35 Arial,sans-serif;margin:.4em 0}.autumn-campaign__slide.is-top .autumn-campaign__copy{top:7%;left:7%;right:7%}.autumn-campaign__slide.is-top-right .autumn-campaign__copy{top:10%;left:57%;width:36%}.autumn-campaign__slide.is-top-right h1{font-size:3.4cqw}.autumn-campaign__slide.is-left:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#160d08e6,#160d0899 28%,transparent 48%);pointer-events:none}.autumn-campaign__slide.is-left .autumn-campaign__copy{top:46%;left:5%;width:29%}.autumn-campaign__slide.is-left h1{font-size:4.6cqw;font-weight:700;text-wrap:balance}.gelato-board-display__frame.is-campaign-slide{display:block;padding:0;position:relative}.gelato-board-display__frame.is-campaign-slide>.gelato-board-display__header{display:none}.gelato-board-announcement-preview:has(>.autumn-campaign){padding:0;aspect-ratio:16/9;min-height:0;display:block}@keyframes autumn-approach{to{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.autumn-campaign__slide{transition:none}.autumn-campaign__slide.is-active>img{animation:none}}.gelato-board-announcement-preview:has(>.gelato-board-display__intro-logo){padding:0;aspect-ratio:16/9;min-height:0;display:block}.gelato-board-display__intro-logo{display:grid;place-items:center;height:100%;background:var(--xata-board-accent, var(--brand-turquoise));color:#101010;font-size:6rem;font-weight:700}.gelato-board-display__intro-logo img{width:75%;height:75%;object-fit:contain}.panettone-campaign{position:relative;width:100%;height:100%;overflow:hidden;container-type:inline-size;background:#f4ebdb;color:#17423a}.panettone-campaign__photo{position:absolute;inset:0 0 0 auto;width:71%;height:100%;object-fit:cover;object-position:56% 49%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%),radial-gradient(ellipse 84% 97% at 65% 50%,#000 46%,#000b 63%,transparent 92%);mask-image:linear-gradient(90deg,transparent,#000 22%),radial-gradient(ellipse 84% 97% at 65% 50%,#000 46%,#000b 63%,transparent 92%);-webkit-mask-composite:source-in;mask-composite:intersect}.panettone-campaign__copy{position:relative;width:36%;height:100%;padding:0 1.3cqw 0 4.27cqw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.panettone-campaign__award{font:700 1.98cqw/1.7 Arial,sans-serif;color:#5f4936}.panettone-campaign__award-end{position:relative;line-height:inherit}.panettone-campaign__logo{display:block;width:6.67cqw;height:auto}.panettone-campaign__award-end .panettone-campaign__logo{position:absolute;left:8.85cqw;top:50%;transform:translateY(-50%)}.panettone-campaign__copy h1{font:400 5.625cqw/.98 Georgia,serif;margin:2.45cqw 0 0}.panettone-campaign__reserve{margin-top:1.25cqw;font:700 1.45cqw/1.25 Arial,sans-serif}.gelato-board-announcement-preview:has(>.panettone-campaign){padding:0;aspect-ratio:16/9;min-height:0;display:block}.ui-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.ui-page-header__title{margin:0;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.15}.ui-page-header__description{max-width:72ch;margin:var(--space-1) 0 0;color:var(--text-muted)}.ui-page-header__actions,.ui-action-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ui-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.ui-section-header h2,.ui-section-header h3{margin:0}.ui-state{display:grid;justify-items:center;gap:var(--space-2);padding:clamp(24px,5vw,48px) var(--space-4);color:var(--text-muted);text-align:center}.ui-state__title{color:var(--text);font-weight:800}.ui-collapsible{border-top:1px solid var(--border)}.ui-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;font-weight:750;cursor:pointer;list-style:none}.ui-collapsible>summary::-webkit-details-marker{display:none}.ui-collapsible__body{padding:0 0 var(--space-4)}.app-boot-state{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:#f8fbfc;color:#475569}.app-boot-state__panel{width:min(680px,100%);padding:var(--space-6);border:1px solid #dbe7ee;border-radius:var(--radius);background:var(--panel)}.app-boot-state__eyebrow{color:#5f7a90;font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase}.app-boot-state__title{margin:var(--space-2) 0 0;color:#082f49;font-size:26px}.app-boot-state__description{color:#475569;line-height:var(--line-height-lg)}.app-boot-state__code{padding:14px;border:1px solid #dbe7ee;border-radius:var(--radius-sm);background:#f8fafc;color:var(--text)}@media(max-width:760px){.ui-page-header{display:grid}.ui-page-header__actions,.ui-action-bar{width:100%}.ui-page-header__actions>.btn,.ui-action-bar>.btn{min-height:var(--control-height)}}.modal-overlay{position:fixed;inset:0;background:#02061794;display:flex;align-items:flex-start;justify-content:center;padding:clamp(12px,3vh,28px);z-index:1000;overflow-y:auto;overscroll-behavior:contain;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{width:900px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr);background:#fffffffb;border:1px solid rgba(226,232,240,.9);border-radius:16px;box-shadow:0 26px 76px #02061747;overflow:hidden;isolation:isolate}.modal-card,.modal-card *{min-width:0}.modal-head{display:flex;align-items:center;gap:10px;justify-content:space-between;position:sticky;top:0;z-index:2;padding:16px 20px;background:linear-gradient(180deg,#f4fafbfa,#fffffff5);border-bottom:1px solid rgba(15,23,42,.08)}.modal-title{margin:0;font-size:16px;font-weight:900;letter-spacing:0;line-height:1.25}.modal-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-body{display:grid;gap:16px;min-height:0;padding:18px 20px 20px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.modal-stack{display:grid;gap:16px}.modal-section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.modal-section-muted{background:#0f172a06}.modal-input-readonly{min-height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#f4f8fceb;color:var(--text);font-weight:600;cursor:default}.modal-toggle-card{display:flex;align-items:center;gap:12px;min-height:var(--control-height);padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0f172a06}.modal-toggle-card input{width:18px;height:18px;flex:0 0 auto}.modal-toggle-card-label{font-weight:800;color:var(--text)}.modal-grid{display:grid;gap:12px}.modal-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.modal-footer{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px -20px -20px;padding:14px 20px 18px;border-top:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#ffffffb8,#fffffffa 22px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-footer.is-left{justify-content:flex-start}.modal-footer.is-center{justify-content:center}.modal-footer.is-right{justify-content:flex-end}.modal-table-wrap{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:auto;max-height:min(46dvh,520px)}.modal-table-wrap .data-table{min-width:720px}.composition-modal-table{table-layout:fixed}.composition-modal-table col.col-type{width:132px}.composition-modal-table col.col-ref{width:auto}.composition-modal-table col.col-qty{width:128px}.composition-modal-table col.col-pct{width:76px}.composition-modal-table col.col-cost{width:118px}.composition-modal-table col.col-actions{width:172px}.composition-modal-ref{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composition-modal-cost{white-space:nowrap}.modal-card .surface{box-shadow:none;border-radius:12px}@media(max-width:820px){.modal-card{max-height:calc(100dvh - 16px);border-radius:14px}.modal-head{align-items:flex-start}.modal-head{padding:14px 14px 12px}.modal-body{gap:14px;padding:14px}.modal-footer{margin:4px -14px -14px;padding:12px 14px 14px;justify-content:stretch}.modal-footer .btn{flex:1 1 auto}.modal-grid.cols-2,.modal-grid.cols-3,.modal-grid.cols-4{grid-template-columns:1fr}.modal-table-wrap .data-table{min-width:620px}.modal-close-btn{flex:0 0 auto}}
