.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-light) 100%);padding:24px}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:48px 40px;width:100%;max-width:420px}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:1.75rem;font-weight:800;color:var(--ink);letter-spacing:-.025em}.login-logo span{color:var(--teal)}.login-logo p{color:var(--gray-500);font-size:.875rem;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8125rem;font-weight:600;color:var(--gray-700)}.form-group input{padding:10px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;color:var(--gray-800);transition:border-color var(--transition);outline:none}.form-group input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #19a7ce1f}.login-btn{margin-top:8px;padding:12px;background:var(--teal);color:#fff;font-size:.9375rem;font-weight:600;border-radius:var(--radius-sm);transition:background var(--transition)}.login-btn:hover:not(:disabled){background:var(--teal-bright)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fef2f2;color:var(--red);padding:10px 14px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;border:1px solid #fecaca}@media(max-width:480px){.login-card{padding:36px 24px}.login-btn{min-height:48px;font-size:1rem}.form-group input{min-height:44px;font-size:1rem}}.dashboard-page{display:flex;flex-direction:column;gap:20px}.dashboard-filter-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.dashboard-filter-bar h2{font-size:1.125rem;font-weight:700;color:var(--gray-800);margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:1024px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 20px;display:flex;align-items:center;gap:14px;position:relative}.kpi-card-clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.kpi-card-clickable:hover{box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1));transform:translateY(-1px)}.kpi-card-active{border-color:var(--teal, #19A7CE);box-shadow:0 0 0 2px #19a7ce40}.kpi-card[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--gray-800, #1f2937);color:#fff;font-size:.75rem;font-weight:400;line-height:1.4;padding:8px 12px;border-radius:6px;width:max-content;max-width:240px;white-space:normal;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10}.kpi-card[data-tooltip]:hover:after{opacity:1}.kpi-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.kpi-icon-teal{background:#19a7ce1f;color:var(--teal)}.kpi-icon-green{background:#22c55e1f;color:var(--green)}.kpi-icon-amber{background:#f59e0b1f;color:var(--amber)}.kpi-icon-red{background:#ef44441f;color:var(--red)}.kpi-icon-purple{background:#8b5cf61f;color:#8b5cf6}.kpi-icon-indigo{background:#6366f11f;color:#6366f1}.kpi-card-projected{align-items:flex-start}.kpi-value-projected{font-size:1.25rem;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.projected-reorder-badge{display:inline-flex;align-items:center;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:#f59e0b26;color:var(--amber);line-height:1.2}.projected-reorder-clear{margin-right:auto}.projected-reorder-sub{font-size:.75rem;color:var(--gray-600);margin-top:4px;line-height:1.35}.projected-reorder-controls{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.projected-reorder-window{display:inline-flex;background:var(--gray-100);border-radius:999px;padding:2px;gap:2px}.projected-reorder-window-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--gray-600);font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:999px;cursor:pointer;line-height:1;transition:background .15s,color .15s}.projected-reorder-window-btn:hover{color:var(--gray-800)}.projected-reorder-window-btn.active{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}.projected-reorder-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--teal);font-size:.75rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.projected-reorder-edit:hover{text-decoration:underline}.projected-reorder-form{display:flex;flex-direction:column;gap:14px}.projected-reorder-field{display:flex;flex-direction:column;gap:6px}.projected-reorder-field span{font-size:.8rem;color:var(--gray-700);font-weight:600}.projected-reorder-field input{padding:9px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.9rem;background:#fff}.projected-reorder-field input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #19a7ce26}.projected-reorder-hint{font-size:.75rem;color:var(--gray-500);margin:0}.projected-reorder-error{font-size:.8rem;color:var(--red);margin:0}@media(max-width:480px){.projected-reorder-controls{gap:8px}.projected-reorder-window-btn{padding:4px 8px}}.kpi-content{display:flex;flex-direction:column;min-width:0}.kpi-value{font-size:1.75rem;font-weight:800;color:var(--gray-800);line-height:1.1}.kpi-label{font-size:.75rem;color:var(--gray-500);margin-top:2px;white-space:nowrap}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;cursor:grab;transition:box-shadow .2s,opacity .2s}.chart-card:active{cursor:grabbing}.chart-card[draggable=true]:hover{box-shadow:0 2px 8px #0000001f}.drag-handle{margin-right:8px;color:var(--gray-400);font-size:14px;cursor:grab}.chart-card-full{grid-column:1 / -1}.chart-card-header{padding:14px 20px;border-bottom:1px solid var(--gray-200);font-size:.8125rem;font-weight:700;color:var(--gray-700);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.chart-header-controls{display:flex;align-items:center;gap:8px}.chart-header-controls select{padding:3px 8px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.75rem;color:var(--gray-600);background:#fff;max-width:150px}.chart-card-header-wrap,.chart-card-header-wrap .chart-header-controls{flex-wrap:wrap}.chart-card-body{padding:16px;height:280px}.chart-card-full .chart-card-body{height:320px}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-400);font-size:.8125rem}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:var(--gray-50, #f9fafb)}.chevron{display:inline-block;font-size:.75rem;margin-right:8px;transition:transform .2s ease;color:var(--gray-400)}.chevron-open{transform:rotate(90deg)}.data-table-actions-row{display:flex;align-items:center;gap:10px;padding:0 20px 12px}.stale-row{transition:opacity .3s ease-out,transform .3s ease-out}.stale-row-deleting{opacity:0;transform:translate(20px);pointer-events:none}.badge-green{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;background:#22c55e1f;color:#16a34a}.badge-gray{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;background:#6b72801f;color:#6b7280}@media(max-width:480px){.kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:1.5rem}.chart-card-body{height:240px}.chart-card-full .chart-card-body{height:260px}.chart-card-header{padding:10px 14px;font-size:.75rem}}.reorder-panel-header-controls{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reorder-panel .reorder-panel-summary{font-size:.75rem;font-weight:600;color:var(--teal);background:#19a7ce1a;padding:3px 10px;border-radius:999px}.reorder-panel-toggle{display:inline-flex;background:var(--gray-100, #f3f4f6);border-radius:999px;padding:2px;border:1px solid var(--gray-200)}.reorder-panel-toggle-btn{border:none;background:transparent;padding:4px 12px;font-size:.72rem;font-weight:600;color:var(--gray-600);border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.reorder-panel-toggle-btn.active{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}.reorder-panel-manage-btn{border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);padding:4px 12px;font-size:.72rem;font-weight:600;border-radius:999px;cursor:pointer;transition:border-color .15s,color .15s}.reorder-panel-manage-btn:hover{border-color:var(--teal);color:var(--teal)}.reorder-panel-hide-cell{width:32px;text-align:right}.reorder-panel-hide-btn{border:none;background:transparent;color:var(--gray-400);font-size:1.05rem;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer;transition:background .15s,color .15s}.reorder-panel-hide-btn:hover{background:#ef44441f;color:var(--red)}.reorder-panel-footer-link{border:none;background:transparent;padding:0;font:inherit;color:var(--teal);cursor:pointer;text-decoration:underline}.reorder-panel-footer-link:hover{color:var(--teal-bright, #1fc5f0)}.reorder-panel-footer-sep{color:var(--gray-300)}.reorder-panel-manage-hint{margin:0 0 12px;color:var(--gray-600);font-size:.8125rem}.reorder-panel-manage-list{list-style:none;padding:0;margin:0;max-height:320px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-sm, 8px)}.reorder-panel-manage-list li{border-bottom:1px solid var(--gray-100, #f3f4f6)}.reorder-panel-manage-list li:last-child{border-bottom:none}.reorder-panel-manage-list label{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:.875rem;color:var(--gray-800)}.reorder-panel-manage-list label:hover{background:var(--gray-50, #f9fafb)}.reorder-panel-manage-list input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal)}.reorder-panel-user-link{border:none;background:transparent;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer;font-weight:600}.reorder-panel-user-link:hover{color:var(--teal-bright, #1fc5f0)}.modal:has(.user-usage-chart){max-width:680px}.reorder-panel-date-link{border:none;background:transparent;padding:0;font:inherit;color:var(--teal);text-decoration:underline;text-decoration-style:dashed;cursor:pointer;font-weight:600}.reorder-panel-date-link:hover{color:var(--teal-bright, #1fc5f0);text-decoration-style:solid}.yearly-reorder-strip{display:flex;align-items:stretch;gap:6px;padding:12px 16px;border-bottom:1px solid var(--gray-200);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.yearly-reorder-strip::-webkit-scrollbar{display:none}.yearly-reorder-legend{display:flex;flex-direction:column;justify-content:center;gap:6px;padding-right:10px;border-right:1px solid var(--gray-200);margin-right:4px;flex-shrink:0}.yearly-reorder-legend-item{display:flex;align-items:center;gap:5px;font-size:.6rem;font-weight:600;color:var(--gray-500);white-space:nowrap}.yearly-reorder-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.yearly-reorder-ytd{font-size:.6rem;font-weight:800;color:var(--green);white-space:nowrap;margin-top:2px}.yearly-reorder-dot-projected{background:var(--navy)}.yearly-reorder-dot-orders{background:var(--green)}.yearly-reorder-card{flex:1 0 60px;min-width:60px;background:var(--surface);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:8px 6px;text-align:center;transition:border-color var(--transition),box-shadow var(--transition)}.yearly-reorder-card-current{border-color:var(--teal);box-shadow:0 0 0 2px #19a7ce2e;background:#19a7ce0a}.yearly-reorder-card-past{opacity:.45}.yearly-reorder-month{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin-bottom:5px}.yearly-reorder-counts{display:flex;justify-content:center;align-items:baseline;gap:10px}.yearly-reorder-val-projected{font-size:1.1rem;font-weight:800;color:var(--ink);line-height:1}.yearly-reorder-val-orders{font-size:1.1rem;font-weight:800;color:var(--green);line-height:1}.yearly-reorder-total{display:block;font-size:.55rem;font-weight:700;color:var(--green);margin-top:3px;opacity:.75}.yearly-reorder-card:hover{border-color:var(--teal-dim);box-shadow:var(--shadow-sm)}@media(max-width:768px){.yearly-reorder-strip{gap:8px;padding:10px 12px}.yearly-reorder-card{flex:0 0 56px;min-width:56px;padding:8px 4px}.yearly-reorder-val-projected,.yearly-reorder-val-orders{font-size:.9rem}.yearly-reorder-month{font-size:.58rem;margin-bottom:4px}.yearly-reorder-counts{gap:5px}.yearly-reorder-legend{padding-right:8px;margin-right:2px}.yearly-reorder-legend-item{font-size:.55rem}}.yearly-detail-heading{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:var(--gray-700);margin:0 0 10px}.yearly-detail-count{font-size:.7rem;font-weight:700;color:var(--teal);background:#19a7ce1a;padding:2px 8px;border-radius:999px}.yearly-detail-total{font-size:.75rem;font-weight:700;color:var(--green);margin-left:auto}.yearly-detail-empty{font-size:.8rem;color:var(--gray-500);margin:0 0 8px}.yearly-detail-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:8px}.yearly-detail-table th{text-align:left;font-weight:600;color:var(--gray-600);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border-bottom:1.5px solid var(--gray-200)}.yearly-detail-table td{padding:7px 8px;border-bottom:1px solid var(--gray-100);color:var(--gray-800)}.yearly-detail-table tr:last-child td{border-bottom:none}.user-info-grid{display:flex;flex-direction:column;gap:8px;font-size:.875rem}.user-info-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--gray-100, #f3f4f6)}.user-info-row:last-child{border-bottom:none}.user-info-label{color:var(--gray-500);font-weight:500}.user-info-value{color:var(--gray-800);word-break:break-word}.user-info-value a{color:var(--teal);text-decoration:none}.user-info-value a:hover{text-decoration:underline}.user-info-sub{color:var(--gray-500);font-size:.8125rem}.user-info-section-header{margin-top:10px;padding:6px 0;font-weight:700;color:var(--navy);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--gray-200)}.user-info-empty{color:var(--gray-500);font-style:italic;padding:6px 0}.user-info-address-list{list-style:none;padding:0;margin:0;font-size:.8125rem;color:var(--gray-700)}.user-info-address-list li{padding:4px 0}.user-info-notes{padding:8px 12px;background:var(--gray-50, #f9fafb);border-radius:var(--radius-sm, 8px);white-space:pre-wrap;font-size:.8125rem;color:var(--gray-700)}.user-info-table-wrap{max-height:240px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-sm, 8px)}.user-info-table{width:100%;border-collapse:collapse;font-size:.8125rem}.user-info-table thead th{position:sticky;top:0;background:var(--gray-50, #f9fafb);text-align:left;padding:8px 12px;border-bottom:1px solid var(--gray-200);color:var(--gray-600);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.user-info-table tbody td{padding:8px 12px;border-bottom:1px solid var(--gray-100, #f3f4f6);color:var(--gray-800)}.user-info-table tbody tr:last-child td{border-bottom:none}.reorder-panel-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--gray-700);cursor:pointer;padding:4px 10px;border:1px solid var(--gray-200);border-radius:999px;background:#fff}.reorder-panel-checkbox input{width:14px;height:14px;accent-color:var(--teal)}.reorder-panel-checkbox:hover{border-color:var(--teal);color:var(--teal)}.reorder-panel-body{padding:0}.reorder-panel-table-wrap{max-height:320px;overflow-y:auto}.reorder-panel-table{width:100%;border-collapse:collapse;font-size:.8125rem}.reorder-panel-table thead th{position:sticky;top:0;background:var(--gray-50, #f9fafb);color:var(--gray-600);font-weight:600;text-align:left;padding:10px 16px;border-bottom:1px solid var(--gray-200);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;z-index:1}.reorder-panel-table tbody td{padding:12px 16px;border-bottom:1px solid var(--gray-100, #f3f4f6);color:var(--gray-800);vertical-align:middle}.reorder-panel-table tbody tr:last-child td{border-bottom:none}.reorder-panel-table tbody tr:hover{background:var(--gray-50, #f9fafb)}.reorder-panel-org{font-weight:600;color:var(--navy)}.reorder-panel-num{text-align:right}.reorder-panel-orders{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.reorder-panel-cell-muted{color:var(--gray-500)}.reorder-panel-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.02em}.reorder-panel-pill-red{background:#ef44441f;color:var(--red)}.reorder-panel-pill-amber{background:#f59e0b24;color:var(--amber)}.reorder-panel-pill-sent{background:#22c55e1f;color:var(--green, #22c55e)}.reorder-panel-pill-draft{background:var(--gray-100, #f3f4f6);color:var(--gray-600)}.reorder-panel-invoice-cell{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;flex-wrap:wrap}.reorder-panel-invoice-amt{font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}.reorder-panel-order-cell{display:inline-flex;align-items:center;gap:2px}.reorder-panel-edit-btn{display:inline-flex;align-items:center;border:none;background:transparent;color:var(--gray-400);cursor:pointer;padding:2px 4px;margin-left:4px;border-radius:4px;font-size:.85rem;line-height:1}.reorder-panel-edit-btn:hover{background:#19a7ce1f;color:var(--teal)}.reorder-panel-footer{padding:10px 16px;background:var(--gray-50, #f9fafb);border-top:1px solid var(--gray-200);color:var(--gray-500);font-size:.75rem}@media(max-width:480px){.reorder-panel .reorder-panel-summary{margin-left:0;margin-top:4px}.reorder-panel-table thead th,.reorder-panel-table tbody td{padding:8px 10px;font-size:.75rem}.reorder-panel-table-wrap{max-height:280px}}.prep-page{display:flex;flex-direction:column;gap:20px}.prep-info-banner{position:relative;background:linear-gradient(135deg,#f0fdfa,#f0f9ff);border:1px solid #99e9f2;border-radius:var(--radius, 8px);padding:20px 40px 20px 20px}.prep-info-banner h3{margin:0 0 8px;font-size:.9375rem;font-weight:700;color:var(--gray-800, #1f2937)}.prep-info-banner p{margin:0 0 16px;font-size:.8125rem;line-height:1.6;color:var(--gray-600, #4b5563)}.prep-info-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:1.25rem;color:var(--gray-400, #9ca3af);cursor:pointer;line-height:1;padding:2px 6px;border-radius:4px}.prep-info-close:hover{background:#0000000d;color:var(--gray-600, #4b5563)}.prep-info-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:768px){.prep-info-tips{grid-template-columns:1fr}}.prep-info-tip{display:flex;gap:10px;align-items:flex-start}.prep-info-tip-icon{font-size:1.25rem;flex-shrink:0;margin-top:1px}.prep-info-tip div{display:flex;flex-direction:column;gap:2px}.prep-info-tip strong{font-size:.8125rem;color:var(--gray-800, #1f2937)}.prep-info-tip span{font-size:.75rem;line-height:1.5;color:var(--gray-500, #6b7280)}.status-distribution-bar{display:flex;height:32px;border-radius:8px;overflow:hidden;background:var(--gray-100, #f3f4f6)}.status-distribution-segment{transition:width .3s ease;min-width:0}.status-distribution-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--gray-600)}.status-distribution-legend span{display:flex;align-items:center;gap:6px}.status-distribution-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px}.legend-on-track:before{background:#22c55e}.legend-under:before{background:#f59e0b}.legend-over:before{background:#ef4444}.legend-no-data:before{background:#9ca3af}.prep-insight-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gray-100, #f3f4f6);font-size:.8125rem}.prep-insight-item:last-child{border-bottom:none}.prep-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:640px){.prep-summary-grid{grid-template-columns:1fr}}.prep-summary-column h4{font-size:.8125rem;font-weight:700;color:var(--gray-700);margin:0 0 8px}.prep-summary-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--gray-100, #f3f4f6);font-size:.8125rem}.prep-summary-item:last-child{border-bottom:none}.prep-summary-name{font-weight:500;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.prep-filters-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.insights-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.insights-header{padding:14px 20px;border-bottom:1px solid var(--gray-200);font-size:.8125rem;font-weight:700;color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px}.insights-header:hover{background:var(--gray-50, #f9fafb)}.insights-body{padding:16px 20px}.insights-sub-section{margin-bottom:16px}.insights-sub-section:last-child{margin-bottom:0}.insights-sub-section h4{font-size:.8125rem;font-weight:700;color:var(--gray-600);margin:0 0 8px}.view-full-link{font-size:.75rem;color:var(--teal, #19A7CE);text-decoration:none;font-weight:600}.view-full-link:hover{text-decoration:underline}.prep-label-link{font-weight:600;color:var(--teal, #19A7CE);cursor:pointer;transition:color .15s ease}.prep-label-link:hover{color:#0d7a9e;text-decoration:underline}.modal-body:has(.label-history-modal){padding:16px}.modal:has(.label-history-modal){max-width:720px}.label-history-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8125rem;color:var(--gray-600)}.label-history-summary span{padding:2px 8px;background:var(--gray-50, #f9fafb);border-radius:6px}.label-history-range{display:flex;gap:6px;flex-wrap:wrap}.range-btn{padding:5px 12px;border:1px solid var(--gray-200);border-radius:6px;background:#fff;font-size:.75rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .15s ease}.range-btn:hover{border-color:var(--teal, #19A7CE);color:var(--teal, #19A7CE)}.range-btn-active{background:var(--teal, #19A7CE);border-color:var(--teal, #19A7CE);color:#fff}.range-btn-active:hover{color:#fff}.label-history-custom-dates{display:flex;gap:12px;align-items:center}.label-history-custom-dates label{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--gray-500)}.label-history-custom-dates input[type=date]{padding:4px 8px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.8125rem}.label-history-table{max-height:360px;overflow-y:auto}.label-history-table table{font-size:.8125rem}.label-history-table th{position:sticky;top:0;background:#fff;z-index:1}.printed-by-name{cursor:pointer;color:var(--teal, #19A7CE);font-weight:500;transition:color .15s ease}.printed-by-name:hover{text-decoration:underline}.prep-exclude-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#22c55e;padding:2px 6px;border-radius:4px;transition:all .15s ease;line-height:1}.prep-exclude-btn:hover{background:var(--gray-100, #f3f4f6)}.prep-exclude-btn.prep-excluded{color:#9ca3af}tr.prep-row-excluded{opacity:.5}.prep-show-excluded-toggle{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.prep-show-excluded-toggle input[type=checkbox]{accent-color:var(--teal, #19A7CE)}.badge-custom-cycle{color:#14b8a6;font-weight:700;margin-left:2px;font-size:.875rem}.label-modal-settings{padding:10px 0;border-bottom:1px solid var(--gray-100, #f3f4f6)}.label-modal-setting-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.label-modal-setting-label{font-size:.8125rem;font-weight:600;color:var(--gray-700);white-space:nowrap}.label-modal-setting-input{width:70px;padding:4px 8px;border:1px solid var(--gray-200);border-radius:var(--radius, 6px);font-size:.8125rem}.prep-tour-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gray-300, #d1d5db);background:#fff;font-size:.8125rem;font-weight:700;color:var(--gray-500, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.prep-tour-btn:hover{border-color:var(--teal, #19A7CE);color:var(--teal, #19A7CE);background:#f0fdfa}.tour-spotlight{position:fixed;z-index:10001;border-radius:8px;box-shadow:0 0 0 9999px #0000008c;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease;pointer-events:none}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:#0000008c}.tour-tooltip{position:fixed;z-index:10002;background:#fff;border-radius:14px;padding:22px 24px 18px;max-width:376px;width:376px;box-shadow:0 12px 40px #0000002e;animation:tour-fade-in .25s ease}@keyframes tour-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tour-step-count{font-size:.7rem;font-weight:700;color:var(--teal, #19A7CE);text-transform:uppercase;letter-spacing:.5px}.tour-skip{background:none;border:none;font-size:.75rem;color:var(--gray-400, #9ca3af);cursor:pointer;padding:2px 4px}.tour-skip:hover{color:var(--gray-600, #4b5563)}.tour-title{margin:0 0 8px;font-size:.9375rem;font-weight:700;color:var(--gray-800, #1f2937)}.tour-body{margin:0 0 16px;font-size:.8125rem;line-height:1.65;color:var(--gray-600, #4b5563)}.tour-progress-bar{height:3px;background:var(--gray-100, #f3f4f6);border-radius:2px;margin-bottom:14px;overflow:hidden}.tour-progress-fill{height:100%;background:var(--teal, #19A7CE);border-radius:2px;transition:width .3s ease}.tour-nav{display:flex;justify-content:flex-end;gap:8px}.tour-btn-back{padding:7px 18px;border:1px solid var(--gray-200, #e5e7eb);border-radius:8px;background:#fff;font-size:.8125rem;font-weight:500;color:var(--gray-600, #4b5563);cursor:pointer;transition:all .15s ease}.tour-btn-back:hover{border-color:var(--gray-300, #d1d5db);background:var(--gray-50, #f9fafb)}.tour-btn-next{padding:7px 22px;border:none;border-radius:8px;background:var(--teal, #19A7CE);font-size:.8125rem;font-weight:600;color:#fff;cursor:pointer;transition:background .15s ease}.tour-btn-next:hover{background:#0d7a9e}@media(max-width:480px){.tour-tooltip{max-width:calc(100vw - 32px);width:calc(100vw - 32px);left:16px!important;right:auto!important}.label-history-custom-dates,.prep-filters-row{flex-direction:column;align-items:stretch}.prep-info-banner{padding:14px 32px 14px 14px}.prep-page-header{justify-content:flex-start}.prep-page-header .filter-select,.prep-page-header .prep-compare-btn{flex:1 1 calc(50% - 6px);min-width:0}.prep-compare-grid-card{padding:12px}.prep-compare-grid th,.prep-compare-grid td{padding:8px 10px;font-size:.8125rem}}.prep-page-header{justify-content:flex-start;gap:10px}.prep-page-header h2{margin-right:auto}.prep-compare-btn{height:38px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.prep-compare-btn:hover{border-color:var(--teal);color:var(--teal)}.prep-compare-btn.active{background:var(--teal);border-color:var(--teal);color:#fff}.prep-compare-section{display:flex;flex-direction:column;gap:16px;margin-top:4px}.prep-compare-header h3{margin:0 0 4px;font-size:1rem;font-weight:700;color:var(--gray-800)}.prep-compare-hint{margin:0;font-size:.8125rem;color:var(--gray-500)}.prep-compare-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius)}.prep-compare-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;background:#fff;border:1px solid var(--gray-200);border-radius:999px;font-size:.8125rem;color:var(--gray-700)}.prep-compare-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--gray-100);border-radius:50%;font-size:.875rem;line-height:1;color:var(--gray-500);cursor:pointer}.prep-compare-chip-remove:hover{background:var(--red, #ef4444);color:#fff}.prep-compare-add{min-width:220px;flex:0 0 auto}.prep-compare-empty{padding:24px;text-align:center;color:var(--gray-500);font-size:.875rem;background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:var(--radius)}.prep-compare-grids{display:flex;flex-direction:column;gap:16px}.prep-compare-grid-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.prep-compare-grid-title{font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:12px}.prep-compare-grid-subtitle{font-weight:400;color:var(--gray-500);font-size:.8125rem}.prep-compare-grid-empty{color:var(--gray-500);font-size:.875rem;padding:8px 0 4px}.prep-compare-grid-scroll{overflow-x:auto;margin:0 -4px}.prep-compare-grid{width:100%;border-collapse:collapse;min-width:480px}.prep-compare-grid th,.prep-compare-grid td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--gray-100);font-size:.875rem;vertical-align:middle;white-space:nowrap}.prep-compare-grid thead th{background:var(--gray-50);font-weight:600;color:var(--gray-700);position:sticky;top:0;z-index:1}.prep-compare-grid .metric-col{font-weight:600;color:var(--gray-700);background:var(--gray-50);position:sticky;left:0;z-index:2;min-width:140px}.prep-compare-grid thead .metric-col{z-index:3}.prep-compare-grid tr:last-child td{border-bottom:none}.expiring-page{max-width:960px;margin:0 auto;padding:16px 12px 80px}.expiring-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.expiring-header h2{margin:0;color:var(--ink);font-size:1.4rem;font-weight:700}.expiring-day-nav{display:flex;align-items:center;gap:8px}.expiring-day-nav button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--gray-700);font-size:16px;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}.expiring-day-nav button:hover{background:var(--gray-100)}.expiring-day-label{font-weight:600;color:var(--gray-700);min-width:160px;text-align:center}.expiring-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.expiring-search{flex:1 1 220px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--gray-800);font-size:14px;outline:none;transition:var(--transition)}.expiring-search:focus{border-color:var(--teal);box-shadow:0 0 0 3px #19a7ce26}.expiring-scope{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}.expiring-scope button{border:0;background:transparent;color:var(--gray-600);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}.expiring-scope button.active{background:var(--teal);color:#fff}.expiring-user-picker{padding:9px 32px 9px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--gray-800);font-size:14px;font-weight:600;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%2319A7CE' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px;transition:var(--transition)}.expiring-user-picker:focus{border-color:var(--teal);box-shadow:0 0 0 3px #19a7ce26}.expiring-list{display:grid;gap:10px}.expiring-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;transition:box-shadow .15s ease}.expiring-card:hover{box-shadow:var(--shadow)}.expiring-card .name{font-weight:700;color:var(--ink);font-size:15px;line-height:1.25}.expiring-card .name-clickable{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-align:left}.expiring-card .name-clickable:hover{color:var(--teal)}.expiring-card .name-clickable:hover .name-chevron{transform:translate(2px)}.expiring-card .name-chevron{font-size:16px;color:var(--gray-400);transition:transform .15s ease}.label-history-sub{color:var(--gray-500);font-size:13px;margin-bottom:12px}.label-history-empty{color:var(--gray-500);text-align:center;padding:24px 0}.label-history-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.label-history-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--border)}.label-history-list .row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.label-history-list .row-side{display:flex;align-items:center;gap:6px}.label-history-list .row-when{font-weight:600;color:var(--gray-800);font-size:14px}.label-history-list .row-latest{background:var(--teal);color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:4px}.label-history-list .row-dismissed{color:var(--gray-500);font-size:11px;font-style:italic}.expiring-card .meta{color:var(--gray-500);font-size:13px;margin-top:2px}.expiring-card .badge-expiring{background:#ef44441f;color:var(--red);font-weight:700;font-size:11px;letter-spacing:.5px;padding:4px 10px;border-radius:999px;text-transform:uppercase}.expiring-card .actions{display:flex;align-items:center;gap:8px;grid-column:1 / -1;justify-content:flex-end}.expiring-card .printed-by{color:var(--gray-500);font-size:12px;margin-right:auto}.expiring-waste-stepper{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;background:var(--gray-100);border-radius:12px}.expiring-waste-stepper button{width:30px;height:30px;border-radius:50%;border:0;background:var(--surface);color:var(--green);font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition)}.expiring-waste-stepper button:hover{background:var(--gray-50)}.expiring-waste-stepper button:active{transform:scale(.96)}.expiring-waste-stepper .waste-display{display:flex;flex-direction:column;align-items:center;min-width:40px;line-height:1}.expiring-waste-stepper .waste-label{font-size:9px;font-weight:600;color:var(--gray-500);letter-spacing:.5px}.expiring-waste-stepper .waste-value{font-size:16px;font-weight:700;color:var(--gray-800);margin-top:1px}.expiring-dismiss{background:var(--green);color:#fff;border:0;border-radius:999px;padding:8px 18px;font-weight:700;cursor:pointer;transition:var(--transition)}.expiring-dismiss:hover{filter:brightness(.95)}.expiring-dismiss:disabled{opacity:.5;cursor:default}.expiring-empty{text-align:center;padding:48px 20px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--gray-500)}.expiring-empty h3{margin:0 0 6px;color:var(--gray-700);font-size:16px}.dash-expiring-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;margin:0 0 20px}.dash-expiring-card .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dash-expiring-card h3{margin:0;font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.5px;text-transform:uppercase}.dash-expiring-card .count-pill{background:#ef44441f;color:var(--red);font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px}.dash-expiring-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dash-expiring-card li{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--gray-700);padding:6px 0;border-bottom:1px solid var(--border)}.dash-expiring-card li:last-child{border-bottom:0}.dash-expiring-card .view-all{display:inline-block;margin-top:8px;font-size:13px;color:var(--teal);font-weight:600;text-decoration:none}.dash-expiring-card .view-all:hover{text-decoration:underline}.dash-expiring-card .empty-text{color:var(--gray-500);font-size:13px;padding:8px 0}@media(max-width:480px){.expiring-header{flex-direction:column;align-items:flex-start}.expiring-day-nav{width:100%;justify-content:space-between}.expiring-day-label{min-width:auto}.expiring-card{grid-template-columns:1fr}.expiring-card .actions{justify-content:space-between}}.ld-page{padding:1rem 1.25rem 2rem}.ld-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.ld-header h1{margin:0;color:var(--ink)}.ld-sub{margin:.25rem 0 0;color:var(--gray-500);font-size:.9rem}.ld-new-btns{display:flex;gap:.5rem;flex-wrap:wrap}.ld-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:.6rem .9rem;border-radius:var(--radius-sm);margin-bottom:1rem}.ld-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 320px;gap:1rem;align-items:start}.ld-list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.75rem;position:sticky;top:1rem}.ld-list h3{margin:0;font-size:.85rem;text-transform:uppercase;color:var(--gray-500);letter-spacing:.04em}.ld-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.ld-list-head .btn{font-size:.7rem;white-space:nowrap}.ld-list-item{display:flex;align-items:stretch;gap:.25rem;border-radius:var(--radius-sm);margin-bottom:.35rem;border:1px solid transparent}.ld-list-item.active{border-color:var(--teal);background:#19a7ce0f}.ld-list-open{flex:1;text-align:left;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm)}.ld-list-open:hover{background:var(--gray-50)}.ld-list-name{display:block;font-weight:600;color:var(--ink);font-size:.9rem}.ld-list-meta{display:flex;align-items:center;gap:.4rem;color:var(--gray-500);font-size:.75rem;margin-top:.15rem}.ld-list-actions{display:flex;flex-direction:column;gap:.25rem;justify-content:center;padding-right:.25rem}.ld-editor{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.75rem;min-width:0}.ld-editor-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.ld-name{flex:1 1 160px;min-width:120px;padding:.5rem .6rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-weight:600}.ld-inline{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--gray-600)}.ld-inline select{padding:.35rem .4rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.ld-darkness input[type=range]{width:90px;accent-color:var(--navy, #16324f)}.ld-darkness-val{min-width:1.4em;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.ld-canvas-in{width:56px;padding:.3rem .35rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8rem}.ld-canvas-x{color:var(--gray-500)}.ld-canvas-unit{color:var(--gray-500);font-size:.72rem}.ld-spacer{flex:1}.ld-stage-scroll{overflow:auto;background:repeating-conic-gradient(#eef0f4,#eef0f4 25%,#f7f8fb 0%,#f7f8fb 50%) 50% / 20px 20px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:1rem;display:flex;justify-content:center}.design-canvas-wrap{box-shadow:var(--shadow);background:#fff}.ld-preview{margin-top:.75rem}.ld-preview-label{font-size:.75rem;color:var(--gray-500);margin-bottom:.25rem}.ld-preview-canvas{border:1px solid var(--gray-300);border-radius:4px;image-rendering:pixelated;background:#fff}.ld-side{position:sticky;top:1rem}.ld-toolbar{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.75rem}.ld-palette{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.75rem}.ld-hint{color:var(--gray-500);font-size:.85rem}.ld-props{display:flex;flex-direction:column;gap:.6rem}.ld-prop-header{display:flex;justify-content:space-between;align-items:center}.ld-prop-actions{display:flex;gap:.25rem}.ld-props label{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--gray-600)}.ld-props input,.ld-props select,.ld-props textarea{padding:.35rem .45rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.85rem}.ld-row{width:100%}.ld-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ld-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.ld-check{flex-direction:row!important;align-items:center;gap:.55rem}.ld-check input{width:auto;flex:0 0 auto;margin:0 .35rem 0 0}.ld-tokens{display:flex;flex-wrap:wrap;gap:.25rem}.ld-token{font-size:.7rem;padding:.2rem .4rem;border:1px solid var(--teal);color:var(--teal);background:#19a7ce0f;border-radius:999px;cursor:pointer}.ld-token:hover{background:var(--teal);color:#fff}.ld-token-group{margin-top:.4rem}.ld-token-group-label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin-bottom:.2rem}.ld-token.ld-phrase{border-color:var(--amber);color:var(--amber);background:#f59e0b14}.ld-token.ld-phrase:hover{background:var(--amber);color:#fff}.btn-sm{padding:.2rem .45rem;font-size:.8rem;line-height:1}.ld-apply{display:flex;flex-direction:column;gap:.75rem}.ld-apply-scope{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--gray-600)}.ld-apply-scope select{padding:.45rem .5rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.9rem}.ld-apply-count{font-size:.9rem;color:var(--ink);margin:0}.ld-apply-done{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.85rem}.ld-calibrator{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.75rem;margin-bottom:.75rem}.ld-cal-grid{display:grid;grid-template-columns:48px repeat(4,1fr);gap:.3rem;align-items:center;margin-bottom:.3rem}.ld-cal-grid input{padding:.3rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8rem;width:100%}.ld-cal-head{font-size:.7rem;color:var(--gray-500);text-transform:uppercase}.ld-cal-day{font-weight:600;font-size:.8rem;color:var(--ink)}.ld-cal-slant{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--gray-600);margin:.4rem 0 .2rem}.ld-cal-slant input[type=range]{flex:1;accent-color:var(--navy, #16324f)}.ld-cal-slant-num{width:52px;padding:.3rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8rem}.ld-cal-subhead{margin:.75rem 0 .4rem;font-size:.8rem;color:var(--gray-600)}.ld-cal-stripe-toggle{display:flex;align-items:center;gap:.4rem;font-weight:600;cursor:pointer}.ld-cal-stripe-toggle input{width:auto}.ld-cal-stripe-color{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8rem;font-weight:600;color:var(--gray-600);margin-top:.4rem}.ld-cal-stripe-color input[type=color]{width:36px;height:24px;padding:0;border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer}.ld-cal-stripe-color .ld-hint{margin:0;flex:1 1 160px;font-weight:400}@media(max-width:1024px){.ld-layout{grid-template-columns:1fr}.ld-list,.ld-side{position:static}}@media(max-width:480px){.ld-page{padding:.75rem}.ld-palette,.ld-grid4{grid-template-columns:1fr 1fr}.ld-editor-bar{gap:.4rem}.ld-new-btns{width:100%}.ld-new-btns>.btn{flex:1}}.prep-list-page{display:flex;flex-direction:column;gap:18px;max-width:100%;overflow-x:hidden}.prep-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prep-list-title{font-size:1.375rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:0}.prep-list-subtitle{font-size:.8125rem;color:var(--gray-500);margin-top:2px}.prep-list-header-actions{display:flex;gap:8px;flex-wrap:wrap}.prep-list-notice{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;padding:10px 14px;border-radius:10px;font-size:.875rem;font-weight:600;animation:prep-list-notice-in .2s ease-out}@keyframes prep-list-notice-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.category-tabs::-webkit-scrollbar{height:6px}.category-tabs::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}.category-tab-wrap{position:relative;display:flex;flex:0 0 auto;scroll-snap-align:start}.category-tab{padding:9px 16px;border:1.5px solid var(--gray-200);border-radius:999px;background:var(--surface);font-size:.8125rem;font-weight:600;color:var(--gray-700);white-space:nowrap;transition:all var(--transition)}.category-tab:hover{border-color:var(--teal);color:var(--teal)}.category-tab-wrap.is-active .category-tab{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 2px 8px #19a7ce40}.category-tab-menu-btn{margin-left:4px;border:1.5px solid var(--gray-200);background:var(--surface);border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;color:var(--gray-500);align-self:center}.category-tab-menu-btn:hover{color:var(--ink);border-color:var(--teal)}.category-tab-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:4px;display:flex;flex-direction:column;min-width:140px;z-index:40}.category-tab-menu button{text-align:left;padding:8px 10px;font-size:.8125rem;border-radius:6px;color:var(--gray-700)}.category-tab-menu button:hover{background:var(--gray-50)}.category-tab-menu button.danger{color:var(--red)}.category-tab-menu button.danger:hover{background:#ef444414}.category-tab-add{flex:0 0 auto;padding:9px 14px;border:1.5px dashed var(--gray-300);border-radius:999px;background:transparent;font-size:.8125rem;font-weight:600;color:var(--gray-500)}.category-tab-add:hover{border-color:var(--teal);color:var(--teal);background:#19a7ce0d}.category-tab-manage{flex:0 0 auto;margin-left:auto;padding:9px 14px;border:1.5px dashed var(--gray-300);border-radius:999px;background:transparent;font-size:.8125rem;font-weight:600;color:var(--gray-500);white-space:nowrap}.category-tab-manage:hover{border-color:var(--ink);color:var(--ink);background:var(--gray-50)}.category-mgr-row.is-hidden-cat{opacity:.55;background:var(--gray-50)}.category-mgr-hidden-badge{font-size:.625rem;font-weight:700;color:var(--gray-500);background:var(--gray-100);padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;margin-left:8px}.category-mgr-create{margin-bottom:14px;padding:12px;background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:var(--radius-sm)}.category-mgr-create-label{display:block;font-size:.75rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.category-mgr-create-row{display:flex;gap:8px;align-items:stretch}.category-mgr-create-input{flex:1 1 auto;min-width:0;padding:10px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font:inherit;font-size:.9375rem;color:var(--gray-800);background:var(--surface)}.category-mgr-create-input:focus{outline:none;border-color:var(--teal)}.week-nav{display:flex;align-items:center;gap:8px;padding:6px 4px;margin-bottom:4px;flex-wrap:wrap}.week-nav-arrow{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--gray-200);background:var(--surface);color:var(--gray-700);font-size:1.4rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease;flex-shrink:0}.week-nav-arrow:hover{border-color:var(--teal);color:var(--teal)}.week-nav-label{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.week-nav-range{font-size:.9375rem;font-weight:700;color:var(--ink)}.week-nav-hint{font-size:.6875rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.04em}.week-nav-today{padding:8px 14px;border-radius:999px;border:1.5px solid var(--teal);background:var(--teal);color:#fff;font-size:.8125rem;font-weight:700;cursor:pointer;transition:all .12s ease;flex-shrink:0}.week-nav-today:hover{background:var(--surface);color:var(--teal)}.day-pills{display:flex;gap:6px;overflow-x:auto;padding:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.day-pills::-webkit-scrollbar{display:none}.day-pill{flex:1 0 auto;min-width:66px;padding:10px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);font-size:.8125rem;font-weight:600;color:var(--gray-700);position:relative;scroll-snap-align:center;transition:all var(--transition)}.day-pill:hover{border-color:var(--teal);color:var(--teal)}.day-pill.is-today{border-color:var(--teal-dim)}.day-pill.is-active{background:var(--navy);border-color:var(--ink);color:#fff}.day-pill-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal-bright);margin-left:6px;vertical-align:middle}.location-pills{display:flex;gap:6px;overflow-x:auto;padding:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;align-items:center}.location-pill{flex:0 0 auto;padding:8px 14px;border:1.5px solid var(--gray-200);border-radius:999px;background:var(--surface);font-size:.8125rem;font-weight:600;color:var(--gray-700);white-space:nowrap;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px}.location-pill:hover{border-color:var(--teal);color:var(--teal)}.location-pill.is-active{background:var(--teal-dim);border-color:var(--teal-dim);color:#fff;box-shadow:0 2px 8px #19a7ce4d}.location-pill.is-default .location-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--teal-bright);display:inline-block}.location-pill.is-active.is-default .location-pill-dot{background:#fff}.location-pill-manage{color:var(--gray-500);border-style:dashed;margin-left:auto}.location-pill-manage:hover{color:var(--ink);border-color:var(--ink)}.prep-group-toolbar{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.prep-group-toolbar .btn{display:inline-flex;align-items:center;gap:6px}.prep-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--teal);color:#fff;font-size:.6875rem;font-weight:700}.prep-group-section+.prep-group-section .prep-group-header{margin-top:8px}.prep-group-header{display:flex;align-items:center;gap:10px;padding:12px 16px 6px;font-size:.8125rem;font-weight:700;color:var(--gray-800);text-transform:uppercase;letter-spacing:.06em;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.prep-group-header-name{flex:1}.prep-group-header-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:var(--gray-100, #f3f4f6);color:var(--gray-700);font-size:.75rem;font-weight:700;text-transform:none;letter-spacing:0}@media(max-width:480px){.prep-group-header{padding:10px 4px 4px;font-size:.8125rem}.prep-group-toolbar{margin:6px 0 2px}}.location-add-row{display:flex;gap:8px;align-items:center}.location-add-row input[type=text]{flex:1 1 auto;padding:8px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;outline:none}.location-add-row input[type=text]:focus{border-color:var(--teal)}.location-list{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-height:360px;overflow-y:auto}.location-list-empty{padding:16px;text-align:center;color:var(--gray-400);font-size:.875rem}.location-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface)}.location-row.is-default{background:#19a7ce0d;border-color:#99e9f2}.location-row-name{flex:1;text-align:left;font-size:.9375rem;font-weight:600;color:var(--gray-800);display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer}.location-row-name:hover{color:var(--teal)}.location-rename-input{flex:1;padding:6px 10px;border:1.5px solid var(--teal);border-radius:var(--radius-sm);font-size:.9375rem;outline:none}.location-default-badge{font-size:.625rem;font-weight:700;color:var(--teal);background:#19a7ce1f;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.location-row-actions{display:flex;gap:6px;flex-shrink:0}.location-multi-select{display:flex;flex-wrap:wrap;gap:6px}.location-chip{padding:7px 12px;border:1.5px solid var(--gray-200);border-radius:999px;background:var(--surface);font-size:.8125rem;font-weight:600;color:var(--gray-700);display:inline-flex;align-items:center;gap:6px;transition:all var(--transition)}.location-chip:hover{border-color:var(--teal);color:var(--teal)}.location-chip.is-on{background:var(--teal);border-color:var(--teal);color:#fff}.location-chip.is-on.is-default{background:var(--teal-dim);border-color:var(--teal-dim)}.location-chip-check{display:inline-block;width:12px;text-align:center;font-weight:800}.prep-row-locations{font-size:.6875rem;font-weight:600;color:var(--gray-600);background:var(--gray-100);padding:1px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:3px}.prep-row-total{font-size:1.25rem;font-weight:800;color:var(--ink);text-align:center;padding:4px 10px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);min-width:60px}.prep-row-onhand-sub{font-size:.6875rem;font-weight:500;color:var(--gray-400);margin-left:3px}.prep-row-check:disabled{opacity:.35;cursor:not-allowed}.prep-summary-strip{display:flex;flex-wrap:wrap;gap:10px}.prep-summary-chip{flex:1 1 160px;min-width:0}.prep-summary-chip{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px}.prep-summary-chip .chip-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.prep-summary-chip .chip-value{font-size:1.375rem;font-weight:800;color:var(--ink);letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:0;flex-wrap:wrap}.prep-summary-chip .chip-sub{font-size:.9375rem;font-weight:700;color:var(--teal);letter-spacing:normal;margin-left:6px}.prep-summary-chip.needs .chip-value{color:var(--amber)}.prep-summary-chip.ready .chip-value{color:var(--green)}.prep-rows{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.prep-rows-head{display:grid;grid-template-columns:40px 1fr 90px 180px 90px 160px;gap:12px;align-items:center;padding:10px 16px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.prep-row{display:grid;grid-template-columns:40px 1fr 90px 180px 90px 160px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--gray-100);transition:background var(--transition)}.prep-row:last-child{border-bottom:none}.prep-row.is-done{background:#22c55e1a}.prep-row.is-done .prep-row-name{text-decoration:line-through;color:var(--gray-500)}@keyframes prep-pulse{0%,to{background:var(--surface)}40%{background:#19a7ce26}}.prep-row.pulse:not(.is-done){animation:prep-pulse 1.2s ease}.prep-row-check{width:28px;height:28px;border:2px solid var(--gray-300);border-radius:8px;background:var(--surface);font-size:1rem;font-weight:700;color:transparent;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.prep-row-check:hover{border-color:var(--teal)}.prep-row-check.is-checked{background:var(--green);border-color:var(--green);color:#fff}.prep-row-check-priority:hover{border-color:var(--red)}.prep-row-check-priority.is-priority{background:#ef44441f;border-color:var(--red);color:transparent;font-size:.95rem}.prep-row-main{min-width:0}.prep-row-name{font-size:.9375rem;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prep-row-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}.prep-row-unit{font-size:.75rem;color:var(--gray-500)}.prep-row-shelf{font-size:.6875rem;font-weight:600;color:var(--teal);background:#19a7ce1a;padding:1px 7px;border-radius:4px}.prep-row-priority-badge{font-size:.6875rem;font-weight:800;color:#fff;background:var(--red);padding:2px 8px;border-radius:4px;letter-spacing:.05em;animation:priority-pulse 2s ease-in-out infinite}@keyframes priority-pulse{0%,to{box-shadow:0 0 #ef444473}50%{box-shadow:0 0 0 4px #ef444400}}.row-actions-inline{display:inline-flex;align-items:center;gap:4px}.row-actions-compact{display:none}.row-actions-menu{position:relative;display:inline-flex}.row-actions-trigger{font-size:1.1rem;line-height:1}.row-actions-popover{position:fixed;min-width:220px;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:4px;z-index:1000;display:flex;flex-direction:column}.row-actions-item{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:none;background:none;font-size:.8125rem;font-weight:500;color:var(--gray-700);border-radius:6px;min-height:40px;cursor:pointer}.row-actions-item:hover:not(:disabled){background:var(--gray-50);color:var(--ink)}.row-actions-item:disabled{opacity:.4;cursor:not-allowed}.row-actions-item.on{color:var(--red);font-weight:700}.row-actions-item.danger{color:var(--red)}.row-actions-item.danger:hover{background:#ef444414}.row-actions-glyph{width:18px;text-align:center;font-size:.9375rem}.prep-row-move{display:inline-flex;flex-direction:column;gap:2px;flex-shrink:0}.prep-row-move-btn{width:28px;height:17px;border-radius:5px;padding:0;color:var(--gray-500);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center}.prep-row-move-btn:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.prep-row-move-btn:disabled{opacity:.3;cursor:not-allowed}.prep-row-priority-btn{font-size:1rem;line-height:1;color:var(--gray-500);filter:grayscale(100%);opacity:.55;transition:all var(--transition)}.prep-row-priority-btn:hover{filter:none;opacity:1;border-color:var(--red)}.prep-row-priority-btn.on{filter:none;opacity:1;border-color:var(--red);background:#ef444414}.prep-row.is-priority{border-left:3px solid var(--red);background:#ef444414}.prep-row.is-priority.is-done{background:#22c55e1a;border-left-color:#86efac}.prep-row-duration{font-size:.6875rem;font-weight:600;color:var(--green);background:#22c55e1f;padding:1px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:3px}.prep-row-estimate{font-size:.6875rem;font-weight:600;color:var(--ink);background:#0b244714;padding:1px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:3px}.prep-row-estimate.warn{color:#92400e;background:#f59e0b2e;border:1px solid rgba(245,158,11,.4)}.prep-row-grew{font-size:.6875rem;font-weight:700;color:#b91c1c;background:#ef44441f;border:1px solid rgba(239,68,68,.45);padding:2px 8px;border-radius:4px;display:inline-flex;align-items:center;gap:3px;letter-spacing:.01em;cursor:pointer;font-family:inherit;line-height:1.3;animation:priority-pulse 2.4s ease-in-out infinite;transition:background .12s ease,transform .12s ease}.prep-row-grew:hover{background:#ef444433;transform:translateY(-1px)}.prep-row-grew:focus-visible{outline:2px solid #b91c1c;outline-offset:2px}.prep-warn-body{display:flex;flex-direction:column;gap:14px}.prep-warn-summary{font-size:.9375rem;line-height:1.5;color:var(--gray-800);margin:0}.prep-warn-prior{font-size:.8125rem;color:#166534;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);padding:8px 12px;border-radius:var(--radius-sm);line-height:1.45}.prep-warn-prior-stale{color:#92400e}.prep-warn-causes-list{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:4px;margin:0;display:flex;flex-direction:column;gap:2px;background:var(--surface)}.prep-warn-causes-legend{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;padding:0 6px}.prep-warn-cause{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease;min-height:44px}.prep-warn-cause:hover{background:var(--gray-50)}.prep-warn-cause.is-checked{background:#19a7ce14}.prep-warn-cause input[type=checkbox]{flex-shrink:0;margin-top:2px;width:18px;height:18px;accent-color:var(--teal);cursor:pointer}.prep-warn-cause-text{display:flex;flex-direction:column;gap:3px;min-width:0}.prep-warn-cause-label{font-size:.875rem;font-weight:600;color:var(--gray-800);line-height:1.35}.prep-warn-cause-detail{font-size:.8125rem;color:var(--gray-500);line-height:1.4}.prep-warn-notes{width:100%;border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;font-size:.875rem;line-height:1.45;color:var(--gray-800);resize:vertical;min-height:80px}.prep-warn-notes:focus{outline:none;border-color:var(--teal)}.prep-warn-cta{margin:0;font-size:.8125rem;color:var(--gray-500)}.prep-row-used{font-size:.6875rem;font-weight:700;color:#92400e;background:#f59e0b24;border:1px solid rgba(245,158,11,.35);padding:2px 8px;border-radius:4px;display:inline-flex;align-items:center;gap:3px;letter-spacing:.01em;cursor:pointer;font-family:inherit;line-height:1.3;transition:background .12s ease,transform .12s ease}.prep-row-used:hover{background:#f59e0b3d;transform:translateY(-1px)}.prep-row-used:focus-visible{outline:2px solid #92400e;outline-offset:2px}.prep-row-name-link{background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;color:var(--teal);font:inherit;width:100%;display:block;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--teal);text-underline-offset:4px;text-decoration-thickness:1.5px}.prep-row-name-link:hover{color:var(--teal-bright, var(--teal));text-decoration-style:solid}.prep-row-name-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}.usage-history{display:flex;flex-direction:column;gap:14px}.usage-history-sub{font-size:.8125rem;color:var(--gray-500);margin-top:-4px}.usage-chart{display:flex;align-items:flex-end;gap:3px;height:110px;padding:8px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.usage-chart-bar{flex:1 1 0;min-width:0;background:var(--teal);border-radius:2px;min-height:4px;transition:background .12s ease,transform .12s ease}.usage-chart-bar:hover{transform:scaleY(1.04);transform-origin:bottom}.usage-chart-bar.is-ghost{background:var(--gray-200)}.usage-table-wrap{border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.usage-table{width:100%;border-collapse:collapse;font-size:.8125rem}.usage-table thead th{text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);background:var(--gray-50);padding:8px 10px;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1}.usage-table tbody td{padding:7px 10px;border-bottom:1px solid var(--gray-100);color:var(--gray-800)}.usage-table tbody tr:last-child td{border-bottom:none}.usage-table tbody tr.is-empty td{color:var(--gray-400)}.usage-table .gap{color:var(--gray-400);font-weight:500}.usage-help{display:inline-block;font-size:.875em;color:var(--gray-400);cursor:help;margin-left:2px;-webkit-user-select:none;user-select:none}.usage-help:hover{color:var(--gray-600)}.usage-table .adj-prep-sub{display:none;font-size:.6875rem;font-weight:600;color:var(--amber);margin-top:2px;letter-spacing:.02em}.usage-table .col-adj-prep{white-space:nowrap}@media(max-width:480px){.usage-table th.col-adj-prep,.usage-table td.col-adj-prep{display:none}.usage-table .adj-prep-sub{display:block}}.prep-time-input-wrap{display:flex;align-items:center;gap:8px}.prep-time-input-wrap input[type=number]{flex:0 0 120px}.prep-time-input-suffix{font-size:.8125rem;color:var(--gray-500)}.form-hint{font-size:.75rem;color:var(--gray-500);line-height:1.45;margin-top:2px}.priority-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);cursor:pointer;transition:all var(--transition)}.priority-toggle.on{border-color:var(--red);background:#ef444414}.priority-toggle input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--red);cursor:pointer}.priority-toggle-body{display:flex;flex-direction:column;gap:2px}.priority-toggle-title{font-size:.875rem;font-weight:700;color:var(--gray-800)}.priority-toggle-desc{font-size:.75rem;color:var(--gray-600);line-height:1.5}.prep-row-note{margin-top:6px;font-size:.75rem;color:var(--gray-600);line-height:1.45;display:flex;gap:6px;align-items:flex-start;max-width:520px;background:#f59e0b14;border:1px solid #fde68a;border-radius:var(--radius-sm);padding:6px 10px}.prep-row-note-icon{flex-shrink:0;font-size:.8125rem;line-height:1.2}.prep-notes-input{padding:8px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;font-family:inherit;resize:vertical;min-height:64px;outline:none;color:var(--gray-800);background:var(--surface)}.prep-notes-input:focus{border-color:var(--teal)}.readonly-display{padding:10px 12px;background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:600;color:var(--ink)}.readonly-display .readonly-empty{color:var(--gray-400);font-weight:500;font-style:italic}.prep-row-par,.prep-row-toprep{display:flex;flex-direction:column;align-items:center;gap:2px}.prep-row-par-label,.prep-row-toprep-label,.prep-row-onhand-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);display:none}.prep-row-par-value,.prep-row-toprep-value{font-size:1.5rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.01em}.prep-row-toprep-unit{font-size:.75rem;font-weight:700;color:var(--gray-500);letter-spacing:.02em;margin-left:2px}.prep-row-toprep-sub{margin-top:4px;font-size:.6875rem;font-weight:600;color:var(--gray-500);letter-spacing:.01em}.prep-row-toprep.needs .prep-row-toprep-value{color:var(--amber)}.prep-row-toprep.ready .prep-row-toprep-value{color:var(--green)}.prep-row-stepper{display:flex;align-items:center;gap:4px;justify-content:center}.prep-row-stepper button{width:36px;height:36px;border:1.5px solid var(--gray-200);border-radius:50%;background:var(--surface);font-size:1.125rem;font-weight:700;color:var(--gray-700);transition:all var(--transition);display:flex;align-items:center;justify-content:center;line-height:1}.prep-row-stepper button:hover{border-color:var(--teal);color:var(--teal)}.prep-row-stepper input{width:52px;text-align:center;padding:6px 4px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:1rem;font-weight:700;color:var(--gray-800);-moz-appearance:textfield}.prep-row-stepper input::-webkit-outer-spin-button,.prep-row-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.prep-row-stepper input:focus{outline:none;border-color:var(--teal)}.prep-row-actions{display:flex;gap:4px;justify-content:flex-end}.prep-row-icon-btn{width:36px;height:36px;border:1.5px solid var(--gray-200);border-radius:8px;background:var(--surface);color:var(--gray-600);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.prep-row-icon-btn:hover{border-color:var(--teal);color:var(--teal)}.prep-row-icon-btn.danger:hover{border-color:var(--red);color:var(--red)}.prep-empty{background:var(--surface);border:1px dashed var(--gray-200);border-radius:var(--radius);padding:36px 24px;text-align:center}.prep-empty h3{font-size:1.0625rem;font-weight:700;color:var(--gray-800);margin-bottom:6px}.prep-empty p{font-size:.875rem;color:var(--gray-500);margin-bottom:16px}.uom-picker{position:relative;display:flex;flex-direction:column;gap:6px}.uom-picker-trigger{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);font-size:.875rem;color:var(--gray-700);transition:border-color var(--transition)}.uom-picker-trigger:hover{border-color:var(--teal)}.uom-picker-placeholder{color:var(--gray-400)}.uom-picker-caret{color:var(--gray-400);font-size:.75rem}.uom-picker-custom-input{padding:8px 12px;border:1.5px solid var(--teal);border-radius:var(--radius-sm);font-size:.875rem;outline:none}.uom-picker-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:300px;background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;display:flex;flex-direction:column}.uom-picker-search{padding:8px 12px;border:none;border-bottom:1px solid var(--gray-200);font-size:.8125rem;outline:none}.uom-picker-list{overflow-y:auto;padding:6px 0}.uom-picker-group{padding:2px 0}.uom-picker-group-label{padding:6px 14px 2px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400)}.uom-picker-option{width:100%;text-align:left;padding:7px 14px;font-size:.8125rem;color:var(--gray-700);transition:background var(--transition)}.uom-picker-option:hover{background:var(--gray-50);color:var(--ink)}.uom-picker-option.is-selected{background:#19a7ce14;color:var(--teal);font-weight:600}.uom-picker-empty{padding:16px;text-align:center;font-size:.8125rem;color:var(--gray-400)}.prep-label-matches{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;margin-top:-6px}.prep-label-matches-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);padding:2px}.prep-label-match{text-align:left;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);font-size:.8125rem;color:var(--gray-700);display:flex;flex-direction:column;gap:4px;width:100%}.prep-label-match .match-row-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.prep-label-match .match-row-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--gray-500)}.prep-label-match .match-category{font-weight:600;color:var(--ink);background:#0b24470f;padding:2px 8px;border-radius:4px}.prep-label-match .match-category.is-empty{color:var(--gray-400);background:var(--gray-100);font-style:italic;font-weight:500}.prep-label-match .match-type{color:var(--teal);background:#19a7ce14;padding:2px 7px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.prep-label-match:hover{border-color:var(--teal);background:#19a7ce0a}.prep-label-match.is-picked{border-color:var(--teal);background:#19a7ce14}.prep-label-match .match-name{font-weight:600;color:var(--gray-800)}.prep-label-match .match-meta{font-size:.6875rem;color:var(--gray-500);background:var(--gray-100);padding:1px 6px;border-radius:4px}.prep-label-create-hint{padding:8px 12px;background:#f0f9ff;border:1px dashed #99e9f2;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-600)}.pars-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}.pars-grid-edit{grid-template-columns:repeat(7,1fr)}.pars-grid-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.pars-grid-cell span{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.pars-grid-cell input{width:100%;padding:8px 4px;text-align:center;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:700;color:var(--gray-800);-moz-appearance:textfield}.pars-grid-cell input:focus{outline:none;border-color:var(--teal)}.pars-grid-cell input::-webkit-outer-spin-button,.pars-grid-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pars-grid-cell .hide-on-mobile{display:inline}.pars-grid-cell .show-on-mobile{display:none}.pars-grid-minmax{display:flex;flex-direction:column;gap:4px;margin-top:8px}.pars-grid-minmax-head,.pars-grid-minmax-row{display:grid;grid-template-columns:minmax(60px,1fr) 1fr 1fr;gap:8px;align-items:center}.pars-grid-minmax-head{padding:2px 4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.pars-grid-minmax-head span:nth-child(2),.pars-grid-minmax-head span:nth-child(3){text-align:center}.pars-grid-minmax-row{padding:4px 0}.pars-grid-day{font-size:.8125rem;font-weight:600;color:var(--gray-700)}.pars-grid-day .hide-on-mobile{display:inline}.pars-grid-day .show-on-mobile{display:none}.pars-grid-minmax-row input{width:100%;padding:8px 4px;text-align:center;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:700;color:var(--gray-800);-moz-appearance:textfield}.pars-grid-minmax-row input:focus{outline:none;border-color:var(--teal)}.pars-grid-minmax-row input::-webkit-outer-spin-button,.pars-grid-minmax-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(max-width:480px){.pars-grid-minmax-head,.pars-grid-minmax-row{grid-template-columns:44px 1fr 1fr}.pars-grid-day .hide-on-mobile{display:none}.pars-grid-day .show-on-mobile{display:inline}}.prep-label-match .match-shelf{color:var(--teal);background:#19a7ce1f}.delete-choice-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}.delete-choice-list li{padding:10px 12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-700);line-height:1.5}.print-preview{max-height:260px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);padding:6px}.print-preview-row{display:flex;justify-content:space-between;padding:6px 10px;border-radius:4px;font-size:.8125rem}.print-preview-row:nth-child(odd){background:var(--surface)}.print-preview-section+.print-preview-section{margin-top:10px}.print-preview-section .print-preview-row{background:transparent}.print-preview-section .print-preview-row:nth-child(odd){background:var(--surface)}.print-preview-group-heading{font-weight:700;font-size:.75rem;color:var(--navy);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 2px;padding:4px 6px}.print-preview-section:first-child .print-preview-group-heading{margin-top:0}.print-preview-toggle{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--gray-800);margin:8px 0 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.print-preview-toggle input[type=checkbox]{cursor:pointer}.print-preview-toggle-hint{font-weight:400;color:var(--gray-600)}.print-preview-row.is-priority{background:#ef444414;border-left:3px solid var(--red)}.print-preview-priority{margin-right:6px}.print-preview-need{font-weight:700;color:var(--amber)}.print-preview-row.is-done{opacity:.65}.print-preview-row.is-done>span:first-child{text-decoration:line-through;text-decoration-color:var(--gray-400)}.print-preview-row.is-done .print-preview-need{color:var(--gray-500);text-decoration:none}.print-preview-done-badge{display:inline-block;margin-left:8px;padding:1px 6px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--gray-600);background:var(--gray-100);border-radius:4px;text-decoration:none;vertical-align:1px}.prep-list-page .login-error{color:var(--red);font-size:.8125rem;padding:8px 12px;background:#ef444414;border:1px solid #fecaca;border-radius:var(--radius-sm)}.prep-list-page .form-group{display:flex;flex-direction:column;gap:6px}.prep-list-page .form-group label{font-size:.75rem;font-weight:600;color:var(--gray-600)}.prep-list-page .form-group input[type=text],.prep-list-page .form-group input[type=number],.prep-list-page .form-group select{padding:8px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;outline:none}.prep-list-page .form-group input:focus,.prep-list-page .form-group select:focus{border-color:var(--teal)}.prep-conversion-fields{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:14px;margin:8px 0 14px;background:var(--gray-50)}.prep-conversion-ratio{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9375rem;color:var(--gray-700)}.prep-conversion-ratio strong{color:var(--ink);font-weight:700}.prep-conversion-ratio input[type=number]{flex:0 0 90px;padding:8px 10px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font:inherit;font-size:.9375rem;text-align:center}.prep-conversion-ratio input[type=number]:focus{outline:none;border-color:var(--teal)}.prep-rounding-group{display:inline-flex;align-items:stretch;background:var(--surface);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.prep-rounding-btn{background:none;border:none;padding:10px 16px;font:inherit;font-size:.8125rem;font-weight:600;color:var(--gray-600);cursor:pointer;border-right:1px solid var(--gray-200);min-width:72px;min-height:40px;transition:background .12s ease,color .12s ease}.prep-rounding-btn:last-child{border-right:none}.prep-rounding-btn:hover:not(.is-active){background:var(--gray-100);color:var(--ink)}.prep-rounding-btn.is-active{background:var(--teal);color:#fff}.prep-conversion-min{display:flex;align-items:center;gap:8px}.prep-conversion-min input[type=number]{flex:0 0 120px;padding:8px 10px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font:inherit;font-size:.9375rem}.prep-conversion-min input[type=number]:focus{outline:none;border-color:var(--teal)}.prep-conversion-min span{color:var(--gray-600);font-weight:600}.prep-conversion-preview{margin-top:12px;padding:10px 12px;background:#19a7ce14;border:1px solid rgba(25,167,206,.35);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-800);line-height:1.45}.prep-conversion-help{margin-top:12px;padding:10px 12px;background:var(--surface);border-left:3px solid var(--teal);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-700);line-height:1.5}.prep-conversion-help-title{font-weight:700;color:var(--ink);margin-bottom:4px}.prep-conversion-help p{margin:0}.print-preview-sub{font-size:.75rem;font-weight:500;color:var(--gray-500);margin-left:4px}@media(max-width:1279px){.row-actions-inline{display:none}.row-actions-compact{display:inline-flex}.prep-rows-head,.prep-row{grid-template-columns:36px minmax(0,1fr) 68px 150px 68px 44px;gap:8px;padding:10px 12px}}@media(max-width:768px){.prep-rows-head,.prep-row{grid-template-columns:32px minmax(0,1fr) 56px 138px 56px 40px;gap:6px;padding:8px 10px}.prep-row-par-value,.prep-row-toprep-value{font-size:1.25rem}.prep-row-name{font-size:.875rem}.prep-row-stepper button{width:32px;height:32px;font-size:1rem}.prep-row-stepper input{width:46px;font-size:.9375rem}}@media(max-width:480px){.prep-list-header{flex-direction:column;align-items:stretch}.prep-list-header-actions .btn{flex:1;justify-content:center;min-height:44px}.prep-summary-strip{grid-template-columns:1fr 1fr 1fr;gap:6px}.prep-summary-chip{padding:8px 10px}.prep-summary-chip .chip-value{font-size:1.125rem}.prep-summary-chip .chip-sub{font-size:.8125rem;margin-left:4px}.prep-rows{background:transparent;border:none;box-shadow:none;overflow:visible}.prep-rows-head{display:none}.prep-row{display:block;position:relative;padding:12px 56px;background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:8px;box-shadow:var(--shadow-sm);min-width:0;box-sizing:border-box;width:100%}.prep-row.is-done{background:#22c55e1a}.prep-row-check{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:10px;font-size:1.125rem}.prep-row-actions{position:absolute;top:12px;right:12px;gap:0}.prep-row-icon-btn{width:36px;height:36px}.prep-row-main{margin-bottom:10px;min-width:0}.prep-row-name{font-size:1rem;font-weight:700;white-space:normal;overflow:visible;text-overflow:clip}.prep-row-meta{margin-top:4px}.prep-row-par,.prep-row-onhand,.prep-row-toprep{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;min-width:0;width:100%;border-top:1px solid var(--gray-100)}.prep-row-par-label,.prep-row-onhand-label,.prep-row-toprep-label{display:inline;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);flex-shrink:0}.prep-row-par-value,.prep-row-toprep-value{font-size:1.25rem;font-weight:800;color:var(--ink);line-height:1;text-align:right}.prep-row-toprep.needs .prep-row-toprep-value{color:var(--amber)}.prep-row-toprep.ready .prep-row-toprep-value{color:var(--green)}.prep-row-stepper{display:flex;align-items:center;gap:4px;flex-shrink:0}.prep-row-stepper button{width:34px;height:34px;font-size:1rem;flex-shrink:0}.prep-row-stepper input{width:48px;font-size:.9375rem;padding:4px;flex-shrink:0}.prep-row-total{font-size:1.125rem;padding:2px 8px}.day-pill{min-width:40px;padding:10px 6px;min-height:44px;font-size:.75rem;flex:1 1 auto}.prep-summary-chip{flex:1 1 92px;padding:8px 10px}.prep-summary-chip .chip-label{font-size:.625rem}.prep-summary-chip .chip-value{font-size:1rem}.prep-summary-chip .chip-sub{font-size:.75rem;margin-left:4px}.prep-list-page{gap:12px}.location-pill{padding:7px 10px;font-size:.75rem}.pars-grid{grid-template-columns:1fr;gap:8px}.pars-grid-edit{grid-template-columns:1fr}.pars-grid-cell{flex-direction:row;align-items:center;gap:12px;padding:6px 10px;background:var(--gray-50);border-radius:var(--radius-sm)}.pars-grid-cell span{flex:1;text-align:left;font-size:.8125rem;color:var(--gray-700);text-transform:none;letter-spacing:normal}.pars-grid-cell .hide-on-mobile{display:none}.pars-grid-cell .show-on-mobile{display:inline}.pars-grid-cell input{flex:0 0 96px;width:96px;padding:12px 8px;font-size:1.125rem}.category-tabs{padding:4px 0 8px}.prep-list-page+.modal-overlay .modal-footer,.modal:has(.prep-list-page) .modal-footer{position:sticky;bottom:0;background:var(--surface)}.prep-list-page .btn{min-height:44px}}.settings-page{display:flex;flex-direction:column;gap:24px;max-width:720px}.settings-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.settings-section-header{padding:14px 20px;border-bottom:1px solid var(--gray-200);font-size:.875rem;font-weight:700;color:var(--gray-700)}.settings-section-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.shift-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shift-row input[type=text]{width:140px;padding:6px 10px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.8125rem}.shift-row input[type=time]{padding:6px 8px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.8125rem}.shift-row .shift-separator{font-size:.75rem;color:var(--gray-400)}.shift-row .btn-icon-danger{background:none;border:none;color:var(--red, #ef4444);cursor:pointer;padding:4px 8px;border-radius:var(--radius);font-size:1rem;line-height:1}.shift-row .btn-icon-danger:hover{background:#ef444414}.btn-add-shift{align-self:flex-start;background:none;border:1px dashed var(--gray-300);border-radius:var(--radius);color:var(--gray-500);padding:6px 14px;font-size:.8125rem;cursor:pointer;transition:border-color .15s,color .15s}.btn-add-shift:hover{border-color:var(--teal);color:var(--teal)}.report-toggle-list{display:flex;flex-direction:column;gap:8px}.report-toggle-row{display:flex;align-items:center;gap:10px}.report-toggle-row label{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--gray-700);cursor:pointer}.report-toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal, #19A7CE);cursor:pointer}.settings-save-bar{display:flex;align-items:center;gap:12px}.settings-save-bar .save-status{font-size:.8125rem;color:var(--green, #22c55e)}.settings-save-bar .save-error{font-size:.8125rem;color:var(--red, #ef4444)}.shift-error{font-size:.75rem;color:var(--red, #ef4444);margin-top:-4px}@media(max-width:480px){.shift-row{flex-direction:column;align-items:stretch}.shift-row input[type=text],.shift-row input[type=time]{width:100%}.btn-add-shift{align-self:stretch;text-align:center}}.users-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.users-filters input,.users-filters select{padding:8px 12px;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 6px);font-size:.8125rem}.users-filters input{min-width:200px}.users-stats{font-size:.8125rem;color:var(--gray-500, #6b7280);padding:0 20px 12px}.role-select{padding:4px 8px;border:1px solid var(--gray-200, #e5e7eb);border-radius:4px;font-size:.8125rem;background:#fff}.role-select:focus{outline:none;border-color:var(--teal, #19A7CE)}.add-user-btn{padding:8px 16px;background:var(--teal, #19A7CE);color:#fff;border:none;border-radius:var(--radius, 6px);font-size:.8125rem;font-weight:600;cursor:pointer}.add-user-btn:hover{background:#0d7a9e}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:var(--radius, 6px);font-weight:600;cursor:pointer}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:4px 10px;font-size:.75rem}.delete-options{display:flex;flex-direction:column;gap:8px}.delete-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--gray-200, #e5e7eb);border-radius:6px;cursor:pointer;transition:border-color .15s}.delete-option:hover{border-color:var(--gray-400, #9ca3af)}.delete-option:has(input:checked){border-color:var(--teal, #19A7CE);background:#19a7ce0a}.delete-option-danger:has(input:checked){border-color:#dc2626;background:#dc26260a}.delete-option-disabled{opacity:.45;cursor:not-allowed}.delete-option input[type=radio]{margin-top:3px;cursor:pointer}.delete-option div{display:flex;flex-direction:column;gap:2px}.delete-option strong{font-size:.8125rem}.delete-option span{font-size:.75rem;color:var(--gray-500, #6b7280)}@media(max-width:480px){.users-filters{flex-direction:column;align-items:stretch}.users-filters input,.users-filters select{min-width:0;width:100%}.add-user-btn{width:100%;min-height:44px;text-align:center;justify-content:center}}.user-notes-btn{padding:3px 9px;font-size:.7rem;font-weight:600;line-height:1.3;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 6px);background:#fff;color:var(--gray-800, #1f2937);cursor:pointer;transition:border-color .15s,background .15s}.user-notes-btn:hover{border-color:var(--teal, #19A7CE);background:#19a7ce0d}.user-info-peek{margin-top:2px;font-size:.7rem;font-style:italic;font-weight:400;color:var(--gray-500, #6b7280);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-section{margin-bottom:18px}.notes-section+.notes-section{border-top:1px solid var(--gray-200, #e5e7eb);padding-top:14px}.notes-section-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:6px}.notes-section-title{font-weight:700;font-size:.875rem;color:var(--gray-800, #1f2937)}.notes-section-hint{font-size:.7rem;color:var(--gray-500, #6b7280)}.notes-saving{font-size:.7rem;color:var(--teal, #19A7CE);margin-left:auto}.notes-textarea{width:100%;padding:8px 10px;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 6px);font-size:.875rem;font-family:inherit;resize:vertical;box-sizing:border-box}.notes-textarea:focus{outline:none;border-color:var(--teal, #19A7CE)}.notes-meta{margin-top:4px;font-size:.7rem;color:var(--gray-500, #6b7280)}.notes-log-input-row{display:flex;gap:6px;margin-bottom:10px}.notes-log-type{padding:6px 8px;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 6px);font-size:.8125rem;background:#fff}.notes-log-text{flex:1;padding:6px 10px;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 6px);font-size:.875rem;min-width:0}.notes-log-text:focus{outline:none;border-color:var(--teal, #19A7CE)}.notes-log-empty{font-size:.8rem;color:var(--gray-500, #6b7280);font-style:italic;padding:8px 0}.notes-log-list{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}.notes-log-entry{padding:8px 0;border-bottom:1px solid var(--gray-200, #e5e7eb)}.notes-log-entry:last-child{border-bottom:none}.notes-log-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px}.notes-log-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--gray-50, #f9fafb);color:var(--gray-800, #1f2937);border:1px solid var(--gray-200, #e5e7eb)}.notes-log-badge-call{background:#38b2ac1a;color:#0d7a9e;border-color:#38b2ac59}.notes-log-badge-email{background:#6366f11a;color:#4338ca;border-color:#6366f159}.notes-log-badge-meeting{background:#f59e0b1f;color:#92400e;border-color:#f59e0b59}.notes-log-badge-note{background:#6b72801a;color:#374151;border-color:#6b72804d}.notes-log-badge-other{background:#dc262614;color:#991b1b;border-color:#dc262640}.notes-log-time{font-size:.7rem;color:var(--gray-500, #6b7280)}.notes-log-text-body{font-size:.85rem;color:var(--gray-800, #1f2937);white-space:pre-wrap;line-height:1.4}@media(max-width:480px){.user-info-peek{max-width:160px}.notes-log-input-row{flex-wrap:wrap}.notes-log-type{flex:1 1 100px}.notes-log-text{flex:1 1 100%;order:2}}.org-stats-bar{font-size:.8125rem;color:var(--gray-500, #6b7280);padding:0 20px 12px}.delete-cascade-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:14px 16px}.delete-cascade-title{font-size:.8125rem;font-weight:600;color:var(--red, #ef4444);margin-bottom:8px}.delete-cascade-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.delete-cascade-list li{font-size:.8125rem;color:var(--gray-700, #374151);padding-left:16px;position:relative}.delete-cascade-list li:before{content:"•";position:absolute;left:4px;color:var(--red, #ef4444)}.delete-cascade-note{font-size:.75rem;color:var(--red, #ef4444);font-weight:600;margin-top:10px}@media(max-width:480px){.hide-mobile{display:none}}@keyframes orders-pulse{0%,to{opacity:1}50%{opacity:.3}}.live-indicator{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;color:var(--gray-600, #4b5563);margin-left:12px;font-weight:500}.live-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-bright, #14b8a6);animation:orders-pulse 1.5s ease-in-out infinite;flex-shrink:0}.live-pulse-dot--paused{background:var(--gray-400, #9ca3af);animation:none}.live-pulse-dot--fetching{background:var(--teal-bright, #14b8a6);box-shadow:0 0 0 3px #14b8a640;animation:none}.live-pause-btn{background:none;border:1px solid var(--gray-300, #d1d5db);border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;color:var(--gray-600, #4b5563);cursor:pointer;transition:background .15s,border-color .15s}.live-pause-btn:hover{background:var(--gray-100, #f3f4f6);border-color:var(--gray-400, #9ca3af)}.status-pill{padding:4px 10px;border-radius:12px;font-size:.72rem;font-weight:600;cursor:pointer;border:2px solid var(--gray-300, #d1d5db);background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280);transition:transform .1s,opacity .15s;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.status-pill:hover{transform:translateY(-1px)}.status-pill--inactive{opacity:.55}.status-pill-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.status-pill-link{background:none;border:none;color:var(--teal-bright, #14b8a6);font-size:.72rem;font-weight:600;cursor:pointer;padding:4px 6px;text-decoration:underline}.status-pill-link:hover{color:var(--teal, #0d9488)}.badge-external{display:inline-block;padding:1px 7px;border-radius:8px;font-size:.62rem;font-weight:700;letter-spacing:.04em;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;text-transform:uppercase}.permissions-page{display:flex;flex-direction:column;gap:24px;max-width:720px}.permissions-role-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.permissions-role-tabs .btn-reset{margin-left:auto}.permissions-role-tab{padding:8px 20px;border:1px solid var(--gray-300);border-radius:20px;background:#fff;color:var(--gray-600);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s}.permissions-role-tab:hover{border-color:var(--teal);color:var(--teal)}.permissions-role-tab.active{background:var(--teal, #19A7CE);border-color:var(--teal, #19A7CE);color:#fff}.permissions-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.permissions-section-header{padding:14px 20px;border-bottom:1px solid var(--gray-200);font-size:.875rem;font-weight:700;color:var(--gray-700)}.permissions-section-body{padding:8px 0}.permission-row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:16px;transition:background .1s}.permission-row:hover{background:var(--gray-50, #f9fafb)}.permission-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.permission-label{font-size:.8125rem;color:var(--gray-700);display:flex;align-items:center;gap:8px}.permission-desc{font-size:.6875rem;color:var(--gray-400, #9ca3af);line-height:1.4}.permission-enforcement{font-size:.6875rem;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:4px;font-weight:600}.toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--gray-300, #d1d5db);border-radius:22px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-slider{background:var(--teal, #19A7CE)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.permission-status{font-size:.6875rem;font-weight:600;flex-shrink:0;min-width:24px;text-align:right}.permission-status.on{color:var(--teal, #19A7CE)}.permission-status.off{color:var(--gray-400, #9ca3af)}.permission-role-chips{display:flex;gap:6px;flex-shrink:0}.role-chip{padding:4px 10px;border-radius:12px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid}.role-chip.on{background:var(--teal, #19A7CE);border-color:var(--teal, #19A7CE);color:#fff}.role-chip.off{background:#fff;border-color:var(--gray-300, #d1d5db);color:var(--gray-400, #9ca3af)}.role-chip.off:hover{border-color:var(--teal, #19A7CE);color:var(--teal, #19A7CE)}.btn-reset{background:none;border:1px solid var(--gray-300);border-radius:var(--radius);color:var(--gray-500);padding:8px 16px;font-size:.8125rem;cursor:pointer;transition:border-color .15s,color .15s}.btn-reset:hover{border-color:var(--red, #ef4444);color:var(--red, #ef4444)}@media(max-width:480px){.permissions-role-tabs{gap:6px}.permissions-role-tab{padding:6px 14px;font-size:.75rem}.permission-row{padding:10px 14px}.permission-label{font-size:.75rem}}.user-picker{flex-shrink:0;max-width:260px;padding:7px 10px;border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;color:var(--gray-700);font-size:.8125rem;cursor:pointer}.user-picker:focus{outline:none;border-color:var(--teal, #19A7CE)}.permission-label-sub{font-weight:500;color:var(--gray-600)}.tri-state{display:inline-flex;flex-shrink:0;border:1px solid var(--gray-300);border-radius:var(--radius);overflow:hidden}.tri-state-btn{padding:6px 12px;border:none;background:#fff;color:var(--gray-500);font-size:.6875rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s;border-left:1px solid var(--gray-200)}.tri-state-btn:first-child{border-left:none}.tri-state-btn:hover{background:var(--gray-50, #f9fafb)}.tri-state-btn.active.inherit{background:var(--gray-200);color:var(--gray-700)}.tri-state-btn.active.on{background:var(--teal, #19A7CE);color:#fff}.tri-state-btn.active.off{background:var(--red, #ef4444);color:#fff}@media(max-width:480px){.user-picker{max-width:150px;font-size:.75rem}.tri-state-btn{padding:6px 8px;font-size:.625rem}}.price-intel-page{padding:0}.price-intel-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.price-intel-actions{display:flex;align-items:center;gap:1rem}.segmented-control{display:inline-flex;background:#e9ecef;border-radius:8px;padding:3px;gap:2px}.segmented-control .segment{padding:.5rem 1.25rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6c757d;transition:all .2s;white-space:nowrap}.segmented-control .segment:hover{color:#343a40}.segmented-control .segment.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #0000001a}.price-summary-cards{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-stat-card{flex:1;min-width:160px;background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.summary-stat-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.summary-stat-card.active.up{border-color:#dc3545;background:#fff5f5}.summary-stat-card.active.down{border-color:#198754;background:#f0faf4}.summary-stat-card.active.neutral{border-color:#6c757d;background:#f5f6f7}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.up-icon{background:#fce4e4;color:#dc3545}.down-icon{background:#d4edda;color:#198754}.neutral-icon{background:#e9ecef;color:#6c757d}.stat-content{display:flex;flex-direction:column}.stat-number{font-size:1.75rem;font-weight:700;color:#1a1a2e;line-height:1}.stat-label{font-size:.8rem;color:#6c757d;margin-top:2px}.stat-detail{font-size:.7rem;font-weight:600;margin-top:4px}.price-section-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.price-section-card h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1a1a2e}.price-filters{display:flex;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.price-filters .search-input{flex:1;min-width:200px}.price-filters .filter-select{min-width:140px}.alert-banner{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.alert-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;font-size:.875rem}.alert-dismiss{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#856404;padding:0 .25rem}.scrape-status{font-size:.85rem;color:#6c757d;display:flex;align-items:center;gap:.5rem}.scrape-spinner{display:inline-block;width:14px;height:14px;border:2px solid #dee2e6;border-top-color:#0d6efd;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.price-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.875rem}.price-table th,.price-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e9ecef}.price-table th{font-weight:600;color:#6c757d;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.price-table tbody tr:hover{background:#f8f9fa}.price-up{color:#dc3545}.price-down{color:#198754}.product-link{color:#0d6efd;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}.product-link:hover{text-decoration-color:#0d6efd}.price-detail-avg{font-size:.85rem;font-weight:600;margin:-.5rem 0 1rem}.price-view-empty{text-align:center;padding:3rem 1rem;color:#6c757d}.spending-summary{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-card{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:1.25rem 1.5rem;min-width:160px;display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.8rem;color:#6c757d;text-transform:uppercase;letter-spacing:.03em}.summary-value{font-size:1.5rem;font-weight:700;color:#1a1a2e}.products-overview h4{margin-bottom:.5rem;color:#495057}.market-watch-view{display:flex;flex-direction:column;gap:1.5rem}.spending-period-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.spending-period-card{background:#fff;border:1px solid #e9ecef;border-left:4px solid #7c3aed;border-radius:10px;padding:1.25rem 1.5rem}.spending-period-label{font-size:.8rem;color:#6c757d;margin-bottom:.25rem}.spending-period-amount{font-size:1.75rem;font-weight:700;color:#1a1a2e}.market-charts-row{display:flex;gap:1rem}.market-charts-half{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.market-chart-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden}.market-chart-full{flex:1}.market-chart-title{padding:1rem 1.5rem;font-weight:600;font-size:1rem;color:#1a1a2e;border-bottom:1px solid #e9ecef}.market-chart-body{padding:1rem}.market-chart-empty{text-align:center;padding:3rem 1rem;color:#adb5bd;font-size:.9rem}.pie-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center;margin-top:.5rem;font-size:.8rem;color:#495057}.pie-legend-item{display:flex;align-items:center;gap:4px}.pie-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.price-settings-view{display:flex;flex-direction:column;gap:1.5rem}.price-settings-view .settings-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden}.price-settings-view .settings-section-header{padding:1rem 1.5rem;font-weight:600;font-size:1rem;color:#1a1a2e;border-bottom:1px solid #e9ecef;background:#f8f9fa}.price-settings-view .settings-section-body{padding:1.25rem 1.5rem}.price-settings-view .report-toggle-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.price-settings-view .report-toggle-row label{font-size:.875rem;color:#495057;min-width:180px}.time-input{padding:6px 8px;border:1px solid #dee2e6;border-radius:6px;font-size:.8125rem}.btn-danger{background:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:6px;padding:.35rem .75rem;cursor:pointer;font-size:.8rem}.btn-danger:hover{background:#dc3545;color:#fff}.btn-add-vendor{margin-top:1rem;background:none;border:2px dashed #dee2e6;border-radius:8px;padding:.5rem 1.25rem;color:#6c757d;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-add-vendor:hover{border-color:#adb5bd;color:#495057}.save-status{color:#198754;font-size:.8rem;font-weight:500}.save-error{color:#dc3545;font-size:.8rem;font-weight:500}.price-table-clickable tbody tr{cursor:pointer;transition:background .15s}.price-table-clickable tbody tr:hover{background:#e8f4f8}.price-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.price-detail-panel{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;width:100%;max-width:600px;padding:1.75rem;position:relative;animation:panelSlideIn .2s ease-out}@keyframes panelSlideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.price-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.price-detail-header h3{margin:0;font-size:1.15rem;font-weight:600;color:#1a1a2e}.price-detail-subtitle{font-size:.8rem;color:#6c757d;margin-top:2px}.price-detail-close{background:none;border:none;font-size:1.5rem;color:#adb5bd;cursor:pointer;padding:0;line-height:1;transition:color .15s}.price-detail-close:hover{color:#495057}.price-detail-price{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin:.75rem 0 1.25rem}.price-detail-unit{font-size:1rem;font-weight:400;color:#6c757d}.price-detail-chart{background:#f8f9fa;border-radius:12px;padding:1rem .5rem .5rem}.last-run-bar{font-size:.8rem;color:#6c757d;padding:.5rem 0;margin-bottom:.75rem;border-bottom:1px solid #e9ecef}.last-run-bar.last-run-error{color:#dc3545}.scrape-logs-view{display:flex;flex-direction:column;gap:1rem}.logs-header{display:flex;justify-content:space-between;align-items:center}.logs-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1a1a2e}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-success{background:#d4edda;color:#155724}.status-error{background:#f8d7da;color:#721c24}.status-partial{background:#fff3cd;color:#856404}.log-detail-row td{padding:0!important;background:#f8f9fa}.log-detail{padding:1rem 1.5rem;font-size:.8rem}.log-detail-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem;color:#495057}.log-errors{margin-bottom:1rem;color:#dc3545}.log-error-line{padding:.25rem 0 .25rem 1rem}.log-entries{color:#495057}.log-entries-list{margin-top:.5rem;max-height:300px;overflow-y:auto;background:#1a1a2e;border-radius:8px;padding:.75rem;font-family:SF Mono,Menlo,monospace;font-size:.75rem;line-height:1.6}.log-entry{display:flex;gap:.75rem}.log-time{color:#6c757d;white-space:nowrap;min-width:80px}.log-level-info .log-msg{color:#d4edda}.log-level-warn .log-msg{color:#fff3cd}.log-level-error .log-msg{color:#f8d7da}.migration-page{display:flex;flex-direction:column;gap:24px}.migration-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.migration-card{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.migration-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.migration-card-title{font-size:.9375rem;font-weight:600;color:var(--gray-800);word-break:break-all}.migration-card-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.badge-synced{background:#d1fae5;color:#065f46}.badge-pending{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.badge-running{background:#dbeafe;color:#1e40af}.migration-counts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}.migration-count{text-align:center}.migration-count-label{font-size:.6875rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.migration-count-value{font-size:1.25rem;font-weight:700;color:var(--gray-800)}.migration-count-value.delta{color:var(--amber)}.migration-count-value.delta.zero{color:var(--green)}.migration-card-footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.migration-last-sync{font-size:.75rem;color:var(--gray-500);margin-top:12px}.migration-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-sync{padding:8px 18px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;gap:6px}.btn-sync-primary{background:var(--teal);color:#fff}.btn-sync-primary:hover{background:var(--teal-bright)}.btn-sync-primary:disabled{background:var(--gray-300);cursor:not-allowed}.btn-sync-outline{background:#fff;color:var(--gray-700);border:1px solid var(--gray-300)}.btn-sync-outline:hover{background:var(--gray-100)}.btn-sync-outline:disabled{opacity:.5;cursor:not-allowed}.migration-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.migration-toolbar-title{font-size:1rem;font-weight:600;color:var(--gray-800)}.migration-history{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden}.migration-history-header{padding:16px 20px;border-bottom:1px solid var(--gray-200);font-size:.9375rem;font-weight:600;color:var(--gray-800);display:flex;justify-content:space-between;align-items:center}.migration-history table{width:100%;border-collapse:collapse;font-size:.8125rem}.migration-history th{text-align:left;padding:10px 16px;border-bottom:1px solid var(--gray-200);color:var(--gray-500);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.migration-history td{padding:10px 16px;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}.migration-history tr:last-child td{border-bottom:none}.migration-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--gray-300);border-top-color:var(--teal);border-radius:50%;animation:migration-spin .6s linear infinite}@keyframes migration-spin{to{transform:rotate(360deg)}}.migration-schedule .migration-card-header{margin-bottom:0}.migration-schedule-body{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:12px}.migration-toggle-label{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;color:var(--gray-700);cursor:pointer}.migration-toggle-input{display:none}.migration-toggle-switch{width:40px;height:22px;background:var(--gray-300);border-radius:11px;position:relative;transition:var(--transition)}.migration-toggle-switch:after{content:"";width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:var(--transition)}.migration-toggle-input:checked+.migration-toggle-switch{background:var(--teal)}.migration-toggle-input:checked+.migration-toggle-switch:after{left:20px}.migration-time-picker{display:flex;align-items:center;gap:4px}.migration-time-picker select{padding:4px 8px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.8125rem}.migration-time-picker select:disabled{opacity:.4}.migration-tz-label{font-size:.75rem;color:var(--gray-500);margin-left:4px}.migration-schedule-msg{font-size:.75rem;font-weight:600}.migration-schedule-msg.success{color:var(--green)}.migration-schedule-msg.error{color:var(--red)}.migration-cron-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.6875rem;font-weight:600;letter-spacing:.02em}.cron-on{background:#d1fae5;color:#065f46}.cron-off{background:var(--gray-200);color:var(--gray-600)}.migration-preview{display:flex;flex-direction:column;gap:8px}.migration-preview-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.migration-preview-header{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;font-size:.8125rem;color:var(--gray-800)}.migration-preview-header:hover{background:var(--gray-50)}.migration-preview-toggle{font-size:.625rem;color:var(--gray-500)}.migration-preview-count{font-weight:600;color:var(--teal)}.migration-preview-meta{color:var(--gray-500);font-size:.75rem}.migration-preview-showing{padding:8px 16px;font-size:.75rem;color:var(--gray-500);background:var(--gray-50);border-top:1px solid var(--gray-200)}.migration-preview-table{max-height:400px;overflow-y:auto}.migration-preview-table table{width:100%;border-collapse:collapse;font-size:.75rem}.migration-preview-table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--gray-200);color:var(--gray-500);font-weight:600;text-transform:uppercase;font-size:.6875rem;letter-spacing:.04em;position:sticky;top:0;background:#fff}.migration-preview-table td{padding:6px 12px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-danger-outline{background:#fff;color:var(--red);border:1px solid #fecaca;padding:4px 12px;font-size:.75rem}.btn-danger-outline:hover{background:#fef2f2}.migration-clear-confirm{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--gray-600)}.migration-status{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500}.migration-status.success{background:#d1fae5;color:#065f46}.migration-status.error{background:#fee2e2;color:#991b1b}@media(max-width:480px){.migration-cards{grid-template-columns:1fr}.migration-history th:nth-child(n+5),.migration-history td:nth-child(n+5){display:none}.migration-toolbar{flex-direction:column;align-items:flex-start}}.mfg-password-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b2447d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mfg-password-box{background:var(--white);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:90%;max-width:380px;text-align:center}.mfg-password-box h3{margin-bottom:.5rem;color:var(--ink)}.mfg-password-box p{font-size:.85rem;color:var(--gray-500);margin-bottom:1.25rem}.mfg-password-box input{width:100%;padding:.6rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.95rem;margin-bottom:.75rem;outline:none;transition:border var(--transition)}.mfg-password-box input:focus{border-color:var(--teal)}.mfg-password-box .error{color:var(--red);font-size:.8rem;margin-bottom:.5rem}.mfg-password-box button{width:100%;padding:.6rem;background:var(--teal);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.mfg-password-box button:hover{background:var(--teal-bright)}.mfg-page{padding:1.5rem;max-width:1400px}.mfg-page h2{font-size:1.4rem;color:var(--ink);margin-bottom:1rem}.mfg-spec-banner{background:var(--navy);color:#fff;padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-bottom:1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.mfg-spec-banner .spec-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.9rem}.mfg-spec-banner .spec-header .toggle{font-size:.75rem;opacity:.6}.mfg-spec-details{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem;font-size:.8rem;opacity:.9}.mfg-spec-details span{background:#ffffff1a;padding:.2rem .6rem;border-radius:4px}.mfg-cost-bar{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.mfg-cost-card{background:linear-gradient(135deg,#ffffff 0%,var(--gray-50) 100%);border:1px solid var(--gray-200);border-radius:var(--radius);padding:1rem 1.25rem;flex:1;min-width:180px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.mfg-cost-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.mfg-cost-card .label{font-size:.65rem;text-transform:uppercase;color:var(--gray-500);font-weight:700;letter-spacing:.75px}.mfg-cost-card .value{font-size:1.5rem;font-weight:800;color:var(--ink);margin-top:.25rem;letter-spacing:-.02em}.mfg-cost-card .value.green{color:var(--green)}.mfg-cost-card .value.teal{color:var(--teal)}.mfg-tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:1.25rem}.mfg-tab{padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;color:var(--gray-500);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition)}.mfg-tab.active{color:var(--teal);border-bottom-color:var(--teal)}.mfg-tab:hover:not(.active){color:var(--gray-700)}.mfg-vendor-list{display:flex;flex-direction:column;gap:.75rem}.mfg-vendor-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:all .2s ease;box-shadow:var(--shadow-sm)}.mfg-vendor-card:hover{box-shadow:var(--shadow);border-color:var(--gray-300)}.mfg-vendor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;gap:.75rem}.mfg-vendor-header .vendor-name{font-weight:600;font-size:.95rem;color:var(--ink);flex:1}.vendor-meta-pills{display:flex;gap:.5rem;flex:2;justify-content:flex-end;margin-right:.75rem}.vendor-pill{font-size:.7rem;font-weight:700;padding:.2rem .65rem;border-radius:100px;background:var(--gray-100);color:var(--ink);white-space:nowrap;letter-spacing:.02em}.vendor-label-tag{font-size:.65rem;font-weight:600;padding:.15rem .55rem;border-radius:100px;background:#00c89b14;color:var(--teal);white-space:nowrap;border:1px solid rgba(0,200,155,.15)}.vendor-pill.empty{color:var(--gray-300)}.mfg-vendor-header .vendor-country{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .5rem;border-radius:4px;letter-spacing:.5px}.mfg-vendor-header .vendor-country.us{background:#dbeafe;color:#1e40af}.mfg-vendor-header .vendor-country.china{background:#fef3c7;color:#92400e}.mfg-vendor-header .vendor-status{font-size:.75rem;padding:.2rem .6rem;border-radius:4px;font-weight:600}.status-not-sent{background:var(--gray-100);color:var(--gray-500)}.status-sent{background:#dbeafe;color:#1e40af}.status-responded{background:#d1fae5;color:#065f46}.status-samples-requested{background:#fef3c7;color:#92400e}.status-samples-received{background:#d1fae5;color:#065f46}.status-negotiating{background:#ede9fe;color:#5b21b6}.status-rejected{background:#fee2e2;color:#991b1b}.status-selected{background:#d1fae5;color:#065f46}.status-phone-needed{background:#fff7ed;color:#c2410c}.mfg-vendor-header .expand-icon{font-size:.85rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gray-50);color:var(--gray-500);transition:all .2s ease;flex-shrink:0}.mfg-vendor-card:hover .expand-icon{background:var(--gray-100);color:var(--ink)}.mfg-vendor-header .expand-icon.open{transform:rotate(180deg)}.mfg-vendor-detail{border-top:1px solid var(--gray-100);padding:1.25rem;background:linear-gradient(180deg,var(--gray-50) 0%,#ffffff 100%)}.mfg-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem}.mfg-field{display:flex;flex-direction:column;gap:.25rem}.mfg-field label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);letter-spacing:.5px}.mfg-field input,.mfg-field select,.mfg-field textarea{padding:.45rem .6rem;border:1.5px solid var(--gray-200);border-radius:6px;font-size:.85rem;background:#fff;color:var(--gray-800);font-family:inherit;outline:none;transition:border var(--transition)}.mfg-field input:focus,.mfg-field select:focus,.mfg-field textarea:focus{border-color:var(--teal)}.mfg-field textarea{min-height:60px;resize:vertical}.mfg-field .contact-link{font-size:.8rem;color:var(--teal);text-decoration:none;word-break:break-all}.mfg-field .contact-link:hover{text-decoration:underline}.mfg-notes-section{margin-top:.5rem}.mfg-notes-section label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);letter-spacing:.5px;display:block;margin-bottom:.25rem}.mfg-notes-section textarea{width:100%;padding:.5rem .6rem;border:1.5px solid var(--gray-200);border-radius:6px;font-size:.85rem;font-family:inherit;min-height:80px;resize:vertical;outline:none;transition:border var(--transition)}.mfg-notes-section textarea:focus{border-color:var(--teal)}.mfg-call-script{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:1.25rem;margin-bottom:1rem}.mfg-call-script h3{font-size:1rem;color:var(--ink);margin-bottom:.25rem}.mfg-call-script .call-info{font-size:.8rem;color:var(--gray-500);margin-bottom:1rem}.mfg-call-script .call-info a{color:var(--teal);font-weight:600;text-decoration:none}.mfg-question-list{display:flex;flex-direction:column;gap:.6rem}.mfg-question-item{display:flex;gap:.6rem;align-items:flex-start}.mfg-question-item input[type=checkbox]{margin-top:.3rem;width:16px;height:16px;accent-color:var(--teal);flex-shrink:0}.mfg-question-item .question-text{font-size:.85rem;color:var(--gray-700);flex:1}.mfg-question-item .question-text.checked{text-decoration:line-through;opacity:.5}.mfg-question-item input[type=text]{flex:1;padding:.3rem .5rem;border:1px solid var(--gray-200);border-radius:4px;font-size:.8rem;font-family:inherit;outline:none}.mfg-question-item input[type=text]:focus{border-color:var(--teal)}.mfg-filter-bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.mfg-filter-btn{padding:.35rem .75rem;font-size:.75rem;font-weight:600;border:1.5px solid var(--gray-200);border-radius:20px;background:#fff;color:var(--gray-600);cursor:pointer;transition:all var(--transition)}.mfg-filter-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}.mfg-filter-btn:hover:not(.active){border-color:var(--gray-300)}.mfg-sort-select{margin-left:auto;padding:.35rem .6rem;font-size:.75rem;font-weight:600;border:1.5px solid var(--gray-200);border-radius:20px;background:#fff;color:var(--gray-600);cursor:pointer;outline:none;font-family:inherit;transition:border var(--transition)}.mfg-sort-select:focus{border-color:var(--teal)}.mfg-page-tabs{display:flex;gap:0;background:var(--gray-100);border-radius:var(--radius-sm);padding:3px;margin-bottom:1.25rem;width:fit-content}.mfg-page-tab{padding:.5rem 1.5rem;font-size:.85rem;font-weight:600;color:var(--gray-500);cursor:pointer;border:none;background:none;border-radius:6px;transition:all .15s ease}.mfg-page-tab.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.mfg-page-tab:hover:not(.active){color:var(--gray-700)}.mfg-printer-intro{font-size:.85rem;color:var(--gray-500);margin-bottom:1.25rem;line-height:1.6}.mfg-printer-list{display:flex;flex-direction:column;gap:.75rem}.mfg-comparison-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:1.5rem;background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.mfg-comparison-table th{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);padding:.6rem .75rem;text-align:left;background:var(--gray-50);border-bottom:1.5px solid var(--gray-200)}.mfg-comparison-table th:first-child{color:var(--ink)}.mfg-comparison-table td{padding:.5rem .75rem;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.mfg-comparison-table td:first-child{font-weight:600;color:var(--gray-600);font-size:.75rem}.mfg-comparison-table tr:last-child td{border-bottom:none}.mfg-comparison-table .check{color:var(--green);font-weight:700}.mfg-comparison-table .cross{color:var(--red);font-weight:700}.mfg-comparison-table .partial{color:var(--amber);font-weight:600}.mfg-printer-card{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;transition:box-shadow .15s ease}.mfg-printer-card:hover{box-shadow:var(--shadow)}.mfg-printer-header{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;gap:.75rem}.mfg-printer-header .brand-name{font-weight:700;font-size:1.05rem;color:var(--ink);flex-shrink:0}.mfg-printer-header .brand-tagline{font-size:.8rem;color:var(--gray-400);flex:1}.mfg-printer-header .printer-badges{display:flex;gap:.4rem;align-items:center}.mfg-printer-header .expand-icon{font-size:.75rem;color:var(--gray-400);transition:transform .15s ease}.mfg-printer-header .expand-icon.open{transform:rotate(180deg)}.integration-badge{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.integration-badge.integrated{background:#22c55e1a;color:var(--green)}.integration-badge.not-integrated{background:var(--gray-100);color:var(--gray-500)}.badge-zpl{background:#22c55e1a;color:var(--green);font-size:.65rem;padding:.15rem .4rem;border-radius:4px;font-weight:700;white-space:nowrap}.badge-no-zpl{background:#ef44441a;color:var(--red);font-size:.65rem;padding:.15rem .4rem;border-radius:4px;font-weight:700;white-space:nowrap}.mfg-printer-detail{border-top:1px solid var(--gray-100);padding:1rem;background:var(--gray-50)}.mfg-printer-detail h4{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);letter-spacing:.5px;margin-top:1rem;margin-bottom:.4rem}.mfg-printer-detail h4:first-child{margin-top:0}.printer-model-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:.75rem}.printer-model-table th{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);padding:.35rem .6rem;text-align:left;background:transparent;border-bottom:1px solid var(--gray-200);cursor:default}.printer-model-table td{padding:.35rem .6rem;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.printer-model-table tr:last-child td{border-bottom:none}.printer-pill-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.printer-pill{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;background:var(--gray-100);color:var(--gray-600)}.printer-notes-list{list-style:none;padding:0;margin:0 0 .75rem}.printer-notes-list li{font-size:.8rem;color:var(--gray-700);padding:.25rem 0 .25rem 1rem;position:relative}.printer-notes-list li:before{content:"•";position:absolute;left:0;color:var(--gray-400)}.printer-accessories-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:.75rem}.printer-accessories-table th{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);padding:.3rem .6rem;text-align:left;background:transparent;border-bottom:1px solid var(--gray-200);cursor:default}.printer-accessories-table td{padding:.3rem .6rem;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.printer-accessories-table tr:last-child td{border-bottom:none}.printer-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.printer-link{font-size:.75rem;font-weight:600;color:var(--teal);text-decoration:none;padding:.25rem .6rem;border:1.5px solid var(--teal);border-radius:4px;transition:all .15s ease}.printer-link:hover{background:var(--teal);color:#fff}.printer-reseller{font-size:.8rem;color:var(--teal);font-weight:600;margin-bottom:.5rem}.printer-reseller-steps{list-style:decimal;padding-left:1.25rem;margin:0 0 .75rem}.printer-reseller-steps li{font-size:.8rem;color:var(--gray-700);padding:.2rem 0;line-height:1.5}.mfg-add-btn{padding:.45rem 1rem;background:var(--teal);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease}.mfg-add-btn:hover{background:var(--teal-bright)}.mfg-add-btn:disabled{opacity:.6;cursor:not-allowed}.mfg-delete-btn{padding:.45rem 1rem;background:none;color:var(--red);border:1.5px solid var(--red);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.mfg-delete-btn:hover{background:var(--red);color:#fff}.mfg-move-btn{padding:.35rem .75rem;background:none;color:var(--gray-500);border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.mfg-move-btn:hover{border-color:var(--teal);color:var(--teal)}.printer-text{font-size:.8rem;color:var(--gray-700);margin-bottom:.75rem;line-height:1.5}.mfg-pricing-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--ink);letter-spacing:.5px;margin:1rem 0 .5rem;padding-bottom:.25rem;padding-left:.75rem;border-bottom:1px solid var(--gray-200);border-left:3px solid var(--teal)}.mfg-mode-toggle{display:inline-flex;background:var(--gray-100);border-radius:6px;overflow:hidden;margin-bottom:.75rem}.mfg-mode-toggle button{padding:.35rem 1rem;border:none;background:none;font-size:.8rem;font-weight:600;color:var(--gray-500);cursor:pointer;transition:all .15s ease}.mfg-mode-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000001a;border-radius:5px}.mfg-mode-toggle-btn{border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);background:#fff;font-size:.8rem;font-weight:600;color:var(--gray-500);cursor:pointer;transition:all .15s ease}.mfg-mode-toggle-btn.active{border-color:var(--teal);color:var(--teal);background:#00c89b0f}.mfg-advanced-toggle{background:none;border:none;color:var(--gray-500);font-size:.8rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-top:.5rem}.mfg-advanced-toggle:hover{color:var(--ink)}.mfg-margin-results{background:linear-gradient(135deg,var(--navy) 0%,#061a38 100%);border-radius:var(--radius-lg);padding:1.5rem;margin-top:1.25rem;box-shadow:0 8px 32px #0b244740}.mfg-margin-results-label-info{display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.results-label-tag{font-size:.7rem;font-weight:600;padding:.2rem .65rem;border-radius:100px;background:#00c89b1f;color:var(--teal-bright);border:1px solid rgba(0,200,155,.2)}.mfg-margin-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.mfg-margin-stat{display:flex;flex-direction:column;gap:.2rem}.mfg-margin-stat.highlight{background:#ffffff0f;border-radius:var(--radius-sm);padding:.6rem .85rem;border:1px solid rgba(255,255,255,.06)}.mfg-margin-stat .stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff8c}.mfg-margin-stat .stat-value{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.01em}.mfg-margin-stat .stat-value.positive{color:var(--green)}.mfg-margin-stat .stat-value.caution{color:var(--amber)}.mfg-margin-stat .stat-value.negative{color:var(--red)}.vendor-meta-pills .pill{font-size:.7rem;font-weight:700;padding:.2rem .65rem;border-radius:100px;background:var(--gray-100);color:var(--ink);white-space:nowrap;letter-spacing:.02em}.vendor-meta-pills .pill.positive{background:#10b9811a;color:var(--green)}.vendor-meta-pills .pill.caution{background:#f59e0b1a;color:var(--amber)}.vendor-meta-pills .pill.negative{background:#ef44441a;color:var(--red)}@media(max-width:768px){.mfg-page{padding:1rem}.mfg-detail-grid{grid-template-columns:1fr 1fr}.mfg-cost-bar{flex-direction:column}.mfg-spec-details{flex-direction:column;gap:.35rem}.vendor-meta-pills,.mfg-printer-header .brand-tagline{display:none}.mfg-comparison-table{font-size:.7rem}.mfg-comparison-table th,.mfg-comparison-table td{padding:.4rem .5rem}.mfg-margin-results-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.mfg-detail-grid{grid-template-columns:1fr}.mfg-page-tabs{width:100%}.mfg-page-tab{flex:1;text-align:center;padding:.5rem .75rem}.printer-model-table,.printer-accessories-table{font-size:.75rem}.printer-model-table th,.printer-model-table td,.printer-accessories-table th,.printer-accessories-table td{padding:.25rem .4rem}.mfg-margin-results-grid{grid-template-columns:1fr}.mfg-margin-results{padding:.75rem}}.crm-page{padding:1rem;max-width:1200px;position:relative;min-height:calc(100vh - 80px)}.crm-page h2{font-size:1.3rem;color:var(--ink);margin-bottom:.75rem}.crm-tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.crm-tab{padding:.5rem 1rem;font-size:.8rem;font-weight:600;color:var(--gray-500);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition);white-space:nowrap}.crm-tab.active{color:var(--teal);border-bottom-color:var(--teal)}.crm-tab .tab-badge{background:var(--red);color:#fff;font-size:.65rem;padding:.1rem .4rem;border-radius:10px;margin-left:.35rem}.crm-goal-bar{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.crm-goal-bar .goal-label{font-size:.8rem;font-weight:600;color:var(--ink);white-space:nowrap}.crm-goal-bar .goal-track{flex:1;height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.crm-goal-bar .goal-fill{height:100%;background:var(--teal);border-radius:4px;transition:width .3s ease}.crm-goal-bar .goal-fill.complete{background:var(--green)}.crm-goal-bar .goal-count{font-size:.8rem;font-weight:700;color:var(--teal);white-space:nowrap}.crm-section-header{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin:1rem 0 .5rem;display:flex;align-items:center;gap:.5rem}.crm-section-header .count{background:var(--gray-100);padding:.1rem .4rem;border-radius:4px;font-size:.7rem}.crm-section-header.overdue{color:var(--red)}.crm-contact-list{display:flex;flex-direction:column;gap:.5rem}.crm-contact-card{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:.75rem 1rem;cursor:pointer;transition:box-shadow var(--transition)}.crm-contact-card:hover{box-shadow:var(--shadow)}.crm-contact-card.overdue{border-left:3px solid var(--red)}.crm-contact-card .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.crm-contact-card .biz-name{font-weight:700;font-size:.95rem;color:var(--ink)}.crm-contact-card .contact-name{font-size:.8rem;color:var(--gray-500);margin-top:.1rem}.crm-contact-card .card-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem;align-items:center}.crm-stage-pill{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.stage-lead{background:var(--gray-100);color:var(--gray-600)}.stage-contacted{background:#dbeafe;color:#1e40af}.stage-demo{background:#ede9fe;color:#5b21b6}.stage-proposal{background:#fef3c7;color:#92400e}.stage-customer{background:#d1fae5;color:#065f46}.stage-lost{background:#fee2e2;color:#991b1b}.crm-source-pill{font-size:.65rem;color:var(--gray-400)}.crm-followup-pill{font-size:.65rem;font-weight:600;color:var(--teal)}.crm-followup-pill.overdue{color:var(--red)}.crm-contact-card .card-actions{display:flex;gap:.5rem;margin-top:.5rem}.crm-action-btn{padding:.3rem .6rem;font-size:.7rem;font-weight:600;border:1.5px solid var(--gray-200);border-radius:6px;background:#fff;color:var(--gray-600);cursor:pointer;text-decoration:none;transition:all var(--transition)}.crm-action-btn:hover{border-color:var(--teal);color:var(--teal)}.crm-action-btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.crm-action-btn.primary:hover{background:var(--teal-bright)}.crm-search-bar{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.crm-search-input{flex:1;min-width:200px;padding:.5rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;outline:none;transition:border var(--transition)}.crm-search-input:focus{border-color:var(--teal)}.crm-filter-select,.crm-sort-select{padding:.5rem .6rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8rem;font-family:inherit;background:#fff;color:var(--gray-600);cursor:pointer;outline:none}.crm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b244780;z-index:900;display:flex;align-items:flex-end;justify-content:center}.crm-modal{background:#fff;width:100%;max-width:600px;max-height:90vh;border-radius:var(--radius) var(--radius) 0 0;overflow-y:auto;padding:1.25rem;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.crm-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.crm-modal-header h3{font-size:1.1rem;color:var(--ink)}.crm-modal-close{background:none;border:none;font-size:1.5rem;color:var(--gray-400);cursor:pointer;padding:.25rem}.crm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.crm-form-grid .full-width{grid-column:1 / -1}.crm-field{display:flex;flex-direction:column;gap:.2rem}.crm-field label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);letter-spacing:.3px}.crm-field input,.crm-field select,.crm-field textarea{padding:.45rem .6rem;border:1.5px solid var(--gray-200);border-radius:6px;font-size:.85rem;font-family:inherit;outline:none;color:var(--gray-800);transition:border var(--transition)}.crm-field input:focus,.crm-field select:focus,.crm-field textarea:focus{border-color:var(--teal)}.crm-field textarea{min-height:60px;resize:vertical}.crm-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.crm-tag{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;background:var(--light-blue);color:var(--ink);display:flex;align-items:center;gap:.25rem}.crm-tag button{background:none;border:none;color:var(--ink);cursor:pointer;font-size:.8rem;padding:0;line-height:1}.crm-activity-log{margin-top:1rem;border-top:1px solid var(--gray-100);padding-top:.75rem}.crm-activity-log h4{font-size:.8rem;color:var(--ink);margin-bottom:.5rem}.crm-log-entry{display:flex;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--gray-50);font-size:.8rem}.crm-log-entry .log-date{color:var(--gray-400);font-size:.7rem;white-space:nowrap;min-width:60px}.crm-log-entry .log-type{font-weight:600;color:var(--teal);font-size:.7rem;text-transform:uppercase;min-width:45px}.crm-log-entry .log-note{color:var(--gray-700);flex:1}.crm-log-add{display:flex;gap:.4rem;margin-top:.5rem}.crm-log-add select,.crm-log-add input{padding:.35rem .5rem;border:1.5px solid var(--gray-200);border-radius:6px;font-size:.8rem;font-family:inherit;outline:none}.crm-log-add input{flex:1}.crm-log-add button{padding:.35rem .75rem;background:var(--teal);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}.crm-pipeline{display:flex;flex-direction:column;gap:.5rem}.crm-pipeline-stage{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.crm-pipeline-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.crm-pipeline-header .stage-name{font-weight:700;font-size:.85rem;color:var(--ink)}.crm-pipeline-header .stage-count{font-size:.8rem;font-weight:700;color:var(--teal)}.crm-pipeline-contacts{border-top:1px solid var(--gray-100);padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.crm-pipeline-contact{padding:.4rem .6rem;background:var(--gray-50);border-radius:6px;font-size:.8rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.crm-pipeline-contact:hover{background:var(--gray-100)}.crm-pipeline-contact .pc-name{font-weight:600;color:var(--ink)}.crm-pipeline-contact .pc-person{color:var(--gray-400);font-size:.75rem}.crm-goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem}.crm-stat-card{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:1rem;text-align:center}.crm-stat-card .stat-value{font-size:1.8rem;font-weight:700;color:var(--ink)}.crm-stat-card .stat-value.teal{color:var(--teal)}.crm-stat-card .stat-value.green{color:var(--green)}.crm-stat-card .stat-value.amber{color:var(--amber)}.crm-stat-card .stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);letter-spacing:.5px;margin-top:.25rem}.crm-goal-setting{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:1rem}.crm-goal-setting h4{font-size:.9rem;color:var(--ink);margin-bottom:.75rem}.crm-goal-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.crm-goal-row label{font-size:.8rem;font-weight:600;color:var(--gray-600);min-width:70px}.crm-goal-row input{width:70px;padding:.35rem .5rem;border:1.5px solid var(--gray-200);border-radius:6px;font-size:.85rem;font-family:inherit;outline:none;text-align:center}.crm-goal-row input:focus{border-color:var(--teal)}.crm-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:52px;height:52px;border-radius:50%;background:var(--teal);color:#fff;border:none;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 16px #19a7ce66;z-index:800;display:flex;align-items:center;justify-content:center;transition:transform var(--transition),background var(--transition)}.crm-fab:hover{transform:scale(1.1);background:var(--teal-bright)}.crm-empty{text-align:center;padding:2rem 1rem;color:var(--gray-400);font-size:.85rem}.crm-delete-btn{padding:.4rem .8rem;background:none;border:1.5px solid var(--red);color:var(--red);border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;margin-top:1rem}.crm-delete-btn:hover{background:var(--red);color:#fff}.crm-modal-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:space-between}@media(min-width:769px){.crm-page{padding:1.5rem}.crm-modal{border-radius:var(--radius);margin:auto;max-height:85vh}.crm-modal-overlay{align-items:center}}@media(max-width:480px){.crm-form-grid{grid-template-columns:1fr}.crm-search-bar{flex-direction:column}.crm-goals-grid{grid-template-columns:1fr 1fr}}.crm-photos-section{margin-top:1rem;border-top:1px solid var(--gray-100, #f3f4f6);padding-top:.75rem}.crm-photos-section h4{font-size:.85rem;font-weight:700;color:var(--navy, #1e293b);margin-bottom:.5rem}.crm-photo-upload{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem}.crm-photo-add-btn{position:relative;display:inline-block;overflow:hidden;border-radius:6px;cursor:pointer}.crm-file-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.crm-photo-upload input[type=text]{font-size:.8rem;padding:.35rem .5rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:6px}.crm-drop-active{background:var(--teal-bg, #e6fcf5);border:2px dashed var(--teal, #0d9488);border-radius:8px}.crm-drop-zone{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:var(--teal, #0d9488);font-size:.9rem;font-weight:600}.crm-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.4rem}.crm-photo-thumb{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;aspect-ratio:1;border:1.5px solid var(--gray-200, #e5e7eb);transition:transform .15s}.crm-photo-thumb:hover{transform:scale(1.04)}.crm-photo-thumb img{width:100%;height:100%;object-fit:cover}.crm-photo-caption{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:.6rem;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem}.crm-lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh}.crm-lightbox-content img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.crm-lightbox-close{position:absolute;top:1rem;right:1rem;background:#ffffff26;border:none;color:#fff;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.crm-lightbox-close:hover{background:#ffffff4d}.crm-lightbox-caption{margin-top:.75rem;display:flex;gap:.5rem;align-items:center;width:100%;max-width:500px}.crm-lightbox-caption input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.4rem .6rem;border-radius:6px;font-size:.85rem;text-align:center}.crm-lightbox-caption input::placeholder{color:#fff6}.crm-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.crm-gallery-card{background:#fff;border:1.5px solid var(--gray-200, #e5e7eb);border-radius:8px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,transform .15s}.crm-gallery-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.crm-gallery-card img{width:100%;aspect-ratio:1;object-fit:cover}.gallery-card-info{padding:.4rem .5rem}.gallery-biz{font-weight:600;font-size:.75rem;color:var(--navy, #1e293b);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-caption{font-size:.7rem;color:var(--gray-500, #6b7280);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.crm-photo-gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.analytics-page{padding:1.5rem 1.75rem 3rem;max-width:1280px;margin:0 auto;color:var(--gray-800)}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap;border-bottom:1px solid var(--gray-200, #e5e7eb);padding-bottom:1.25rem;margin-bottom:1.75rem}.analytics-header h1{font-size:1.75rem;font-weight:800;color:var(--navy);margin:0 0 .5rem}.analytics-sub{font-size:.95rem;line-height:1.5;color:var(--gray-600, #4b5563);margin:0;max-width:720px}.analytics-sub code{background:var(--gray-100, #f3f4f6);padding:.1rem .35rem;border-radius:var(--radius-sm, 4px);font-size:.85em}.analytics-meta{font-size:.8rem;color:var(--gray-700, #374151);background:var(--gray-50, #f9fafb);padding:.85rem 1rem;border-radius:var(--radius, 8px);border:1px solid var(--gray-200, #e5e7eb);min-width:240px}.analytics-meta>div{display:flex;justify-content:space-between;gap:1.5rem;padding:.2rem 0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.78rem}.analytics-meta-label{color:var(--gray-500, #6b7280);text-transform:uppercase;font-size:.7rem;letter-spacing:.04em;font-family:var(--font-sans, system-ui)}.analytics-section{margin-bottom:2.5rem}.analytics-section h2{font-size:1.2rem;font-weight:700;color:var(--navy);margin:0 0 .5rem}.analytics-section-sub{font-size:.9rem;color:var(--gray-600, #4b5563);margin:0 0 1.25rem;max-width:760px;line-height:1.5}.analytics-section-sub code{background:var(--gray-100, #f3f4f6);padding:.1rem .35rem;border-radius:var(--radius-sm, 4px);font-size:.85em}.analytics-iframe-wrap{position:relative;width:100%;background:var(--gray-50, #f9fafb);border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:var(--shadow-sm)}.analytics-iframe-wrap iframe{width:100%;height:820px;display:block;border:0}.analytics-setup-card{background:linear-gradient(180deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:var(--radius-lg, 12px);padding:1.75rem 2rem}.analytics-setup-card h3{margin:0 0 .5rem;font-size:1.05rem;color:#78350f}.analytics-setup-card p{font-size:.9rem;color:var(--gray-700, #374151);line-height:1.55;margin:0 0 .75rem}.analytics-setup-card ol{margin:1rem 0 .75rem 1.25rem;font-size:.9rem;line-height:1.7;color:var(--gray-700, #374151)}.analytics-setup-card a{color:var(--teal);text-decoration:none;border-bottom:1px dotted var(--teal)}.analytics-setup-card a:hover{border-bottom-style:solid}.analytics-setup-card code{background:#0f172a0f;padding:.1rem .35rem;border-radius:var(--radius-sm, 4px);font-size:.85em}.analytics-setup-fallback{margin-top:1rem;font-style:italic;color:var(--gray-600, #4b5563)}.analytics-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.analytics-link-card{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem 1rem;background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 8px);text-decoration:none;color:var(--gray-800);transition:border-color .12s,box-shadow .12s,transform .08s}.analytics-link-card:hover{border-color:var(--teal-bright, #19A7CE);box-shadow:var(--shadow);transform:translateY(-1px)}.analytics-link-card h3{font-size:.95rem;font-weight:700;margin:0;color:var(--navy)}.analytics-link-card p{font-size:.82rem;color:var(--gray-600, #4b5563);margin:0;line-height:1.45}.analytics-link-arrow{margin-top:.25rem;font-size:.8rem;color:var(--teal-bright, #19A7CE);font-weight:600}.analytics-events-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius, 8px);overflow:hidden;font-size:.88rem}.analytics-events-table thead{background:var(--gray-50, #f9fafb)}.analytics-events-table th{text-align:left;padding:.75rem 1rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600, #4b5563);font-weight:600;border-bottom:1px solid var(--gray-200, #e5e7eb)}.analytics-events-table td{padding:.7rem 1rem;border-bottom:1px solid var(--gray-100, #f3f4f6);vertical-align:top}.analytics-events-table tr:last-child td{border-bottom:0}.analytics-events-table code{background:var(--gray-100, #f3f4f6);padding:.15rem .4rem;border-radius:var(--radius-sm, 4px);font-size:.85em;color:var(--navy)}.analytics-show-all{margin-top:.9rem;background:#fff;border:1px solid var(--gray-300, #d1d5db);color:var(--gray-700, #374151);padding:.5rem 1rem;border-radius:var(--radius-sm, 4px);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s}.analytics-show-all:hover{background:var(--gray-50, #f9fafb);border-color:var(--teal-bright, #19A7CE);color:var(--teal-bright, #19A7CE)}.analytics-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--gray-200, #e5e7eb);font-size:.8rem;color:var(--gray-500, #6b7280);text-align:center}.analytics-empty{text-align:center;padding:4rem 2rem;color:var(--gray-500, #6b7280)}.analytics-empty h2{color:var(--navy);font-size:1.25rem;margin:0 0 .5rem}@media(max-width:720px){.analytics-page{padding:1rem 1rem 2rem}.analytics-header{flex-direction:column}.analytics-meta{width:100%;min-width:0}.analytics-iframe-wrap iframe{height:600px}}.invoices-page{padding:24px;display:flex;flex-direction:column;gap:18px}.invoices-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.invoices-header h1{color:var(--ink);font-size:1.8rem;margin-bottom:4px}.invoices-header p,.invoice-recommendation p,.invoice-setup-warning p{color:var(--gray-500);font-size:.9rem}.invoice-stats{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.invoice-stat,.invoice-recommendation,.invoice-setup-warning,.invoice-table-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}.invoice-stat{padding:16px}.invoice-stat span{display:block;color:var(--gray-500);font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.invoice-stat strong{display:block;color:var(--ink);font-size:1.45rem;margin-top:6px}.invoice-recommendation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px}.invoice-recommendation h2,.invoice-setup-warning h2,.invoice-table-header h2{color:var(--ink);font-size:1rem;margin:0 0 6px}.invoice-setup-warning{border-color:#fbbf24;background:#fffbeb;padding:16px}.invoice-controls{display:flex;justify-content:space-between;gap:14px;align-items:center}.invoice-tabs{display:flex;gap:6px;flex-wrap:wrap}.invoice-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--gray-600);border-radius:6px;padding:8px 12px;font-size:.82rem;font-weight:700}.invoice-tabs button.active{border-color:var(--teal);background:#19a7ce1a;color:var(--teal-dim)}.invoice-controls .search-input{max-width:360px}.invoice-table-card{overflow:hidden}.invoice-table-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--border)}.invoice-table-header span{color:var(--gray-500);font-size:.8rem}.invoice-table td strong,.invoice-table td span{display:block}.invoice-table td span{color:var(--gray-500);font-size:.75rem;margin-top:2px}.invoice-status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800;text-transform:uppercase;background:var(--gray-100);color:var(--gray-600)}.status-sent,.status-unpaid,.status-partially_paid,.status-local{background:#fff7ed;color:#c2410c}.status-overdue{background:#fef2f2;color:#dc2626}.status-paid{background:#ecfdf5;color:#059669}.status-draft{background:#eff6ff;color:#2563eb}.due-overdue{color:#dc2626!important;font-weight:700}.due-muted{color:var(--gray-400)!important}.invoices-empty{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:28px;text-align:center}@media(max-width:900px){.invoice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-recommendation,.invoice-controls,.invoices-header{flex-direction:column;align-items:stretch}.invoice-controls .search-input{max-width:none}}@media(max-width:520px){.invoices-page{padding:14px}.invoice-stats{grid-template-columns:1fr}}:root{--navy: #0B2447;--navy-deep: #071a36;--navy-light: #132d54;--teal: #19A7CE;--teal-bright: #1fc5f0;--teal-dim: #148a9e;--light-blue: #A6E3E9;--white: #F8F9FA;--green: #22c55e;--red: #ef4444;--amber: #f59e0b;--ink: var(--navy);--surface-page: #f7f8fb;--surface: #ffffff;--gray-50: #f7f8fb;--gray-100: #f0f2f5;--gray-200: #dde1e7;--gray-300: #c4cad4;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #5a6577;--gray-700: #3d4656;--gray-800: #1f2937;--shadow-sm: 0 1px 3px rgba(11, 36, 71, .06);--shadow: 0 4px 20px rgba(11, 36, 71, .08);--shadow-lg: 0 12px 40px rgba(11, 36, 71, .12);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--border: var(--gray-200)}html[data-theme=dark],html[data-theme=dark] body{color-scheme:dark}@media(prefers-color-scheme:dark){html:not([data-theme=light]),html:not([data-theme=light]) body{color-scheme:dark}}html[data-theme=dark]{--gray-50: #151C2F;--gray-100: #1A2236;--gray-200: #24304C;--gray-300: #2D3B5D;--gray-400: #4F5E82;--gray-500: #8791AC;--gray-600: #A6AFC5;--gray-700: #C7CEDC;--gray-800: #E9EEF7;--ink: #E9EEF7;--teal-bright: #4DD2F3;--surface-page: #0F1525;--surface: #141B2E;--light-blue: #264a5c;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--border: #24304C}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--gray-50: #151C2F;--gray-100: #1A2236;--gray-200: #24304C;--gray-300: #2D3B5D;--gray-400: #4F5E82;--gray-500: #8791AC;--gray-600: #A6AFC5;--gray-700: #C7CEDC;--gray-800: #E9EEF7;--ink: #E9EEF7;--teal-bright: #4DD2F3;--surface-page: #0F1525;--surface: #141B2E;--light-blue: #264a5c;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--border: #24304C}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;max-width:100vw}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--surface-page);color:var(--gray-800);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;transition:background .18s ease,color .18s ease}button,a,input,select,textarea,label{touch-action:manipulation}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-layout{display:flex;min-height:100vh;overflow-x:hidden;max-width:100vw}.sidebar{width:240px;background:var(--navy);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition)}.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo h2{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.sidebar-logo h2 span{color:var(--teal)}.sidebar-logo p{font-size:.6875rem;color:#fff6;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-section{margin-top:16px;margin-bottom:4px;padding:0 10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff4d}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:#ffffffa6;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all var(--transition)}.sidebar-link:hover{background:#ffffff0f;color:#fff}.sidebar-link.active{background:#19a7ce26;color:var(--teal-bright)}.sidebar-link .icon{font-size:1.1rem;width:22px;text-align:center;flex-shrink:0}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.topbar{height:56px;background:var(--surface);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title{font-size:1rem;font-weight:600;color:var(--gray-800)}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-user{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--gray-600)}.topbar-role{background:var(--gray-100);color:var(--gray-600);padding:3px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.topbar-logout{padding:6px 14px;font-size:.8125rem;font-weight:500;color:var(--gray-500);background:transparent;border:1px solid var(--gray-200);border-radius:var(--radius-sm);transition:all var(--transition)}.topbar-logout:hover{color:var(--red);border-color:var(--red)}.topbar-theme{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:transparent;color:var(--gray-600);transition:all var(--transition);cursor:pointer}.topbar-theme:hover{color:var(--teal);border-color:var(--teal)}.topbar-theme-glyph{font-size:1rem;line-height:1}.topbar-org-selector{display:flex;align-items:center}.topbar-org-selector select{padding:6px 12px;border:1.5px solid var(--gray-200);border-radius:6px;background:var(--surface);color:var(--gray-700);font-size:.8125rem;font-weight:500;cursor:pointer;max-width:200px}.topbar-org-selector select:focus{outline:none;border-color:var(--teal)}.topbar-org-selector select option{background:var(--surface);color:var(--gray-700)}.hamburger{display:none;padding:4px;font-size:1.25rem;color:var(--gray-600)}.sidebar-toggle{padding:6px 10px;font-size:1rem;color:var(--gray-600);border:1px solid var(--gray-200);border-radius:8px;line-height:1;background:var(--surface)}.sidebar-toggle:hover{color:var(--ink);border-color:var(--teal)}.main-content{flex:1;margin-left:240px;display:flex;flex-direction:column;min-width:0;overflow-x:hidden}.page-content{flex:1;padding:24px;max-width:1200px;width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.app-layout.sidebar-collapsed .sidebar{transform:translate(-100%)}.app-layout.sidebar-collapsed .main-content{margin-left:0}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible{display:block}.main-content{margin-left:0}.page-content{padding:16px}.app-layout.sidebar-collapsed .main-content{margin-left:0}}.data-table-wrapper{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden}.data-table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200);flex-wrap:wrap;gap:12px}.data-table-header h2{font-size:1rem;font-weight:700;color:var(--gray-800)}.data-table-actions{display:flex;align-items:center;gap:10px}.search-input{padding:7px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;outline:none;width:220px;transition:border-color var(--transition)}.search-input:focus{border-color:var(--teal)}.filter-select{padding:7px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;outline:none;background:var(--surface);color:var(--gray-700);cursor:pointer}.btn{padding:8px 16px;font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition);display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-bright)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.btn-secondary:hover{background:var(--gray-200)}.btn-danger{background:#ef44441a;color:var(--red);border:1px solid rgba(239,68,68,.35)}.btn-danger:hover{background:#ef44442e}.btn-sm{padding:5px 10px;font-size:.75rem}table{width:100%;border-collapse:collapse}table th{padding:10px 16px;text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}table th:hover{color:var(--gray-700)}table th.sorted{color:var(--teal)}table td{padding:10px 16px;font-size:.8125rem;color:var(--gray-700);border-bottom:1px solid var(--gray-100);vertical-align:middle}table tbody tr:hover{background:var(--gray-50)}table tbody tr:last-child td{border-bottom:none}.table-empty{padding:48px 20px;text-align:center;color:var(--gray-400);font-size:.875rem}.table-responsive{overflow-x:auto}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-teal{background:#19a7ce1a;color:var(--teal)}.badge-green{background:#22c55e1a;color:var(--green)}.badge-red{background:#ef44441a;color:var(--red)}.badge-amber{background:#f59e0b1a;color:var(--amber)}.badge-gray{background:var(--gray-100);color:var(--gray-500)}.badge-yellow{background:#f59e0b1a;color:#92400e}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.modal-header h3{font-size:1rem;font-weight:700}.modal-close{font-size:1.25rem;color:var(--gray-400);padding:4px;line-height:1}.modal-close:hover{color:var(--gray-700)}.modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--gray-200)}.confirm-body{text-align:center;padding:32px 24px}.confirm-body p{color:var(--gray-600);font-size:.875rem;margin-top:8px}.confirm-body .warn{color:var(--red);font-weight:600}.resolve-cat-intro p{font-size:.875rem;color:var(--gray-600);margin:0}.resolve-cat-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);position:sticky;top:0;z-index:1}.resolve-cat-bulk-checkbox{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:var(--gray-700);cursor:pointer;white-space:nowrap}.resolve-cat-bulk-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.resolve-cat-bulk-actions .filter-select{min-width:180px}.resolve-cat-confirm{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.resolve-cat-confirm p{margin:0;font-size:.875rem;color:var(--gray-800)}.resolve-cat-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.resolve-cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.resolve-cat-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);transition:opacity .15s ease}.resolve-cat-row.is-busy{opacity:.55}.resolve-cat-row-select{display:flex;align-items:center}.resolve-cat-row-name{min-width:0}.resolve-cat-row-name span{font-weight:600;font-size:.875rem;color:var(--gray-800);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resolve-cat-row-error{font-size:.75rem;color:var(--red);margin-top:2px}.resolve-cat-row-actions{display:flex;gap:6px;align-items:center}.resolve-cat-row-actions .filter-select{min-width:140px;font-size:.8125rem}@media(max-width:480px){.resolve-cat-bulk{position:static;flex-direction:column;align-items:stretch}.resolve-cat-bulk-actions{margin-left:0;width:100%}.resolve-cat-bulk-actions .filter-select,.resolve-cat-bulk-actions .btn{flex:1;min-width:0}.resolve-cat-row{grid-template-columns:auto 1fr;grid-template-areas:"select name" "actions actions";gap:8px}.resolve-cat-row-select{grid-area:select}.resolve-cat-row-name{grid-area:name}.resolve-cat-row-actions{grid-area:actions;width:100%}.resolve-cat-row-actions .filter-select{flex:1;min-width:0}.resolve-cat-list{max-height:60vh}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.dashboard-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--gray-400);gap:12px}.dashboard-placeholder .icon{font-size:3rem}.color-dot{width:14px;height:14px;border-radius:50%;display:inline-block;vertical-align:middle;border:1px solid var(--gray-200)}@media(max-width:480px){.topbar{padding:0 12px}.topbar-user{display:none}.topbar-org-selector select{max-width:140px;font-size:.75rem;padding:4px 8px}.topbar-logout{padding:4px 10px;font-size:.75rem}.search-input{width:100%}.data-table-actions{flex-direction:column;align-items:stretch;width:100%}.data-table-actions .filter-select,.data-table-actions .btn{width:100%}.data-table-header{flex-direction:column;align-items:flex-start;padding:12px 14px}table th,table td{padding:8px 10px}.modal-overlay{padding:12px}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{padding:12px 16px}.btn{min-height:44px}.page-content{padding:12px}}
