.st-number-input.is-busy[data-v-681a1245]{position:relative}.st-number-loader[data-v-681a1245]{position:absolute;left:50%;top:50%;width:.95rem;height:.95rem;margin-left:-.475rem;margin-top:-.475rem;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:999px;animation:st-spin-681a1245 .7s linear infinite;pointer-events:none}@keyframes st-spin-681a1245{to{transform:rotate(360deg)}}.sidebar-fieldset[data-v-23a8fd73]{border:0;padding:0;margin:0;min-inline-size:0}.part-weight-table[data-v-23a8fd73]{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:.72rem;margin:.35rem 0 .15rem}.part-weight-col-label[data-v-23a8fd73]{width:38%}.part-weight-col-num[data-v-23a8fd73]{width:31%}.part-weight-table th[data-v-23a8fd73],.part-weight-table td[data-v-23a8fd73]{padding:.2rem;border-bottom:none;vertical-align:middle;overflow-wrap:anywhere}.part-weight-table th[data-v-23a8fd73]{font-weight:600;color:#64748b;text-align:right}.part-weight-table th[data-v-23a8fd73]:first-child,.part-weight-table td[data-v-23a8fd73]:first-child{text-align:left;padding-left:0}.part-weight-table td[data-v-23a8fd73]:nth-child(2),.part-weight-table td[data-v-23a8fd73]:nth-child(3),.part-weight-table th[data-v-23a8fd73]:nth-child(2),.part-weight-table th[data-v-23a8fd73]:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0}.part-weight-table .part-weight-total td[data-v-23a8fd73]{font-weight:700;border-top:none;border-bottom:none}.part-weight-table .part-weight-override td[data-v-23a8fd73]{font-weight:600;color:#9a3412;border-bottom:none}.part-weight-table .part-weight-input-row td[data-v-23a8fd73]{vertical-align:middle;border-top:none}.part-weight-cell[data-v-23a8fd73]{display:inline-flex;align-items:center;justify-content:flex-end;gap:.2rem;max-width:100%;min-width:0}.part-weight-unit[data-v-23a8fd73]{flex:0 0 auto;color:#64748b;font-size:.68rem}.formula-caption[data-v-23a8fd73]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.part-weight-input[data-v-23a8fd73]{width:100%;min-width:0;max-width:3.25rem;padding:.12rem .2rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit;font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;box-sizing:border-box}.part-weight-input[data-v-23a8fd73]::-webkit-outer-spin-button,.part-weight-input[data-v-23a8fd73]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.chart-tools[data-v-1c94d09f]{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:.75rem;align-items:flex-start}.chart-tools.is-busy[data-v-1c94d09f]{opacity:.85}.chart-tool[data-v-1c94d09f]{flex:1 1 220px;margin:0;min-width:0}.view-settings[data-v-1c94d09f]{flex:0 1 220px;max-width:260px;min-width:200px}.view-settings-body[data-v-1c94d09f]{padding:.4rem .5rem .45rem!important;display:flex;flex-direction:column;gap:.25rem}.view-settings[data-v-1c94d09f] .st-field{margin-bottom:.35rem}.view-settings[data-v-1c94d09f] .st-field-label-row{margin-bottom:.15rem}.view-settings[data-v-1c94d09f] .st-number-input{min-width:0}.view-settings[data-v-1c94d09f] .st-number-value{flex:1 1 auto;min-width:3.25rem;width:100%}.view-settings-caption[data-v-1c94d09f]{margin:0 0 .15rem;font-size:.65rem;color:#64748b}.view-settings-camera[data-v-1c94d09f]{display:flex;flex-direction:column;gap:.2rem}.view-settings .checkbox.compact[data-v-1c94d09f]{margin:.1rem 0;font-size:.72rem;gap:.35rem}.movie-mode-bar[data-v-1c94d09f]{flex:1.6 1 320px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.55rem .85rem .5rem;display:flex;flex-direction:column;justify-content:flex-start;align-self:flex-start;gap:.25rem}.movie-mode-surface[data-v-1c94d09f]{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.movie-mode-title[data-v-1c94d09f]{font-weight:700;font-size:.95rem;color:#0f172a;white-space:nowrap}.movie-mode-select[data-v-1c94d09f]{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#475569;font-weight:600}.movie-mode-select select[data-v-1c94d09f]{font-size:.75rem;padding:.25rem .4rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.movie-mode-actions[data-v-1c94d09f]{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.movie-mode-actions button[data-v-1c94d09f]{font-size:.78rem;padding:.35rem .7rem}.movie-mode-caption[data-v-1c94d09f]{margin:0;font-size:.7rem;color:#64748b}.lang-switcher[data-v-9edc5f38]{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#64748b;white-space:nowrap}.lang-switcher-label[data-v-9edc5f38]{font-weight:600}.lang-switcher-select[data-v-9edc5f38]{font-size:.75rem;padding:.2rem .35rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#0f172a;cursor:pointer}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:#f1f5f9;color:#0f172a}#app{min-height:100vh}.layout{display:grid;grid-template-columns:320px 1fr;min-height:100vh}@media(max-width:900px){.layout{grid-template-columns:1fr}}.sidebar{background:#fff;border-right:1px solid #e2e8f0;padding:1rem 1rem 1.5rem;overflow-x:hidden;overflow-y:auto;max-height:100vh;color:#31333f;min-width:0}.main{padding:1rem 1.25rem 2rem;overflow-y:auto}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;box-shadow:0 1px 2px #0f172a0d}.field{margin-bottom:.75rem}.field label{display:block;font-size:.75rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.field input,.field select{width:100%;padding:.4rem .5rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem}.field input:disabled,.field select:disabled{background:#f8fafc;color:#94a3b8}.expander{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem}.expander summary{cursor:pointer;padding:.5rem .75rem;font-weight:600;font-size:.8rem;list-style:none}.expander[open] summary{border-bottom:1px solid #e2e8f0}.expander .body{padding:.75rem;min-width:0;overflow-x:hidden}.sidebar-note{margin:.35rem 0 0;font-size:.72rem;color:#64748b}.sidebar-subhead{margin:0 0 .5rem;font-size:.78rem;font-weight:700;color:#334155}.sidebar-subhead-underline{text-decoration:underline;text-underline-offset:3px}.st-field{margin-bottom:.9rem}.st-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.st-field-label{display:block;flex:1 1 auto;min-width:0;font-size:.875rem;font-weight:400;color:#31333f;margin-bottom:0;line-height:1.4}.st-help-wrap{position:relative;display:inline-flex;flex:0 0 auto;margin-left:auto}.st-help-icon{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:50%;border:1px solid rgba(49,51,63,.35);background:transparent;color:#31333fa6;font-size:.62rem;font-weight:700;cursor:help;padding:0;line-height:1;box-shadow:none}.st-help-wrap:hover .st-help-tooltip,.st-help-wrap:focus-within .st-help-tooltip{opacity:1;visibility:visible}.st-help-tooltip{position:absolute;right:0;left:auto;bottom:calc(100% + 8px);transform:none;width:max-content;max-width:16rem;padding:.55rem .7rem;background:#262730;color:#fff;font-size:.78rem;font-weight:400;line-height:1.35;border-radius:.4rem;box-shadow:0 6px 16px #0000002e;opacity:0;visibility:hidden;z-index:30;pointer-events:none;white-space:normal;text-align:left}.st-number-input{display:flex;align-items:stretch;background:#f0f2f6;border:1px solid rgba(49,51,63,.2);border-radius:.5rem;overflow:hidden;min-height:2.5rem;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.st-number-input:focus-within{border-color:#ff4b4b;background:#fff;box-shadow:none}.st-number-input.is-disabled{opacity:.55}.st-number-value{flex:1 1 auto;width:100%;min-width:0;border:none;background:transparent;padding:.5rem .75rem;font-size:.875rem;color:#31333f;outline:none}.st-number-steppers{display:flex;align-items:stretch;flex:0 0 auto;align-self:stretch;border-left:1px solid rgba(49,51,63,.15);background:#f0f2f6}.st-number-input button.st-stepper{display:flex;align-items:center;justify-content:center;width:2rem;min-width:2rem;height:auto;min-height:0;padding:0;margin:0;border:none;border-radius:0;background:transparent;color:#31333f;font-size:1.15rem;font-weight:400;line-height:1;cursor:pointer;box-shadow:none}.st-number-input button.st-stepper+button.st-stepper{border-left:1px solid rgba(49,51,63,.15)}.st-number-input button.st-stepper-minus:hover:not(:disabled),.st-number-input button.st-stepper-plus:hover:not(:disabled){background:#0068c9;color:#fff}.st-number-input button.st-stepper:disabled{cursor:not-allowed;opacity:.45}.st-radio-row{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.st-radio-option{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:#31333f;cursor:pointer}.st-radio-option input{width:1rem;height:1rem;margin:0;accent-color:#ff4b4b}.st-caption{margin:.15rem 0 .65rem;font-size:.8rem;line-height:1.45;color:#6b7280}.st-caption strong{color:#31333f;font-weight:600}.action-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:1rem}.action-btn{display:flex;align-items:center;justify-content:center;min-height:2.75rem;height:2.75rem;padding:0;border-radius:10px;font-size:.95rem;font-weight:700;box-shadow:0 1px 2px #0f172a1f;white-space:nowrap}.action-btn-inner{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.action-icon{width:1rem;height:1rem;flex:0 0 auto}.action-reset{background:#e53e3e;color:#fff;border:1px solid #e53e3e}.action-calculate{background:linear-gradient(135deg,#f6e05e,#ecc94b);color:#111827;border:1px solid #ecc94b}.action-export{background:#19b0f0;color:#fff;border:1px solid #19b0f0}.action-import{position:relative;background:#11b050;color:#fff;border:1px solid #11b050;cursor:pointer;overflow:hidden}.action-import input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.action-import.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.action-import span{pointer-events:none}.filename-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a61}.filename-modal{width:min(100%,28rem);padding:1.5rem}.filename-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.filename-modal-title{margin:0;font-size:1.1rem}.filename-modal-subtitle{margin:.35rem 0 0;color:#64748b;font-size:.9rem}.filename-close-btn{width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:#e2e8f0;color:#475569;font-size:1.25rem;line-height:1}.filename-form{display:grid;gap:.85rem}.filename-field{display:grid;gap:.35rem}.filename-field span{font-size:.83rem;font-weight:600;color:#475569}.filename-field input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:.7rem .85rem;font-size:.92rem}.filename-preview{margin-top:1rem;padding:.9rem 1rem;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.filename-preview-label{font-size:.8rem;font-weight:800;letter-spacing:.08em;color:#475569}.filename-preview-line{margin-top:.4rem;font-style:italic;overflow-wrap:anywhere}.filename-preview-stamp{color:#64748b}.filename-preview-name{color:#e53e3e}.filename-preview-placeholder{margin-top:.4rem;color:#64748b;font-style:italic}.filename-modal-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:.65rem;margin-top:1.2rem}.results-hint{margin-top:1rem}.results-title{margin:.5rem 0 .35rem;padding-bottom:.25rem;font-size:.85rem;font-weight:650;color:#334155;border-bottom:2px solid #e2e8f0}.results-card{margin-top:0}.btn-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}button{cursor:pointer;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:.5rem;font-size:.8rem;font-weight:600}button.primary{background:#2563eb;color:#fff;border-color:#2563eb}button:disabled{opacity:.6;cursor:not-allowed}button.st-help-icon{width:1.05rem;height:1.05rem;padding:0;border-radius:50%;border:1px solid rgba(49,51,63,.35);background:transparent;font-size:.62rem;font-weight:700}.st-number-input button.st-stepper{width:2rem;min-width:2rem;padding:0;border-radius:0;border:none;background:transparent;font-size:1.15rem;font-weight:400}.valve-badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.28rem .65rem;border-radius:999px}.valve-badge.open{background:#dcfce7;color:#166534;border:1px solid #86efac}.valve-badge.closed{background:#ffedd5;color:#9a3412;border:1px solid #fdba74}.alert{padding:.5rem .75rem;border-radius:8px;font-size:.8rem;margin-bottom:.5rem}.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.alert.info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.view-placeholder{min-height:420px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;color:#64748b;text-align:center;padding:2rem}.scene-svg,.scene-three{width:100%;min-height:460px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.scene-three{height:460px;overflow:hidden}.plotly-wrap{width:100%;min-height:600px;height:600px}.plotly-wrap .js-plotly-plot,.plotly-wrap .plot-container{width:100%!important;height:100%!important}.panel-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-bottom:.75rem}.panel-toolbar-left{min-width:0}.panel-valve-badge{justify-self:center;grid-column:2}.separator-type-line{margin:.25rem 0 0;font-size:.72rem;color:#475569;font-weight:600}.view-switch{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;grid-column:3;justify-self:end}.view-switch .detail-view-btn{min-width:4.5rem}.movie-card{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.movie-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.movie-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(2,minmax(140px,180px));gap:.75rem}.slider-wrap{position:relative;margin-top:.75rem;padding:1.35rem 2.75rem .4rem}.movie-slider{width:100%;display:block}.movie-meta{display:flex;gap:.65rem 1.35rem;flex-wrap:wrap;margin-top:1rem;padding-top:.85rem;border-top:1px solid #eef2f7;font-size:.75rem;color:#64748b}.movie-meta>span{display:inline-flex;align-items:center;white-space:nowrap}.movie-meta strong{color:#334155}body.export-modal-open{overflow:hidden}.export-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.export-modal{width:min(420px,100%);padding:1rem 1.1rem;box-shadow:0 20px 50px #0f172a40}.export-modal-title{margin:0;font-size:1rem}.export-modal-subtitle{margin:.35rem 0 .85rem;font-size:.8rem;color:#64748b}.export-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem}.export-cancel-btn{min-width:88px}.export-progress{margin-bottom:.75rem;padding:.65rem .85rem}.export-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem;font-size:.78rem}.export-progress-label{color:#334155}.export-progress-pct{font-weight:700;color:#2563eb;font-variant-numeric:tabular-nums}.export-progress-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.export-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .2s ease}.marker{position:absolute;top:0;transform:translate(-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.2rem;z-index:1}.marker-line{display:block;width:2px;height:18px;background:#dc2626;margin:0 auto}.marker-label{display:block;font-size:.65rem;color:#dc2626;text-align:center;white-space:nowrap;line-height:1}.marker-close .marker-line{background:#1e293b}.marker-close .marker-label{color:#1e293b;font-weight:700}.checkbox{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem;font-size:.8rem}.radio-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.radio-option{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;cursor:pointer}.svg-label{font-size:18px;fill:#334155;font-weight:600}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:.4rem}@media(max-width:900px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.metrics,.action-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.results-subtitle-spaced{margin-top:.9rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:.75rem}.results-subtitle{margin:0 0 .5rem;font-size:.82rem;color:#0f172a}.mass-table{width:100%;border-collapse:collapse;font-size:.78rem}.mass-table th,.mass-table td{padding:.35rem .45rem;text-align:left;border-bottom:1px solid #e2e8f0}.mass-table th{color:#475569;font-weight:700}.mass-table-total td{font-weight:700;color:#1e293b}.trim-note{margin:.75rem 0 0;font-size:.75rem;color:#64748b;line-height:1.45}.results-list{display:grid;gap:.35rem;font-size:.8rem;color:#334155}.metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.3rem .45rem}.metric label{display:block;font-size:.62rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:#94a3b8;margin-bottom:.1rem}.metric span{font-size:.82rem;font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.tech-line{font-size:.67rem;color:#94a3b8;margin:.4rem 0 0;padding-top:.35rem;border-top:1px solid #f1f5f9;font-variant-numeric:tabular-nums}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-page__lang{position:fixed;top:16px;right:16px;z-index:10}.auth-page__bg{display:none}.auth-shell{position:relative;z-index:1;width:100%;max-width:440px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#fff;font-weight:600;font-size:1.05rem}.auth-brand__icon{width:48px;height:42px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;letter-spacing:-.02em;color:#fff;box-shadow:0 10px 20px #667eea66;border:2px solid rgba(255,255,255,.35)}.auth-card{width:100%;background:#fff;border-radius:12px;padding:36px 32px;box-shadow:0 20px 60px #0000004d}.auth-card h1{margin:0 0 4px;font-size:1.75rem;font-weight:700;color:#2d3748}.auth-card label{display:block;margin-bottom:6px;font-size:.76rem;font-weight:600;color:#4a5568;text-transform:none;letter-spacing:normal;line-height:1.35}.auth-field{margin-bottom:15px}.auth-card input:not(.otp-input__box){width:100%;box-sizing:border-box;padding:8px 12px;height:38px;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;color:#2d3748;background:#fff;transition:border-color .3s}.auth-card input:not(.otp-input__box):focus{outline:none;border-color:#667eea;box-shadow:none}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-btn{width:100%;padding:14px 28px;margin-top:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:none}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-btn-secondary,.auth-link-btn{width:100%;margin-top:14px;padding:11px;background:transparent;color:#667eea;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s,border-color .2s}.auth-link-btn{width:auto;border:none;padding:0;margin:0;text-decoration:none;display:inline}.auth-btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.auth-btn-secondary:disabled{opacity:.55;cursor:not-allowed;color:#a0aec0}.auth-resend-row{text-align:center;margin-top:16px;font-size:.9rem;color:#718096}.auth-resend-timer{font-variant-numeric:tabular-nums;font-weight:600;color:#4a5568}.otp-input{display:flex;gap:10px;justify-content:center;margin:8px 0 20px}.otp-input__box{width:48px!important;height:48px!important;padding:0!important;margin:0!important;text-align:center;font-size:1.35rem!important;font-weight:700;border-radius:6px!important;border:1px solid #e2e8f0!important;background:#fff!important;color:#2d3748;transition:border-color .3s}.otp-input__box:focus{border-color:#667eea!important;box-shadow:none!important;background:#fff!important}.otp-input--disabled .otp-input__box{opacity:.6;background:#edf2f7!important}.auth-alert{padding:12px 14px;border-radius:6px;margin-bottom:18px;font-size:.9rem;line-height:1.4}.auth-alert-error{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.auth-alert-success{background:#c6f6d5;color:#22543d;border:1px solid #68d391}.auth-alert-info{background:#edf2f7;color:#4a5568;border:1px solid #cbd5e0}.auth-footer{margin-top:24px;text-align:center;font-size:.9rem;color:#718096}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-inline-links{display:flex;justify-content:space-between;align-items:center;margin-top:-8px;margin-bottom:16px;font-size:.88rem}.auth-inline-links a{color:#667eea;font-weight:600;text-decoration:none}.auth-inline-links a:hover{text-decoration:underline}.auth-recaptcha{display:flex;flex-direction:column;align-items:center;margin:8px 0 16px}.auth-recaptcha-error{margin:0 0 12px;font-size:.85rem;color:#e53e3e;text-align:center}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.app-shell__body{flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column}.app-shell__container{flex:1 1 auto;display:flex;flex-direction:column;width:100%;padding-bottom:28px;min-height:100%;box-sizing:border-box}.app-shell__container.container{padding-top:20px}@media(max-width:1200px){.app-shell__container.container{padding-top:14px}}@media(max-width:992px){.app-shell__container.container{padding-top:12px}}@media(max-width:768px){.app-shell__container.container{padding-top:10px}}.app-shell__content{flex:1 1 auto;width:100%;display:flex;flex-direction:column}.app-top-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:16px;padding:10px 16px;background:#edf2f7;border-radius:8px}.app-top-bar__home{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;border-radius:6px;flex-shrink:0}.app-top-bar__home:hover{opacity:.92;box-shadow:0 4px 12px #667eea59}.app-top-bar__user{flex:1 1 auto;min-width:0;font-size:.88rem;color:#4a5568;text-align:center}.app-top-bar__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.language-select{display:flex;align-items:center;flex-shrink:0}.language-select__input{box-sizing:border-box;margin:0;padding:8px 32px 8px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:.85rem;font-weight:600;line-height:1.2;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-height:36px}.language-select__input--bar{color:#2d3748}.language-select__input--auth{color:#2d3748;box-shadow:0 2px 8px #0000001f}.app-top-bar__logout{box-sizing:border-box;padding:8px 14px;min-height:36px;background:#e53e3e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;line-height:1.2;flex-shrink:0}.app-top-bar__logout:hover{background:#c53030}.legal-page-inner{flex:1 1 auto;width:100%;max-width:880px;margin:0 auto;padding:36px 44px 44px;background:#fff;border-radius:12px;box-shadow:0 16px 48px #0000002e}.legal-page__title{margin:0 0 28px;padding-bottom:16px;border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.75rem;font-weight:700}.legal-page__body{color:#4a5568;line-height:1.7;font-size:.95rem}.legal-page__body h2{margin:28px 0 12px;color:#2d3748;font-size:1.2rem;font-weight:700}.legal-page__body h2:first-child{margin-top:0}.legal-page__body h3{margin:18px 0 8px;color:#4a5568;font-size:1.05rem;font-weight:600}.legal-page__body p{margin:0 0 14px}.legal-page__body ul{margin:0 0 16px 1.25rem;padding:0}.legal-page__body li{margin-bottom:8px}.legal-page__body strong{color:#2d3748}.app-footer{width:100%;flex-shrink:0;margin-top:auto;padding:18px 32px 22px;background:linear-gradient(135deg,#5a67d8,#6b46a1);border-top:1px solid rgba(255,255,255,.2);box-sizing:border-box}.app-footer__inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px 24px;min-height:28px}.app-footer__copy{grid-column:2;margin:0;padding:0 12px;text-align:center;font-size:.85rem;font-weight:500;color:#fff;line-height:1.4;white-space:nowrap}.app-footer__nav{grid-column:3;justify-self:end;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:20px}.app-footer__link{color:#fff;font-weight:600;font-size:.85rem;text-decoration:none;opacity:.95}.app-footer__link:hover{text-decoration:underline;opacity:1}@media(max-width:768px){.app-footer{padding:16px 20px 20px}.app-footer__inner{grid-template-columns:1fr;text-align:center}.app-footer__copy{grid-column:1;white-space:normal}.app-footer__nav{grid-column:1;justify-self:center;justify-content:center}}@media(max-width:768px){.legal-page-inner{padding:24px 20px 28px}.app-top-bar__user{order:3;width:100%;text-align:left}}@media(max-width:400px){.otp-input__box{width:42px!important;height:44px!important;font-size:1.2rem!important}.otp-input{gap:6px}.auth-card{padding:28px 20px}}
