:root{color-scheme:light dark;--paper: #f3ede1;--surface: #fbf8f1;--surface-2: #f6f0e4;--white: #ffffff;--ink: #15303a;--ink-2: #425a63;--muted: #8b9089;--faint: #aeb1a8;--line: #e6ddca;--line-2: #dcd0b6;--bronze: #a4682b;--bronze-bg: #f0e4cf;--bronze-line: #e3cda3;--green: #3d6a52;--green-bg: #e2ebe1;--green-line: #bcd2bd;--amber: #9c7322;--amber-bg: #f2e7cb;--amber-line: #e4cf9c;--brick: #a14e37;--brick-bg: #f1ddd2;--brick-line: #e7c4b2;--slate-chip: #e9ebe6;--bg-primary: var(--paper);--bg-secondary: var(--surface-2);--bg-card: var(--surface);--bg-glass: var(--surface);--bg-input: var(--white);--accent: var(--bronze);--accent-hover: #8e5822;--accent-glow: rgba(164, 104, 43, .15);--text-primary: var(--ink);--text-secondary: var(--ink-2);--text-muted: var(--muted);--border: var(--line);--border-focus: var(--line-2);--danger: var(--brick);--danger-hover: #8a3f2a;--success: var(--green);--warning: var(--amber);--shadow: rgba(21, 48, 58, .04);--font-title: "IBM Plex Sans", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-weight-title: 600;--text-transform-title: none;--letter-spacing-title: -.3px;--backdrop-filter: none;--bg-image: none;--btn-primary-bg: var(--ink);--btn-primary-text: #fbf8f1;--btn-primary-hover: #0f242c;--btn-primary-shadow: rgba(21, 48, 58, .08);--btn-secondary-bg: var(--white);--btn-secondary-border: var(--line-2);--btn-secondary-text: var(--ink);--btn-secondary-hover: var(--surface-2);--editable-hover: #f0e8d6;--transition-speed: .15s}html.dark-theme,body.dark-theme,.dark-theme{--paper: #0A111A;--surface: #121A2C;--surface-2: #0B1220;--white: #141E2B;--ink: #F5F7FB;--ink-2: #E0E6ED;--muted: #647a96;--faint: rgba(255, 255, 255, .2);--line: rgba(0, 229, 255, .15);--line-2: #00E5FF;--bronze: #E3A857;--bronze-bg: rgba(227, 168, 87, .15);--bronze-line: rgba(227, 168, 87, .3);--green: #52B788;--green-bg: rgba(82, 183, 136, .15);--green-line: rgba(82, 183, 136, .3);--amber: #FFC300;--amber-bg: rgba(255, 195, 0, .15);--amber-line: rgba(255, 195, 0, .3);--brick: #FF6B6B;--brick-bg: rgba(255, 107, 107, .15);--brick-line: rgba(255, 107, 107, .3);--slate-chip: #2D3E55;--editable-hover: #1E2D42;--bg-primary: var(--paper);--bg-secondary: var(--surface-2);--bg-card: var(--surface);--bg-glass: var(--surface);--bg-input: var(--white);--accent: #00E5FF;--accent-hover: #80F2FF;--accent-glow: rgba(0, 229, 255, .25);--text-primary: var(--ink);--text-secondary: var(--ink-2);--text-muted: var(--muted);--border: var(--line);--border-focus: var(--line-2);--danger: #ff4d6d;--danger-hover: #ff758f;--success: #FFCA28;--warning: #F9A825;--shadow: rgba(0, 0, 0, .4);--backdrop-filter: none;--bg-image: radial-gradient(circle at 10% 10%, rgba(0, 229, 255, .08) 0%, transparent 40%), radial-gradient(circle at 90% 80%, rgba(255, 202, 40, .03) 0%, transparent 35%);--btn-primary-bg: #00E5FF;--btn-primary-text: #0A111A;--btn-primary-hover: #80F2FF;--btn-primary-shadow: rgba(0, 229, 255, .3);--btn-secondary-bg: rgba(18, 26, 44, .6);--btn-secondary-border: rgba(0, 229, 255, .25);--btn-secondary-text: #E0E6ED;--btn-secondary-hover: rgba(0, 229, 255, .1)}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column;line-height:1.5;background-image:var(--bg-image);background-attachment:fixed;transition:background-color var(--transition-speed),color var(--transition-speed)}.app-header{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;padding:12px 16px}.nav-container{max-width:960px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{text-decoration:none;display:flex;align-items:center;gap:8px}.logo-icon{font-size:1.5rem;transition:transform .3s ease}.nav-logo:hover .logo-icon{transform:rotate(-12deg) scale(1.15)}.logo-text{font-family:var(--font-title);font-weight:var(--font-weight-title);font-size:1.35rem;color:var(--text-primary);text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title);transition:color var(--transition-speed)}.nav-right{display:flex;align-items:center;gap:16px}.theme-toggle-btn{background:transparent;border:1px solid var(--border);color:var(--text-primary);width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:all var(--transition-speed) cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px var(--shadow);padding:0;line-height:1}.theme-toggle-btn:hover{background-color:var(--bg-secondary);border-color:var(--accent);transform:scale(1.1) rotate(15deg);box-shadow:0 4px 12px var(--shadow)}.theme-toggle-btn:active{transform:scale(.95)}.theme-toggle-icon{display:inline-block;line-height:1;transition:transform .5s ease}.theme-toggle-btn.clicked .theme-toggle-icon{transform:rotate(360deg)}.user-menu{display:flex;align-items:center;gap:12px}.user-name{font-size:.875rem;color:var(--text-secondary);font-weight:700;text-transform:uppercase;font-family:var(--font-title);letter-spacing:.05em}.logout-button{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:700;text-transform:uppercase;font-family:var(--font-title);letter-spacing:.05em;transition:all var(--transition-speed)}.logout-button:hover{background-color:var(--bg-secondary);border-color:var(--accent);color:var(--text-primary)}#app-viewport{flex:1;max-width:960px;width:100%;margin:0 auto;padding:24px 16px;display:flex;flex-direction:column;box-sizing:border-box}@media (max-width: 768px){#app-viewport{padding:16px 12px;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}}.app-footer{text-align:center;padding:24px 16px;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto;font-family:var(--font-cursive);font-size:1.1rem}h1,h2,h3,h4{font-family:var(--font-title);color:var(--text-primary);font-weight:var(--font-weight-title);text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title)}h1{font-size:2.1rem;margin-bottom:8px}h2{font-size:1.5rem;margin-bottom:16px}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}label{font-family:var(--font-title);font-size:.8125rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}input,select,textarea{width:100%;background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:12px;border-radius:8px;font-family:var(--font-body);font-size:.9375rem;transition:border-color var(--transition-speed),box-shadow var(--transition-speed),background-color var(--transition-speed)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background-color:var(--bg-card)}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch-container{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 12px;background-color:var(--bg-input);border:1px solid var(--border);border-radius:8px;transition:border-color var(--transition-speed),background-color var(--transition-speed),transform var(--transition-speed);text-transform:none;letter-spacing:normal;color:var(--text-primary);font-size:.875rem;font-weight:500}.switch-container:hover{border-color:var(--accent);background-color:var(--bg-secondary);transform:translateY(-1px)}.switch-container input[type=checkbox]{width:auto;height:16px;width:16px;margin:0;cursor:pointer}.switch-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:7px;font-size:.9375rem;cursor:pointer;border:1px solid var(--btn-secondary-border);background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);font-family:var(--font-title);font-weight:var(--font-weight-title);text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title);min-height:48px;transition:all var(--transition-speed) cubic-bezier(.4,0,.2,1);box-sizing:border-box}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);box-shadow:0 4px 6px -1px var(--btn-primary-shadow)}.btn-primary:hover{background-color:var(--btn-primary-hover);border-color:var(--btn-primary-hover);box-shadow:0 6px 16px var(--btn-primary-shadow);transform:translateY(-2px)}.btn-secondary{background-color:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-secondary:hover{background-color:var(--btn-secondary-hover);border-color:var(--accent);transform:translateY(-2px)}.btn-bronze{background-color:var(--bronze);color:#fff;border-color:var(--bronze)}.btn-bronze:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px)}.btn-outline{background-color:var(--white);border:1px solid var(--line-2);color:var(--ink)}.btn-outline:hover{background-color:var(--surface-2);border-color:var(--line-2)}.btn-ghost{background-color:transparent;border:1px solid transparent;color:var(--ink-2)}.btn-ghost:hover{background-color:var(--surface-2);color:var(--ink)}.btn-subtle{background-color:var(--surface-2);border:1px solid transparent;color:var(--ink)}.btn-subtle:hover{background-color:var(--line);color:var(--ink)}.btn-danger{background-color:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 4px 6px -1px #b4323233}.btn-danger:hover{background-color:var(--danger-hover);border-color:var(--danger-hover);box-shadow:0 6px 16px #b4323259;transform:translateY(-2px)}.btn-ghost-danger{background-color:transparent;border:1px solid transparent;color:var(--danger)}.btn-ghost-danger:hover{background-color:var(--brick-bg);color:var(--danger-hover)}.btn-sm{padding:8px 16px;font-size:.8125rem;min-height:36px}.btn-xs{padding:4px 8px;font-size:.75rem;min-height:28px}.card{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 8px 32px var(--shadow);transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease,border-color var(--transition-speed) ease}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;gap:16px}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-view{max-width:400px;margin:80px auto;text-align:center}.login-icon{font-size:3.5rem;margin-bottom:16px;display:inline-block;animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-tagline{color:var(--text-secondary);margin-bottom:24px}.btn-google-mock{background:var(--bg-input);color:var(--text-primary);width:100%;display:flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--border);font-family:var(--font-title);text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title)}.btn-google-mock:hover{background-color:var(--bg-card);border-color:var(--accent);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.google-logo{width:18px;height:18px;margin-right:10px}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 900px){.dashboard-grid{grid-template-columns:1fr 320px}}.trip-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.trip-list{display:flex;flex-direction:column;gap:12px}.trip-item-card{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);border-radius:12px;padding:16px 20px;box-shadow:0 4px 12px var(--shadow);transition:all var(--transition-speed) ease}.trip-item-card:hover{border-color:var(--accent);background-color:var(--bg-card);transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow)}.trip-info h3{font-size:1.25rem;margin-bottom:4px;font-weight:700}.trip-dates{font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px;font-weight:700}.trip-arrow{color:var(--accent);font-size:1.25rem;transition:transform var(--transition-speed)}.trip-item-card:hover .trip-arrow{transform:translate(4px)}.no-trips{text-align:center;padding:40px;color:var(--text-muted)}.trip-detail-header{border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:24px}.trip-meta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.meta-pill{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);padding:6px 12px;border-radius:20px;font-size:.8125rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;font-weight:700}.invite-code-pill{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;transition:all var(--transition-speed)}.invite-code-pill:hover{border-color:var(--accent);background-color:var(--bg-card);transform:scale(1.03)}.invite-code-pill.copied:after{content:"Copied!";position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--success);color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap}.crew-section{margin-bottom:24px}.crew-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.crew-member-chip{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);padding:6px 12px;border-radius:16px;font-size:.8125rem;display:flex;align-items:center;gap:8px;font-weight:600;box-shadow:0 2px 6px var(--shadow)}.crew-avatar{width:20px;height:20px;background-color:var(--accent);color:var(--btn-primary-text);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.6875rem}.user-avatar-badge{width:20px;height:20px;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.6875rem;margin-right:4px;border:1px solid rgba(255,255,255,.1);text-shadow:0 1px 2px rgba(0,0,0,.4)}.remove-crew-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0 2px;transition:color var(--transition-speed)}.remove-crew-btn:hover{color:var(--danger)}.provision-section-layout{display:grid;grid-template-columns:1fr;gap:24px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}@media (min-width: 768px){.provision-section-layout{grid-template-columns:3fr 2fr}}.filter-bar{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px;margin-bottom:16px;-webkit-overflow-scrolling:touch}.filter-chip{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px;border-radius:20px;font-size:.8125rem;font-family:var(--font-title);font-weight:700;text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title);cursor:pointer;white-space:nowrap;transition:all var(--transition-speed);box-shadow:0 2px 6px var(--shadow)}.filter-chip:hover{border-color:var(--accent);background-color:var(--bg-secondary)}.filter-chip.active{background-color:var(--accent);border-color:var(--accent);color:var(--btn-primary-text);box-shadow:0 4px 10px var(--accent-glow)}.provision-list{display:flex;flex-direction:column;gap:12px}.provision-card{position:relative;background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 4px 12px var(--shadow);transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease,border-color var(--transition-speed) ease}.provision-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow)}.provision-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.provision-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provision-name{font-family:var(--font-title);font-size:1.15rem;font-weight:700}.badge{font-size:10.5px;padding:3px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;gap:4px;border-width:1px;border-style:solid;line-height:1}.badge-perishable{background-color:var(--brick-bg);color:var(--brick);border-color:var(--brick-line)}.badge-communal{background-color:var(--bronze-bg);color:var(--bronze);border-color:var(--bronze-line)}.badge-individual{background-color:var(--slate-chip);color:var(--ink-2);border-color:var(--line-2)}.badge-status-proposed{background-color:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}.badge-status-ordered{background-color:var(--green-bg);color:var(--green);border-color:var(--green-line)}.badge-status-received{background-color:var(--bronze-bg);color:var(--bronze);border-color:var(--bronze-line)}.badge-status-confirmed{background-color:var(--green-bg);color:var(--green);border-color:var(--green-line)}.badge-status-packed{background-color:var(--bronze-bg);color:var(--bronze);border-color:var(--bronze-line)}.provision-category{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-family:var(--font-title)}.provision-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.provision-calc{font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-body)}.provision-formula{font-size:.75rem;color:var(--text-muted);font-style:italic;font-family:var(--font-cursive);font-size:.95rem}.provision-assigned-list{font-size:.75rem;color:var(--text-muted)}.provision-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.provision-total-box{background-color:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);border-radius:8px;padding:10px 16px;text-align:right;display:inline-block;align-self:flex-start;box-shadow:inset 0 1px 2px var(--shadow)}.total-quantity{font-size:1.35rem;font-weight:var(--font-weight-title);color:var(--accent);font-family:var(--font-title);text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title)}.total-unit{font-size:.8125rem;color:var(--text-secondary)}.link-icon-btn{text-decoration:none;font-size:.8125rem;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.link-icon-btn:hover{color:var(--accent-hover)}.user-checkbox-list{display:flex;flex-direction:column;gap:8px;background-color:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:10px;max-height:150px;overflow-y:auto}.user-checkbox-item{display:flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer;padding:4px 0}.user-checkbox-item input{width:auto;cursor:pointer}.table-scroll-container{width:100%;overflow-x:auto;background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);border-radius:12px;margin-top:12px;box-shadow:0 4px 16px var(--shadow)}.provisions-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.provisions-table th,.provisions-table td{padding:14px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.provisions-table th{background-color:color-mix(in srgb,var(--text-secondary) 5%,transparent);color:var(--text-secondary);font-family:var(--font-title);font-weight:700;text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title);font-size:.8rem}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-speed),color var(--transition-speed)}.sortable-header:hover{background-color:var(--line-2)!important;color:var(--text-primary)!important}.provisions-table tr:last-child td{border-bottom:none}.table-row-item{transition:background-color var(--transition-speed)}.table-row-item:hover{background-color:var(--bg-secondary)}.table-consumer-cell,.table-procurer-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis}.view-toggle-btn.active{background-color:var(--accent)!important;border-color:var(--accent)!important;color:var(--btn-primary-text)!important;box-shadow:0 2px 8px var(--accent-glow)}.bulk-actions-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--accent);border-radius:12px;padding:12px 24px;display:flex;align-items:center;gap:20px;box-shadow:0 12px 28px #08121626;z-index:1000;animation:slide-up-bulk .25s cubic-bezier(.4,0,.2,1);color:var(--text-primary)}@keyframes slide-up-bulk{0%{bottom:-50px;opacity:0}to{bottom:24px;opacity:1}}.bulk-selected-count{font-family:var(--font-title);font-size:.875rem;font-weight:700;color:var(--text-primary);border-right:1px solid var(--border);padding-right:16px}.bulk-actions-group{display:flex;align-items:center;gap:10px}.bulk-dropdown-container{position:relative;display:inline-block}.bulk-action-trigger-btn{padding:8px 16px!important;font-size:.8125rem!important;min-height:36px!important}.bulk-dropdown-menu{display:none;position:absolute;bottom:100%;left:0;margin-bottom:8px;background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;min-width:150px;box-shadow:0 12px 28px #0812162e;z-index:1010;padding:6px}.bulk-dropdown-menu.double-width{min-width:220px;padding:12px}.bulk-dropdown-container.open .bulk-dropdown-menu{display:block}.bulk-menu-item{width:100%;background:none;border:none;color:var(--text-primary);text-align:left;padding:8px 10px;font-size:.8125rem;cursor:pointer;border-radius:4px;font-weight:600;font-family:var(--font-title);text-transform:var(--text-transform-title);letter-spacing:var(--letter-spacing-title);transition:background-color var(--transition-speed)}.bulk-menu-item:hover{background-color:var(--bg-secondary);color:var(--accent)}.bulk-checkbox-header{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-family:var(--font-title)}.bulk-checkbox-list{display:flex;flex-direction:column;gap:6px;max-height:120px;overflow-y:auto;background-color:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:6px}.bulk-checkbox-item{display:flex;align-items:center;gap:6px;font-size:.75rem;cursor:pointer;padding:2px 0;font-weight:500}.bulk-checkbox-item input{width:auto}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:color-mix(in srgb,var(--bg-primary) 40%,rgba(10,15,30,.75));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:16px;box-sizing:border-box}.modal-content{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid var(--border);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:24px;position:relative;box-shadow:0 20px 40px var(--shadow);box-sizing:border-box;animation:modal-zoom .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-zoom{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;font-weight:500;cursor:pointer;padding:0;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:all var(--transition-speed)}.modal-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary);transform:rotate(90deg)}.provision-section-layout.table-layout-active{grid-template-columns:1fr!important}.font-mono{font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums}.logo-icon{width:20px;height:20px;stroke:var(--bronze-line);stroke-width:1.6}.logo-text-tint{color:var(--bronze-line);font-weight:700}.app-header{height:52px;background-color:#15303a!important;border-bottom:1px solid #0f242c!important;display:flex;align-items:center;padding:0 16px;color:var(--white)}.app-header .logo-text{color:var(--white)!important}.app-header .user-name{color:var(--white)!important;opacity:.8}.app-header .logout-button{color:var(--white)!important;border-color:#fff3!important}.app-header .logout-button:hover{background-color:#ffffff1a!important;border-color:var(--bronze-line)!important}td.editable{cursor:pointer;position:relative;transition:background-color var(--transition-speed)}td.editable:hover{background-color:var(--editable-hover)!important}.cell-input{width:100%;height:100%;padding:4px 8px;border:1px solid var(--line-2);border-radius:6px;font-family:inherit;font-size:13px;background-color:var(--white);color:var(--ink);outline:none;box-sizing:border-box}.cell-input:focus{border-color:var(--ink);box-shadow:0 0 0 2px #15303a1a}.cell-select{width:100%;padding:4px 8px;border:1px solid var(--line-2);border-radius:6px;font-family:inherit;font-size:13px;background-color:var(--white);color:var(--ink);outline:none;box-sizing:border-box;cursor:pointer}.cell-select:focus{border-color:var(--ink)}.consumers-popover{position:absolute;top:100%;left:0;background-color:var(--surface);border:1px solid var(--line-2);border-radius:7px;padding:12px;box-shadow:0 12px 28px #0812162e;z-index:1050;min-width:180px}.detail-drawer-row{background-color:#f6f0e480!important}.detail-drawer-container{padding:12px 20px;border-top:1px dashed var(--line-2);border-bottom:1px solid var(--line-2);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:start}.detail-drawer-field{display:flex;flex-direction:column;gap:4px}.detail-drawer-field label{font-size:9.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.detail-drawer-field .input-note{width:100%;padding:6px 10px;border:1px solid var(--line-2);border-radius:6px;font-size:12.5px;background-color:var(--white);color:var(--ink)}.drawer-avatar-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.drawer-avatar-chip{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;border:1px solid var(--line);background-color:var(--white);font-size:11.5px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-speed)}.drawer-avatar-chip.active{background-color:var(--bronze-bg);border-color:var(--bronze-line);color:var(--bronze)}.quick-add-row{background-color:var(--surface)!important;border-top:2px solid var(--line-2)!important;border-bottom:1px solid var(--line-2)!important}.quick-add-row td{padding:8px 12px!important;vertical-align:middle}.quick-add-row input,.quick-add-row select{font-size:12.5px;padding:6px 10px;border:1px solid var(--line-2);border-radius:6px;background-color:var(--white)}.quick-add-caption{padding:6px 16px;background-color:var(--surface-2);border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted)}.quick-add-formula{font-family:var(--font-mono);color:var(--ink-2);font-weight:500}.quick-add-confirmation{color:var(--green);font-weight:600;transition:opacity .3s}.crew-manifest-bar{display:flex;align-items:center;gap:16px;padding:10px 16px;background-color:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;flex-wrap:wrap}.crew-manifest-label{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}.crew-manifest-members{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crew-manifest-members .crew-member-chip{padding:4px 10px;border-radius:14px;box-shadow:none;background-color:var(--surface-2)}.filter-controls-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box}.filter-controls-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;width:100%;box-sizing:border-box}.filter-control-label{margin-bottom:0;font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}.filter-select{width:100%;min-width:0;padding:4px 8px;border-radius:6px;font-size:12.5px;background-color:var(--white);border:1px solid var(--line-2);color:var(--ink);box-sizing:border-box}.voyage-meta-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.voyage-meta-chip{height:30px;padding:0 12px;border-radius:6px;border:1px solid var(--line);background-color:var(--surface);display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);font-weight:500}.voyage-meta-chip i{color:var(--bronze);stroke-width:1.8}.theme-toggle-icon-lucide{stroke-width:1.6}i[data-lucide]{vertical-align:middle;display:inline-block;line-height:1}.active-voyage-row{background-color:var(--surface-2)!important;border-left:3px solid var(--bronze)!important}.voyages-legend{margin-top:12px;display:flex;gap:16px;font-size:11px;color:var(--muted);justify-content:flex-start}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.proposed{background-color:var(--amber)}.legend-dot.confirmed{background-color:var(--green)}.legend-dot.packed{background-color:var(--bronze)}@media (max-width: 768px){.provisions-list-container{padding:0!important}.table-scroll-container{overflow-x:visible!important;background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin-top:0!important}.provisions-table{display:block!important;width:100%!important}.provisions-table thead{display:none!important}.provisions-table tbody{display:block!important;width:100%!important}.provisions-table tr.table-row-item,.provisions-table tr.quick-add-row{display:flex!important;flex-wrap:wrap!important;align-items:center!important;padding:14px!important;margin-bottom:14px!important;background-color:var(--surface)!important;border:1px solid var(--line-2)!important;border-radius:10px!important;box-shadow:0 2px 8px var(--shadow)!important;height:auto!important;gap:0!important;box-sizing:border-box!important;position:relative!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.provisions-table tr.quick-add-row{background-color:var(--surface-2)!important;margin-top:16px!important;border:1px dashed var(--bronze-line)!important}.provisions-table tr.table-row-item td,.provisions-table tr.quick-add-row td{display:block!important;padding:3px 0!important;border:none!important;height:auto!important;background:none!important;box-sizing:border-box!important;white-space:normal!important}.provisions-table tr.table-row-item td:nth-child(1),.provisions-table tr.quick-add-row td:nth-child(1){width:28px!important;flex-shrink:0!important;order:1;display:flex!important;justify-content:center!important;align-items:center!important;align-self:flex-start!important;padding-top:3px!important}.provisions-table tr.table-row-item td:nth-child(2),.provisions-table tr.quick-add-row td:nth-child(2){width:calc(100% - 88px)!important;flex-shrink:0!important;flex-grow:0!important;min-width:0!important;font-size:15px!important;font-weight:600!important;order:2;display:flex!important;align-items:center!important;line-height:1.4!important}.provisions-table tr.table-row-item td:nth-child(3),.provisions-table tr.quick-add-row td:nth-child(3){width:28px!important;flex-shrink:0!important;order:3;display:flex!important;justify-content:center!important;align-items:center!important}.provisions-table tr.table-row-item td:nth-child(11),.provisions-table tr.quick-add-row td:nth-child(11){width:32px!important;flex-shrink:0!important;order:4;display:flex!important;justify-content:center!important;align-items:center!important}.provisions-table tr.table-row-item td:nth-child(4),.provisions-table tr.quick-add-row td:nth-child(4){width:40%!important;padding-left:28px!important;font-size:12.5px!important;color:var(--ink-2)!important;order:5;margin-top:8px!important}.provisions-table tr.table-row-item td:nth-child(10),.provisions-table tr.quick-add-row td:nth-child(10){width:32%!important;order:6;display:flex!important;align-items:center!important;justify-content:center!important;font-size:12px;margin-top:8px!important}.provisions-table tr.table-row-item td:nth-child(9),.provisions-table tr.quick-add-row td:nth-child(9){width:28%!important;text-align:right!important;font-weight:700!important;font-size:13.5px!important;order:7;margin-top:8px!important}.provisions-table tr.table-row-item td:nth-child(5),.provisions-table tr.quick-add-row td:nth-child(5){width:80px!important;padding-left:28px!important;font-size:12.5px!important;color:var(--muted)!important;order:8;margin-top:6px!important}.provisions-table tr.table-row-item td:nth-child(6),.provisions-table tr.quick-add-row td:nth-child(6){flex:1 1 auto!important;padding-left:4px!important;font-size:12.5px!important;color:var(--muted)!important;order:9;margin-top:6px!important}.provisions-table tr.table-row-item td:nth-child(7),.provisions-table tr.quick-add-row td:nth-child(7){width:70px!important;padding-left:4px!important;font-size:12px!important;color:var(--faint)!important;order:10;margin-top:6px!important}.provisions-table tr.table-row-item td:nth-child(8),.provisions-table tr.quick-add-row td:nth-child(8){width:100%!important;padding-left:28px!important;margin-top:7px!important;order:11;font-size:12.5px}.provisions-table tr.table-row-item td:nth-child(8) .table-consumer-cell,.provisions-table tr.table-row-item td:nth-child(8) .table-procurer-cell{max-width:none!important;overflow:visible!important;text-overflow:unset!important}.provisions-table tr td input.cell-input,.provisions-table tr td select.cell-select{width:100%!important;box-sizing:border-box!important}.provisions-table tr.quick-add-row td:nth-child(5) input.cell-input,.provisions-table tr.quick-add-row td:nth-child(6) input.cell-input{width:68px!important}.provisions-table tr.quick-add-row td:nth-child(7) select.cell-select{width:86px!important}.provisions-table tr.detail-drawer-row{display:block!important;width:100%!important;margin-bottom:10px!important;border:1px solid var(--line-2)!important;border-top:none!important;border-radius:0 0 10px 10px!important;margin-top:-11px!important;box-sizing:border-box!important;background-color:var(--surface-2)!important}.provisions-table tr.detail-drawer-row td{display:block!important;width:100%!important;padding:0!important}.detail-drawer-container{padding:12px!important;border-top:none!important}.provisions-table tr.table-row-item.detail-drawer-row-active{border-radius:10px 10px 0 0!important;border-bottom-color:transparent!important;margin-bottom:0!important}.filter-controls-row,.filter-controls-selects{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important}.filter-control-item{width:100%!important;max-width:100%!important}.filter-select,#filter-provider-select,#filter-perishable-select{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}#manage-providers-btn{width:100%!important;box-sizing:border-box!important}.provisions-list-container{width:100%!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}.provisions-table tr.table-row-item td:nth-child(10) .badge,.provisions-table tr.quick-add-row td:nth-child(10) .badge{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:inline-block!important}.bulk-actions-bar{flex-direction:column!important;gap:8px!important;align-items:stretch!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;border-radius:0!important;box-sizing:border-box!important;transform:none!important;padding:12px 16px!important}.bulk-actions-group{justify-content:space-between!important;flex-wrap:wrap!important;gap:8px!important}.bulk-dropdown-container{flex:1!important;min-width:100px!important}.bulk-action-trigger-btn{width:100%!important;text-align:center!important}}
