:root{--color-bg: #f8e8ed;--color-surface: #ffffff;--color-surface-muted: #f3dce3;--color-text: #2a2a35;--color-text-muted: #6b6470;--color-border-soft: rgba(42, 42, 53, .07);--color-primary: #a0516f;--color-primary-hover: #7d3c56;--color-primary-soft: rgba(160, 81, 111, .13);--color-primary-contrast: #ffffff;--color-success: #03cea4;--color-success-soft: rgba(3, 206, 164, .12);--color-danger: #c0184f;--color-danger-soft: rgba(192, 24, 79, .1);--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--shadow-1: 0 1px 2px rgba(31, 35, 48, .05), 0 4px 12px rgba(31, 35, 48, .04);--shadow-2: 0 6px 24px rgba(31, 35, 48, .08);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition-fast: .12s cubic-bezier(.2, 0, 0, 1);--transition-spring: .32s cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.app-sidebar{background:var(--color-surface);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-1)}.app-sidebar-brand{text-decoration:none;color:inherit;display:block;border-radius:var(--radius-md);margin:calc(var(--space-2) * -1) calc(var(--space-3) * -1);padding:var(--space-2) var(--space-3);transition:background var(--transition-fast)}.app-sidebar-brand:hover{background:var(--color-surface-muted)}.app-sidebar-brand.is-active{background:var(--color-primary-soft)}.app-sidebar-brand.is-active .app-sidebar-tagline{color:var(--color-text)}.app-sidebar h1{font-size:18px;margin:0;letter-spacing:.2px}.app-sidebar-tagline{color:var(--color-text-muted);font-size:13px;margin:var(--space-1) 0 0}.app-sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1)}.app-sidebar-nav>a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-weight:500;transition:background var(--transition-fast)}.app-sidebar-nav>a:hover{background:var(--color-surface-muted)}.app-sidebar-nav>a.is-active{background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:600}.sidebar-alert{font-size:13px}.sidebar-nav-section{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3)}.sidebar-nav-section+.sidebar-nav-section{margin-top:var(--space-2)}.sidebar-nav-section-title{padding:0 var(--space-3);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-1)}.topbar-user-menu{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-1);color:var(--color-text);text-decoration:none;transition:transform var(--transition-spring),box-shadow var(--transition-fast)}.topbar-user-menu:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.topbar-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-hover);display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.4px;flex-shrink:0}.topbar-user-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.topbar-user-name{font-weight:600;font-size:14px}.topbar-user-meta{font-size:12px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-section-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-section-toggle:hover{background:var(--color-surface-muted);color:var(--color-text)}.sidebar-chevron{font-size:14px;font-weight:700;opacity:.7}.sidebar-section-links{display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-2);margin-bottom:var(--space-1)}.sidebar-section-links a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-weight:500;font-size:14px;transition:background var(--transition-fast)}.sidebar-section-links a.is-active,.sidebar-section-links a:hover{background:var(--color-surface-muted)}.sidebar-muted{font-size:13px;color:var(--color-text-muted);padding:var(--space-2) var(--space-3)}.app-topbar-title{margin:0;font-size:22px;font-weight:600}.app-topbar-sub{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:15px}.app-content{padding:var(--space-6) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5);max-width:1100px;margin:0 auto;width:100%}.main-page{flex:1;display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.main-page-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);max-width:400px}.main-page-actions .button.main-page-tab.is-active{background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:600}.main-page-panel{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.inventory-zone-heading{margin:0 0 var(--space-3);font-size:1.05rem;font-weight:600;color:var(--color-text)}.inventory-search-input{flex:1;min-width:min(100%,220px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:0;background:var(--color-surface-muted);box-shadow:var(--shadow-1);font:inherit;color:var(--color-text)}.inventory-search-input:focus{outline:2px solid var(--color-primary-soft);outline-offset:2px}.inventory-search-input::placeholder{color:var(--color-text-muted)}.inventory-category-select{min-width:160px;max-width:min(100%,260px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:0;background:var(--color-surface-muted);box-shadow:var(--shadow-1);font:inherit;color:var(--color-text);cursor:pointer}.inventory-category-select:focus{outline:2px solid var(--color-primary-soft);outline-offset:2px}.inventory-table-thumb-col{width:48px;vertical-align:middle;padding-inline-end:var(--space-2)}.inventory-zone-section table .inventory-table-thumb-col,.location-inventory-table table .inventory-table-thumb-col,.items-manage-table table .inventory-table-thumb-col{padding-block:var(--space-1, 4px)}.location-inventory-adjust-col{vertical-align:middle;white-space:nowrap}.inventory-table-price-col{text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:700}.inventory-th-sort{vertical-align:middle}.inventory-th-sort-inner{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.inventory-th-sort.inventory-table-price-col .inventory-th-sort-inner{justify-content:flex-end;width:100%}.inventory-th-sort-label{font-weight:600}.inventory-sort-arrows{display:inline-flex;flex-direction:column;gap:0;line-height:1}.inventory-sort-arrow{border:0;background:transparent;padding:1px 4px;margin:0;cursor:pointer;color:var(--color-text-muted);font-size:.6rem;line-height:1;border-radius:var(--radius-sm)}.inventory-sort-arrow:hover{color:var(--color-text);background:var(--color-surface-muted)}.inventory-sort-arrow.is-active{color:var(--color-primary-hover);font-weight:700}.inventory-table-last-in-col{vertical-align:middle}.inventory-last-in-cell{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.inventory-last-in-adjust{font-size:.75rem;padding:var(--space-1) var(--space-2);flex-shrink:0}.inventory-last-in-date{font-size:.6875rem;line-height:1.25;color:var(--color-text-muted);white-space:nowrap}.main-page-actions .button{display:inline-flex;text-align:center;justify-content:center;align-items:center}.main-page-actions a.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media (min-width: 600px){.main-page-actions{flex-direction:row;flex-wrap:wrap;max-width:none}.main-page-actions .button,.main-page-actions a.button{min-width:148px}}.app-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.app-topbar .user-meta{display:flex;align-items:center;gap:var(--space-3);font-size:14px;color:var(--color-text-muted)}.page-title{font-size:28px;font-weight:600;margin:0 0 var(--space-1) 0}.page-subtitle{margin:0;color:var(--color-text-muted);font-size:15px}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-1)}.team-schedule-card{display:flex;flex-direction:column;gap:var(--space-4)}.team-schedule-card__intro{display:flex;flex-direction:column;gap:var(--space-2)}.team-schedule-card__title{margin:0;font-size:17px;font-weight:600;letter-spacing:.2px}.team-schedule-card__sub{margin:0;color:var(--color-text-muted);font-size:15px;line-height:1.45}.team-schedule-card__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.team-schedule-card__field{flex:1 1 220px;margin-bottom:0}.team-schedule-card__row .button{min-height:44px}@media (max-width: 520px){.team-schedule-card__row{flex-direction:column;align-items:stretch}.team-schedule-card__row .button{width:100%;justify-content:center}}@media (max-width: 640px){.location-manage-add-zone{grid-template-columns:1fr!important}}.form-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.field input,.field select,.field textarea{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface-muted);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #fa814826}.field-file-input{padding:var(--space-2) 0;font-size:14px}.field-hint{margin:var(--space-1) 0 0;font-size:13px;color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.other-category-input{margin-top:var(--space-2);width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface-muted);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.other-category-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #fa814826}.item-image-preview{margin-top:var(--space-3)}.item-image-preview img{display:block;max-width:100%;max-height:220px;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.button-row{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-4)}.button{padding:12px 22px;border-radius:var(--radius-md);border:0;background:var(--color-primary);color:var(--color-primary-contrast);font-weight:600;transition:background var(--transition-fast),transform var(--transition-spring)}.button:hover:not(:disabled){background:var(--color-primary-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button.tinted{background:var(--color-surface-muted);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-soft)}.button.tinted:hover:not(:disabled){background:var(--color-surface)}.button.danger{background:var(--color-danger)}.button.plain{background:transparent;color:var(--color-text-muted)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:14px}.alert.success{background:var(--color-success-soft);color:#056b56}.alert.error{background:var(--color-danger-soft);color:var(--color-danger)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border-soft);font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted)}.empty-state{padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.muted{color:var(--color-text-muted)}.hint{display:block;margin-top:var(--space-1);font-size:12px;color:var(--color-text-muted)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:var(--color-surface-muted);color:var(--color-text-muted)}.badge.primary{background:color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--color-primary)}.badge.muted{background:var(--color-surface-muted);color:var(--color-text-muted)}.badge.success{background:var(--color-success-soft);color:#056b56}.badge.danger{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger)}.toast{position:fixed;bottom:var(--space-4);right:var(--space-4);background:var(--color-surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-2);font-size:14px;max-width:360px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.login-card{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:var(--space-4)}.app-mobile-bar{display:none}.app-nav-toggle{min-height:44px;padding-left:var(--space-4);padding-right:var(--space-4)}.app-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;margin:0;padding:0;border:0;background:#1f233047;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.location-page{display:flex;flex-direction:column;gap:var(--space-4);min-height:60vh}.location-page-body{display:flex;flex-direction:column;gap:var(--space-4);flex:1}.location-sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-4) 0;padding-bottom:max(var(--space-3),env(safe-area-inset-bottom));margin-top:var(--space-2);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.location-sticky-actions .button{min-height:44px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#1f233059;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}@media (min-width: 600px){.modal-backdrop{align-items:center;padding-bottom:var(--space-6)}}.modal-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);width:100%;max-width:520px;max-height:min(88vh,680px);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);flex-shrink:0}.modal-title{margin:0;font-size:20px;font-weight:600;line-height:1.3}.modal-body{padding:0 var(--space-5) var(--space-5);overflow-y:auto}.inventory-item-thumb-trigger{padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;border-radius:var(--radius-md);line-height:0;display:inline-flex;align-items:center;justify-content:center}.inventory-item-thumb-trigger:focus-visible{outline:2px solid var(--color-primary-soft);outline-offset:2px}.item-image-enlarge-body{display:flex;justify-content:center;align-items:center;min-height:12rem;padding:var(--space-2) 0}.item-image-enlarge-img{max-width:min(90vw - 48px,52rem);max-height:min(78vh,56rem);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.modal-form .full{grid-column:1 / -1}@media (max-width: 520px){.modal-form{grid-template-columns:1fr}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,88vw);z-index:200;transform:translate(-100%);transition:transform var(--transition-spring);overflow-y:auto;-webkit-overflow-scrolling:touch}.app-shell--nav-open .app-sidebar{transform:translate(0)}.app-content{padding:var(--space-4) var(--space-4);max-width:none}.app-mobile-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:56px;margin-bottom:var(--space-2)}.app-mobile-bar-start{justify-self:start}.app-mobile-bar-end{justify-self:end;pointer-events:none}.app-mobile-bar-brand{justify-self:center;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;color:inherit;border-radius:var(--radius-md);padding:var(--space-1);transition:opacity var(--transition-spring),background var(--transition-spring)}.app-mobile-bar-brand:hover{background:color-mix(in srgb,var(--color-surface-muted) 70%,transparent)}.app-mobile-bar-brand:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-mobile-bar-brand.is-active{background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.app-mobile-bar-brand img{display:block;height:54px;width:auto;max-width:min(240px,63vw);object-fit:contain}.app-mobile-bar .app-nav-toggle{flex-shrink:0}}@media (max-width: 600px){.location-sticky-actions{flex-direction:column;align-items:stretch}.location-sticky-actions .button,.location-sticky-actions .button.tinted,.location-sticky-actions .button.plain{width:100%;justify-content:center}}.month-calendar{display:flex;flex-direction:column;gap:var(--space-2)}.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}.month-calendar-headrow .month-calendar-head{padding:var(--space-2) var(--space-3);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);text-align:center}.month-calendar-cell{min-height:120px;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);box-shadow:var(--shadow-1);transition:transform var(--transition-spring)}.month-calendar-cell.is-out-of-month{opacity:.55}.month-calendar-cell.is-today{outline:2px solid var(--color-primary-hover);outline-offset:-2px}.month-calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);font-size:13px;color:var(--color-text-muted)}.month-calendar-day-num{font-size:14px;font-weight:600;color:var(--color-text)}.month-calendar-add{border:0;background:transparent;color:var(--color-text-muted);font-weight:600;padding:2px 8px;border-radius:999px;transition:background var(--transition-fast),color var(--transition-fast);align-self:flex-start}.month-calendar-add:hover{background:var(--color-surface-muted);color:var(--color-text)}.month-calendar-shifts{display:flex;flex-direction:column;gap:4px;flex:1}.shift-chip{display:flex;align-items:center;gap:6px;padding:6px 8px;border:0;background:var(--color-surface-muted);border-radius:var(--radius-sm);text-align:left;font-size:12px;color:var(--color-text);width:100%;transition:background var(--transition-fast),transform var(--transition-spring)}.shift-chip:hover{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface-muted))}.shift-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);flex-shrink:0}.shift-chip.status-scheduled .shift-chip-dot{background:var(--color-text-muted)}.shift-chip.status-in_progress .shift-chip-dot{background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.shift-chip.status-completed .shift-chip-dot{background:var(--color-success)}.shift-chip.status-missed .shift-chip-dot{background:var(--color-danger)}.shift-chip.status-canceled{opacity:.5}.shift-chip-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.shift-chip-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.schedule-month-nav{display:flex;align-items:center;gap:var(--space-2)}.schedule-month-label{font-size:18px;font-weight:600;min-width:180px;text-align:center}.day-shifts-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted)}.day-shifts-row+.day-shifts-row{margin-top:var(--space-2)}.day-shifts-row-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.clock-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-2)}.clock-card-times{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:14px}.clock-card-times strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);margin-bottom:2px}.dow-checkboxes{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dow-checkboxes label{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:var(--color-surface-muted);font-size:13px;cursor:pointer}.dow-checkboxes input{margin:0}@media (max-width: 720px){.month-calendar-cell{min-height:92px}.shift-chip-time{display:none}}
