@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@layer layout{#app{display:flex;flex-direction:column;min-height:100vh}#app.has-sidebar{display:grid;grid-template-columns:var(--sidebar-width) 1fr}.main-wrapper{display:grid;grid-template-rows:var(--header-height) 1fr var(--footer-height);min-height:100vh;overflow:hidden}.content{overflow-y:auto;padding:var(--space-8)}.content-inner{max-width:var(--content-max-width);margin:0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-8);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:var(--z-header)}.header-left,.header-right{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.header-right{justify-content:flex-end}.header-breadcrumb{display:flex;flex-direction:column}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.breadcrumb-label{font-size:10px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em;font-weight:var(--weight-bold)}.breadcrumb-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.section-header-grid{display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--space-6);margin-bottom:var(--space-12)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-divider{width:1px;height:32px;background:var(--border-subtle);margin:0 var(--space-4);flex-shrink:0}.user-profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast)}.user-profile:hover{background:var(--bg-hover)}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1.2}.user-role{font-size:10px;color:var(--text-tertiary)}.user-avatar{width:36px;height:36px;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--weight-bold);font-size:var(--text-base);box-shadow:var(--shadow-sm)}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);background:var(--bg-elevated);border-top:1px solid var(--border-subtle)}.section{margin-bottom:var(--space-8)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.section-ref{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);padding-bottom:4px}.form-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}.form-grid--2col,.form-grid--3col{grid-template-columns:1fr}.input-row-dv{display:grid;grid-template-columns:1fr 80px;gap:var(--space-4)}.info-box{background:var(--bg-surface);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);border-left:4px solid var(--accent)}.info-box p{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.form-grid .full-width{grid-column:1 / -1}@media (min-width: 768px){.form-grid--2col,.form-grid--3col{grid-template-columns:1fr 1fr}}@media (min-width: 1200px){.form-grid--3col{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 767px){#app{grid-template-columns:1fr}.sidebar{display:none}.sidebar.is-open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sidebar)}}}@layer utilities{.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-6{margin-bottom:var(--space-6)}.mb-10{margin-bottom:var(--space-10)}.mb-12{margin-bottom:var(--space-12)}.w-full{width:100%}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.text-2xl{font-size:var(--text-2xl)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-tertiary{color:var(--text-tertiary)}.input-readonly{background:var(--bg-hover);cursor:not-allowed;color:var(--text-secondary)}}@layer base{input,select,textarea{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:0 var(--space-4);font-size:var(--text-base);color:var(--text-primary);font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #f59f0a1f}input::placeholder{color:var(--text-tertiary)}}@layer components{.input-group{display:flex;flex-direction:column;gap:var(--space-1)}.input-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);letter-spacing:.01em}.input{height:44px;padding:0 var(--space-4);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);outline:none}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #f59f0a1f}.input:hover:not(:focus){border-color:var(--border-default)}.input--currency{text-align:right;font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--text-sm);letter-spacing:-.02em}.input-group.has-error .input{border-color:var(--border-error)}.input-group.has-error .input:focus{box-shadow:0 0 0 3px #df3a3a1f}.input-error{font-size:var(--text-xs);color:var(--error);display:none}.input-group.has-error .input-error{display:block}.input-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.input[readonly]{background:transparent;border-style:dashed;cursor:default}.select{height:44px;padding:0 var(--space-4);padding-right:var(--space-10);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px;cursor:pointer}.checkbox-group,.radio-group{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}}@layer components{.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-family:inherit;border:1px solid transparent;white-space:nowrap}.btn-sm{height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.btn-md{height:48px;padding:0 var(--space-8)}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.btn-primary:active,.btn-secondary:active{transform:translateY(0)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}}@layer components{.table-container{width:100%;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.table-container::-webkit-scrollbar{height:6px}.table-container::-webkit-scrollbar-track{background:transparent}.table-container::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}.data-table{width:100%;min-width:800px;border-collapse:collapse}.data-table thead{background:var(--bg-elevated)}.data-table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-align:left;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);vertical-align:middle}.data-table .cell-input{height:36px;padding:0 var(--space-3);background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);width:100%}.data-table .cell-input:focus{border-color:var(--border-focus);outline:none}.data-table .cell-currency{text-align:right;font-family:var(--font-mono);font-size:var(--text-sm)}.data-table .row-total{background:var(--accent-soft);font-weight:var(--weight-semibold)}.data-table .row-total td{border-top:2px solid var(--accent);color:var(--accent-text)}.table-add-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);width:100%;background:transparent;border:1px dashed var(--border-subtle);border-radius:0 0 var(--radius-lg) var(--radius-lg);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);margin-top:-1px}.table-add-row:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}}@layer components{.summary-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card__label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.summary-card__value{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary)}.summary-card__value--positive{color:var(--success)}.summary-card__value--negative{color:var(--error)}.summary-card__value--accent{color:var(--accent)}.casilla-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.casilla-card__number{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--accent);min-width:28px}.casilla-card__label{flex:1;font-size:var(--text-sm);color:var(--text-secondary)}.casilla-card__value{font-family:var(--font-mono);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text-primary)}}@layer components{.sidebar{width:var(--sidebar-width);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-subtle);overflow-y:auto;z-index:var(--z-sidebar)}.sidebar__logo{padding:var(--space-8) var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-1)}.logo-text{font-size:var(--text-xl);font-weight:var(--weight-bold);background:linear-gradient(135deg,var(--accent) 0%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.logo-tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-weight:var(--weight-semibold);display:flex;align-items:center;gap:var(--space-2)}.version-pill{background:var(--bg-elevated);color:var(--accent);padding:2px 6px;border-radius:4px;font-size:8px;border:1px solid var(--accent-soft)}.sidebar__nav{flex:1;padding:var(--space-4) 0}.nav-group__title{padding:var(--space-2) var(--space-6);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-top:var(--space-4)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);color:var(--text-secondary);background:transparent;border:none;border-left:3px solid transparent;width:100%;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-decoration:none;font-family:inherit}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent-text);border-left-color:var(--accent)}.nav-item.is-disabled{opacity:.4;cursor:not-allowed;filter:grayscale(1);pointer-events:none}.nav-item.is-completed .nav-item__icon{color:var(--success)}.nav-item.has-error .nav-item__icon{color:var(--error)}.nav-item__icon{font-size:var(--text-md);min-width:20px;text-align:center}.nav-item__label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.sidebar-back-btn{margin:var(--space-4) var(--space-6);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast)}.sidebar-back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}}@layer sections{.preview-210{background:#fff;color:#000;padding:var(--space-12);font-family:var(--font-ui);max-width:850px;margin:0 auto;box-shadow:var(--shadow-lg)}.f210-header{border:2px solid #000;padding:var(--space-4);display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.f210-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #000}.f210-box{border:1px solid #ccc;padding:var(--space-2);display:flex;flex-direction:column}.f210-box__num{font-size:10px;font-weight:700;color:#666}.f210-box__val{font-family:var(--font-mono);font-size:14px;text-align:right}}@layer sections{.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:var(--space-6)}.auth-card{width:100%;max-width:420px;padding:var(--space-10);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:fadeIn var(--duration-normal) var(--ease-out)}.auth-card__title{text-align:center;margin-bottom:var(--space-1);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent) 0%,#fff 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:shine 4s linear infinite}.auth-card__subtitle{text-align:center;margin-bottom:var(--space-8);font-size:var(--text-sm);color:var(--text-secondary)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:48px;padding:0 var(--space-6);background:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.totp-inputs{display:flex;gap:var(--space-3);justify-content:center;margin:var(--space-6) 0}.totp-input{width:48px;height:56px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-bold);background:var(--bg-input);border:2px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-out)}.totp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f59f0a1f}.auth-card__footer{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.auth-card__footer a{color:var(--accent);font-weight:var(--weight-semibold);margin-left:var(--space-1);transition:color var(--duration-fast)}.auth-card__footer a:hover{color:var(--accent-hover);text-decoration:underline}}@layer components{.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal-backdrop)}.modal-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:500px;box-shadow:var(--shadow-lg);z-index:var(--z-modal);overflow:hidden}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--accent)}.modal-close{background:transparent;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;transition:color var(--duration-fast)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-6);background:var(--bg-surface);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--space-3)}}@layer utilities{@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #f59f0a00}50%{box-shadow:0 0 16px 4px #f59f0a26}}@keyframes countUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{to{background-position:200% center}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-slide-in{animation:slideInRight var(--duration-normal) var(--ease-out)}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-count{animation:countUp var(--duration-fast) var(--ease-out)}@keyframes toastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-enter{animation:toastIn var(--duration-normal) var(--ease-out)}.toast-exit{animation:toastOut var(--duration-normal) var(--ease-out)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-out{animation:fadeOut var(--duration-fast) var(--ease-out) forwards}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out) forwards}.animate-slide-down{animation:slideDown var(--duration-fast) var(--ease-out) forwards}}@layer reset,tokens,base,layout,components,sections,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}a{text-decoration:none;color:inherit}table{border-collapse:collapse;border-spacing:0}}@layer tokens{:root{--bg-primary: hsl(222, 47%, 6%);--bg-surface: hsl(222, 40%, 10%);--bg-elevated: hsl(222, 35%, 14%);--bg-hover: hsl(222, 30%, 18%);--bg-input: hsl(222, 38%, 12%);--bg-overlay: hsla(222, 47%, 4%, .85);--accent: hsl(38, 92%, 50%);--accent-hover: hsl(38, 92%, 58%);--accent-soft: hsl(38, 40%, 15%);--accent-text: hsl(38, 92%, 50%);--success: hsl(152, 69%, 40%);--success-soft: hsl(152, 40%, 12%);--error: hsl(0, 72%, 55%);--error-soft: hsl(0, 40%, 12%);--warning: hsl(38, 80%, 50%);--warning-soft: hsl(38, 40%, 12%);--info: hsl(210, 70%, 55%);--info-soft: hsl(210, 40%, 12%);--text-primary: hsl(210, 40%, 96%);--text-secondary: hsl(215, 20%, 65%);--text-tertiary: hsl(215, 15%, 45%);--text-on-accent: hsl(222, 47%, 6%);--text-link: hsl(210, 70%, 65%);--border-subtle: hsl(222, 25%, 18%);--border-default: hsl(222, 25%, 22%);--border-focus: var(--accent);--border-error: var(--error);--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.6;--leading-relaxed: 1.75;--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: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px hsla(0, 0%, 0%, .3);--shadow-md: 0 4px 12px hsla(0, 0%, 0%, .3);--shadow-lg: 0 8px 24px hsla(0, 0%, 0%, .4);--shadow-glow: 0 0 20px hsla(38, 92%, 50%, .15);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--sidebar-width: 280px;--sidebar-width-collapsed: 64px;--header-height: 64px;--footer-height: 56px;--content-max-width: 960px;--z-base: 1;--z-sidebar: 100;--z-header: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500}}@layer base{body{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--text-primary);background-color:var(--bg-primary);line-height:var(--leading-normal)}h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}h3{font-size:var(--text-xl);font-weight:var(--weight-semibold)}h4{font-size:var(--text-md);font-weight:var(--weight-semibold)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-default)}}@layer layout{#app{display:flex;flex-direction:column;min-height:100vh}#app.has-sidebar{display:grid;grid-template-columns:var(--sidebar-width) 1fr}.main-wrapper{display:grid;grid-template-rows:var(--header-height) 1fr var(--footer-height);min-height:100vh;overflow:hidden}.content{overflow-y:auto;padding:var(--space-8)}.content-inner{max-width:var(--content-max-width);margin:0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-8);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:var(--z-header)}.header-left,.header-right{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.header-right{justify-content:flex-end}.header-breadcrumb{display:flex;flex-direction:column}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.breadcrumb-label{font-size:10px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em;font-weight:var(--weight-bold)}.breadcrumb-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.section-header-grid{display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--space-6);margin-bottom:var(--space-12)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-divider{width:1px;height:32px;background:var(--border-subtle);margin:0 var(--space-4);flex-shrink:0}.user-profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast)}.user-profile:hover{background:var(--bg-hover)}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1.2}.user-role{font-size:10px;color:var(--text-tertiary)}.user-avatar{width:36px;height:36px;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--weight-bold);font-size:var(--text-base);box-shadow:var(--shadow-sm)}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);background:var(--bg-elevated);border-top:1px solid var(--border-subtle)}.section{margin-bottom:var(--space-8)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.section-ref{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);padding-bottom:4px}.form-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}.form-grid--2col,.form-grid--3col{grid-template-columns:1fr}.input-row-dv{display:grid;grid-template-columns:1fr 80px;gap:var(--space-4)}.info-box{background:var(--bg-surface);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);border-left:4px solid var(--accent)}.info-box p{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.form-grid .full-width{grid-column:1 / -1}@media (min-width: 768px){.form-grid--2col,.form-grid--3col{grid-template-columns:1fr 1fr}}@media (min-width: 1200px){.form-grid--3col{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 767px){#app{grid-template-columns:1fr}.sidebar{display:none}.sidebar.is-open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sidebar)}}}@layer utilities{.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-6{margin-bottom:var(--space-6)}.mb-10{margin-bottom:var(--space-10)}.mb-12{margin-bottom:var(--space-12)}.w-full{width:100%}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.text-2xl{font-size:var(--text-2xl)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-tertiary{color:var(--text-tertiary)}.input-readonly{background:var(--bg-hover);cursor:not-allowed;color:var(--text-secondary)}}@layer base{input,select,textarea{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:0 var(--space-4);font-size:var(--text-base);color:var(--text-primary);font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #f59f0a1f}input::placeholder{color:var(--text-tertiary)}}@layer components{.input-group{display:flex;flex-direction:column;gap:var(--space-1)}.input-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);letter-spacing:.01em}.input{height:44px;padding:0 var(--space-4);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);outline:none}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #f59f0a1f}.input:hover:not(:focus){border-color:var(--border-default)}.input--currency{text-align:right;font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--text-sm);letter-spacing:-.02em}.input-group.has-error .input{border-color:var(--border-error)}.input-group.has-error .input:focus{box-shadow:0 0 0 3px #df3a3a1f}.input-error{font-size:var(--text-xs);color:var(--error);display:none}.input-group.has-error .input-error{display:block}.input-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.input[readonly]{background:transparent;border-style:dashed;cursor:default}.select{height:44px;padding:0 var(--space-4);padding-right:var(--space-10);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px;cursor:pointer}.checkbox-group,.radio-group{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}}@layer components{.table-container{width:100%;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.table-container::-webkit-scrollbar{height:6px}.table-container::-webkit-scrollbar-track{background:transparent}.table-container::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}.data-table{width:100%;min-width:800px;border-collapse:collapse}.data-table thead{background:var(--bg-elevated)}.data-table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-align:left;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);vertical-align:middle}.data-table .cell-input{height:36px;padding:0 var(--space-3);background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);width:100%}.data-table .cell-input:focus{border-color:var(--border-focus);outline:none}.data-table .cell-currency{text-align:right;font-family:var(--font-mono);font-size:var(--text-sm)}.data-table .row-total{background:var(--accent-soft);font-weight:var(--weight-semibold)}.data-table .row-total td{border-top:2px solid var(--accent);color:var(--accent-text)}.table-add-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);width:100%;background:transparent;border:1px dashed var(--border-subtle);border-radius:0 0 var(--radius-lg) var(--radius-lg);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);margin-top:-1px}.table-add-row:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}}@layer components{.summary-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card__label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.summary-card__value{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary)}.summary-card__value--positive{color:var(--success)}.summary-card__value--negative{color:var(--error)}.summary-card__value--accent{color:var(--accent)}.casilla-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.casilla-card__number{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--accent);min-width:28px}.casilla-card__label{flex:1;font-size:var(--text-sm);color:var(--text-secondary)}.casilla-card__value{font-family:var(--font-mono);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text-primary)}}@layer components{.sidebar{width:var(--sidebar-width);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-subtle);overflow-y:auto;z-index:var(--z-sidebar)}.sidebar__logo{padding:var(--space-8) var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-1)}.logo-text{font-size:var(--text-xl);font-weight:var(--weight-bold);background:linear-gradient(135deg,var(--accent) 0%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.logo-tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-weight:var(--weight-semibold);display:flex;align-items:center;gap:var(--space-2)}.version-pill{background:var(--bg-elevated);color:var(--accent);padding:2px 6px;border-radius:4px;font-size:8px;border:1px solid var(--accent-soft)}.sidebar__nav{flex:1;padding:var(--space-4) 0}.nav-group__title{padding:var(--space-2) var(--space-6);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-top:var(--space-4)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);color:var(--text-secondary);background:transparent;border:none;border-left:3px solid transparent;width:100%;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-decoration:none;font-family:inherit}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent-text);border-left-color:var(--accent)}.nav-item.is-disabled{opacity:.4;cursor:not-allowed;filter:grayscale(1);pointer-events:none}.nav-item.is-completed .nav-item__icon{color:var(--success)}.nav-item.has-error .nav-item__icon{color:var(--error)}.nav-item__icon{font-size:var(--text-md);min-width:20px;text-align:center}.nav-item__label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.sidebar-back-btn{margin:var(--space-4) var(--space-6);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast)}.sidebar-back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}}@layer sections{.preview-210{background:#fff;color:#000;padding:var(--space-12);font-family:var(--font-ui);max-width:850px;margin:0 auto;box-shadow:var(--shadow-lg)}.f210-header{border:2px solid #000;padding:var(--space-4);display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.f210-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #000}.f210-box{border:1px solid #ccc;padding:var(--space-2);display:flex;flex-direction:column}.f210-box__num{font-size:10px;font-weight:700;color:#666}.f210-box__val{font-family:var(--font-mono);font-size:14px;text-align:right}}@layer sections{.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:var(--space-6)}.auth-card{width:100%;max-width:420px;padding:var(--space-10);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:fadeIn var(--duration-normal) var(--ease-out)}.auth-card__title{text-align:center;margin-bottom:var(--space-1);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent) 0%,#fff 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:shine 4s linear infinite}.auth-card__subtitle{text-align:center;margin-bottom:var(--space-8);font-size:var(--text-sm);color:var(--text-secondary)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:48px;padding:0 var(--space-6);background:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.totp-inputs{display:flex;gap:var(--space-3);justify-content:center;margin:var(--space-6) 0}.totp-input{width:48px;height:56px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-bold);background:var(--bg-input);border:2px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-out)}.totp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f59f0a1f}.auth-card__footer{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.auth-card__footer a{color:var(--accent);font-weight:var(--weight-semibold);margin-left:var(--space-1);transition:color var(--duration-fast)}.auth-card__footer a:hover{color:var(--accent-hover);text-decoration:underline}}@layer utilities{@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #f59f0a00}50%{box-shadow:0 0 16px 4px #f59f0a26}}@keyframes countUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{to{background-position:200% center}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-slide-in{animation:slideInRight var(--duration-normal) var(--ease-out)}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-count{animation:countUp var(--duration-fast) var(--ease-out)}@keyframes toastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-enter{animation:toastIn var(--duration-normal) var(--ease-out)}.toast-exit{animation:toastOut var(--duration-normal) var(--ease-out)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-out{animation:fadeOut var(--duration-fast) var(--ease-out) forwards}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out) forwards}.animate-slide-down{animation:slideDown var(--duration-fast) var(--ease-out) forwards}}
