:root{--brand:#1565c0;--brand-strong:#0d47a1;--brand-soft:#e8f0fb;--ink:#0b1b2e;--bg:#f2f4f8;--surface:#fff;--surface-2:#f6f8fb;--field:#f1f4f9;--border:#e5e9f0;--text:#17202e;--muted:#667085;--faint:#98a2b3;--success:#0f8a5f;--success-soft:#e6f5ee;--warning:#b54708;--warning-soft:#fdf1e3;--danger:#d92d20;--danger-soft:#fdecea;--info:#1565c0;--info-soft:#e8f0fb;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018280d;--shadow-lg:0 -8px 32px #10182829;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#dfe5ee;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.canvas{justify-content:center;align-items:center;gap:48px;min-height:100%;padding:24px;display:flex}.review-panel{width:260px;color:var(--ink);align-self:center}.review-panel h1{margin:0 0 4px;font-size:20px}.review-panel p{color:var(--muted);margin:0 0 16px;font-size:13px}.review-panel nav{flex-direction:column;gap:2px;display:flex}.review-panel a{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:14px}.review-panel a:hover,.review-panel a.active{background:var(--surface);color:var(--brand-strong);font-weight:600}.review-panel .group{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:12px 0 4px 10px;font-size:11px;font-weight:600}.phone{background:#0b0f17;border-radius:48px;flex:none;width:390px;height:844px;padding:12px;position:relative;box-shadow:0 30px 80px #0b1b2e59,inset 0 0 0 2px #2a3242}.phone-screen{background:var(--bg);isolation:isolate;border-radius:38px;width:100%;height:100%;position:relative;overflow:hidden}.notch{z-index:100;background:#0b0f17;border-radius:20px;width:110px;height:30px;position:absolute;top:10px;left:50%;translate:-50%}@media (width<=700px){body{background:var(--bg)}.canvas{padding:0;display:block}.review-panel,.notch{display:none}.phone{width:100%;height:100dvh;box-shadow:none;background:0 0;border-radius:0;padding:0}.phone-screen{border-radius:0}}.screen{background:var(--bg);flex-direction:column;display:flex;position:absolute;inset:0}.status-bar{height:calc(46px + var(--safe-top));padding:var(--safe-top) 26px 0 30px;flex:none;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.status-bar.dark{background:var(--ink);color:#fff}.status-icons{align-items:center;gap:5px;display:flex}@media (width<=700px){.status-bar{display:none}}.app-bar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;min-height:52px;padding:4px 8px 4px 12px;display:flex}.app-bar.dark{background:var(--ink);color:#fff;border-bottom:0}.app-bar h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:17px;font-weight:650;overflow:hidden}.app-bar .sub{text-overflow:ellipsis;color:var(--muted);letter-spacing:0;font-size:12px;font-weight:500;display:block;overflow:hidden}.app-bar.dark .sub{color:#9fb0c6}.icon-btn{width:40px;height:40px;color:inherit;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.icon-btn:active{background:#0000000f}.icon-btn .dot{background:var(--danger);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:8px;right:8px}.content{overscroll-behavior:contain;scrollbar-width:none;flex:1;padding:12px 14px 24px;overflow-y:auto}.content::-webkit-scrollbar{display:none}.content.with-tabbar{padding-bottom:96px}.tab-bar{padding:6px 8px calc(10px + var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:20;background:#ffffffeb;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.tab-bar a{color:var(--faint);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:500;display:flex}.tab-bar a.active{color:var(--brand)}.tab-bar a.active svg{stroke-width:2.4px}.home-indicator{z-index:60;opacity:.85;background:#0b0f17;border-radius:3px;width:130px;height:5px;position:absolute;bottom:6px;left:50%;translate:-50%}@media (width<=700px){.home-indicator{display:none}}.fab{z-index:25;background:var(--brand);color:#fff;border:0;border-radius:18px;align-items:center;gap:8px;height:52px;padding:0 20px 0 16px;font-weight:600;display:flex;position:absolute;bottom:96px;right:16px;box-shadow:0 8px 24px #1565c066}.fab.solo{bottom:calc(24px + var(--safe-bottom))}.search{background:var(--surface);border:1px solid var(--border);height:44px;color:var(--faint);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.toolbar-row{align-items:center;gap:8px;display:flex}.filter-btn{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.filter-btn.on{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 35%, transparent);color:var(--brand-strong)}.filter-btn .dot{background:var(--brand);color:#fff;border:2px solid var(--bg);border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.chips{scrollbar-width:none;gap:8px;margin:12px -14px 0;padding:0 14px 2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:17px;flex:none;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip .n{opacity:.7;font-size:12px}.section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:18px 4px 8px;font-size:12px;font-weight:600}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);display:block}.list-card+.list-card{margin-top:10px}.list-card{padding:14px;position:relative}.list-card:active{background:var(--surface-2)}.list-card.selected{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 25%, transparent)}.row{align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.ref{color:var(--brand);letter-spacing:.01em;font-size:13px;font-weight:700}.meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.small{font-size:12px}.muted{color:var(--muted)}.amount{font-variant-numeric:tabular-nums;font-weight:700}.divider{background:var(--border);height:1px;margin:12px 0}.badge{white-space:nowrap;background:var(--surface-2);height:24px;color:var(--muted);border-radius:12px;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.success{background:var(--success-soft);color:var(--success)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.icon-pills{flex-wrap:wrap;gap:6px;display:flex}.pill{background:var(--surface-2);height:26px;color:var(--muted);border-radius:8px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.pill.ok{background:var(--success-soft);color:var(--success)}.pill.warn{background:var(--danger-soft);color:var(--danger)}.timeline{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:grid}.timeline .label{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.timeline .value{font-size:13px;font-weight:600}.timeline .actual{color:var(--success);font-size:11px;font-weight:600}.timeline .line{background:repeating-linear-gradient(90deg, var(--faint) 0 4px, transparent 4px 8px);border-radius:1px;width:44px;height:2px;position:relative}.timeline .line svg{color:var(--brand);background:var(--surface-2);position:absolute;top:-8px;left:50%;translate:-50%}.timeline>:last-child{text-align:right}.kv-grid{grid-template-columns:1fr 1fr;gap:14px 12px;display:grid}.kv .k{color:var(--muted);font-size:11.5px}.kv .v{word-break:break-word;margin-top:2px;font-size:13.5px;font-weight:600}.kv.full{grid-column:1/-1}.group-list{overflow:hidden}.group-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;display:flex}.group-row+.group-row{border-top:1px solid var(--border)}.group-row .lead{background:var(--brand-soft);width:34px;height:34px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.group-row .lead.ok{background:var(--success-soft);color:var(--success)}.group-row .lead.warn,.group-row .lead.danger{background:var(--danger-soft);color:var(--danger)}.crew-lines{border-top:1px solid var(--border);color:var(--muted);flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;font-size:13px;display:flex}.crew-lines>span:not(.icon-pills){white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:flex;overflow:hidden}.lead-icon{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.bar{background:var(--surface-2);border-radius:4px;height:8px;margin-top:10px;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--brand), #42a5f5);border-radius:4px;height:100%;display:block}.count-badge.done{background:var(--success-soft);color:var(--success)}.notice{border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.notice.ok{background:var(--success-soft);color:var(--success)}.sheet-body .field+.field{margin-top:10px}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-tiles>button,.stat-tiles>a{border:1px solid var(--border);background:var(--surface);text-align:left;color:var(--muted);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:10px;display:flex}.stat-tiles strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:4px;font-size:13px;overflow:hidden}.stat-tiles span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.stat-tiles .ok svg{color:var(--success)}.stat-tiles .warn svg{color:var(--danger)}.stat-tiles>:not(.ok):not(.warn) svg{color:var(--brand)}.card-actions{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);gap:6px;margin:12px -14px -14px;padding:8px 10px;display:flex}.card-actions button,.card-actions a{border:1px solid var(--border);background:var(--surface);min-width:34px;height:34px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.card-actions .ok{color:var(--success);border-color:color-mix(in srgb, var(--success) 30%, transparent);background:var(--success-soft)}.card-actions .warn{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 25%, transparent);background:var(--danger-soft)}.card-actions .push{margin-left:auto}.card-actions .primary{background:var(--brand);border-color:var(--brand);color:#fff}.seg-tabs{scrollbar-width:none;background:var(--surface);border-bottom:1px solid var(--border);flex:none;gap:4px;padding:0 10px;display:flex;overflow-x:auto}.seg-tabs::-webkit-scrollbar{display:none}.seg-tabs button{height:42px;color:var(--muted);white-space:nowrap;background:0 0;border:0;flex:none;padding:0 11px;font-size:13.5px;font-weight:500;position:relative}.seg-tabs button.on{color:var(--brand-strong);font-weight:650}.seg-tabs button.on:after{content:"";background:var(--brand);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:12px;right:12px}.seg-tabs .count{background:var(--surface-2);border-radius:8px;margin-left:4px;padding:1px 6px;font-size:11px}.form-section{padding:14px}.form-section+.form-section{margin-top:12px}.form-section h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:650}.field{background:var(--field);border:1.5px solid #0000;border-radius:12px;flex-direction:column;gap:2px;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.field+.field,.field-row+.field,.field+.field-row,.field-row+.field-row{margin-top:10px}.field:focus-within{background:var(--surface);border-color:var(--brand)}.field label{color:var(--muted);font-size:12px;font-weight:500}.field label .req{color:var(--danger)}.field input,.field select,.field textarea{appearance:none;background:0 0;border:0;outline:0;width:100%;min-height:24px;padding:0;font-size:15px}.field textarea{resize:none;min-height:60px}.field.readonly{border:1.5px dashed var(--border);background:0 0}.field.picker{text-align:left;cursor:pointer;border:1.5px solid #0000;flex-direction:row;align-items:center;gap:10px;width:100%}.field.picker:active{background:#e9eef5}.field.picker .val{white-space:nowrap;text-overflow:ellipsis;min-height:22px;font-size:15px;overflow:hidden}.field.picker.has-value{background:var(--brand-soft)}.field.picker.has-value label{color:var(--brand-strong)}.field.picker.has-value .val{font-weight:600}.picker-icon{background:var(--surface);width:32px;height:32px;color:var(--brand);border-radius:9px;flex:none;place-items:center;display:grid}.picker-clear{background:color-mix(in srgb, var(--brand) 18%, transparent);width:24px;height:24px;color:var(--brand-strong);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.filter-fields{flex-direction:column;gap:8px;display:flex}.filter-fields>.field+.field{margin-top:0}.filter-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:16px 2px 8px;font-size:12px;font-weight:600}.setting-row{background:var(--field);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.setting-row .txt{flex:1;min-width:0}.setting-row .txt strong{font-size:14px;font-weight:600;display:block}.setting-row .txt span{color:var(--muted);font-size:12px}.field.picker .val.placeholder{color:var(--faint)}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-row>.field+.field{margin-top:0}.toggle-group{background:var(--field);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.toggle-group button{height:36px;color:var(--muted);background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:500}.toggle-group button.on{background:var(--surface);color:var(--brand-strong);box-shadow:var(--shadow);font-weight:650}.stepper{align-items:center;gap:10px;display:flex}.stepper button{background:var(--surface);width:32px;height:32px;box-shadow:var(--shadow);border:0;border-radius:10px;place-items:center;display:grid}.stepper .v{text-align:center;min-width:24px;font-weight:650}.switch-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;display:flex}.switch{background:#cfd6e1;border:0;border-radius:14px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:translate .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch.on{background:var(--brand)}.switch.on:after{translate:18px}.btn{white-space:nowrap;background:var(--brand);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;padding:0 16px;font-size:15px;font-weight:650;display:inline-flex}.btn:active{filter:brightness(.95)}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn.ghost{color:var(--brand);background:0 0}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.sm{border-radius:11px;width:auto;height:36px;padding:0 14px;font-size:13px}.action-bar{padding:10px 14px calc(14px + var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);background:#fffffff0;flex:none;gap:10px;display:flex}.quick-actions{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-actions button,.quick-actions a{background:var(--surface-2);color:var(--text);border:0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;font-size:12px;font-weight:500;display:flex}.quick-actions svg{color:var(--brand)}.sheet-backdrop{z-index:80;background:#0b1b2e73;animation:.18s fade;position:absolute;inset:0}.sheet{background:var(--surface);max-height:86%;box-shadow:var(--shadow-lg);z-index:90;border-radius:22px 22px 0 0;flex-direction:column;animation:.24s cubic-bezier(.2,.8,.2,1) slide-up;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet .grabber{background:#d5dbe5;border-radius:3px;flex:none;width:40px;height:5px;margin:8px auto 4px}.sheet-head{flex:none;justify-content:space-between;align-items:center;padding:4px 8px 8px 18px;display:flex}.sheet-head h2{margin:0;font-size:17px}.sheet-body{padding:4px 16px 16px;overflow-y:auto}.sheet-foot{padding:10px 16px calc(16px + var(--safe-bottom));border-top:1px solid var(--border);flex:none;gap:10px;display:flex}.option-list button{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 4px;font-size:15px;display:flex}.option-list button.on{color:var(--brand-strong);font-weight:600}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.toast{z-index:120;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;animation:.2s slide-up;display:flex;position:absolute;bottom:100px;left:16px;right:16px}.summary-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 12px;display:grid}.summary-strip>div{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.summary-strip span{color:var(--muted);font-size:11px}.summary-strip strong{font-variant-numeric:tabular-nums;font-size:14px}.progress{grid-template-columns:repeat(4,1fr);display:grid;position:relative}.progress:before{content:"";background:var(--border);height:2px;position:absolute;top:13px;left:12%;right:12%}.progress .step{background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex;position:relative}.progress .dot{background:var(--surface);border:2px solid var(--border);width:28px;height:28px;color:var(--faint);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.progress .step.done .dot{background:var(--brand);border-color:var(--brand);color:#fff}.progress .step.current .dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 20%, transparent)}.progress .lbl{color:var(--muted);text-align:center;font-size:11px;font-weight:600}.progress .step.current .lbl{color:var(--brand-strong)}.photo-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.photo-row button{border:1.5px dashed var(--border);background:var(--surface-2);color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;font-size:12px;font-weight:500;display:flex}.photo-row svg{color:var(--brand)}.totals{border-top:1px dashed var(--border);flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;font-size:14px;display:flex}.totals>div{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.totals .grand{color:var(--text);margin-top:4px;font-size:16px;font-weight:700}.content.detail-scroll{padding:0}.tab-body{padding:12px 14px 24px}.seg-tabs.sticky{z-index:6;transition:box-shadow .15s;position:sticky;top:0}.seg-tabs.raised{box-shadow:0 4px 12px #10182814}.app-bar h1{animation:.18s title-in}@keyframes title-in{0%{opacity:.4}}.phase{color:#c9d4e3;background:#ffffff14;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;display:inline-flex}.phase .pulse{background:currentColor;border-radius:50%;width:7px;height:7px}.phase.inport{color:#6ee7b7}.phase.inport .pulse{animation:1.6s ease-in-out infinite pulse}.phase.upcoming{color:#93c5fd}@keyframes pulse{50%{opacity:.3}}.action-bar .btn.secondary{flex:none;width:auto}.detail-hero{background:var(--ink);color:#fff;flex:none;padding:4px 16px 16px}.hero-title{letter-spacing:-.01em;font-size:19px;font-weight:700}.hero-sub{color:#9fb0c6;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.hero-times{color:#9fb0c6;background:#ffffff12;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:grid}.hero-times>div{flex-direction:column;display:flex}.hero-times>div:last-child{text-align:right}.hero-times span{letter-spacing:.05em;font-size:11px;font-weight:600}.hero-times strong{color:#fff;font-size:14px}.hero-times em{color:#6ee7b7;font-size:11px;font-style:normal}.vtimeline{margin:0;padding:0;list-style:none}.vtimeline li{color:var(--faint);align-items:center;gap:12px;padding:8px 0;display:flex;position:relative}.vtimeline li.done{color:var(--success)}.vtimeline li .grow{color:var(--text)}.vtimeline li:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:36px;bottom:-8px;left:8.5px}.accordion+.accordion{margin-top:10px}.accordion summary{cursor:pointer;align-items:center;gap:8px;padding:14px;font-weight:650;list-style:none;display:flex}.accordion summary::-webkit-details-marker{display:none}.accordion[open] summary svg{rotate:180deg}.count-badge{background:var(--surface-2);min-width:22px;height:22px;color:var(--muted);border-radius:11px;place-items:center;padding:0 6px;font-size:12px;display:grid}.crew-card[data-type=Joiner]{border-left:3px solid var(--success)}.crew-card[data-type=Off\ signer]{border-left:3px solid var(--warning)}.screen.login{background:radial-gradient(120% 70% at 50% 0%, #17406f 0%, var(--ink) 60%)}.login-hero{text-align:center;color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:16px 24px 48px;display:flex;position:relative;overflow:hidden}.login-hero h1{letter-spacing:-.02em;margin:14px 0 0;font-size:28px}.login-hero p{color:#9fb0c6;margin:0;font-size:14px}.login-glow{pointer-events:none;background:radial-gradient(circle,#42a5f559,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:18%;left:50%;translate:-50%}.login-features{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.login-features span{color:#dbe4f0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;display:inline-flex}.login-waves{width:100%;height:80px;position:absolute;bottom:0;left:0;right:0}.login-panel{padding:24px 20px calc(14px + var(--safe-bottom));background:var(--surface);border-radius:28px 28px 0 0;flex:none;position:relative;box-shadow:0 -12px 40px #00000040}.login-panel h2{letter-spacing:-.01em;margin:0;font-size:22px}.login-panel>p.muted{margin:4px 0 18px}.login-input{background:var(--field);color:var(--faint);border:1.5px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:8px 8px 8px 14px;transition:border-color .15s,background .15s;display:flex}.login-input+.login-input{margin-top:10px}.login-input:focus-within{background:var(--surface);border-color:var(--brand);color:var(--brand)}.login-input .lbl{color:var(--muted);font-size:11.5px;font-weight:500;display:block}.login-input input{width:100%;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:15px}.login-options{margin:14px 2px 16px}.link{color:var(--brand);font-weight:600}.or{color:var(--faint);align-items:center;gap:12px;margin:12px 0;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:1px}.login-panel .auth-foot{margin:14px 0 0;padding:0}.screen.auth{background:linear-gradient(180deg, var(--ink) 0 46%, var(--bg) 46%)}.auth-hero{text-align:center;color:#fff;padding:28px 24px 24px}.auth-hero h1{margin:12px 0 2px;font-size:26px}.auth-hero p{color:#9fb0c6;margin:0;font-size:14px}.auth-logo{background:linear-gradient(135deg, #42a5f5, var(--brand));border-radius:18px;place-items:center;width:64px;height:64px;font-size:30px;font-weight:700;display:inline-grid;box-shadow:0 10px 30px #1565c080}.auth-card{background:var(--surface);border-radius:20px;margin:0 16px;padding:22px 18px;box-shadow:0 12px 40px #0b1b2e1f}.auth-card h2{margin:0 0 8px;font-size:20px}.auth-foot{padding:16px 16px calc(24px + var(--safe-bottom));text-align:center;color:var(--faint);margin-top:auto;font-size:12px}.error-text{color:var(--danger);margin:10px 2px 0;font-size:13px}.btn:disabled{opacity:.5}.avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.empty{text-align:center;color:var(--muted);padding:48px 24px}.selection-bar{z-index:30;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:16px;align-items:center;gap:4px;padding:6px 6px 6px 14px;animation:.2s slide-up;display:flex;position:absolute;bottom:92px;left:12px;right:12px}.selection-bar .icon-btn{color:#fff}
