:root{--text:#334155;--text-h:#0f172a;--text-muted:#64748b;--bg:#f3f6fb;--surface:#fff;--surface-muted:#f8fafc;--border:#dbe3ee;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-bg:#2563eb1a;--accent-border:#2563eb42;--accent-ring:#2563eb38;--danger:#b91c1c;--danger-bg:#b91c1c14;--shadow:#0f172a0f 0 12px 32px -18px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#f8fbff 0%,#f3f6fb 100%);min-width:320px;margin:0}body,button,input,select{font:inherit}h1,h2,h3{font-family:var(--heading);color:var(--text-h);margin:0}h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}h2{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.2}h3{font-size:1rem;line-height:1.3}p{margin:0}button,input,select{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}.auth-page{gap:24px;width:min(560px,100%);margin:0 auto;display:grid}.auth-page--login{align-items:center;width:min(100%,440px);min-height:100vh;padding:24px 16px}.auth-page__card{border:1px solid var(--border-color,#cdd9ee);background:#fffffff0;border-radius:28px;gap:20px;padding:28px;display:grid;box-shadow:0 20px 48px #0f172a14}.auth-page__card--login{gap:18px;width:100%;padding:32px 28px}.auth-page__header{gap:8px;display:grid}.auth-page__header--login h1{margin:0;font-size:clamp(1.75rem,3vw,2rem);line-height:1.15}.auth-page__brand{color:var(--text-color,#14213d);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.88rem;font-weight:800}.auth-page__header p,.auth-page__help,.auth-page__masked-email,.auth-page__error,.auth-page__success,.auth-page__back{color:var(--muted-color,#61769a)}.auth-page__error{color:#b42318}.auth-page__success{color:#0f766e}.auth-page__field,.auth-page__actions,.auth-page__code-row,.auth-page__links,.auth-page__password-rules{gap:12px;display:grid}.auth-page__field input,.auth-page__field button,.auth-page__code-input{border:1px solid var(--border-color,#cdd9ee);min-height:52px;font:inherit;background:#fff;border-radius:18px;padding:0 16px}.auth-page__field input:focus-visible,.auth-page__field button:focus-visible,.auth-page__code-input:focus-visible,.auth-page__password-icon:focus-visible,.auth-page__text-link:focus-visible{outline-offset:1px;outline:3px solid #2563eb2e}.auth-page__password-input-wrap{position:relative}.auth-page__password-input-wrap input{width:100%;padding-right:56px}.auth-page__password-icon{width:40px;height:40px;color:var(--muted-color,#61769a);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-page__password-icon svg{width:20px;height:20px}.auth-page__password-toggle,.auth-page__secondary,.auth-page__primary,.auth-page__link,.auth-page__back-button{border:1px solid var(--border-color,#cdd9ee);min-height:48px;color:var(--text-color,#14213d);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 18px}.auth-page__text-link{color:var(--accent,#2563eb);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-weight:600}.auth-page__help--inline{margin:-4px 0 0;font-size:.95rem}.auth-page__primary{color:#fff;background:#2563eb;border-color:#2563eb}.auth-page__primary:hover,.auth-page__primary:focus-visible,.auth-page__secondary:hover,.auth-page__secondary:focus-visible,.auth-page__password-toggle:hover,.auth-page__password-toggle:focus-visible,.auth-page__back-button:hover,.auth-page__back-button:focus-visible{transform:translateY(-1px)}.auth-page__primary:disabled,.auth-page__secondary:disabled,.auth-page__password-toggle:disabled,.auth-page__back-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-page__code-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.auth-page__code-input{text-align:center;padding:0;font-size:1.25rem;font-weight:700}.auth-page__password-rules{margin:0;padding-left:18px}.auth-page__inline-actions{flex-wrap:wrap;gap:12px;display:flex}.auth-page__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=640px){.auth-page--login{padding:16px}.auth-page__card{border-radius:22px;padding:22px}.auth-page__card--login{padding:24px 20px}.auth-page__code-grid{gap:8px}}.home-page{display:grid}.home-page__hero{gap:1.25rem;display:grid}.home-page__brand-card,.home-page__overview-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:32px;gap:1.25rem;padding:clamp(1.5rem,3vw,2.5rem);display:grid}.home-page__brand-card{background:radial-gradient(circle at 100% 0,#2563eb1f,#0000 28%),linear-gradient(#fffffffa,#f8fafcfa);align-items:center}.home-page__logo{width:min(100%,520px);height:auto}.home-page__brand-copy{gap:.85rem;max-width:640px;display:grid}.home-page__eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:700}.home-page__brand-copy p{color:var(--text-muted);max-width:56ch;font-size:1.05rem}.home-page__actions{flex-wrap:wrap;gap:.75rem;display:flex}.home-page__primary-action,.home-page__nav-card{font:inherit}.home-page__primary-action{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:46px;padding:.85rem 1.2rem;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.home-page__primary-action:hover,.home-page__primary-action:focus-visible{background:var(--accent-strong)}.home-page__action-icon{width:1rem;height:1rem;display:inline-flex}.home-page__action-icon svg{width:100%;height:100%}.home-page__overview-card>p{color:var(--text-muted)}.home-page__nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.home-page__nav-card{border:1px solid var(--border);background:var(--surface-muted);min-height:132px;color:var(--text-h);text-align:left;cursor:pointer;border-radius:22px;align-content:start;gap:.55rem;padding:1.1rem;transition:border-color .2s,background-color .2s,transform .2s;display:grid}.home-page__nav-card strong{font-size:1.05rem}.home-page__nav-card span{color:var(--text-muted)}.home-page__nav-card:hover{border-color:var(--accent-border);background:#2563eb0f;transform:translateY(-1px)}.home-page__nav-card:focus-visible,.home-page__primary-action:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}@media (width<=768px){.home-page__brand-card,.home-page__overview-card{border-radius:24px;padding:1.25rem}.home-page__nav-grid{grid-template-columns:1fr}.home-page__logo{width:min(100%,360px)}}.mt-page{color:#0f1f3d;background:#f4f7fc;min-height:100%;padding:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.mt-page *,.mt-page :before,.mt-page :after{box-sizing:border-box}.mt-hero,.mt-source-card,.mt-results-card,.mt-state-card{background:#fff;border:1px solid #d7e1f0;border-radius:16px;box-shadow:0 1px 2px #0f1f3d08}.mt-hero{justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.mt-eyebrow{color:#1f5fe0;letter-spacing:.12em;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.mt-hero h1,.mt-state-card h1{color:#0c1c38;margin:0;font-size:clamp(28px,3vw,40px);line-height:1.1}.mt-hero p,.mt-state-card p{color:#687a98;margin:10px 0 0;font-size:14px}.mt-primary-button,.mt-pagination button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#2364dd;border:1px solid #1d5fd5;border-radius:9px;padding:0 18px;font-size:13px;font-weight:800}.mt-primary-button:disabled,.mt-pagination button:disabled{opacity:.45;cursor:not-allowed}.mt-info-strip,.mt-selected-period{color:#234c8b;background:#eef5ff;border:1px solid #cfe0fb;border-radius:10px;margin-top:12px;padding:13px 16px;font-size:12px}.mt-source-card,.mt-results-card{margin-top:16px;padding:16px}.mt-source-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.mt-source-heading strong,.mt-source-heading span{display:block}.mt-source-heading strong{color:#11244a;font-size:14px}.mt-source-heading span{color:#7888a3;margin-top:6px;font-size:12px}.mt-sheet-field{width:min(260px,100%)}.mt-mapping-grid,.mt-filter-grid{gap:12px;margin-top:16px;display:grid}.mt-mapping-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mt-filter-grid{grid-template-columns:1.35fr repeat(4,minmax(150px,1fr));align-items:end}.mt-field{color:#1c3158;gap:7px;font-size:11px;font-weight:800;display:grid}.mt-field input,.mt-field select{color:#15294d;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cdd9e9;border-radius:9px;outline:none;padding:0 12px;font-size:13px;font-weight:500}.mt-field input:focus,.mt-field select:focus{border-color:#3d75df;box-shadow:0 0 0 3px #3d75df1f}.mt-month-selector{border:1px solid #d5dfed;border-radius:12px;margin:16px 0 0;padding:14px}.mt-month-selector legend{color:#172c53;padding:0 8px;font-size:12px;font-weight:800}.mt-month-selector-topline{color:#72829c;justify-content:space-between;font-size:12px;display:flex}.mt-month-selector-topline button{color:#1f5fe0;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.mt-month-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-height:210px;margin-top:14px;padding-right:6px;display:grid;overflow-y:auto}.mt-month-grid label{color:#253a60;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.mt-month-grid input{flex:none}.mt-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.mt-summary-grid article{background:#fff;border:1px solid #d5dfed;border-radius:12px;min-height:82px;padding:16px}.mt-summary-grid span,.mt-summary-grid strong{display:block}.mt-summary-grid span{color:#687a98;font-size:11px;font-weight:800}.mt-summary-grid strong{color:#0c1d3b;margin-top:12px;font-size:24px}.mt-summary-rising{background:#f1fbf5!important;border-color:#a9dfc0!important}.mt-summary-stable{background:#f3f8ff!important;border-color:#b9d6ff!important}.mt-summary-declining{background:#fff6f3!important;border-color:#f1c5b8!important}.mt-summary-volatile{background:#faf6ff!important;border-color:#d3c1f3!important}.mt-table-viewport{border:1px solid #d9e2ef;border-radius:12px;max-height:660px;margin-top:16px;overflow:auto}.mt-table{border-collapse:separate;border-spacing:0;background:#fff;width:100%;min-width:1750px;font-size:12px}.mt-table th,.mt-table td{vertical-align:middle;text-align:left;border-bottom:1px solid #e3e9f2;padding:12px}.mt-table th{z-index:2;color:#294165;white-space:nowrap;background:#f7f9fc;font-size:11px;font-weight:900;position:sticky;top:0}.mt-table tbody tr:hover{background:#f8fbff}.mt-item-code{color:#071b3e;white-space:nowrap;font-weight:900}.mt-reason{color:#20365b;min-width:390px;line-height:1.45}.mt-image-link{background:#fff;border:1px solid #d6e0ed;border-radius:9px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.mt-image-link img{object-fit:contain;width:100%;height:100%}.mt-no-image{color:#8795aa;text-align:center;border:1px dashed #cbd6e5;border-radius:9px;place-items:center;width:48px;height:48px;font-size:9px;display:grid}.mt-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:4px 10px;font-size:10px;font-weight:900;display:inline-flex}.mt-status-rising,.mt-status-slightly_rising,.mt-status-new_demand,.mt-confidence-high{color:#166b3b;background:#dcf7e7}.mt-status-stable,.mt-confidence-medium{color:#806300;background:#fff3c7}.mt-status-declining,.mt-status-slightly_declining{color:#9c2d20;background:#ffe1dc}.mt-status-volatile{color:#6433a7;background:#eee3ff}.mt-status-no_demand,.mt-status-insufficient_data,.mt-confidence-low{color:#53627a;background:#edf0f5}.mt-positive{color:#157347;font-weight:800}.mt-negative{color:#b0352b;font-weight:800}.mt-empty-cell{color:#7989a2;text-align:center!important;padding:50px!important}.mt-pagination{color:#435675;justify-content:center;align-items:center;gap:16px;padding-top:14px;font-size:12px;font-weight:800;display:flex}.mt-pagination button{color:#1a355f;background:#fff;border-color:#c8d4e5;min-height:36px}.mt-state-page{place-items:center;min-height:70vh;display:grid}.mt-state-card{text-align:center;width:min(900px,100%);padding:80px 24px}.mt-state-card a{color:#1d5fd5;margin-top:16px;font-weight:800;display:inline-block}.mt-spinner{border:4px solid #d8e4f5;border-top-color:#2364dd;border-radius:50%;width:34px;height:34px;margin:0 auto 18px;animation:.8s linear infinite mt-spin}@keyframes mt-spin{to{transform:rotate(360deg)}}@media (width<=1200px){.mt-mapping-grid,.mt-month-grid,.mt-filter-grid,.mt-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.mt-page{padding:12px}.mt-hero,.mt-source-heading{flex-direction:column;align-items:stretch}.mt-primary-button,.mt-sheet-field{width:100%}.mt-mapping-grid,.mt-month-grid,.mt-filter-grid,.mt-summary-grid{grid-template-columns:1fr}}.sr-page{color:#14213a;background:#f5f7fb;min-height:100%;padding:28px}.sr-page *,.sr-page :before,.sr-page :after{box-sizing:border-box}.sr-hero,.sr-card,.sr-state-card{background:#fff;border:1px solid #d8e1ee;border-radius:18px;box-shadow:0 10px 28px #1627460f}.sr-hero{justify-content:space-between;align-items:center;gap:24px;padding:26px 28px;display:flex}.sr-eyebrow{color:#245ed6;letter-spacing:.12em;margin:0 0 7px;font-size:12px;font-weight:900}.sr-hero h1{margin:0;font-size:clamp(28px,3.8vw,42px);line-height:1.14}.sr-hero p:not(.sr-eyebrow){color:#66758d;max-width:760px;margin:10px 0 0;line-height:1.6}.sr-primary-button{color:#fff;min-height:44px;font:inherit;cursor:pointer;white-space:nowrap;background:#245ed6;border:0;border-radius:10px;padding:0 22px;font-weight:900}.sr-primary-button:hover{background:#1d4db2}.sr-primary-button:disabled{cursor:not-allowed;opacity:.5}.sr-formula-note,.sr-period,.sr-warning{border-radius:11px;margin-top:16px;padding:13px 16px;font-size:13px;line-height:1.6}.sr-formula-note,.sr-period{color:#315278;background:#eef5ff;border:1px solid #d6e3f7}.sr-formula-note code{overflow-wrap:anywhere;color:#173f88}.sr-warning{color:#885400;background:#fff8e9;border:1px solid #efc181}.sr-source-card{margin-top:20px;padding:20px}.sr-source-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.sr-source-heading>div{gap:4px;display:grid}.sr-source-heading span{color:#6d7890;font-size:13px}.sr-sheet-field{width:min(280px,100%)}.sr-mapping-grid,.sr-toolbar{grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px;display:grid}.sr-toolbar{align-items:end;padding:20px}.sr-field{gap:7px;min-width:0;display:grid}.sr-field>span{color:#42516a;font-size:12px;font-weight:900}.sr-field input,.sr-field select{color:#17253b;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e3;border-radius:9px;outline:none;padding:0 11px}.sr-field input:focus,.sr-field select:focus{border-color:#2f6bd1;box-shadow:0 0 0 3px #2f6bd11f}.sr-quantity-fieldset{border:1px solid #d9e1ec;border-radius:12px;margin-top:16px;padding:14px}.sr-quantity-fieldset legend{color:#30415e;padding:0 7px;font-size:12px;font-weight:900}.sr-quantity-actions{color:#68758a;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.sr-quantity-actions button{color:#245ed6;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:900}.sr-quantity-options{grid-template-columns:repeat(4,minmax(180px,1fr));gap:6px;max-height:190px;display:grid;overflow:auto}.sr-checkbox{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.sr-checkbox:hover{background:#f4f7fb}.sr-summary-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-top:20px;display:grid}.sr-summary-card{background:#fff;border:1px solid #d8e1ee;border-radius:14px;gap:9px;padding:17px;display:grid}.sr-summary-card span{color:#63718a;font-size:12px;font-weight:900}.sr-summary-card strong{font-size:25px}.sr-summary-card.sr-danger{background:#fff6f6;border-color:#f0b6b6}.sr-summary-card.sr-warning-card{background:#fffaf0;border-color:#efc98f}.sr-summary-card.sr-muted{background:#f7f8fa;border-color:#cbd3df}.sr-summary-card.sr-overstock{background:#faf7ff;border-color:#c8b7ea}.sr-results-card{margin-top:20px;overflow:hidden}.sr-table-meta{color:#68758c;border-top:1px solid #e5eaf2;justify-content:space-between;align-items:center;gap:14px;padding:12px 20px;font-size:13px;display:flex}.sr-table-viewport{scrollbar-gutter:stable;overscroll-behavior:contain;border-top:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2;width:100%;min-height:430px;max-height:calc(100vh - 190px);position:relative;overflow:auto}.sr-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.sr-table th,.sr-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e8edf4;padding:12px 13px}.sr-table thead th{z-index:6;color:#44546e;letter-spacing:.03em;text-transform:uppercase;background:#f5f8fc;font-size:11px;position:sticky;top:0}.sr-sticky-column{z-index:3;position:sticky}.sr-sticky-image{min-width:84px;left:0}.sr-sticky-item-code{min-width:220px;left:84px}.sr-table thead .sr-sticky-column{z-index:8;background:#f5f8fc}.sr-table tbody tr:hover .sr-sticky-column,.sr-table tbody tr:hover td{background:#fbfcfe}.sr-item-code{font-weight:900}.sr-image-link{background:#fff;border:1px solid #d6deea;border-radius:9px;place-items:center;width:58px;height:58px;display:inline-grid;overflow:hidden}.sr-image-link img{object-fit:contain;width:100%;height:100%}.sr-no-image{color:#94a0b2;font-size:11px}.sr-badge{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.sr-rec-reorder_now,.sr-risk-critical_stockout{color:#a51f1f;background:#ffe4e4}.sr-rec-reorder_soon,.sr-risk-high_stockout_risk{color:#925700;background:#fff0d5}.sr-rec-plan_reorder,.sr-risk-medium_stockout_risk{color:#776200;background:#fff7c7}.sr-rec-monitor,.sr-risk-healthy_stock,.sr-risk-monitor_stock{color:#17683a;background:#dcf5e5}.sr-rec-do_not_reorder,.sr-risk-overstock_risk,.sr-risk-dead_stock_risk,.sr-risk-no_demand{color:#566174;background:#eceff4}.sr-rec-review_required,.sr-risk-negative_stock,.sr-risk-review_required{color:#6740a2;background:#eee5ff}.sr-reason-cell{max-width:420px;line-height:1.45;white-space:normal!important}.sr-empty-table{color:#7b8799;height:170px;text-align:center!important}.sr-pagination{justify-content:center;align-items:center;gap:18px;padding:16px 20px;display:flex}.sr-pagination button{color:#274160;min-width:92px;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c8d3e2;border-radius:8px;font-weight:900}.sr-pagination button:disabled{cursor:not-allowed;opacity:.45}.sr-pagination span{color:#657288;font-size:13px;font-weight:800}.sr-state-card{text-align:center;align-content:center;place-items:center;min-height:430px;padding:40px;display:grid}.sr-state-card h1{margin:16px 0 6px}.sr-state-card p{color:#68758c;max-width:600px;margin:0}.sr-state-card a{color:#245ed6;margin-top:18px;font-weight:900}.sr-spinner{border:4px solid #dce6f7;border-top-color:#245ed6;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite sr-spin}@keyframes sr-spin{to{transform:rotate(360deg)}}@media (width<=1200px){.sr-mapping-grid,.sr-toolbar,.sr-quantity-options{grid-template-columns:repeat(2,minmax(180px,1fr))}.sr-summary-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (width<=720px){.sr-page{padding:14px}.sr-hero,.sr-source-heading,.sr-table-meta{flex-direction:column;align-items:stretch}.sr-primary-button,.sr-sheet-field{width:100%}.sr-mapping-grid,.sr-toolbar,.sr-summary-grid,.sr-quantity-options{grid-template-columns:1fr}.sr-table-viewport{min-height:340px;max-height:calc(100vh - 150px)}}.welcome-page{color:#101b34;box-sizing:border-box;background:radial-gradient(circle at 0 0,#2563eb1a,#0000 38%),linear-gradient(135deg,#f8faff 0%,#eef3fb 100%);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.welcome-page *,.welcome-page :before,.welcome-page :after{box-sizing:border-box}.welcome-background-shape{pointer-events:none;filter:blur(2px);border-radius:999px;position:absolute}.welcome-shape-one{background:#2563eb14;width:420px;height:420px;top:-160px;right:-110px}.welcome-shape-two{background:#3876e812;width:480px;height:480px;bottom:-190px;left:-120px}.welcome-card{z-index:1;background:#fffffff5;border:1px solid #d3deef;border-radius:28px;width:min(760px,100%);position:relative;overflow:hidden;box-shadow:0 30px 80px #172b4d24,0 8px 24px #172b4d0f}.welcome-brand{border-bottom:1px solid #e3e9f2;align-items:center;gap:14px;padding:24px 30px;display:flex}.welcome-brand-mark{color:#fff;background:#2864e8;border-radius:14px;place-items:center;width:48px;height:48px;font-size:23px;font-weight:900;display:grid;box-shadow:0 10px 24px #2864e840}.welcome-brand-name{color:#14233f;letter-spacing:.14em;margin:0;font-size:15px;font-weight:900}.welcome-brand-description{color:#758198;margin:3px 0 0;font-size:13px}.welcome-content{text-align:center;padding:62px 54px 58px}.welcome-eyebrow{color:#2864e8;letter-spacing:.12em;margin:0 0 12px;font-size:12px;font-weight:900}.welcome-content h1{color:#0d1930;max-width:620px;margin:0 auto;font-size:clamp(34px,5vw,52px);line-height:1.12}.welcome-subtitle{color:#65728a;max-width:570px;margin:20px auto 34px;font-size:16px;line-height:1.75}.welcome-login-button{color:#fff;text-align:left;cursor:pointer;background:#2864e8;border:0;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:min(390px,100%);min-height:86px;margin:0 auto;padding:13px 18px 13px 13px;transition:transform .16s,background-color .16s,box-shadow .16s;display:grid;box-shadow:0 16px 34px #2864e847}.welcome-login-button:hover{background:#1f55ca;transform:translateY(-2px);box-shadow:0 20px 40px #2864e857}.welcome-login-button:active{transform:translateY(0)}.welcome-login-button:focus-visible{outline-offset:4px;outline:4px solid #2864e83d}.welcome-login-icon{background:#ffffff29;border-radius:16px;place-items:center;width:58px;height:58px;display:grid}.welcome-login-text{gap:4px;display:grid}.welcome-login-text strong{font-size:18px}.welcome-login-text small{color:#ffffffc7;font-size:13px}.welcome-login-arrow{font-size:27px;transition:transform .16s}.welcome-login-button:hover .welcome-login-arrow{transform:translate(4px)}.welcome-footer{color:#7a879d;border-top:1px solid #e3e9f2;justify-content:space-between;align-items:center;gap:16px;padding:17px 30px;font-size:12px;display:flex}@media (width<=620px){.welcome-page{padding:14px}.welcome-card{border-radius:22px}.welcome-brand{padding:20px}.welcome-content{padding:46px 22px}.welcome-content h1{font-size:35px}.welcome-footer{flex-direction:column;align-items:flex-start;padding:16px 20px}}.app-shell{width:min(1280px,100% - 2rem);margin:0 auto;padding:2rem 0 3rem}.app-nav-wrap{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.app-dev-badge{color:#92400e;background:#f59e0b1f;border:1px solid #b4530938;border-radius:999px;align-items:center;min-height:36px;padding:.45rem .8rem;font-size:.88rem;font-weight:700;display:inline-flex}.app-top-bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.app-nav{flex-wrap:wrap;gap:.75rem;display:flex}.app-nav__button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-h);cursor:pointer;border-radius:999px;padding:.7rem 1rem;transition:background-color .2s,border-color .2s,color .2s}.app-nav__button.is-active{border-color:var(--accent-strong);background:var(--accent);color:#fff}.app-top-bar__profile{flex:none;position:relative}.app-top-bar__profile-button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-h);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.app-top-bar__profile-button:hover{border-color:var(--accent-border);background:var(--surface-muted)}.app-top-bar__profile-button:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}.app-top-bar__profile-button svg{width:20px;height:20px}.app-profile-panel{z-index:50;border:1px solid var(--border);background:var(--surface);border-radius:24px;gap:1rem;width:min(340px,100vw - 1rem);padding:1.25rem;display:grid;position:absolute;top:calc(100% + .75rem);right:0;box-shadow:0 24px 60px #0f172a2e}.app-profile-panel__avatar{width:56px;height:56px;color:var(--accent);background:linear-gradient(135deg,#2563eb2e,#0f172a14);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.app-profile-panel__avatar svg{width:26px;height:26px}.app-profile-panel__identity,.app-profile-panel__form{gap:.75rem;display:grid}.app-profile-panel__identity strong{color:var(--text-h);font-size:1.05rem}.app-profile-panel__identity span,.app-profile-panel__field span{color:var(--text-b)}.app-profile-panel__field{gap:.35rem;display:grid}.app-profile-panel__field input{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text-h);border-radius:12px;padding:.75rem .9rem}.app-profile-panel__error{color:#b42318;margin:0;font-size:.92rem}.app-profile-panel__actions{gap:.65rem;display:grid}.app-profile-panel__action,.app-profile-panel__logout{width:100%;min-height:42px;font:inherit;cursor:pointer;border-radius:14px;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.app-profile-panel__action{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-h)}.app-profile-panel__action:hover{border-color:var(--accent-border);background:#2563eb14}.app-profile-panel__logout{border:1px solid var(--accent-strong);background:var(--accent);color:#fff}.app-profile-panel__logout:hover{background:var(--accent-strong)}.app-profile-panel__logout:disabled,.app-profile-panel__action:disabled{cursor:not-allowed;opacity:.65}.app-profile-panel__action:focus-visible,.app-profile-panel__logout:focus-visible,.app-profile-panel__field input:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}.app-profile-modal{z-index:80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.app-profile-modal__backdrop{background:#0f172a70;position:absolute;inset:0}.app-profile-modal__card{z-index:1;border:1px solid var(--border);background:var(--surface);border-radius:24px;gap:1rem;width:min(460px,100%);padding:1.5rem;display:grid;position:relative;box-shadow:0 24px 60px #0f172a2e}.app-profile-modal__header{align-items:center;gap:1rem;display:flex}.app-profile-modal__eyebrow{color:var(--muted-color,#61769a);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.82rem;font-weight:700}.app-profile-modal__header h2{color:var(--text-h);margin:0}.app-profile-modal__details{gap:.85rem;margin:0;display:grid}.app-profile-modal__detail{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;gap:.25rem;padding:.9rem 1rem;display:grid}.app-profile-modal__detail dt{color:var(--muted-color,#61769a);font-size:.84rem;font-weight:700}.app-profile-modal__detail dd{color:var(--text-h);margin:0;font-weight:600}.app-profile-modal__actions{justify-content:flex-end;display:flex}.app-nav__icon{width:1rem;height:1rem;display:inline-flex}.app-nav__icon svg{width:100%;height:100%}@media (width<=768px){.app-shell{width:min(100%,100% - 1rem);padding:.75rem 0 1.5rem}.app-top-bar{align-items:flex-start}.app-nav-wrap,.app-nav{flex-direction:column;align-items:flex-start}.app-profile-panel{width:min(340px,100vw - 2rem);right:0}.app-profile-modal__card{padding:1.25rem}}.app-route-loading{min-height:40vh;color:var(--text-muted);place-items:center;display:grid}
