*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1B2A4A;--color-primary-light: #2D4470;--color-primary-hover: #1E3258;--color-primary-ghost: rgba(27, 42, 74, .06);--color-global: #3B82F6;--color-global-bg: #EFF6FF;--color-global-bg-hover: #DBEAFE;--color-global-border: #93C5FD;--color-global-ring: rgba(59, 130, 246, .25);--color-local: #D97706;--color-local-bg: #FFFBEB;--color-local-bg-hover: #FEF3C7;--color-local-border: #FCD34D;--color-local-ring: rgba(245, 158, 11, .25);--color-success: #10B981;--color-success-bg: #ECFDF5;--color-success-border: #6EE7B7;--color-warning: #F59E0B;--color-warning-bg: #FFFBEB;--color-danger: #EF4444;--color-danger-bg: #FEF2F2;--color-danger-border: #FCA5A5;--color-info: #3B82F6;--color-info-bg: #EFF6FF;--color-bg: #F1F5F9;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-surface-sunken: #F8FAFC;--color-surface-overlay: rgba(15, 23, 42, .4);--color-border: #E2E8F0;--color-border-strong: #CBD5E1;--color-border-subtle: #F1F5F9;--color-text: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-text-inverse: #FFFFFF;--color-text-link: #2563EB;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 8px 10px -6px rgba(15, 23, 42, .05);--shadow-ring-global: 0 0 0 3px var(--color-global-ring);--shadow-ring-local: 0 0 0 3px var(--color-local-ring);--shadow-ring-primary: 0 0 0 3px rgba(27, 42, 74, .15);--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .3s ease;--header-height: 56px;--sidebar-width: 260px;--content-max-width: 1200px}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);letter-spacing:var(--tracking-normal)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md);font-weight:500}p{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}small,.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-mono{font-family:var(--font-mono);font-size:.9em}.label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-1);letter-spacing:var(--tracking-wide)}.label-uppercase{display:block;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:var(--text-sm);font-weight:500;line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none;height:36px}.btn:focus-visible{outline:none;box-shadow:var(--shadow-ring-primary)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--color-primary-ghost);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse);border-color:var(--color-danger)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-accent{background:var(--color-global);color:var(--color-text-inverse);border-color:var(--color-global)}.btn-accent:hover{background:#2563eb;border-color:#2563eb}.btn-sm{height:30px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{height:42px;padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.input,input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{width:100%;height:36px;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}.input:hover,input:hover,select:hover{border-color:var(--color-border-strong)}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-primary-light);box-shadow:var(--shadow-ring-primary)}.input::placeholder,input::placeholder{color:var(--color-text-muted)}textarea{height:auto;min-height:80px;resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}input[type=number]{-moz-appearance:textfield;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:0}input[type=number]:focus::-webkit-inner-spin-button,input[type=number]:focus::-webkit-outer-spin-button{opacity:1}.toggle{position:relative;width:40px;height:22px;background:var(--color-border-strong);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-base);border:none;padding:0;flex-shrink:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform var(--transition-base);box-shadow:var(--shadow-xs)}.toggle.active{background:var(--color-primary)}.toggle.active:after{transform:translate(18px)}.field-global{background-color:var(--color-global-bg);border-color:var(--color-global-border)}.field-global:focus{border-color:var(--color-global);box-shadow:var(--shadow-ring-global)}.field-global-label{color:var(--color-global)}.field-global-indicator{display:inline-block;width:8px;height:8px;background:var(--color-global);border-radius:50%;margin-right:var(--space-1)}.field-local{background-color:var(--color-local-bg);border-color:var(--color-local-border)}.field-local:focus{border-color:var(--color-local);box-shadow:var(--shadow-ring-local)}.field-local-label{color:var(--color-local)}.field-local-indicator{display:inline-block;width:8px;height:8px;background:var(--color-local);border-radius:50%;margin-right:var(--space-1)}.field-hint{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px;letter-spacing:var(--tracking-wide)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);border-radius:var(--radius-full);white-space:nowrap;line-height:1.6}.badge-draft{background:var(--color-border);color:var(--color-text-secondary)}.badge-in-progress,.badge-in_progress{background:#dbeafe;color:#1d4ed8}.badge-calculated,.badge-completed{background:var(--color-success-bg);color:#047857}.badge-version{background:var(--color-primary);color:var(--color-text-inverse);font-variant-numeric:tabular-nums}.badge-global{background:var(--color-global-bg);color:var(--color-global)}.badge-local{background:var(--color-local-bg);color:var(--color-local)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-subtle);background:var(--color-surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}thead{position:sticky;top:0;z-index:1}thead th{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);text-align:left;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);white-space:nowrap}tbody td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--color-surface-sunken)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr.row-total td{font-weight:600;background:var(--color-surface-sunken);border-top:2px solid var(--color-border)}tbody tr.row-section td{font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);padding-top:var(--space-4);background:transparent}tbody tr.row-margin td{font-weight:700;background:var(--color-primary-ghost);color:var(--color-primary)}.cell-input{width:100%;height:30px;padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:right;background:transparent;font-variant-numeric:tabular-nums;transition:all var(--transition-fast)}.cell-input:hover{border-color:var(--color-border);background:var(--color-surface)}.cell-input:focus{border-color:var(--color-primary-light);background:var(--color-surface);box-shadow:var(--shadow-ring-primary)}.cell-input.field-global{background:var(--color-global-bg)}.cell-input.field-global:focus{border-color:var(--color-global);box-shadow:var(--shadow-ring-global)}.cell-input.field-local{background:var(--color-local-bg)}.cell-input.field-local:focus{border-color:var(--color-local);box-shadow:var(--shadow-ring-local)}td .cell-input{width:100%;height:30px;padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:right;background:transparent;font-variant-numeric:tabular-nums;transition:all var(--transition-fast)}td .cell-input:hover{border-color:var(--color-border);background:var(--color-surface)}td .cell-input:focus{border-color:var(--color-primary-light);background:var(--color-surface);box-shadow:var(--shadow-ring-primary)}td .cell-input.field-global{background:var(--color-global-bg)}td .cell-input.field-global:focus{border-color:var(--color-global);box-shadow:var(--shadow-ring-global)}td .cell-input.field-local{background:var(--color-local-bg)}td .cell-input.field-local:focus{border-color:var(--color-local);box-shadow:var(--shadow-ring-local)}.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-width:320px;max-width:480px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);pointer-events:auto;animation:toast-in .3s cubic-bezier(.21,1.02,.73,1) forwards}.toast-exit{animation:toast-out .2s ease forwards}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-success{border-left:3px solid var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}.toast-info .toast-icon{color:var(--color-info)}.toast-message{flex:1;font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.toast-dismiss{flex-shrink:0;background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.toast-dismiss:hover{color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.96)}}.modal-overlay{position:fixed;inset:0;background:var(--color-surface-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .15s ease}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:520px;max-height:85vh;overflow:auto;animation:modal-in .2s cubic-bezier(.21,1.02,.73,1)}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.modal-body{padding:var(--space-5) var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-subtle);display:flex;justify-content:flex-end;gap:var(--space-2)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.spinner-lg{width:36px;height:36px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.field-validation{margin-top:4px;margin-bottom:6px;min-height:1em;font-size:var(--text-xs);color:var(--color-danger)}.field-label-group{display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.empty-state-icon{width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--space-4);opacity:.5}.empty-state h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:360px;margin-bottom:var(--space-5)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-progress{display:flex;align-items:center;gap:0;padding:var(--space-3) 0}.wizard-step-dot{display:flex;align-items:center;gap:0}.wizard-step-dot .dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;border:2px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.wizard-step-dot .dot:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.wizard-step-dot .dot.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 0 3px #1b2a4a26}.wizard-step-dot .dot.completed{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.wizard-step-dot .connector{width:24px;height:2px;background:var(--color-border);flex-shrink:0}.wizard-step-dot .connector.completed{background:var(--color-success)}.title-extra-large{font-size:xx-large}.contacts-footer{background-color:#0f0f72;width:fit-content;padding:10px;border-radius:6px}.text-white{color:#fff!important}.about-page p{margin:1em 0}.about-page h2{margin:.83em 0}.about-page h3{margin:1em 0}.about-page ol,.about-page ul{margin:1em 0;padding-left:40px}.about-page li{margin:.25em 0}.section-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-6) 0 var(--space-4)}.section-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.section-divider span{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);white-space:nowrap}.cascade-row{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.cascade-row:nth-child(odd){background:var(--color-surface-sunken)}.cascade-row .cascade-label{flex:1;color:var(--color-text-secondary)}.cascade-row .cascade-value{font-weight:600;font-variant-numeric:tabular-nums;min-width:100px;text-align:right}.cascade-row .cascade-op{width:24px;text-align:center;color:var(--color-text-muted);font-weight:500}.cascade-row.cascade-result{background:var(--color-primary-ghost);font-weight:600}.cascade-row.cascade-result .cascade-label{color:var(--color-primary)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border)}.tab{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
