@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-primary:#1e6a33;--color-primary-dark:#165a2a;--color-primary-light:#2f8a49;--color-bg-primary:#fff;--color-bg-secondary:#f3f8f4;--color-bg-dark:#10281b;--color-bg-darker:#0d1f16;--color-text-primary:#1f2a22;--color-text-secondary:#4a5b4f;--color-text-light:#809084;--color-text-white:#fff;--sidebar-bg:#0d1f16;--sidebar-hover:#143325;--sidebar-active:#1e6a33;--sidebar-border:#1a3a29;--corvus-bg:#f8f9fa;--corvus-text-dark:#1f2937;--corvus-muted:#6b7280;--corvus-primary:#4f6d8c;--corvus-primary-hover:#415b75;--corvus-primary-active:#34485d;--corvus-text-light:#fff;--corvus-text-muted:#ffffffbf;--corvus-active-bg:#ffffff14;--corvus-active-border:#fffffff2;--corvus-active-text:#fff;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#1e6a33;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--border-color:#e2e8f0;--border-radius-sm:4px;--border-radius-md:6px;--border-radius-lg:8px;--border-radius-xl:12px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--sidebar-width-expanded:250px;--sidebar-width-collapsed:60px;--header-height:60px;--max-content-width:1400px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:var(--color-text-primary);background-color:var(--color-bg-secondary);min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}button,.btn{padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--corvus-primary);color:var(--corvus-text-light)}.btn-primary:hover:not(:disabled){background-color:var(--corvus-secondary)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:#e2e8f0}.btn-success{background-color:var(--color-success);color:var(--color-text-white)}.btn-success:hover:not(:disabled){background-color:#059669}.btn-danger{background-color:var(--color-error);color:var(--color-text-white)}.btn-danger:hover:not(:disabled){background-color:#dc2626}input,textarea,select{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-fast);font-family:inherit;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #1e6a3324}input::placeholder,textarea::placeholder{color:var(--color-text-light)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-weight:500;display:block}.form-error{color:var(--color-error);margin-top:var(--spacing-xs);font-size:.875rem}.card{background-color:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.card-body{margin-bottom:var(--spacing-md)}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.container{width:100%;max-width:var(--max-content-width);padding:0 var(--spacing-lg);margin:0 auto}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.grid{gap:var(--spacing-lg);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.font-bold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}@media (max-width:768px){html{font-size:14px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}:root{--sidebar-width-expanded:200px}}.page-container{padding:var(--spacing-sm)}.page-container h1{margin-bottom:var(--spacing-md)}.page-container p{margin-bottom:var(--spacing-lg)}.swal2-container{z-index:999999!important;width:100vw!important;height:100vh!important;position:fixed!important;inset:0!important}body.swal2-shown,html.swal2-shown{overflow:hidden!important}.sidebar{--corvus-sidebar-bg:#1a1d21;--corvus-sidebar-bg-hover:#24282e;--corvus-submenu-bg:#20242a;--corvus-submenu-hover:#2a2f36;--corvus-primary:#4f6d8c;--corvus-primary-hover:#415b75;--corvus-primary-active:#34485d;--corvus-surface:#fff;--corvus-surface-alt:#f8f9fb;--corvus-text:#fff;--corvus-text-muted:#ffffffa6;--corvus-active-bg:#ffffff14;--corvus-active-border:#fffffff2;--corvus-active-text:#fff;background:linear-gradient(180deg,var(--corvus-submenu-bg)0%,var(--corvus-sidebar-bg)100%);color:var(--corvus-text);height:100vh;transition:width var(--transition-normal);z-index:1000;border-right:1px solid #ffffff0f;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-x:hidden}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--corvus-sidebar-bg-hover);justify-content:space-between;align-items:center;display:flex}.sidebar-title{white-space:nowrap;font-size:1.2rem;font-weight:700;overflow:hidden}.toggle-button{color:var(--corvus-text);cursor:pointer;padding:var(--spacing-xs);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.toggle-button:hover{background-color:var(--corvus-sidebar-bg-hover);border-radius:var(--border-radius-sm)}.sidebar-menu{padding:var(--spacing-sm)0;flex:1;overflow:hidden auto}.sidebar-menu::-webkit-scrollbar{width:6px}.sidebar-menu::-webkit-scrollbar-track{background:var(--corvus-submenu-bg)}.sidebar-menu::-webkit-scrollbar-thumb{background:var(--corvus-submenu-hover);border-radius:3px}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:var(--corvus-sidebar-bg-hover)}.menu-item{margin-bottom:var(--spacing-xs)}.menu-header{padding:var(--spacing-md)var(--spacing-lg);cursor:pointer;transition:background-color var(--transition-fast);align-items:center;display:flex}.menu-header:hover{background-color:var(--corvus-sidebar-bg-hover)}.menu-icon{justify-content:center;align-items:center;min-width:24px;font-size:1.5rem;display:flex}.menu-label{margin-left:var(--spacing-md);white-space:nowrap;overflow:hidden}.menu-arrow{transition:transform var(--transition-normal);margin-left:auto;font-size:.8rem}.menu-arrow.open{transform:rotate(180deg)}.menu-options{max-height:0;transition:max-height var(--transition-normal);background-color:var(--corvus-submenu-bg);overflow:hidden}.menu-options.open{max-height:500px}.menu-option{padding:var(--spacing-sm)var(--spacing-lg)var(--spacing-sm)60px;cursor:pointer;transition:background-color var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.menu-option:hover{background-color:var(--corvus-submenu-hover)}.menu-option.active{border-left:3px solid var(--corvus-active-border);background:var(--corvus-active-bg);color:var(--corvus-active-text);font-weight:500}.sidebar.collapsed .menu-label,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .sidebar-title{opacity:0;width:0}.sidebar.collapsed .menu-options{display:none}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--corvus-sidebar-bg-hover);background-color:var(--corvus-sidebar-bg);flex-shrink:0;position:relative;bottom:auto;left:auto;right:auto}.logout-button{width:100%;padding:var(--spacing-md);color:var(--corvus-text);border:1px solid var(--corvus-text-muted);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;align-items:center;font-size:.95rem;display:flex}.logout-button:hover{background-color:var(--corvus-accent);border-color:var(--corvus-accent);color:var(--corvus-submenu-bg)}.logout-icon{justify-content:center;align-items:center;min-width:24px;font-size:1.2rem;display:flex}.logout-label{margin-left:var(--spacing-md);white-space:nowrap;overflow:hidden}.sidebar.collapsed .logout-label{opacity:0;width:0;margin-left:0}.sidebar.collapsed .logout-button{padding:var(--spacing-sm);justify-content:center}@media (max-width:768px){.sidebar,.sidebar.expanded,.sidebar.collapsed{width:min(86vw,20rem);height:100dvh;transition:transform var(--transition-normal);transform:translate(-102%);box-shadow:18px 0 46px #0f172a47}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed .menu-label,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .sidebar-title,.sidebar.collapsed .logout-label{width:auto;margin-left:var(--spacing-md);opacity:1}.sidebar.collapsed .menu-options{display:block}.sidebar.collapsed .logout-button{padding:var(--spacing-md);justify-content:flex-start}.toggle-button{border-radius:var(--border-radius-md);width:2.75rem;height:2.75rem;padding:0}.menu-header,.menu-option,.logout-button{touch-action:manipulation;min-height:3rem}}.admin-layout{background-color:var(--color-bg-secondary);min-height:100vh;display:flex}.main-content{min-width:0;transition:margin-left var(--transition-normal);flex:1;padding:0}.access-denied-message{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:14px;max-width:620px;margin:3rem auto;padding:1.75rem;box-shadow:0 12px 32px #0f172a14}.access-denied-message h1{color:#0f172a;margin:0 0 .65rem;font-size:1.25rem}.access-denied-message p{margin:0;line-height:1.55}.mobile-topbar,.sidebar-backdrop{display:none}.main-content.expanded{margin-left:var(--sidebar-width-expanded)}.main-content.collapsed{margin-left:var(--sidebar-width-collapsed)}.main-content.expanded :is(.quotes-modal-backdrop,.projects-schedules-modal-overlay,.projects-schedules-create-modal-overlay){left:var(--sidebar-width-expanded)}.main-content.collapsed :is(.quotes-modal-backdrop,.projects-schedules-modal-overlay,.projects-schedules-create-modal-overlay){left:var(--sidebar-width-collapsed)}body.sidebar-expanded .swal2-container,body.sidebar-collapsed .swal2-container{left:0!important}.content-wrapper{width:100%;padding:var(--spacing-lg);animation:.3s ease-in-out fadeIn}.content-wrapper.transitioning{opacity:.5;transition:all .15s ease-out;transform:translateY(10px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.admin-layout{min-height:100dvh}.main-content.expanded,.main-content.collapsed{margin-left:0}.mobile-topbar{z-index:900;min-height:3.5rem;padding:max(.35rem,env(safe-area-inset-top)).75rem .35rem;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid;position:fixed;inset:0 0 auto;box-shadow:0 2px 10px #0f172a14}.mobile-topbar strong{color:var(--corvus-text-dark);letter-spacing:.08em;text-transform:uppercase;font-size:1rem}.mobile-topbar__user{max-width:8rem;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.mobile-menu-button{border-radius:var(--border-radius-md);cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-content:center;gap:4px;width:2.75rem;height:2.75rem;padding:0;display:grid}.mobile-menu-button span{background:var(--corvus-text-dark);border-radius:2px;width:1.2rem;height:2px;display:block}.mobile-menu-button:focus-visible{outline-offset:1px;outline:3px solid #4f6d8c47}.sidebar-backdrop{z-index:999;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);background:#0f172a7a;border:0;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto;display:block}.content-wrapper{padding:calc(3.5rem + .75rem + env(safe-area-inset-top)).75rem max(.75rem,env(safe-area-inset-bottom))}}.login-shell{--bg:#090909;--surface:#111;--border:#ffffff14;--border-strong:#ffffff24;--text:#fff;--muted:#a0a0a0;background:var(--bg);width:100%;min-height:100dvh;color:var(--text);font-family:Inter,sans-serif;position:relative;overflow:hidden auto}.login-shell:before,.login-shell:after{content:"";pointer-events:none;position:absolute;inset:0}.login-shell:before{background:radial-gradient(circle at 18% 18%,#ffffff0a,#0000 26%),radial-gradient(circle at 82% 15%,#ffffff06,#0000 22%),radial-gradient(circle at 74% 82%,#ffffff05,#0000 24%),linear-gradient(#0b0b0b 0%,#080808 56%,#050505 100%)}.login-shell:after{opacity:.025;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:108px 108px;-webkit-mask-image:linear-gradient(#000000e6,#0000 95%);mask-image:linear-gradient(#000000e6,#0000 95%)}.login-background{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-background:before{content:"";opacity:.36;background:linear-gradient(90deg,#ffffff0a 0%,#ffffff03 24%,#0000 42% 58%,#ffffff03 76%,#ffffff0a 100%),radial-gradient(circle,#ffffff08,#0000 62%);position:absolute;inset:0}.login-input-wrap button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:60px;display:inline-flex}.login-orb,.login-grid,.login-diagonal,.login-side-lines,.login-noise{position:absolute}.login-orb{filter:blur(18px);opacity:.55;border-radius:999px}.login-orb-primary{background:radial-gradient(circle,#ffffff0d,#ffffff02 55%,#0000 75%);width:36vw;height:36vw;top:-10vw;left:-12vw}.login-orb-secondary{background:radial-gradient(circle,#ffffff07,#ffffff02 58%,#0000 75%);width:24vw;height:24vw;top:12vh;right:-8vw}.login-grid{opacity:.22;background:linear-gradient(120deg,#0000 0 40%,#ffffff04 40.4%,#0000 41% 100%),linear-gradient(150deg,#0000 0 62%,#ffffff03 62.3%,#0000 63% 100%),radial-gradient(circle,#0000 0 58%,#ffffff02 58.2%,#0000 59%);inset:0}.login-diagonal{opacity:.08;background:linear-gradient(90deg,#0000,#ffffff07,#0000);width:180vw;height:1px;left:-40vw}.login-diagonal-a{top:18vh;transform:rotate(-12deg)}.login-diagonal-b{opacity:.06;bottom:22vh;transform:rotate(-12deg)}.login-side-lines{opacity:.42;width:min(24vw,320px);top:0;bottom:0;-webkit-mask-image:linear-gradient(#0000 0%,#000000e6 12% 88%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000000e6 12% 88%,#0000 100%)}.login-side-lines:before,.login-side-lines:after{content:"";position:absolute;inset:0}.login-side-lines:before{background:linear-gradient(136deg,#0000 0 35%,#ffffff42 35.2% 35.7%,#0000 36% 100%),linear-gradient(151deg,#0000 0 54%,#ffffff2e 54.2% 54.7%,#0000 55% 100%),linear-gradient(166deg,#0000 0 72%,#ffffff1a 72.2% 72.5%,#0000 72.8% 100%)}.login-side-lines:after{opacity:.68;background:linear-gradient(#fff1,#0000 65%),radial-gradient(circle at 30% 18%,#ffffff24,#0000 42%)}.login-side-lines-left{background:linear-gradient(90deg,#ffffff0b 0%,#ffffff05 32%,#0000 82%);left:0}.login-side-lines-right{background:linear-gradient(90deg,#ffffff0b 0%,#ffffff05 32%,#0000 82%);right:0;transform:scaleX(-1)}.login-noise{opacity:.016;mix-blend-mode:screen;background-image:radial-gradient(circle at 20% 20%,#ffffffa6 0 1px,#0000 1px),radial-gradient(circle at 80% 40%,#ffffff73 0 1px,#0000 1px),radial-gradient(circle at 35% 75%,#ffffff80 0 1px,#0000 1px),radial-gradient(circle at 65% 15%,#ffffff59 0 1px,#0000 1px);background-size:120px 120px;inset:-20%}.login-layout{z-index:1;min-height:100dvh;padding:max(clamp(1rem,2.4vw,2rem),env(safe-area-inset-top))max(clamp(1rem,2.4vw,2rem),env(safe-area-inset-right))max(clamp(1rem,2.4vw,2rem),env(safe-area-inset-bottom))max(clamp(1rem,2.4vw,2rem),env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:relative}.login-card-shell{gap:1rem;width:min(100%,560px);display:grid;position:relative}.login-watermark{opacity:.095;filter:blur(.2px);pointer-events:none;-webkit-user-select:none;user-select:none;width:min(76vw,980px);max-width:980px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-52%)}.login-brand-block{justify-items:center;gap:.5rem;padding-bottom:.35rem;display:grid}.login-brand-logo{opacity:.95;filter:drop-shadow(0 0 18px #ffffff0d);width:min(42vw,220px);height:auto;display:block}.login-brand-text{text-align:center;justify-items:center;gap:.15rem;display:grid}.login-brand-name{color:var(--text);letter-spacing:.34em;text-transform:uppercase;font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:800}.login-brand-subtitle{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem}.login-brand-tagline{color:#a0a0a0d1;letter-spacing:.38em;text-transform:uppercase;margin-top:.25rem;font-size:.68rem}.login-card{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:linear-gradient(#111111b8,#090909db);border:1px solid #ffffff0d;border-radius:24px;padding:clamp(1rem,2.2vw,1.4rem);animation:.8s cubic-bezier(.2,.8,.2,1) both panelEnter;position:relative;box-shadow:0 26px 76px #0000007a,inset 0 1px #ffffff08}.login-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(140deg,#ffffff1f,#0000 35% 70%,#ffffff14);padding:1px;position:absolute;inset:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.login-form{gap:.82rem;display:grid}.form-group{gap:.42rem;display:grid}.form-label{color:var(--text);font-size:.86rem;font-weight:700}.login-error{color:var(--text);background:#ffffff08;border:1px solid #ffffff0f;border-radius:14px;align-items:flex-start;gap:.65rem;padding:.75rem .88rem;font-size:.86rem;line-height:1.45;display:flex}.login-error__icon{border:1px solid #ffffff61;border-radius:50%;flex:none;place-items:center;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:800;display:inline-grid}.login-input-wrap{background:#ffffff06;border:1px solid #ffffff12;border-radius:15px;align-items:center;gap:.1rem;min-height:62px;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;display:flex}.login-input-wrap:hover{background:#ffffff0a}.login-input-wrap:focus-within{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 0 0 4px #ffffff0b}.login-input-icon{color:#ffffffd1;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.login-input-icon svg,.login-password-toggle svg,.login-indicator-icon svg{fill:currentColor;width:18px;height:18px}.login-input-wrap input{min-width:0;min-height:60px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0 1rem 0 0;font-size:max(1rem,16px)}.login-input-wrap input::placeholder{color:#6f6f6f}.login-password-toggle{width:46px;height:46px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:color .16s,background .16s,transform .16s;display:inline-flex}.login-password-toggle:hover{color:var(--text);background:#ffffff0d;transform:translateY(-1px)}.login-password-toggle:focus-visible,.login-button:focus-visible,.login-link:focus-visible,.login-input-wrap input:focus-visible{outline-offset:2px;outline:2px solid #ffffffa3}.login-button{color:#050505;cursor:pointer;background:linear-gradient(#fffffff2,#ecececd1);border:1px solid #ffffff1a;border-radius:14px;width:100%;min-height:60px;font-size:1rem;font-weight:800;transition:transform .18s,box-shadow .18s,filter .18s,opacity .18s;box-shadow:0 14px 28px #ffffff0f}.login-button:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-2px);box-shadow:0 20px 36px #ffffff14}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:progress;opacity:.72}.login-actions{justify-content:flex-end;margin-top:.05rem;display:flex}.login-link{color:var(--muted);min-height:44px;font:inherit;cursor:pointer;background:0 0;border:none;padding:0 .25rem;transition:color .16s,transform .16s}.login-link:hover{color:var(--text);transform:translateY(-1px)}.login-link-secondary{font-size:.9rem}.login-footer{text-align:center;min-width:100%;margin-top:.25rem;position:relative;top:0}.login-footer-title{color:#ffffff73;letter-spacing:.3em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem}.login-footer-divider{background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:1px;position:relative}.login-footer-brand{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.login-footer-logo{opacity:.75;width:30px;margin-top:10px}@keyframes logoEnter{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panelEnter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.login-layout{padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));align-items:flex-start}.login-card-shell{gap:.75rem;width:min(100%,30rem)}.login-card{border-radius:20px}.login-side-lines{opacity:.34;width:min(24vw,180px)}.login-brand-tagline{letter-spacing:.26em}}@media (max-width:480px){.login-layout{padding-inline:max(.75rem,env(safe-area-inset-left))}.login-card{border-radius:18px;padding:.9rem}.login-brand-logo{width:min(42vw,140px)}.login-brand-block{gap:.3rem;padding-bottom:0}.login-brand-name{letter-spacing:.26em;font-size:1.35rem}.login-brand-subtitle{letter-spacing:.13em;font-size:.72rem}.login-brand-tagline{letter-spacing:.17em;font-size:.62rem}.login-input-wrap,.login-button{min-height:52px}.login-input-wrap input{min-height:50px}.login-input-icon,.login-password-toggle{width:42px;height:42px}.login-side-lines{opacity:.3;width:min(24vw,128px)}.login-footer-title{margin-bottom:6px}.login-footer-logo{width:24px;margin-top:7px}}@media (max-height:700px) and (max-width:760px){.login-brand-logo{width:min(34vw,112px)}.login-brand-tagline{display:none}.login-form{gap:.65rem}.login-card-shell{gap:.55rem}.login-footer{margin-top:0}}@media (prefers-reduced-motion:reduce){.login-card{animation:none}.login-input-wrap,.login-button,.login-link{transition:none}}.loading-root{width:100%;color:var(--ds-color-text-muted,var(--color-text-secondary));place-items:center;display:grid}.loading-root--page,.loading-root--overlay{z-index:4000;min-height:100dvh;padding:var(--ds-space-4,1rem);background:color-mix(in srgb,var(--ds-color-background,#f5f7fb)72%,transparent);-webkit-backdrop-filter:blur(7px)saturate(.85);backdrop-filter:blur(7px)saturate(.85);position:fixed;inset:0}.loading-root--section{min-height:var(--loading-section-min-height,12rem);border-radius:var(--ds-radius-md,var(--border-radius-lg));background:var(--ds-color-surface,var(--color-bg-primary))}.loading-root--inline{width:var(--ds-icon-md,1.25rem);height:var(--ds-icon-md,1.25rem);vertical-align:middle;min-height:0;display:inline-grid}.loading-content{justify-items:center;gap:var(--ds-space-2,.5rem);min-width:10rem;padding:var(--ds-space-4,1rem);text-align:center;display:grid}.loading-mascot{object-fit:contain;width:clamp(5rem,9vw,6.5rem);height:clamp(5rem,9vw,6.5rem);animation:1.8s ease-in-out infinite loading-mascot-float;display:block}.loading-dots{justify-content:center;align-items:center;gap:.4rem;min-height:1.25rem;display:inline-flex}.loading-dots>span{background:var(--ds-color-brand,#17428f);border-radius:50%;width:.55rem;height:.55rem;animation:1.15s ease-in-out infinite loading-dot}.loading-dots>span:nth-child(2){animation-delay:.14s}.loading-dots>span:nth-child(3){animation-delay:.28s}.loading-dots--inline{gap:.18rem;min-height:0}.loading-dots--inline>span{width:.28rem;height:.28rem}.loading-text{margin-top:var(--ds-space-1,.25rem);color:inherit;font-size:var(--ds-font-size-sm,.875rem);font-weight:600}@keyframes loading-dot{0%,60%,to{opacity:.32;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-.25rem)scale(1)}}@keyframes loading-mascot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.3rem)}}@media (prefers-reduced-motion:reduce){.loading-mascot,.loading-dots>span{animation:none}.loading-dots>span{opacity:1;transform:none}}@media (max-width:640px){.loading-content{padding:1rem}}.ds-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ds-button,.ds-icon-button{font:inherit;cursor:pointer;touch-action:manipulation;transition:background-color var(--ds-duration-fast)var(--ds-ease-out),border-color var(--ds-duration-fast)var(--ds-ease-out),color var(--ds-duration-fast)var(--ds-ease-out),box-shadow var(--ds-duration-fast)var(--ds-ease-out),transform var(--ds-duration-fast)var(--ds-ease-out);border:1px solid #0000;font-weight:600}.ds-button:focus-visible,.ds-icon-button:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)35%,transparent);outline-offset:2px}.ds-button:active:not(:disabled),.ds-icon-button:active:not(:disabled){transform:translateY(1px)}.ds-button:disabled,.ds-icon-button:disabled{opacity:.48;cursor:not-allowed}.ds-button{justify-content:center;align-items:center;gap:var(--ds-space-2);min-height:var(--ds-control-height-md);padding:0 var(--ds-space-4);border-radius:var(--ds-radius-sm);white-space:nowrap;line-height:1;display:inline-flex}.ds-button--sm{min-height:var(--ds-control-height-sm);padding-inline:var(--ds-space-3);font-size:var(--ds-font-size-sm)}.ds-button--lg{min-height:var(--ds-control-height-lg);padding-inline:var(--ds-space-6)}.ds-button--primary{background:var(--ds-color-brand);color:var(--ds-color-surface)}.ds-button--primary:hover:not(:disabled){background:var(--ds-color-brand-hover)}.ds-button--secondary{background:var(--ds-color-surface);border-color:var(--ds-color-border);color:var(--ds-color-text)}.ds-button--secondary:hover:not(:disabled),.ds-button--ghost:hover:not(:disabled){background:var(--ds-color-surface-subtle);border-color:color-mix(in srgb,var(--ds-color-border)60%,var(--ds-color-text-muted))}.ds-button--danger{background:var(--ds-color-danger);color:var(--ds-color-surface)}.ds-button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--ds-color-danger)88%,black)}.ds-button--ghost{color:var(--ds-color-text);background:0 0}.ds-icon-button{width:var(--ds-touch-target);height:var(--ds-touch-target);border-radius:var(--ds-radius-full);color:var(--ds-color-text-muted);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ds-icon-button--sm{width:var(--ds-touch-target);height:var(--ds-touch-target)}.ds-icon-button--lg{width:var(--ds-control-height-lg);height:var(--ds-control-height-lg)}.ds-icon-button--primary{background:var(--ds-color-brand);color:var(--ds-color-surface)}.ds-icon-button--secondary{background:var(--ds-color-surface);border-color:var(--ds-color-border);color:var(--ds-color-text)}.ds-icon-button--danger{background:var(--ds-color-danger-surface);color:var(--ds-color-danger)}.ds-icon-button--ghost:hover:not(:disabled){background:var(--ds-color-surface-subtle);color:var(--ds-color-text)}.ds-icon-button>svg,.ds-icon{width:var(--ds-icon-md);height:var(--ds-icon-md)}.ds-spinner{width:var(--ds-icon-sm);height:var(--ds-icon-sm);border:2px solid;border-right-color:#0000;border-radius:50%;animation:.7s linear infinite ds-spin}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-status-badge{align-items:center;gap:var(--ds-space-1);width:fit-content;padding:var(--ds-space-1)var(--ds-space-2);border-radius:var(--ds-radius-full);background:var(--ds-color-surface-subtle);color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);font-weight:700;line-height:var(--ds-line-height-normal);display:inline-flex}.ds-status-badge__icon{display:inline-flex}.ds-status-badge__icon>svg{width:var(--ds-icon-sm);height:var(--ds-icon-sm)}.ds-status-badge--success{background:var(--ds-color-success-surface);color:var(--ds-color-success)}.ds-status-badge--warning{background:var(--ds-color-warning-surface);color:var(--ds-color-warning)}.ds-status-badge--danger{background:var(--ds-color-danger-surface);color:var(--ds-color-danger)}.ds-status-badge--info{background:var(--ds-color-info-surface);color:var(--ds-color-info)}.ds-form-field{gap:var(--ds-space-2);flex-direction:column;min-width:0;display:flex}.ds-form-field__label{color:var(--ds-color-text);font-size:var(--ds-font-size-sm);font-weight:600}.ds-form-field__required{margin-left:var(--ds-space-1);color:var(--ds-color-danger)}.ds-form-field__control{display:contents}.ds-form-field__hint,.ds-form-field__error{font-size:var(--ds-font-size-sm);line-height:var(--ds-line-height-normal)}.ds-form-field__hint{color:var(--ds-color-text-muted)}.ds-form-field__error{color:var(--ds-color-danger);font-weight:500}.ds-form-field--error :is(input,textarea,select){border-color:var(--ds-color-danger)}.ds-form-field--error :is(input,textarea,select):focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-color-danger)16%,transparent)}.ds-dialog-backdrop{z-index:var(--ds-z-overlay);padding:var(--ds-space-4);background:var(--ds-color-overlay);animation:ds-fade-in var(--ds-duration-normal)var(--ds-ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ds-dialog{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);width:100%;max-height:min(90dvh,50rem);box-shadow:var(--ds-shadow-overlay);animation:ds-dialog-enter var(--ds-duration-normal)var(--ds-ease-out);flex-direction:column;display:flex;overflow:hidden}.ds-dialog--sm{max-width:30rem}.ds-dialog--md{max-width:44rem}.ds-dialog--lg{max-width:60rem}.ds-dialog__header,.ds-dialog__footer{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-4);padding:var(--ds-space-4)var(--ds-space-6);flex-shrink:0;display:flex}.ds-dialog__header{border-bottom:1px solid var(--ds-color-border)}.ds-dialog__title{font-size:var(--ds-font-size-xl);line-height:var(--ds-line-height-tight);margin:0}.ds-dialog__description{margin:var(--ds-space-1)0 0;color:var(--ds-color-text-muted)}.ds-dialog__body{min-height:0;padding:var(--ds-space-6)}.ds-dialog__body--scroll{overflow-y:auto}.ds-dialog__body--contained{flex-direction:column;flex:auto;display:flex;overflow:hidden}.ds-dialog__footer{border-top:1px solid var(--ds-color-border);justify-content:flex-end;align-items:center}.ds-page-header{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-6);display:flex}.ds-page-header__content{min-width:0}.ds-page-header__eyebrow{margin-bottom:var(--ds-space-1);color:var(--ds-color-brand);font-size:var(--ds-font-size-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.ds-page-header__title{font-size:clamp(var(--ds-font-size-xl),2.5vw,var(--ds-font-size-2xl));line-height:var(--ds-line-height-tight);margin:0}.ds-page-header__description{max-width:70ch;margin:var(--ds-space-2)0 0;color:var(--ds-color-text-muted)}.ds-page-header__actions{justify-content:flex-end;align-items:center;gap:var(--ds-space-2);flex-wrap:wrap;display:flex}.ds-filter-panel{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);box-shadow:var(--ds-shadow-sm)}.ds-filter-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-4);padding:var(--ds-space-4);border-bottom:1px solid var(--ds-color-border);display:flex}.ds-filter-panel__title{font-size:var(--ds-font-size-md);margin:0}.ds-filter-panel__description{margin:var(--ds-space-1)0 0;color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm)}.ds-filter-panel__actions{gap:var(--ds-space-2);display:flex}.ds-filter-panel__body{padding:var(--ds-space-4)}.ds-searchable-select{min-width:0;position:relative}.ds-searchable-select__control{position:relative}.ds-searchable-select__control input{padding-right:calc(var(--ds-touch-target) + var(--ds-space-2))}.ds-searchable-select__clear{width:var(--ds-touch-target);height:var(--ds-touch-target);color:var(--ds-color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.ds-searchable-select__clear:hover{color:var(--ds-color-text)}.ds-searchable-select__clear:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)35%,transparent);outline-offset:-3px}.ds-searchable-select__clear svg{width:var(--ds-icon-sm);height:var(--ds-icon-sm)}.ds-searchable-select__menu{top:calc(100% + var(--ds-space-1));z-index:var(--ds-z-dropdown);max-height:15rem;padding:var(--ds-space-1);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);box-shadow:var(--ds-shadow-overlay);position:absolute;left:0;right:0;overflow-y:auto}.ds-searchable-select__option{width:100%;min-height:var(--ds-touch-target);padding:var(--ds-space-2)var(--ds-space-3);border-radius:var(--ds-radius-sm);color:var(--ds-color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:block}.ds-searchable-select__option:hover,.ds-searchable-select__option[data-active=true]{background:var(--ds-color-surface-subtle)}.ds-searchable-select__option[aria-selected=true]{color:var(--ds-color-brand);font-weight:700}.ds-searchable-select__option:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)35%,transparent);outline-offset:-3px}.ds-searchable-select__empty{padding:var(--ds-space-3);color:var(--ds-color-text-muted);text-align:center}.ds-form-section{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface)}.ds-form-section__header{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-4);padding:var(--ds-space-3)var(--ds-space-4);border-bottom:1px solid var(--ds-color-border);display:flex}.ds-form-section__title{font-size:var(--ds-font-size-md);line-height:var(--ds-line-height-tight);margin:0}.ds-form-section__description{margin:var(--ds-space-1)0 0;color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm)}.ds-form-section__actions{align-items:center;gap:var(--ds-space-2);display:flex}.ds-form-section__body{padding:var(--ds-space-4)}.ds-sticky-form-actions{z-index:var(--ds-z-sticky);justify-content:space-between;align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-3)var(--ds-space-4);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:color-mix(in srgb,var(--ds-color-surface)94%,transparent);box-shadow:var(--ds-shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;bottom:0}.ds-sticky-form-actions__summary{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm);font-variant-numeric:tabular-nums}.ds-sticky-form-actions__controls{justify-content:flex-end;align-items:center;gap:var(--ds-space-2);display:flex}@keyframes ds-fade-in{0%{opacity:0}}@keyframes ds-dialog-enter{0%{opacity:0;transform:translateY(var(--ds-space-2))scale(.99)}}@media (max-width:768px){.ds-page-header{gap:var(--ds-space-4);flex-direction:column}.ds-page-header__actions{justify-content:flex-start;width:100%}.ds-filter-panel__header{padding:var(--ds-space-3)var(--ds-space-4)}.ds-dialog-backdrop{align-items:flex-end;padding:0}.ds-dialog{border-radius:var(--ds-radius-lg)var(--ds-radius-lg)0 0;max-height:100dvh}.ds-dialog__header,.ds-dialog__body,.ds-dialog__footer{padding:var(--ds-space-4)}.ds-dialog__footer{padding-bottom:max(var(--ds-space-4),env(safe-area-inset-bottom))}.ds-form-section__header,.ds-form-section__body{padding:var(--ds-space-3)}.ds-sticky-form-actions{padding-bottom:max(var(--ds-space-3),env(safe-area-inset-bottom));border-radius:var(--ds-radius-md)var(--ds-radius-md)0 0;flex-direction:column;align-items:stretch}.ds-sticky-form-actions__controls{grid-template-columns:1fr;display:grid}.ds-sticky-form-actions__controls>*{width:100%}}.corvus-dashboard{--ds-color-brand:var(--corvus-primary,#4f6d8c);--ds-color-brand-hover:var(--corvus-primary-hover,#415b75);--ds-color-surface:#fff;--ds-color-surface-subtle:#f5f7f9;--ds-color-text:var(--corvus-text-dark,#1f2937);--ds-color-text-muted:var(--corvus-muted,#6b7280);--ds-color-border:#dce2e8;--ds-color-focus:#6686a6;--ds-color-success:#237a4b;--ds-color-success-surface:#e7f5ed;--ds-color-warning:#9a5b0a;--ds-color-warning-surface:#fff3d6;--ds-color-danger:#a13737;--ds-color-danger-surface:#fbe9e9;--ds-color-info:#486f96;--ds-color-info-surface:#e8f0f7;--ds-font-size-xs:.75rem;--ds-font-size-sm:.875rem;--ds-font-size-md:1rem;--ds-font-size-lg:1.125rem;--ds-font-size-xl:1.5rem;--ds-font-size-2xl:2rem;--ds-line-height-normal:1.5;--ds-space-1:.25rem;--ds-space-2:.5rem;--ds-space-3:.75rem;--ds-space-4:1rem;--ds-space-5:1.25rem;--ds-space-6:1.5rem;--ds-radius-sm:6px;--ds-radius-md:10px;--ds-radius-lg:14px;--ds-radius-full:999px;--ds-shadow-sm:0 2px 8px #1f29370f;--ds-shadow-overlay:0 20px 48px #1f29372e;--ds-control-height-sm:2.25rem;--ds-control-height-md:2.75rem;--ds-touch-target:2.75rem;--ds-icon-sm:1rem;--ds-icon-md:1.25rem;--ds-duration-fast:.15s;--ds-ease-out:cubic-bezier(.16,1,.3,1);min-width:0;color:var(--ds-color-text);gap:1.5rem;padding:1.5rem;display:grid}.corvus-dashboard-header,.corvus-dashboard-header__actions,.corvus-dashboard-accounting>header,.corvus-dashboard-finance>header,.corvus-dashboard-panel>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.corvus-dashboard-header>div:first-child>span,.corvus-dashboard-accounting>header span,.corvus-dashboard-finance>header span{color:var(--ds-color-brand);letter-spacing:.07em;text-transform:uppercase;font-size:.75rem;font-weight:800}.corvus-dashboard :is(h1,h2,p){margin:0}.corvus-dashboard-header h1{margin-top:.2rem;font-size:clamp(1.5rem,2.5vw,2rem)}.corvus-dashboard-header p,.corvus-dashboard-panel header p,.corvus-dashboard-accounting header p{color:var(--ds-color-text-muted);margin-top:.35rem;font-size:.875rem}.corvus-dashboard-header__actions{align-items:center}.corvus-dashboard-header time{color:var(--ds-color-text-muted);font-size:.875rem;font-weight:600}.corvus-dashboard-error{background:var(--ds-color-danger-surface);color:var(--ds-color-danger);border:1px solid #efcaca;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.corvus-dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.corvus-dashboard-kpi{border:1px solid var(--ds-color-border);border-top:3px solid var(--ds-color-brand);box-shadow:var(--ds-shadow-sm);background:#fff;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:1rem;display:grid}.corvus-dashboard-kpi--info{border-top-color:var(--ds-color-info)}.corvus-dashboard-kpi--success{border-top-color:var(--ds-color-success)}.corvus-dashboard-kpi--warning{border-top-color:var(--ds-color-warning)}.corvus-dashboard-kpi>span{background:var(--ds-color-info-surface);width:2.75rem;height:2.75rem;color:var(--ds-color-brand);border-radius:10px;place-items:center;display:grid}.corvus-dashboard-kpi svg{width:1.4rem;height:1.4rem}.corvus-dashboard-kpi div{display:grid}.corvus-dashboard-kpi small{color:var(--ds-color-text-muted)}.corvus-dashboard-kpi strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.corvus-dashboard-accounting,.corvus-dashboard-finance,.corvus-dashboard-panel{border:1px solid var(--ds-color-border);box-shadow:var(--ds-shadow-sm);background:#fff;border-radius:14px;overflow:hidden}.corvus-dashboard-accounting{border-left:4px solid var(--ds-color-info);padding:1rem}.corvus-dashboard-accounting.has-overdue{border-left-color:var(--ds-color-danger)}.corvus-dashboard a{color:var(--ds-color-brand);font-size:.875rem;font-weight:700}.corvus-dashboard-accounting__summary{background:var(--ds-color-surface-subtle);border-radius:8px;gap:1.5rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.corvus-dashboard-accounting__summary span{color:var(--ds-color-text-muted);align-items:baseline;gap:.35rem;font-size:.8rem;display:flex}.corvus-dashboard-accounting__summary strong{color:var(--ds-color-text);font-size:1.2rem}.corvus-dashboard-accounting__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.corvus-dashboard-accounting__list article,.corvus-dashboard-list li{border:1px solid var(--ds-color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.corvus-dashboard-accounting__list div,.corvus-dashboard-list div{gap:.15rem;display:grid}.corvus-dashboard :is(article,li) small{color:var(--ds-color-text-muted)}.corvus-dashboard-finance>header,.corvus-dashboard-panel>header{border-bottom:1px solid var(--ds-color-border);padding:1rem}.corvus-dashboard-finance h2,.corvus-dashboard-panel h2,.corvus-dashboard-accounting h2{margin-top:.15rem;font-size:1.125rem}.corvus-dashboard-range{gap:.5rem;display:flex}.corvus-dashboard-range label{color:var(--ds-color-text-muted);gap:.2rem;font-size:.75rem;font-weight:600;display:grid}.corvus-dashboard-range input{min-height:2.25rem;padding:.35rem .5rem;font-size:.875rem}.corvus-dashboard-finance__metrics{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.corvus-dashboard-finance__metrics article{border-left:1px solid var(--ds-color-border);gap:.25rem;padding:1rem;display:grid}.corvus-dashboard-finance__metrics article:first-child{border-left:0}.corvus-dashboard-finance__metrics span{color:var(--ds-color-text-muted);font-size:.8rem}.corvus-dashboard-finance__metrics strong{font-variant-numeric:tabular-nums;font-size:1.125rem}.corvus-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.corvus-dashboard-grid--wide{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr)}.corvus-dashboard-panel__body{min-height:11rem}.corvus-dashboard-empty{min-height:11rem;color:var(--ds-color-text-muted);text-align:center;place-items:center;padding:1.5rem;display:grid}.corvus-dashboard-agenda,.corvus-dashboard-list{margin:0;padding:0;list-style:none}.corvus-dashboard-agenda li{border-bottom:1px solid var(--ds-color-border);grid-template-columns:4rem 1fr;gap:.75rem;padding:.8rem 1rem;display:grid}.corvus-dashboard-agenda time{color:var(--ds-color-brand);font-weight:800}.corvus-dashboard-agenda div{gap:.15rem;display:grid}.corvus-dashboard-list{gap:.5rem;padding:.75rem;display:grid}.corvus-dashboard-table{overflow-x:auto}.corvus-dashboard-table table{border-collapse:collapse;width:100%}.corvus-dashboard-table :is(th,td){border-bottom:1px solid var(--ds-color-border);text-align:left;padding:.75rem 1rem}.corvus-dashboard-table th{background:var(--ds-color-surface-subtle);color:var(--ds-color-text-muted);text-transform:uppercase;white-space:nowrap;font-size:.75rem}@media (max-width:1024px){.corvus-dashboard-kpis{grid-template-columns:repeat(2,1fr)}.corvus-dashboard-grid--wide{grid-template-columns:1fr}}@media (max-width:768px){.corvus-dashboard{padding:1rem}.corvus-dashboard-header,.corvus-dashboard-accounting>header,.corvus-dashboard-finance>header{flex-direction:column}.corvus-dashboard-header__actions{justify-content:space-between;width:100%}.corvus-dashboard-grid,.corvus-dashboard-accounting__list{grid-template-columns:1fr}.corvus-dashboard-finance__metrics{grid-template-columns:repeat(2,1fr)}.corvus-dashboard-finance__metrics article:nth-child(odd){border-left:0}.corvus-dashboard-range{width:100%}.corvus-dashboard-range label{flex:1}}@media (max-width:480px){.corvus-dashboard-kpis,.corvus-dashboard-finance__metrics{grid-template-columns:1fr}.corvus-dashboard-finance__metrics article{border-left:0;border-top:1px solid var(--ds-color-border)}.corvus-dashboard-finance__metrics article:first-child{border-top:0}.corvus-dashboard-accounting__summary{justify-content:space-between;gap:.5rem}.corvus-dashboard-accounting__summary span{display:grid}.corvus-dashboard-header time{max-width:13rem}}.user-permissions-editor{gap:var(--spacing-md);margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);grid-column:1/-1;display:grid}.user-permissions-editor__heading{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.user-permissions-editor__heading :is(h5,p){margin:0}.user-permissions-editor__heading h5{font-size:1rem}.user-permissions-editor__heading p{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:.8rem}.user-permissions-editor__heading>span{color:var(--corvus-primary-active);background:#e8f0f7;border-radius:999px;flex:none;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.user-permissions-search{gap:var(--spacing-xs);color:var(--color-text-primary);font-size:.875rem;font-weight:600;display:grid}.user-permissions-list{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--color-bg-primary);grid-template-columns:repeat(2,minmax(0,1fr));max-height:17rem;display:grid;overflow-y:auto}.user-permission-option{align-items:start;gap:var(--spacing-sm);cursor:pointer;transition:background-color var(--transition-fast);grid-template-columns:auto minmax(0,1fr);padding:.75rem;display:grid}.user-permission-option:nth-child(2n){border-left:1px solid var(--border-color)}.user-permission-option:nth-child(n+3){border-top:1px solid var(--border-color)}.user-permission-option:hover{background:var(--corvus-bg)}.user-permission-option input{width:1rem;height:1rem;accent-color:var(--corvus-primary);margin-top:.125rem}.user-permission-option>span{gap:.125rem;min-width:0;display:grid}.user-permission-option :is(strong,code,small){text-overflow:ellipsis;overflow:hidden}.user-permission-option code{color:var(--corvus-primary-active);font-size:.75rem}.user-permission-option small{color:var(--color-text-secondary);font-size:.75rem}.user-permissions-message{padding:var(--spacing-lg);color:var(--color-text-secondary);text-align:center;grid-column:1/-1;font-size:.875rem}@media (max-width:640px){.user-permissions-editor__heading{flex-direction:column}.user-permissions-list{grid-template-columns:1fr}.user-permission-option:nth-child(2n){border-left:0}.user-permission-option:nth-child(n+2){border-top:1px solid var(--border-color)}}.quotes-page{gap:var(--spacing-lg);padding:var(--spacing-lg);flex-direction:column;display:flex}.quotes-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.quotes-title-group h1{margin-bottom:var(--spacing-xs);font-size:2rem}.quotes-title-group p{color:var(--color-text-secondary);margin:0}.quotes-stats{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.quotes-stat{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);background:linear-gradient(120deg,#f8fafc,#eef2ff)}.quotes-stat strong{color:var(--color-text-primary);font-size:1.75rem;display:block}.quotes-stat span{color:var(--color-text-secondary);font-size:.95rem}.quotes-filters{background-color:var(--color-bg-primary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);padding:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.quotes-filter-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.quotes-filter-field label{color:var(--color-text-secondary);font-size:.9rem;font-weight:600}.quotes-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.quotes-table-wrap{background-color:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:auto hidden}.quotes-table{border-collapse:collapse;table-layout:auto;width:max(100%,980px);min-width:980px}.quotes-table th,.quotes-table td{text-align:center;border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.65rem .75rem}.quotes-table th{letter-spacing:.02em;color:var(--color-text-secondary);background-color:#f8fafc;font-size:.85rem}.status-borrador{color:#334155;background-color:#e2e8f0}.status-enviada{color:#1d4ed8;background-color:#dbeafe}.status-aprobada{color:#166534;background-color:#dcfce7}.status-rechazada{color:#991b1b;background-color:#fee2e2}.status-vencida{color:#9a3412;background-color:#ffedd5}.quotes-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.quotes-form-card{background-color:var(--color-bg-primary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);padding:var(--spacing-lg)}.quotes-form-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.quotes-form-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.quotes-field-hint{color:var(--color-text-secondary);font-size:.82rem}.quotes-form-field textarea{resize:vertical;min-height:120px}.quotes-form-field.full-width{grid-column:1/-1}.quotes-form-error{color:var(--color-error);margin:0;font-weight:500}.quotes-alert{border-radius:var(--border-radius-md);padding:var(--spacing-sm)var(--spacing-md);margin:0;font-weight:600}.quotes-alert-success{color:#166534;background-color:#dcfce7}.quotes-history-action{color:var(--color-text-primary);font-weight:600}.quotes-items-list{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.quotes-item-row{gap:var(--spacing-sm);grid-template-columns:2fr 120px auto;align-items:center;display:grid}.quotes-actions-column{text-align:center;width:132px;min-width:132px}.quotes-col-number{white-space:nowrap;width:100px}.quotes-col-client{width:140px}.quotes-col-type{width:130px}.quotes-col-title{width:150px}.quotes-col-description{width:auto}.quotes-col-date{white-space:nowrap;width:150px}.quotes-col-amount{white-space:nowrap;width:110px}.quotes-col-items{text-align:center;width:64px}.quotes-col-status{width:108px}.quotes-col-approval{width:130px}.quotes-approve-button{min-width:96px;padding:.35rem .7rem}.quotes-cell-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quotes-version-badge{color:#1d4ed8;vertical-align:middle;white-space:nowrap;background-color:#dbeafe;border-radius:999px;margin-left:6px;padding:.1rem .4rem;font-size:.72rem;font-weight:700;display:inline-block}.quotes-row-actions{flex-wrap:wrap;justify-content:center;gap:.45rem;width:100%;max-width:100%;margin:0 auto;display:flex}.quotes-icon-button{border:1px solid var(--border-color);color:#334155;cursor:pointer;background-color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.quotes-icon-button:hover{color:#1d4ed8;background-color:#eff6ff;border-color:#bfdbfe}.quotes-icon-button-danger:hover{color:#b91c1c;background-color:#fef2f2;border-color:#fecaca}.quotes-action-icon{flex:none;width:1rem;height:1rem;display:block}.quotes-modal-backdrop{z-index:50;background-color:#0f172a7a;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.quotes-modal{border-radius:var(--border-radius-lg);border:1px solid var(--border-color);width:min(920px,100%);max-height:88vh;padding:var(--spacing-lg);background-color:#fff;overflow:auto;box-shadow:0 24px 60px #0f172a33}.quotes-version-picker-modal{width:min(720px,100%)}.quotes-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.quotes-modal-header h2{margin:0 0 .35rem}.quotes-modal-header p{color:var(--color-text-secondary);margin:0}.quotes-modal-body{gap:var(--spacing-md);flex-direction:column;display:flex}.quotes-modal-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.quotes-modal-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);background:linear-gradient(#fff,#f8fafc)}.quotes-modal-card span{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.8rem;display:block}.quotes-modal-card strong{font-size:.98rem}.quotes-modal-section{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.quotes-modal-section h3{margin:0 0 var(--spacing-sm)}.quotes-modal-section p{margin:0}.quotes-modal-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.quotes-modal-list li{justify-content:space-between;align-items:center;gap:var(--spacing-md);border-bottom:1px solid #e2e8f0;padding-bottom:.55rem;display:flex}.quotes-modal-list li:last-child{border-bottom:0;padding-bottom:0}.quotes-modal-list li span{color:var(--color-text-secondary);white-space:nowrap}.quotes-version-picker-list{flex-direction:column;gap:.75rem;display:flex}.quotes-version-picker-item{border:1px solid var(--border-color);border-radius:var(--border-radius-md);text-align:left;cursor:pointer;background:linear-gradient(#fff,#f8fafc);justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.95rem 1rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.quotes-version-picker-item:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 10px 24px #1d4ed81f}.quotes-version-picker-main,.quotes-version-picker-meta{flex-direction:column;gap:.2rem;display:flex}.quotes-version-picker-main small,.quotes-version-picker-meta span:first-child{color:var(--color-text-secondary)}.quotes-version-picker-meta{align-items:flex-end}.quotes-section-details{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md)}.quotes-section-summary{cursor:pointer;align-items:center;gap:var(--spacing-sm);-webkit-user-select:none;user-select:none;font-size:1rem;font-weight:600;list-style:none;display:flex}.quotes-section-summary::-webkit-details-marker{display:none}.quotes-section-summary:before{content:"▶";color:var(--color-text-secondary);font-size:.65rem;transition:transform .2s}details[open]>.quotes-section-summary:before{transform:rotate(90deg)}.quotes-section-body{margin-top:var(--spacing-sm)}.quotes-section-hint{margin:var(--spacing-sm)0 0;color:var(--color-text-secondary);font-size:.9rem}.quotes-section-scroll{max-height:260px;padding-right:.25rem;overflow-y:auto}.quotes-section-scroll::-webkit-scrollbar{width:8px}.quotes-section-scroll::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:999px}.quotes-section-add{margin-top:var(--spacing-sm)}.quotes-section-badge{color:#1d4ed8;background-color:#dbeafe;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:700}.quotes-section-badge--ok{color:#166534;background-color:#dcfce7}.quotes-section-badge--warn{color:#854d0e;background-color:#fef9c3}.quotes-plan-row{gap:var(--spacing-sm);grid-template-columns:2fr 90px 130px 2fr auto;align-items:center;display:grid}.quotes-inversion-row{gap:var(--spacing-sm);grid-template-columns:2fr 130px 130px 1fr auto;align-items:center;display:grid}.quotes-condpago-row{gap:var(--spacing-sm);grid-template-columns:2fr 2fr 90px 130px auto;align-items:center;display:grid}.quotes-inline-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.quotes-inline-field label{color:var(--color-text-secondary);font-size:.8rem;font-weight:700}.quotes-money-input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--color-bg-primary);align-items:center;display:flex;overflow:hidden}.quotes-money-prefix{border-right:1px solid var(--border-color);color:var(--color-text-secondary);background-color:#f8fafc;flex:none;padding:.7rem .75rem;font-weight:700}.quotes-money-input input{border:0;border-radius:0;flex:auto}.quotes-money-input input:focus{box-shadow:none;outline:none}@media (max-width:768px){.quotes-page{padding:var(--spacing-md)}.quotes-title-group h1{font-size:1.6rem}.quotes-table-wrap{overflow-x:auto}.quotes-table{min-width:980px}.quotes-item-row,.quotes-plan-row,.quotes-inversion-row,.quotes-condpago-row{grid-template-columns:1fr}.quotes-modal{padding:var(--spacing-md)}.quotes-modal-header,.quotes-modal-list li{flex-direction:column;align-items:flex-start}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{text-transform:none;appearance:button;cursor:pointer;overflow:visible}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{box-sizing:border-box;flex-direction:column;align-items:stretch;height:100%;display:flex}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :before,.rbc-calendar :after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{position:absolute;inset:0;overflow:hidden}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{text-overflow:ellipsis;white-space:nowrap;text-align:center;vertical-align:middle;border-bottom:1px solid #ddd;flex:1 0;min-height:0;padding:0 3px;font-size:90%;font-weight:700;overflow:hidden}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;cursor:pointer;-webkit-user-select:text;user-select:text;background:0 0;border:none;margin:0;padding:0}.rbc-row-content{-webkit-user-select:none;user-select:none;z-index:4;position:relative}.rbc-row-content-scrollable{flex-direction:column;height:100%;display:flex}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;scrollbar-width:none;-ms-overflow-style:none;scrollbar-width:none;height:100%;overflow-y:scroll}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px;display:flex}.rbc-toolbar .rbc-toolbar-label{text-align:center;flex-grow:1;padding:0 10px}.rbc-toolbar button{color:#373a3c;text-align:center;vertical-align:middle;white-space:nowrap;background:0 0;border:1px solid #ccc;border-radius:4px;margin:0;padding:.375rem 1rem;line-height:normal;display:inline-block}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px #00000020}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{white-space:nowrap;display:inline-block}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;text-align:left;background-color:#3174ad;border:none;border-radius:5px;width:100%;margin:0;padding:2px 5px}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-right-radius:0;border-bottom-left-radius:0}.rbc-row{flex-direction:row;display:flex}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{z-index:4;color:#3174ad;background-color:#ffffff4d;height:auto;font-size:85%;font-weight:700;line-height:normal}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{-webkit-user-select:none;user-select:none;border:1px solid #ddd;flex-direction:column;flex:1 0 0;width:100%;height:100%;display:flex;position:relative}.rbc-month-header{flex-direction:row;display:flex}.rbc-month-row{flex-direction:column;flex:1 0 0;height:100%;display:flex;position:relative;overflow:hidden}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{text-align:right;flex:1 1 0;min-width:0;padding-right:5px}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{flex-direction:row;flex:1 0 0;display:flex;right:1px;overflow:hidden}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{z-index:5;background-color:#fff;border:1px solid #e5e5e5;padding:10px;position:absolute;box-shadow:0 5px 15px #00000040}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{flex-direction:column;flex:1 0 0;display:flex;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border-spacing:0;border-collapse:collapse;border:1px solid #ddd;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{vertical-align:top;padding:5px 10px}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{text-transform:lowercase;padding-left:15px;padding-right:15px}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:left;border-bottom:1px solid #ddd;padding:3px 5px}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{flex-direction:column;min-height:100%;display:flex}.rbc-time-column .rbc-timeslot-group{flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;flex-flow:column;min-height:40px;display:flex}.rbc-time-gutter,.rbc-header-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{margin-right:10px;position:absolute;inset:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;flex-flow:column wrap;align-items:flex-start;min-height:20px;max-height:100%;display:flex;position:absolute;overflow:hidden}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;width:auto;padding-right:5px}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1 0;width:100%;height:100%;min-height:1em;line-height:1}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{z-index:10;background-color:#fff;border-right:1px solid #ddd;margin-right:-1px;position:sticky;left:0}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0 0;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;color:#fff;background-color:#00000080;width:100%;padding:3px;font-size:75%;position:absolute}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{z-index:4;position:relative}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{flex-direction:row;flex:none;display:flex}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row:first-child,.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;flex-direction:column;flex:1;min-width:0;display:flex}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{border-top:2px solid #ddd;flex:1 0;align-items:flex-start;width:100%;display:flex;position:relative;overflow-y:auto}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{-webkit-user-select:none;user-select:none;width:100%}.rbc-current-time-indicator{z-index:3;pointer-events:none;background-color:#74ad31;height:1px;position:absolute;left:0;right:0}.rbc-resource-grouping.rbc-time-header-content{flex-direction:column;display:flex}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.projects-schedules-page{padding:var(--spacing-lg);gap:var(--spacing-lg);flex-direction:column;display:flex}.projects-schedules-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.projects-schedules-add-main{align-self:center}.projects-schedules-header h1{margin-bottom:var(--spacing-xs)}.projects-schedules-header p{margin-bottom:0}.projects-schedules-filters{gap:var(--spacing-md);grid-template-columns:repeat(3,minmax(180px,1fr));width:min(100%,620px);display:grid}.filter-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.filter-group label{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.month-navigation-control{align-items:center;gap:var(--spacing-xs);grid-template-columns:42px minmax(0,1fr) 42px;width:100%;display:grid}.month-navigation-button{border:1px solid var(--border-color);background:linear-gradient(180deg,var(--color-bg-primary),var(--color-bg-secondary));width:42px;height:42px;color:var(--color-text-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);border-radius:999px;justify-content:center;justify-self:center;align-items:center;display:inline-flex}.month-navigation-button:hover{background-color:var(--color-bg-secondary);border-color:color-mix(in srgb,var(--color-primary)25%,var(--border-color));color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.month-navigation-button span{font-size:1.6rem;line-height:1;transform:translateY(-1px)}.month-navigation-control select{text-align:center;text-align-last:center;min-width:0}.projects-schedules-calendar-card{background-color:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);min-height:760px}.projects-schedules-loading{height:740px;color:var(--color-text-secondary);justify-content:center;align-items:center;font-weight:600;display:flex}.projects-schedules-calendar-card .rbc-calendar{height:740px}.projects-schedules-calendar-card .rbc-header{padding:var(--spacing-sm);color:var(--color-text-primary);border-bottom:1px solid var(--border-color);font-weight:600}.projects-schedules-calendar-card .rbc-month-row+.rbc-month-row{border-top:1px solid var(--border-color)}.projects-schedules-calendar-card .rbc-day-bg+.rbc-day-bg{border-left:1px solid var(--border-color)}.projects-schedules-calendar-card .rbc-date-cell{padding:var(--spacing-xs)}.projects-schedules-calendar-card .rbc-off-range-bg{background-color:var(--color-bg-secondary)}.projects-schedules-calendar-card .rbc-today{background-color:color-mix(in srgb,var(--color-primary-light)18%,var(--color-bg-primary))}.schedule-event{border-radius:var(--border-radius-sm);padding:2px var(--spacing-xs);border:none;font-size:.75rem;font-weight:500}.schedule-event.urgency-bajo{background-color:var(--color-success);color:var(--color-text-white)}.schedule-event.urgency-mediano{background-color:var(--color-warning);color:var(--color-text-white)}.schedule-event.urgency-urgente{background-color:var(--color-error);color:var(--color-text-white)}.projects-schedules-modal-overlay{background-color:color-mix(in srgb,var(--color-bg-dark)62%,transparent);padding:var(--spacing-lg);z-index:1200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.projects-schedules-modal{background-color:var(--color-bg-primary);border-radius:var(--border-radius-lg);width:min(100%,920px);max-height:min(88vh,900px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.projects-schedules-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex}.projects-schedules-modal-header h2{text-transform:capitalize;margin:0;font-size:1.35rem}.projects-schedules-modal-actions{gap:var(--spacing-sm);align-items:center;display:flex}.projects-schedules-create-form{padding:var(--spacing-lg);background-color:var(--color-bg-primary);gap:var(--spacing-sm);display:grid}.projects-schedules-create-grid{gap:var(--spacing-sm)var(--spacing-md);grid-template-columns:repeat(2,minmax(200px,1fr));display:grid}.form-span-2{grid-column:span 2}.projects-schedules-create-actions{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);display:flex}.projects-schedules-create-modal-overlay{background-color:color-mix(in srgb,var(--color-bg-dark)62%,transparent);padding:var(--spacing-lg);z-index:1300;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.projects-schedules-create-modal{background-color:var(--color-bg-primary);border-radius:var(--border-radius-lg);width:min(100%,760px);max-height:min(88vh,860px);box-shadow:var(--shadow-xl);overflow:auto}.projects-schedules-toast{right:var(--spacing-lg);bottom:var(--spacing-lg);z-index:1400;color:var(--color-text-white);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);font-weight:600;position:fixed}.projects-schedules-toast-success{background-color:var(--color-success)}.projects-schedules-toast-error{background-color:var(--color-error)}.projects-schedules-modal-content{padding:var(--spacing-lg);gap:var(--spacing-lg);display:grid;overflow-y:auto}.empty-day-message{padding:var(--spacing-lg);color:var(--color-text-secondary);margin:0}.modal-type-section{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.modal-type-section h3{margin-bottom:var(--spacing-md);font-size:1.05rem}.modal-urgency-group+.modal-urgency-group{margin-top:var(--spacing-md)}.urgency-label{margin-bottom:var(--spacing-sm);text-transform:capitalize;font-size:.9rem}.urgency-label.urgency-bajo{color:var(--color-success)}.urgency-label.urgency-mediano{color:var(--color-warning)}.urgency-label.urgency-urgente{color:var(--color-error)}.modal-schedule-item{background-color:var(--color-bg-secondary);border-radius:var(--border-radius-sm);padding:var(--spacing-sm)var(--spacing-md);gap:var(--spacing-xs);display:grid}.modal-schedule-item+.modal-schedule-item{margin-top:var(--spacing-sm)}.modal-schedule-item h5{margin:0;font-size:.95rem}.modal-schedule-item p{margin:0;font-size:.9rem}.modal-schedule-item span{color:var(--color-text-secondary);font-size:.82rem;font-weight:600}.modal-schedule-item-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.replicate-controls{align-items:center;gap:var(--spacing-xs);margin-right:auto;display:flex}.replicate-controls label{color:var(--color-text-secondary);font-size:.8rem;font-weight:600}.replicate-controls input{width:70px;padding:.32rem .45rem}.payment-status-toggle{cursor:pointer;background:0 0;border:0;width:46px;height:24px;padding:0;position:relative}.payment-status-toggle:disabled{opacity:.6;cursor:not-allowed}.payment-status-toggle-track{background-color:var(--color-text-light);transition:background-color var(--transition-fast);border-radius:999px;position:absolute;inset:0}.payment-status-toggle-thumb{background-color:var(--color-bg-primary);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.payment-status-toggle.is-paid .payment-status-toggle-track{background-color:var(--color-success)}.payment-status-toggle.is-paid .payment-status-toggle-thumb{transform:translate(22px)}@media (max-width:980px){.projects-schedules-filters{grid-template-columns:1fr;width:100%}.projects-schedules-add-main{width:100%}.projects-schedules-calendar-card{min-height:640px}.projects-schedules-calendar-card .rbc-calendar{height:620px}.projects-schedules-modal-actions{justify-content:flex-end;width:100%}.projects-schedules-create-grid{grid-template-columns:1fr}.projects-schedules-toast{left:var(--spacing-lg);right:var(--spacing-lg);bottom:var(--spacing-lg)}.form-span-2{grid-column:auto}}.ps-page{min-height:0}.ps-header-stats{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.ps-stat-pill{background:var(--color-bg-secondary,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);color:var(--color-text-secondary,#64748b);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600}.ps-stat-columns{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.ps-count-label{color:var(--color-text-secondary,#64748b);padding:6px 0;font-size:.9rem;display:inline-block}.ps-loading,.ps-error,.ps-empty{text-align:center;padding:var(--spacing-xl,2rem);color:var(--color-text-secondary,#64748b);font-size:1rem}.ps-error{color:#dc2626}.ps-board{gap:var(--spacing-md,1rem);padding-bottom:var(--spacing-md,1rem);scroll-snap-type:x mandatory;align-items:flex-start;display:flex;overflow-x:auto}.ps-column{background:var(--color-bg-primary,#fff);border:1px solid var(--border-color,#e2e8f0);border-top:3px solid var(--ps-col-border,#94a3b8);border-radius:var(--border-radius-lg,12px);scroll-snap-align:start;flex-direction:column;flex:0 0 280px;min-width:280px;max-width:280px;display:flex}.ps-column-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;gap:var(--spacing-sm,.5rem);padding:10px 14px;display:flex}.ps-column-badge{color:#fff;text-transform:capitalize;letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.ps-column-count{color:var(--color-text-secondary,#64748b);background:var(--color-bg-secondary,#f1f5f9);border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:.85rem;font-weight:700;display:flex}.ps-column-body{flex-direction:column;flex:1;gap:8px;min-height:80px;padding:10px;display:flex}.ps-column--over{border-color:#38bdf8;border-top-color:var(--ps-col-border);background:#f0f9ff;box-shadow:0 0 0 2px #38bdf855}.ps-column--over .ps-column-body{border-radius:0 0 var(--border-radius-lg,12px)var(--border-radius-lg,12px);background:#e0f2fe55}.ps-column-empty{text-align:center;color:#cbd5e1;border-radius:var(--border-radius-md,8px);-webkit-user-select:none;user-select:none;border:2px dashed #e2e8f0;padding:14px 0;font-size:.82rem}.ps-card[draggable=true]{cursor:grab}.ps-card[draggable=true]:active{cursor:grabbing}.ps-card{background:var(--ps-card-bg,#f8fafc);border:1px solid var(--ps-card-border,#e2e8f0);border-radius:var(--border-radius-md,8px);flex-direction:column;gap:6px;padding:10px 12px;transition:box-shadow .15s,transform .15s;display:flex}.ps-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.ps-card-header{justify-content:space-between;align-items:center;display:flex}.ps-card-code{color:var(--color-text-primary,#1e293b);letter-spacing:.01em;font-size:.9rem;font-weight:700}.ps-card-view-btn{opacity:.55;transition:opacity .15s}.ps-card:hover .ps-card-view-btn{opacity:1}.ps-card-type{color:var(--color-text-secondary,#64748b);font-size:.82rem}.ps-card-quote{color:var(--color-text-primary,#1e293b);align-items:center;gap:6px;font-size:.82rem;display:flex}.ps-card-dates{color:var(--color-text-secondary,#64748b);gap:10px;font-size:.79rem;display:flex}.ps-card-dates>div{flex-direction:column;gap:1px;display:flex}.ps-card-label{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-right:4px;font-size:.72rem;font-weight:600}.ps-detail-modal{width:100%;max-width:520px}.ps-detail-body{padding:var(--spacing-md,1rem)var(--spacing-lg,1.5rem)}.ps-detail-grid{gap:var(--spacing-md,1rem);grid-template-columns:1fr 1fr;display:grid}.ps-detail-field{flex-direction:column;gap:4px;display:flex}.ps-detail-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:.75rem;font-weight:600}.ps-detail-badge{color:#fff;text-transform:capitalize;border-radius:999px;width:fit-content;padding:3px 10px;font-size:.82rem;font-weight:700;display:inline-block}@media (max-width:640px){.ps-column{flex:0 0 260px;min-width:260px}.ps-detail-grid{grid-template-columns:1fr}}.systems-id{font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-weight:700}.systems-name{color:var(--color-text-primary);font-weight:700}.systems-description{color:var(--color-text-secondary)}.systems-muted{color:var(--color-text-light)}.systems-status-active{color:#166534;background-color:#dcfce7}.systems-status-inactive{color:#991b1b;background-color:#fee2e2}.systems-table td{word-break:break-word}.systems-table .quotes-row-actions{justify-content:center}.systems-detail-modal{width:min(720px,100%)}.systems-edit-modal{width:min(760px,100%)}.systems-detail-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.systems-modal-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.quotes-create-page{gap:var(--ds-space-4);min-width:0;padding-bottom:var(--ds-space-4);display:grid}.quotes-create-page .ds-page-header__description{margin-top:var(--ds-space-1)}.quotes-create-total{min-width:min(100%,12rem)}.quotes-create-total .ds-form-field__label{color:var(--ds-color-text-muted)}.quotes-create-form{gap:var(--ds-space-4);min-width:0;display:grid}.quotes-create-general-grid{gap:var(--ds-space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quotes-create-general-grid .quotes-action-row{grid-column:1/-1}.quotes-create-local-name{min-width:24rem}.quotes-create-section-title-row{align-items:center;gap:var(--ds-space-3);flex-wrap:wrap;display:flex}.quotes-create-compact-action{min-height:var(--ds-control-height-sm);padding-inline:var(--ds-space-3);font-size:var(--ds-font-size-sm)}.quotes-create-feedback{padding:var(--ds-space-3)var(--ds-space-4);border-radius:var(--ds-radius-sm);font-size:var(--ds-font-size-sm);border:1px solid;margin:0}.quotes-create-feedback--error{color:var(--ds-color-danger);background:var(--ds-color-danger-surface);border-color:color-mix(in srgb,var(--ds-color-danger)35%,var(--ds-color-border))}.quotes-create-feedback--success{color:var(--ds-color-success);background:var(--ds-color-success-surface);border-color:color-mix(in srgb,var(--ds-color-success)35%,var(--ds-color-border))}@media (max-width:1024px){.quotes-create-general-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.quotes-create-general-grid{grid-template-columns:1fr}.quotes-create-general-grid .quotes-action-row{grid-column:auto}.quotes-create-total{width:100%}.quotes-create-local-name{min-width:14rem}}.clients-page{gap:var(--spacing-lg);flex-direction:column;display:flex}.clients-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.clients-title-group h1{margin-bottom:4px;font-size:2rem}.clients-title-group p{margin:0}.clients-filters{background-color:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.clients-filter-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.clients-filter-field label{color:var(--color-text-secondary);font-size:.9rem;font-weight:600}.clients-actions{align-items:flex-end;gap:var(--spacing-sm);flex-wrap:wrap;padding-bottom:1px;display:flex}.clients-table-wrap{background-color:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.clients-table{border-collapse:collapse;width:100%}.clients-table th,.clients-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:.8rem 1rem}.clients-table th{letter-spacing:.02em;color:var(--color-text-secondary);background-color:#f8fafc;font-size:.85rem}.clients-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.status-chip{border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.status-prospecto{color:#92400e;background-color:#fef3c7}.status-activo,.status-vigente,.status-finalizado{color:#166534;background-color:#dcfce7}.status-inactivo,.status-cancelado,.status-vencido{color:#991b1b;background-color:#fee2e2}.status-borrador,.status-planeacion,.status-en-pausa{color:#334155;background-color:#e2e8f0}.status-en-ejecucion{color:#1d4ed8;background-color:#dbeafe}.clients-modal-backdrop{z-index:1000;background-color:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.clients-modal{background-color:var(--color-bg-primary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);width:min(700px,100%);max-height:90vh;box-shadow:var(--shadow-xl);padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex;overflow-y:auto}.clients-modal h2{margin-bottom:0}.clients-form-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.clients-form-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.clients-form-field.full-width{grid-column:1/-1}.clients-form-error{color:var(--color-error);margin:0;font-weight:600}@media (max-width:768px){.clients-page{padding:var(--spacing-md)}.clients-title-group h1{font-size:1.6rem}.clients-table-wrap{overflow-x:auto}.clients-table{min-width:900px}}.billing-page{gap:var(--spacing-lg);padding:var(--spacing-sm);flex-direction:column;display:flex}.billing-nav{gap:var(--spacing-sm);background:radial-gradient(circle at 100% 0,#165a2a1a,#0000 35%),linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);border:1px solid #dbe3ee;border-radius:14px;flex-wrap:wrap;padding:.45rem;display:flex}.billing-tab-btn{letter-spacing:.01em;border-radius:10px;align-items:center;gap:.5rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 10px #0f172a0f}.billing-tab-btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px #0f172a1a}.billing-tab-btn svg{width:16px;height:16px}.billing-title-group{flex:620px;min-width:0}.billing-credentials-card{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);min-width:260px;padding:var(--spacing-md);background:linear-gradient(135deg,#f8fafc,#e0f2fe)}.billing-credentials-card h3{margin-bottom:var(--spacing-sm);font-size:1rem}.billing-credentials-card p{color:var(--color-text-primary);margin:0;font-size:.9rem}.billing-indicators{justify-content:center;gap:var(--spacing-md);width:min(100%,750px);margin-top:var(--spacing-md);flex-wrap:nowrap;align-items:stretch;margin-inline:auto;display:flex}.billing-indicator{min-height:144px;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md);text-align:center;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);flex-direction:column;flex:1 1 0;align-items:center;gap:.35rem;display:flex;position:relative;overflow:hidden}.billing-indicator:before{content:"";opacity:.9;background:currentColor;width:100%;height:4px;position:absolute;inset:0 auto auto 0}.billing-indicator:after{content:"";opacity:.08;background:currentColor;border-radius:999px;width:96px;height:96px;position:absolute;top:-28px;right:-18px}.billing-indicator-label{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);font-size:.78rem;font-weight:700;position:relative}.billing-indicator-value{z-index:1;color:var(--color-text-primary);margin:0;font-size:clamp(1.65rem,1.5vw,2.1rem);line-height:1.1;position:relative}.billing-indicator-caption{z-index:1;color:var(--color-text-secondary);max-width:24ch;margin-top:auto;font-size:.88rem;position:relative}.billing-indicator-facturado{color:var(--esserge-primary);background:linear-gradient(145deg,#165a2a14 0%,#fff 72%);border-color:#165a2a2e}.billing-indicator-pagado{color:#b88900;background:linear-gradient(145deg,#f4c3002e 0%,#fff 72%);border-color:#f4c30047}.billing-section-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.billing-actions-inline{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.billing-filters-actions{justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #dce3ec;border-radius:12px;flex-wrap:wrap;padding:.55rem .65rem;display:flex}.billing-filters-actions .btn{align-items:center;gap:.45rem;display:inline-flex}.billing-filters-actions .btn svg{width:15px;height:15px}.billing-quick-card{border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:#f8fbff;border:1px dashed #bfdbfe}.billing-note-panel{background:radial-gradient(circle at 100% 0,#2563eb1a,#0000 28%),linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);border:1px solid #2563eb2e;border-radius:18px;padding:1rem}.billing-note-panel-header{gap:.35rem;margin-bottom:.9rem;display:grid}.billing-note-panel-header p{color:#475569;margin:0;font-size:.92rem;line-height:1.45}.billing-note-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;padding:.3rem .7rem;font-size:.75rem;font-weight:800;display:inline-flex}.billing-note-badge.is-credit{color:#1d4ed8;background:#dbeafe}.billing-note-badge.is-debit{color:#b45309;background:#fef3c7}.billing-note-grid{gap:.8rem}.billing-quick-card h3{margin-bottom:var(--spacing-md);font-size:1rem}.billing-detail-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg)0 var(--spacing-sm);display:flex}.billing-free-toggle,.billing-free-value{align-items:center;gap:.4rem;display:flex}.billing-free-toggle{white-space:nowrap;font-size:.82rem}.billing-free-affectation{min-width:118px;margin-top:.35rem;font-size:.75rem}.billing-free-value{flex-direction:column;align-items:stretch;gap:.2rem}.billing-free-value span{color:var(--color-text-secondary);white-space:nowrap;font-size:.72rem}.billing-cdr-response{text-align:left}.billing-cdr-response p{margin:.45rem 0}.billing-cdr-notes ul{margin:.35rem 0 0;padding-left:1.25rem}.billing-resend-notice{margin-bottom:var(--spacing-md);border-radius:var(--border-radius-md);color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;padding:.7rem .85rem;font-size:.88rem}.billing-btn-sm{padding:.35rem .6rem;font-size:.82rem}.billing-totals-grid{gap:var(--spacing-sm);margin:var(--spacing-md)0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.billing-total-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm)var(--spacing-md);background:#f8fafc}.billing-total-card span{color:var(--color-text-secondary);font-size:.82rem;display:block}.billing-total-card strong{color:var(--color-text-primary);font-size:1.2rem}.billing-status-chip{border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.billing-status-empty{color:#334155;background-color:#e2e8f0}.billing-status-ok{color:#166534;background-color:#dcfce7}.billing-status-pending{color:#854d0e;background-color:#fef9c3}.billing-status-error{color:#991b1b;background-color:#fee2e2}.billing-status-neutral{color:#075985;background-color:#e0f2fe}.billing-loading-overlay{z-index:4000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a4d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.billing-modal-overlay{z-index:3200;padding:var(--spacing-lg);background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.billing-modal-content{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);width:min(1200px,100%);box-shadow:var(--shadow-xl);padding:var(--spacing-lg);margin:auto}.billing-modal-content-sm{width:min(760px,100%)}.billing-pdf-preview-modal{width:min(1100px,100%);height:min(900px,calc(100vh - (2*var(--spacing-lg))));gap:var(--spacing-md);flex-direction:column;display:flex;overflow:hidden}.billing-pdf-preview-header{flex:none}.billing-pdf-preview-header h3,.billing-pdf-preview-header p{margin:0}.billing-pdf-preview-frame{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:#f1f5f9;flex:auto;width:100%;min-height:0}.billing-pdf-preview-actions{justify-content:flex-end;gap:var(--spacing-sm);flex:none;display:flex}.billing-invoices-table-wrap{flex-direction:column;min-width:0;max-width:100%;max-height:52vh;display:flex;overflow:hidden}.billing-table-scroll{flex:1;overflow:auto}.billing-invoices-table{width:100%;min-width:100%}.billing-invoices-column{min-width:var(--billing-invoices-column-min-width,0)}.billing-invoices-actions-column{width:var(--billing-invoices-column-min-width,auto)}.billing-invoices-actions{flex-wrap:nowrap;justify-content:center}.billing-modal-content .billing-section-header{margin-bottom:var(--spacing-lg)}.billing-subsection-title{margin:var(--spacing-md)0 var(--spacing-sm);font-size:1rem}.billing-cuota-date-input{min-width:150px}.billing-check-grid{gap:var(--spacing-sm);margin:var(--spacing-md)0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.billing-check-grid label{color:var(--color-text-primary);align-items:center;gap:.4rem;font-size:.92rem;display:flex}.billing-check-grid input[type=checkbox]{width:auto}.billing-config-note{margin:0 0 var(--spacing-sm);color:var(--color-text-secondary);font-size:.88rem}.billing-pay-now-field{align-self:start}.billing-switch{border:1px solid var(--border-color);cursor:pointer;background:#f8fafc;border-radius:999px;align-items:center;gap:.55rem;padding:.35rem .55rem;transition:border-color .2s,background-color .2s,box-shadow .2s;display:inline-flex}.billing-switch:hover{border-color:var(--esserge-primary)}.billing-switch:focus-visible{outline:none;box-shadow:0 0 0 3px #165a2a33}.billing-switch-track{background:#cbd5e1;border-radius:999px;width:46px;height:24px;transition:background-color .2s;position:relative}.billing-switch-thumb{background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a59}.billing-switch.is-on{background:#165a2a14;border-color:#165a2a73}.billing-switch.is-on .billing-switch-track{background:var(--esserge-primary)}.billing-switch.is-on .billing-switch-thumb{transform:translate(22px)}.billing-switch-text{min-width:1.3rem;color:var(--color-text-primary);text-align:center;font-size:.82rem;font-weight:700}.billing-doc-modal{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px}.billing-doc-header-card,.billing-doc-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 14px #0f172a0f}.billing-doc-header-card{margin-bottom:1rem;padding:1rem}.billing-doc-header-top{flex-wrap:wrap;justify-content:space-between;gap:.85rem;margin-bottom:.85rem;display:flex}.billing-doc-overline{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0;font-size:.74rem;font-weight:700}.billing-doc-header-top h3{color:#0f172a;margin:.2rem 0 0;font-size:1.3rem}.billing-doc-title-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.billing-doc-state-chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;padding:.22rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.billing-doc-state-chip.is-ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.billing-doc-state-chip.is-warning{color:#854d0e;background:#fef9c3;border-color:#fde68a}.billing-doc-state-chip.is-danger{color:#991b1b;background:#fee2e2;border-color:#fecaca}.billing-doc-subtitle{color:#475569;margin:.2rem 0 0;font-size:.88rem}.billing-doc-reference{color:#334155;margin:.35rem 0 0;font-size:.86rem}.billing-doc-action{align-items:center;gap:.35rem;display:inline-flex}.billing-doc-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.billing-doc-meta-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.6rem .75rem}.billing-doc-meta-item span{color:#64748b;margin-bottom:.18rem;font-size:.74rem;display:block}.billing-doc-meta-item strong{color:#0f172a;font-size:.9rem}.billing-doc-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:.75rem;display:grid}.billing-doc-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.7rem}.billing-doc-kpi span{color:#64748b;margin-bottom:.35rem;font-size:.74rem;display:block}.billing-doc-kpi strong{display:inline-flex}.billing-doc-layout{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.billing-doc-main{flex-direction:column;gap:1rem;display:flex}.billing-doc-info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.billing-doc-card{padding:.9rem}.billing-doc-card h4{color:#0f172a;margin:0 0 .65rem;font-size:.95rem}.billing-doc-card dl{gap:.45rem;margin:0;display:grid}.billing-doc-card dl div{gap:.1rem;display:grid}.billing-doc-card dt{color:#64748b;font-size:.73rem}.billing-doc-card dd{color:#0f172a;margin:0;font-size:.86rem}.billing-doc-files{gap:.55rem;display:grid}.billing-doc-file-row{grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;display:grid}.billing-doc-badge{border-radius:999px;align-items:center;width:fit-content;padding:.16rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.billing-doc-badge.is-ok{color:#166534;background:#dcfce7}.billing-doc-badge.is-muted{color:#4b5563;background:#e5e7eb}.billing-doc-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.billing-doc-summary-grid div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:.55rem}.billing-doc-summary-grid span{color:#64748b;font-size:.73rem;display:block}.billing-doc-summary-grid strong{color:#0f172a;font-size:.9rem}.billing-doc-total-line{border-top:1px dashed #cbd5e1;justify-content:space-between;align-items:center;margin-top:.8rem;padding-top:.65rem;display:flex}.billing-doc-total-line span{color:#64748b;font-size:.82rem}.billing-doc-total-line strong{color:#0f172a;font-size:1rem}.billing-doc-aside{flex-direction:column;gap:1rem;display:flex}.billing-doc-timeline-card{min-height:100%}.billing-doc-timeline{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.billing-doc-timeline-item{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.55rem;display:grid}.billing-doc-timeline-icon{color:#64748b;background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.billing-doc-timeline-item.is-done .billing-doc-timeline-icon{color:#1d4ed8;background:#dbeafe}.billing-doc-timeline-item p{color:#0f172a;margin:0;font-size:.84rem}.billing-doc-timeline-item small{color:#64748b;font-size:.75rem}@media (max-width:768px){.billing-page{padding:0}.billing-indicators{grid-template-columns:1fr;align-content:center;width:100%}.billing-indicator{min-height:auto}.billing-credentials-card{width:100%}.billing-nav{flex-direction:column;align-items:stretch}.billing-tab-btn{justify-content:center}.billing-filters-actions{flex-direction:column;align-items:stretch}.billing-modal-overlay{padding:var(--spacing-sm)}.billing-modal-content{padding:var(--spacing-md)}.billing-pay-now-field{align-self:stretch}.billing-pdf-preview-modal{height:calc(100vh - (2*var(--spacing-sm)))}.billing-pdf-preview-actions{flex-direction:column-reverse}.billing-pdf-preview-actions .btn{width:100%}.billing-doc-meta-grid,.billing-doc-kpis,.billing-doc-summary-grid,.billing-doc-info-grid{grid-template-columns:1fr}.billing-doc-file-row{grid-template-columns:1fr;justify-items:start}}@media (min-width:769px) and (max-width:1100px){.billing-doc-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.default-page{text-align:center;min-height:60vh;padding:var(--spacing-2xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.default-page-icon{margin-bottom:var(--spacing-lg);opacity:.5;font-size:5rem}.default-page-title{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:2rem}.default-page-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:1.1rem}.default-page-info{background-color:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);max-width:600px;margin-top:var(--spacing-lg);box-shadow:var(--shadow-sm)}.default-page-info p{color:var(--color-text-secondary);margin:0;line-height:1.6}.page-path{color:#3730a3;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--border-radius-sm);margin:var(--spacing-sm)0;background-color:#e0e7ff;font-family:monospace;font-size:.9rem;display:inline-block}#root{margin:0;padding:0}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:1em}.read-the-docs{color:#888}.accounting-page{--ds-color-brand:var(--corvus-primary,#4f6d8c);--ds-color-brand-hover:var(--corvus-primary-hover,#415b75);--ds-color-brand-strong:var(--corvus-primary-active,#34485d);--ds-color-accent:#7893ad;--ds-color-background:var(--corvus-bg,#f8f9fa);--ds-color-surface:#fff;--ds-color-surface-subtle:#f5f7f9;--ds-color-text:var(--corvus-text-dark,#1f2937);--ds-color-text-muted:var(--corvus-muted,#6b7280);--ds-color-text-subtle:#84909d;--ds-color-border:#dce2e8;--ds-color-focus:#6686a6;--ds-color-success:#237a4b;--ds-color-success-surface:#e7f5ed;--ds-color-warning:#9a5b0a;--ds-color-warning-surface:#fff3d6;--ds-color-danger:#a13737;--ds-color-danger-surface:#fbe9e9;--ds-color-info:#486f96;--ds-color-info-surface:#e8f0f7;--ds-color-overlay:#181f2694;--ds-font-size-xs:.75rem;--ds-font-size-sm:.875rem;--ds-font-size-md:1rem;--ds-font-size-lg:1.125rem;--ds-font-size-xl:1.5rem;--ds-font-size-2xl:2rem;--ds-line-height-tight:1.2;--ds-line-height-normal:1.5;--ds-space-1:.25rem;--ds-space-2:.5rem;--ds-space-3:.75rem;--ds-space-4:1rem;--ds-space-5:1.25rem;--ds-space-6:1.5rem;--ds-space-8:2rem;--ds-space-12:3rem;--ds-radius-sm:6px;--ds-radius-md:10px;--ds-radius-lg:14px;--ds-radius-full:999px;--ds-shadow-sm:0 2px 8px #1f29370f;--ds-shadow-md:0 12px 32px #1f29371c;--ds-shadow-overlay:0 24px 60px #1f293738;--ds-icon-sm:1rem;--ds-icon-md:1.25rem;--ds-icon-lg:1.5rem;--ds-control-height-sm:2.25rem;--ds-control-height-md:2.75rem;--ds-control-height-lg:3rem;--ds-touch-target:2.75rem;--ds-z-dropdown:20;--ds-z-sticky:40;--ds-z-overlay:100;--ds-z-toast:1000;--ds-duration-fast:.15s;--ds-duration-normal:.25s;--ds-ease-out:cubic-bezier(.16,1,.3,1);gap:var(--ds-space-6);height:calc(100dvh - (var(--spacing-lg) + var(--spacing-lg)));max-height:calc(100dvh - (var(--spacing-lg) + var(--spacing-lg)));min-width:0;min-height:0;color:var(--ds-color-text);flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.accounting-page>.ds-page-header{align-items:center}.accounting-header-actions{align-items:center;gap:var(--ds-space-3);display:flex}.accounting-header-kpis{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);box-shadow:var(--ds-shadow-sm);grid-template-columns:repeat(6,minmax(7.5rem,1fr));display:grid;overflow:visible}.accounting-header-kpi{min-width:0;padding:.65rem var(--ds-space-3).65rem calc(var(--ds-space-3) + .25rem);border-left:1px solid var(--ds-color-border);gap:.15rem;display:grid;position:relative}.accounting-header-kpi[data-tooltip]:after{z-index:var(--ds-z-overlay);width:min(15rem,100vw - 2rem);padding:var(--ds-space-3);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm);background:var(--ds-color-surface);box-shadow:var(--ds-shadow-overlay);color:var(--ds-color-text);content:attr(data-tooltip);font-size:var(--ds-font-size-xs);font-weight:500;line-height:var(--ds-line-height-normal);text-align:left;white-space:normal;overflow-wrap:anywhere;opacity:0;visibility:hidden;transition:opacity var(--ds-duration-fast)var(--ds-ease-out),transform var(--ds-duration-fast)var(--ds-ease-out),visibility var(--ds-duration-fast);pointer-events:none;position:absolute;top:calc(100% + .5rem);left:0;transform:translateY(-.2rem)}.accounting-header-kpi:last-child[data-tooltip]:after{left:auto;right:0}.accounting-header-kpi[data-tooltip]:hover,.accounting-header-kpi[data-tooltip]:focus-visible{z-index:calc(var(--ds-z-overlay) + 1);outline:0}.accounting-header-kpi[data-tooltip]:hover:after,.accounting-header-kpi[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.accounting-header-kpi:first-child{border-left:0}.accounting-header-kpi:before{border-radius:var(--ds-radius-full);background:var(--ds-color-brand);content:"";width:.2rem;position:absolute;inset:.55rem auto .55rem 0}.accounting-header-kpi--income:before,.accounting-header-kpi--balance-positive:before{background:var(--ds-color-success)}.accounting-header-kpi--expected:before{background:var(--ds-color-info)}.accounting-header-kpi--balance-negative:before{background:var(--ds-color-danger)}.accounting-header-kpi--balance-positive strong{color:var(--ds-color-success)}.accounting-header-kpi--balance-negative strong{color:var(--ds-color-danger)}.accounting-header-kpi--fixed:before{background:var(--ds-color-info)}.accounting-header-kpi--variable:before{background:var(--ds-color-warning)}.accounting-header-kpi--projected:before{background:var(--ds-color-brand-strong)}.accounting-header-kpi span{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.accounting-header-kpi strong{font-size:var(--ds-font-size-md);font-variant-numeric:tabular-nums;line-height:var(--ds-line-height-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.accounting-filter-panel{display:contents}.accounting-filter-toggle,.accounting-mobile-tabs{display:none}.accounting-filters{align-items:end;gap:var(--ds-space-3);padding:var(--ds-space-4);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);box-shadow:var(--ds-shadow-sm);grid-template-columns:repeat(4,minmax(8rem,.8fr)) minmax(12rem,1.2fr) auto;display:grid}.accounting-field{gap:var(--ds-space-2);min-width:0;display:grid}.accounting-field label,.accounting-field__label{color:var(--ds-color-text);font-size:var(--ds-font-size-sm);font-weight:650}.accounting-field input,.accounting-field select,.accounting-field textarea{min-height:var(--ds-control-height-md)}.accounting-field :is(input,select,textarea):focus-visible{border-color:var(--ds-color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-color-focus)20%,transparent);outline:0}.accounting-field--definition{min-height:var(--ds-control-height-md);padding:var(--ds-space-2)var(--ds-space-3);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm);background:var(--ds-color-surface-subtle);align-content:center}.accounting-field--definition span{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs)}.accounting-field--definition strong{font-size:var(--ds-font-size-sm)}.accounting-alert{justify-content:space-between;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3)var(--ds-space-4);border:1px solid color-mix(in srgb,var(--ds-color-danger)35%,transparent);border-radius:var(--ds-radius-md);background:var(--ds-color-danger-surface);color:var(--ds-color-danger);display:flex}.accounting-workspace{align-items:stretch;gap:var(--ds-space-4);flex:auto;grid-template-columns:minmax(19rem,25rem) minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.accounting-table-card,.accounting-fixed{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);min-width:0;min-height:0;box-shadow:var(--ds-shadow-sm);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.accounting-ledger{grid-template-rows:auto minmax(0,1fr)}.accounting-ledger-tabs{gap:var(--ds-space-1);padding:var(--ds-space-2);border-bottom:1px solid var(--ds-color-border);background:var(--ds-color-surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.accounting-ledger-tabs button{min-height:var(--ds-control-height-md);padding:0 var(--ds-space-3);border-radius:var(--ds-radius-sm);color:var(--ds-color-text-muted);font:inherit;font-size:var(--ds-font-size-sm);cursor:pointer;background:0 0;border:0;font-weight:750}.accounting-ledger-tabs button:first-child.is-active{background:var(--ds-color-success-surface);color:var(--ds-color-success);box-shadow:var(--ds-shadow-sm)}.accounting-ledger-tabs button:nth-child(2).is-active{background:var(--ds-color-warning-surface);color:var(--ds-color-warning);box-shadow:var(--ds-shadow-sm)}.accounting-ledger-tabs button:last-child.is-active{background:var(--ds-color-danger-surface);color:var(--ds-color-danger);box-shadow:var(--ds-shadow-sm)}.accounting-header-kpi--clickable{text-align:left;width:100%;font:inherit;cursor:pointer;border-top:0;border-bottom:0;border-right:0}.accounting-header-kpi--clickable strong,.accounting-header-kpi--clickable small{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:.35rem;display:flex;overflow:hidden}.accounting-header-kpi--clickable strong b,.accounting-header-kpi--clickable small b{color:var(--ds-color-text-muted);letter-spacing:.04em;flex:none;font-size:.65rem;font-weight:850}.accounting-header-kpi--clickable small{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs)}.accounting-header-kpi--clickable:focus-visible{z-index:calc(var(--ds-z-overlay) + 1);outline:3px solid color-mix(in srgb,var(--ds-color-focus)40%,transparent);outline-offset:-3px}.accounting-header-kpi--expense-clickable{border-bottom:0;border-left:0;border-right:0}.accounting-header-kpi--expense-clickable:hover{background:#fffaf2}.accounting-debt-summary-wrap{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);max-height:58vh;overflow:auto}.accounting-debt-summary{border-collapse:separate;border-spacing:0;width:100%;min-width:48rem;font-size:var(--ds-font-size-sm);text-align:left}.accounting-debt-summary th,.accounting-debt-summary td{border-bottom:1px solid var(--ds-color-border);white-space:nowrap;padding:.8rem .85rem}.accounting-debt-summary th{color:var(--ds-color-text-muted);letter-spacing:.06em;text-transform:uppercase;background:#f3f6f9;font-size:.68rem;font-weight:800}.accounting-debt-summary tbody tr{transition:background-color var(--ds-duration-fast)var(--ds-ease-out)}.accounting-debt-summary tbody tr:hover{background:#f7f9fb}.accounting-debt-summary tbody tr:last-child td{border-bottom:0}.accounting-debt-summary td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.accounting-debt-summary__code{border:1px solid var(--ds-color-border);color:var(--ds-color-text-muted);letter-spacing:.03em;background:#f7f9fb;border-radius:5px;padding:.25rem .45rem;font-size:.72rem;font-weight:800;display:inline-flex}.accounting-debt-summary__concept{color:var(--ds-color-text)}.accounting-debt-summary__currency{border-radius:var(--ds-radius-full);letter-spacing:.03em;border:1px solid #0000;padding:.28rem .5rem;font-size:.7rem;font-weight:850;display:inline-flex}.accounting-debt-summary__currency--pen{color:#315f86;background:#edf5fc;border-color:#cfe2f4}.accounting-debt-summary__currency--usd{color:#28704a;background:#edf8f1;border-color:#cde9da}.accounting-debt-summary__balance{color:var(--ds-color-danger)}.accounting-debt-summary__empty{color:var(--ds-color-text-muted);text-align:center;padding:2.5rem 1rem}.accounting-debt-summary__totals{font-size:var(--ds-font-size-sm);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;display:flex}.accounting-debt-summary__totals>span{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);text-align:center;flex-basis:100%;font-weight:700}.accounting-debt-summary__totals strong{color:var(--ds-color-text);align-items:baseline;gap:.4rem;display:inline-flex}.accounting-debt-summary__totals strong b{color:var(--ds-color-text-muted);letter-spacing:.04em;font-size:.7rem}.accounting-debt-modal-backdrop{--ds-color-surface:#fff;--ds-color-text:#1f2937;--ds-color-text-muted:#667085;--ds-color-border:#dce2e8;--ds-color-brand:#4f6d8c;--ds-color-brand-hover:#415b75;--ds-color-danger:#a13737;--ds-color-danger-surface:#fbe9e9;--ds-color-focus:#6686a6;--ds-radius-sm:6px;--ds-radius-md:10px;--ds-radius-lg:14px;--ds-shadow-overlay:0 24px 60px #0f172a4d;--ds-font-size-xs:.75rem;--ds-font-size-sm:.875rem;z-index:10000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172aad;place-items:center;padding:1.25rem;animation:.15s ease-out debt-modal-fade-in;display:grid;position:fixed;inset:0}.accounting-debt-modal{color:#1f2937;background:#fff;border:1px solid #dce2e8;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(72rem,100vw - 2.5rem);max-height:min(85dvh,54rem);animation:.25s cubic-bezier(.16,1,.3,1) debt-modal-rise;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.accounting-debt-modal__header{border-bottom:1px solid var(--ds-color-border);background:linear-gradient(135deg,#f2f6fa,var(--ds-color-surface));justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.accounting-debt-modal__header>div{gap:.2rem;display:grid}.accounting-debt-modal__header>div>span{color:var(--ds-color-brand);letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:850}.accounting-debt-modal__header h2{margin:0;font-size:1.25rem}.accounting-debt-modal__header p{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm);margin:.1rem 0 0}.accounting-debt-modal__close{border:1px solid var(--ds-color-border);background:var(--ds-color-surface);width:2.5rem;height:2.5rem;color:var(--ds-color-text-muted);cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:grid}.accounting-debt-modal__close:hover{border-color:var(--ds-color-danger);background:var(--ds-color-danger-surface);color:var(--ds-color-danger)}.accounting-debt-modal__close:focus-visible,.accounting-debt-modal__done:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)40%,transparent);outline-offset:2px}.accounting-debt-modal__content{min-height:0;padding:1rem 1.25rem;overflow:hidden}.accounting-debt-modal__content .accounting-debt-summary-wrap{height:100%;max-height:100%}.accounting-debt-modal__footer{border-top:1px solid var(--ds-color-border);background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.accounting-debt-modal__footer>span{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);text-transform:uppercase;font-weight:800}.accounting-debt-modal__footer .accounting-debt-summary__totals{flex:1;justify-content:flex-end}.accounting-debt-modal__done{border:1px solid var(--ds-color-brand);border-radius:var(--ds-radius-sm);background:var(--ds-color-brand);color:#fff;min-height:2.5rem;font:inherit;font-size:var(--ds-font-size-sm);cursor:pointer;padding:.4rem 1rem;font-weight:750}.accounting-debt-modal__done:hover{background:var(--ds-color-brand-hover)}.accounting-expense-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172aad;place-items:center;padding:1.25rem;animation:.15s ease-out debt-modal-fade-in;display:grid;position:fixed;inset:0}.accounting-expense-modal{color:#1f2937;background:#fff;border:1px solid #dce2e8;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(70rem,100vw - 2.5rem);max-height:min(85dvh,54rem);animation:.25s cubic-bezier(.16,1,.3,1) debt-modal-rise;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.accounting-expense-modal__header,.accounting-expense-modal__footer{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.accounting-expense-modal__header{background:linear-gradient(135deg,#fff8ed,#fff);border-bottom:1px solid #e5eaf1}.accounting-expense-modal__header>div{gap:.2rem;display:grid}.accounting-expense-modal__header>div>span{color:#a66c1f;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:850}.accounting-expense-modal__header h2{margin:0;font-size:1.2rem}.accounting-expense-modal__header p{color:#667085;margin:.1rem 0 0;font-size:.82rem}.accounting-expense-modal__header>button{color:#667085;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:50%;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:1.5rem;line-height:1;display:grid}.accounting-expense-modal__content{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:.8rem;min-height:0;padding:1rem 1.25rem;display:grid;overflow:hidden}.accounting-expense-modal__group{grid-template-rows:auto minmax(0,1fr);gap:.35rem;min-height:0;display:grid}.accounting-expense-modal__group h3{color:#344054;margin:0;font-size:.84rem;font-weight:800}.accounting-expense-modal__table-wrap{background:#fff;border:1px solid #e5eaf1;border-radius:9px;max-height:100%;overflow:auto}.accounting-expense-modal__table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:42rem;font-size:.8rem}.accounting-expense-modal__table th,.accounting-expense-modal__table td{white-space:nowrap;border-bottom:1px solid #e9edf2;padding:.72rem .8rem}.accounting-expense-modal__table th{z-index:1;color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f3f6f9;font-size:.67rem;font-weight:800;position:sticky;top:0}.accounting-expense-modal__table td:first-child{white-space:normal}.accounting-expense-modal__table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.accounting-expense-modal__table tbody tr.is-overdue{background:#fff7f6}.accounting-expense-modal__table tbody tr.is-upcoming{background:#fffbf3}.accounting-expense-modal__table tfoot th{color:#263752;text-transform:none;letter-spacing:0;background:#f3f6f9;font-size:.82rem;position:static}.accounting-expense-modal__table tfoot th:last-child{text-align:right;font-variant-numeric:tabular-nums}.accounting-expense-modal__status{border-radius:999px;padding:.25rem .5rem;font-size:.67rem;font-weight:800;display:inline-flex}.accounting-expense-modal__status--vencido{color:#a13737;background:#fde8e7}.accounting-expense-modal__status--por-vencer{color:#9a6417;background:#fff1d8}.accounting-expense-modal__status--pagado{color:#277252;background:#e8f7f0}.accounting-expense-modal__status--registrado{color:#4963bb;background:#edf3ff}.accounting-expense-modal__empty{color:#667085;text-align:center;padding:2.5rem 1rem}.accounting-expense-modal__footer{background:#f8fafc;border-top:1px solid #dce2e8;justify-content:flex-end}.accounting-expense-modal__footer>div{gap:.2rem;margin-right:auto;display:grid}.accounting-expense-modal__footer>div+div{margin-left:.5rem}.accounting-expense-modal__footer span{color:#667085;font-size:.67rem;font-weight:750}.accounting-expense-modal__footer strong{color:#263752;font-variant-numeric:tabular-nums;font-size:.88rem}.accounting-expense-modal__actions{gap:.5rem;margin-left:auto;display:flex}.accounting-expense-modal__actions button{color:#fff;min-height:2.5rem;font:inherit;cursor:pointer;background:#4f6d8c;border:1px solid #4f6d8c;border-radius:6px;padding:.4rem 1rem;font-size:.82rem;font-weight:750}.accounting-expense-modal__actions .accounting-expense-modal__export{background:#177245;border-color:#177245}@keyframes debt-modal-fade-in{0%{opacity:0}}@keyframes debt-modal-rise{0%{opacity:0;transform:translateY(.5rem)scale(.99)}}.accounting-tab-panel{grid-template-rows:auto minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.accounting-tab-panel[hidden]{display:none!important}.accounting-tab-heading{flex:none;align-content:start;gap:.35rem;min-width:0;display:grid}.accounting-concept-search{gap:.1rem;max-width:27rem;display:grid}.accounting-concept-search>span{color:var(--ds-color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:800}.accounting-concept-search input{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm);background:var(--ds-color-surface);width:100%;height:2rem;min-height:2rem;color:var(--ds-color-text);font:inherit;font-size:var(--ds-font-size-sm);padding:.3rem .65rem}.accounting-concept-search input:focus-visible{border-color:var(--ds-color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-color-focus)20%,transparent);outline:0}.accounting-ledger-tabs button:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)35%,transparent);outline-offset:-1px}.accounting-fixed .accounting-table-card__header{padding:var(--ds-space-4);flex-direction:column;align-items:stretch;gap:.45rem}.accounting-fixed .accounting-table-card__header .ds-button{align-self:flex-start}.accounting-fixed__grid{align-content:start;gap:var(--ds-space-3);min-height:0;padding:var(--ds-space-4);overscroll-behavior:contain;scrollbar-gutter:stable;grid-template-columns:1fr;display:grid;overflow-y:auto}.accounting-fixed__grid:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)38%,transparent);outline-offset:-3px}.accounting-fixed__item{gap:var(--ds-space-4);padding:var(--ds-space-4);border:1px solid var(--ds-color-border);border-left:4px solid var(--ds-color-info);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);transition:border-color var(--ds-duration-fast)var(--ds-ease-out),box-shadow var(--ds-duration-fast)var(--ds-ease-out),transform var(--ds-duration-fast)var(--ds-ease-out);display:grid}.accounting-fixed__item:hover{border-color:color-mix(in srgb,var(--ds-color-brand)34%,var(--ds-color-border));box-shadow:var(--ds-shadow-sm);transform:translateY(-1px)}.accounting-fixed__item--vencido{border-left-color:var(--ds-color-danger);background:color-mix(in srgb,var(--ds-color-danger-surface)24%,var(--ds-color-surface))}.accounting-fixed__item--hoy{border-left-color:var(--ds-color-warning)}.accounting-fixed__item--pagado{border-left-color:var(--ds-color-success)}.accounting-fixed__top,.accounting-fixed__bottom{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-3);display:flex}.accounting-fixed__top>div,.accounting-fixed__bottom>div{gap:.15rem;display:grid}.accounting-fixed__top>.accounting-fixed__actions{align-items:center;gap:var(--ds-space-2);display:flex}.accounting-fixed__actions .ds-icon-button{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm)}.accounting-fixed__top span,.accounting-fixed__bottom small,.accounting-fixed__paid{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs)}.accounting-fixed__bottom{align-items:flex-end}.accounting-fixed__bottom strong{font-size:var(--ds-font-size-lg);font-variant-numeric:tabular-nums}.accounting-fixed__bottom .accounting-fixed__unreported{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm);font-weight:650}.accounting-fixed__paid{color:var(--ds-color-success);align-self:center;font-weight:700}.accounting-fixed__overdue{border:1px solid color-mix(in srgb,var(--ds-color-danger)40%,var(--ds-color-border));border-radius:var(--ds-radius-full);background:var(--ds-color-danger-surface);min-height:2rem;color:var(--ds-color-danger);font:inherit;font-size:var(--ds-font-size-xs);cursor:pointer;align-items:center;gap:.2rem;padding:0 .55rem;font-weight:800;display:inline-flex}.accounting-fixed__overdue span{background:var(--ds-color-danger);color:#fff;border-radius:50%;place-items:center;width:1rem;height:1rem;font-size:.7rem;display:grid}.accounting-fixed__overdue:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)45%,transparent);outline-offset:2px}.accounting-overdue-list{border-radius:var(--ds-radius-sm);background:var(--ds-color-surface-subtle);text-align:left;max-height:12rem;margin:.75rem 0 0;padding:.75rem 1rem .75rem 2rem;overflow:auto}.accounting-overdue-list li+li{margin-top:.25rem}.swal2-popup section+section{margin-top:1rem}.swal2-popup section>strong{text-align:left;display:block}.accounting-fixed__empty{gap:var(--ds-space-1);padding:var(--ds-space-6);color:var(--ds-color-text-muted);text-align:center;grid-column:1/-1;display:grid}.accounting-fixed__empty strong{color:var(--ds-color-text)}.accounting-income__header-actions{gap:var(--ds-space-2);flex-wrap:wrap;display:flex}.accounting-income__scroll{align-content:start;gap:var(--ds-space-5);min-height:0;padding:var(--ds-space-4);overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;position:relative;overflow-y:auto}.accounting-income__scroll>.loading-root--section{z-index:2;background:color-mix(in srgb,var(--ds-color-surface)76%,transparent);min-height:0;position:absolute;inset:0}.accounting-income__section{gap:var(--ds-space-3);display:grid}.accounting-income__section h3{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:800}.accounting-income__item{border-left-color:var(--ds-color-success);background:color-mix(in srgb,var(--ds-color-success-surface)28%,var(--ds-color-surface))}.accounting-income__item--atrasado{border-left-color:var(--ds-color-danger)}.accounting-income__item--hoy{border-left-color:var(--ds-color-warning)}.accounting-income-record{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.accounting-income-record>div:first-child{align-items:center;gap:var(--ds-space-1)var(--ds-space-2);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.accounting-income-record>div:first-child small{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.accounting-income-record>strong{color:var(--ds-color-success);font-variant-numeric:tabular-nums;white-space:nowrap}.accounting-income__error{padding:var(--ds-space-3);border-radius:var(--ds-radius-sm);background:var(--ds-color-danger-surface);color:var(--ds-color-danger);font-size:var(--ds-font-size-sm)}.accounting-debts__header{flex-wrap:wrap}.accounting-debts__list{align-content:start;gap:var(--ds-space-3);min-height:0;padding:var(--ds-space-4);overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;overflow-y:auto}.accounting-debt-card{gap:var(--ds-space-3);padding:var(--ds-space-4);border:1px solid var(--ds-color-border);border-left:4px solid var(--ds-color-warning);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);display:grid}.accounting-debt-card__heading{justify-content:space-between;gap:var(--ds-space-3);display:flex}.accounting-debt-card__actions{align-items:flex-start;gap:var(--ds-space-1);display:flex}.accounting-debt-card__heading>div{gap:.2rem;min-width:0;display:grid}.accounting-debt-card__heading code{color:var(--ds-color-brand);font-size:var(--ds-font-size-xs);letter-spacing:.06em;font-weight:800}.accounting-debt-card__heading strong{overflow-wrap:anywhere}.accounting-debt-card__heading small,.accounting-debt-card p{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);margin:0}.accounting-debt-card__amounts{gap:var(--ds-space-3);grid-template-columns:1fr 1fr;display:grid}.accounting-debt-card__amounts>div,.accounting-debt-card__balance{gap:.15rem;display:grid}.accounting-debt-card__amounts span,.accounting-debt-card__balance span{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs)}.accounting-debt-card__amounts strong,.accounting-debt-card__balance strong{font-variant-numeric:tabular-nums}.accounting-debt-card__balance{padding-top:var(--ds-space-2);border-top:1px solid var(--ds-color-border)}.accounting-debt-card__balance strong{color:var(--ds-color-warning);font-size:var(--ds-font-size-lg)}.accounting-debt-card--settled{border-left-color:var(--ds-color-success);background:#fbfdfc}.accounting-debt-card--settled .accounting-debt-card__balance strong{color:var(--ds-color-success);font-size:var(--ds-font-size-sm)}.accounting-debts__settled{gap:var(--ds-space-3);margin-top:var(--ds-space-2);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:#f8fafc;display:grid}.accounting-debts__settled>summary{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm);cursor:pointer;align-items:center;gap:.55rem;padding:.8rem 1rem;font-weight:750;list-style-position:inside;display:flex}.accounting-debts__settled>summary span{color:#566579;background:#e8edf2;border-radius:999px;place-items:center;min-width:1.45rem;height:1.45rem;font-size:.68rem;display:inline-grid}.accounting-debts__settled[open]{padding-bottom:var(--ds-space-3)}.accounting-debts__settled>div{gap:var(--ds-space-3);padding:0 var(--ds-space-3);display:grid}.expense-notebook--debt{z-index:calc(var(--ds-z-overlay) + 2)}.expense-notebook--income{z-index:calc(var(--ds-z-overlay) + 1)}.expense-notebook--income .expense-notebook__header{background:linear-gradient(135deg,color-mix(in srgb,var(--ds-color-success)10%,var(--ds-color-surface)),var(--ds-color-surface))}.expense-notebook--income .expense-notebook__header span{color:var(--ds-color-success)}.accounting-table-card__header{justify-content:space-between;align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-5);border-bottom:1px solid var(--ds-color-border);display:flex}.accounting-table-card__header h2{font-size:var(--ds-font-size-lg);margin:0}.accounting-table-card__header p{margin:var(--ds-space-1)0 0;font-size:var(--ds-font-size-sm)}.accounting-table-wrap{overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--ds-color-surface);min-width:0;min-height:0;box-shadow:none;border:0;border-radius:0;overflow:auto}.accounting-table{border-collapse:collapse;width:100%}.accounting-table :is(th,td){padding:var(--ds-space-3)var(--ds-space-4);border-bottom:1px solid var(--ds-color-border);text-align:left;vertical-align:middle}.accounting-table th{background:var(--ds-color-surface-subtle);color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-weight:700}.accounting-table thead{z-index:1;position:sticky;top:0}.accounting-table tbody tr{transition:background-color var(--ds-duration-fast)var(--ds-ease-out)}.accounting-table tbody tr:hover{background:color-mix(in srgb,var(--ds-color-brand)5%,var(--ds-color-surface))}.accounting-table tbody tr:last-child td{border-bottom:0}.accounting-table td small{max-width:34rem;color:var(--ds-color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.2rem;display:block;overflow:hidden}.accounting-amount{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.accounting-amount--income strong{color:var(--ds-color-success)}.accounting-amount--expense strong{color:var(--ds-color-danger)}.accounting-movement--income{background:color-mix(in srgb,var(--ds-color-success-surface)22%,var(--ds-color-surface))}.accounting-row-actions{justify-content:flex-end;gap:var(--ds-space-1);display:flex}.accounting-row-actions .ds-icon-button{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm)}.accounting-table .ds-data-table__empty{color:var(--ds-color-text-muted);padding:var(--ds-space-6)!important;text-align:center!important}.accounting-table .ds-data-table__empty strong,.accounting-table .ds-data-table__empty span{display:block}.accounting-table .ds-data-table__empty strong{margin-bottom:var(--ds-space-1);color:var(--ds-color-text)}.expense-notebook{right:clamp(1rem,2vw,2rem);bottom:max(1rem,env(safe-area-inset-bottom));z-index:var(--ds-z-overlay);align-items:flex-end;gap:var(--ds-space-3);flex-direction:column;display:flex;position:fixed}.expense-notebook__trigger{align-items:center;gap:var(--ds-space-2);min-height:3.25rem;padding:0 var(--ds-space-5);border-radius:var(--ds-radius-full);background:var(--ds-color-brand);color:#fff;box-shadow:var(--ds-shadow-overlay);cursor:pointer;touch-action:manipulation;transition:background-color var(--ds-duration-fast)var(--ds-ease-out),box-shadow var(--ds-duration-fast)var(--ds-ease-out),transform var(--ds-duration-fast)var(--ds-ease-out);border:0;font-weight:700;display:inline-flex}.expense-notebook__trigger:hover{background:var(--ds-color-brand-hover);transform:translateY(-1px);box-shadow:0 16px 36px #1f293747}.expense-notebook__trigger:active{transform:translateY(0)}.expense-notebook__trigger:focus-visible,.expense-notebook__close:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)50%,transparent);outline-offset:3px}.expense-notebook__trigger svg{width:1.25rem;height:1.25rem}.expense-notebook__panel{border:1px solid color-mix(in srgb,var(--ds-color-brand)20%,var(--ds-color-border));border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);width:min(29rem,100vw - 2rem);max-height:min(76dvh,46rem);box-shadow:var(--ds-shadow-overlay);animation:notebook-enter var(--ds-duration-normal)var(--ds-ease-out);overflow-y:auto}.expense-notebook__header{z-index:1;justify-content:space-between;align-items:flex-start;gap:var(--ds-space-3);padding:var(--ds-space-4)var(--ds-space-5);border-bottom:1px solid var(--ds-color-border);background:linear-gradient(135deg,color-mix(in srgb,var(--ds-color-brand)10%,var(--ds-color-surface)),var(--ds-color-surface));display:flex;position:sticky;top:0}.expense-notebook__header span{color:var(--ds-color-brand);font-size:var(--ds-font-size-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.expense-notebook__header h2{font-size:var(--ds-font-size-lg);margin:.15rem 0 0}.expense-notebook__close{width:var(--ds-touch-target);height:var(--ds-touch-target);color:var(--ds-color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:1.8rem;line-height:1}.expense-notebook__close:hover{background:var(--ds-color-surface-subtle);color:var(--ds-color-text)}.expense-notebook__form{gap:var(--ds-space-4);padding:var(--ds-space-5);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 2.45rem,color-mix(in srgb,var(--ds-color-border)45%,transparent)2.5rem);display:grid}.expense-notebook__notice{padding:var(--ds-space-3);border:1px solid color-mix(in srgb,var(--ds-color-info)28%,var(--ds-color-border));border-radius:var(--ds-radius-sm);background:color-mix(in srgb,var(--ds-color-info)7%,var(--ds-color-surface));color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm);line-height:var(--ds-line-height-normal);margin:0}.expense-fixed-choice{gap:var(--ds-space-1);padding:var(--ds-space-1);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface-subtle);grid-template-columns:1fr 1fr;display:grid}.expense-fixed-choice button{min-height:var(--ds-control-height-md);padding:0 var(--ds-space-3);border-radius:var(--ds-radius-sm);color:var(--ds-color-text-muted);font-size:var(--ds-font-size-sm);background:0 0;border:0;font-weight:700}.expense-fixed-choice button.is-active{background:var(--ds-color-surface);color:var(--ds-color-brand);box-shadow:var(--ds-shadow-sm)}.expense-fixed-hint{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);line-height:var(--ds-line-height-normal)}.expense-notebook__form input[readonly]{background:var(--ds-color-surface-subtle);color:var(--ds-color-text-muted);cursor:default}.expense-notebook__row{gap:var(--ds-space-3);grid-template-columns:1fr 1fr;display:grid}.expense-notebook__form :is(input,select,textarea){background:color-mix(in srgb,var(--ds-color-surface)94%,transparent)}.expense-notebook__error{padding:var(--ds-space-2)var(--ds-space-3);border-radius:var(--ds-radius-sm);background:var(--ds-color-danger-surface);color:var(--ds-color-danger);font-size:var(--ds-font-size-sm);margin:0}.expense-notebook__actions{justify-content:flex-end;gap:var(--ds-space-2);padding-top:var(--ds-space-1);display:flex}@keyframes notebook-enter{0%{opacity:0;transform:translateY(.75rem)scale(.98)}}@media (max-width:1180px){.accounting-page>.ds-page-header{align-items:stretch;gap:var(--ds-space-4);flex-direction:column}.accounting-page>.ds-page-header .ds-page-header__actions{justify-content:flex-start;width:100%}.accounting-header-actions{width:100%}.accounting-header-kpis{flex:1;grid-template-columns:repeat(3,minmax(0,1fr))}.accounting-filters{grid-template-columns:repeat(3,1fr)}.accounting-field--search{grid-column:span 2}.accounting-workspace{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr)}}@media (max-width:960px){.accounting-workspace{grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);grid-template-columns:1fr}.accounting-fixed__grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.accounting-fixed .accounting-table-card__header{flex-direction:row;align-items:center}}@media (max-width:768px){.accounting-page{gap:var(--ds-space-3);height:auto;max-height:none;min-height:calc(100dvh - 5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:visible}.accounting-page>.ds-page-header{gap:var(--ds-space-3)}.accounting-page .ds-page-header__eyebrow,.accounting-page .ds-page-header__description{display:none}.accounting-page .ds-page-header__title{font-size:1.25rem}.accounting-header-actions{flex-direction:column;align-items:stretch}.accounting-user-scope{width:100%;min-width:0}.accounting-header-kpis{width:100%}.accounting-header-kpi{padding-block:.55rem}.accounting-header-actions>.ds-button{min-height:var(--ds-touch-target);align-self:stretch}.accounting-filter-panel{flex:none;min-width:0;display:block}.accounting-filter-toggle{align-items:center;gap:var(--ds-space-3);width:100%;min-height:var(--ds-touch-target);padding:0 var(--ds-space-4);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-surface);color:var(--ds-color-text);box-shadow:var(--ds-shadow-sm);text-align:left;touch-action:manipulation;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.accounting-filter-toggle strong{color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.accounting-filter-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--ds-color-focus)35%,transparent);outline-offset:2px}.accounting-filters{margin-top:var(--ds-space-2);padding:var(--ds-space-3);box-shadow:none;grid-template-columns:1fr 1fr;display:none}.accounting-filter-panel.is-open .accounting-filters{display:grid}.accounting-field--search,.accounting-filters>.ds-button{grid-column:1/-1}.accounting-field :is(input,select,textarea){min-height:var(--ds-touch-target);font-size:1rem}.accounting-workspace{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:visible}.accounting-workspace>:is(.accounting-fixed,.accounting-table-card){height:auto;min-height:0;overflow:visible}.accounting-ledger{grid-template-rows:auto auto}.accounting-tab-panel{height:auto;min-height:16rem;overflow:visible}.accounting-fixed__grid,.accounting-income__scroll,.accounting-debts__list{overscroll-behavior:auto;scrollbar-gutter:auto;min-height:0;max-height:none;overflow:visible}.accounting-table-card{grid-template-rows:auto auto}.accounting-table-card__header{flex-direction:column;align-items:stretch}.accounting-fixed .accounting-table-card__header{flex-direction:column;align-items:stretch;gap:.45rem}.accounting-income__header-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.accounting-income__header-actions .ds-button{width:100%}.accounting-income-record{grid-template-columns:minmax(0,1fr) auto}.accounting-income-record .accounting-row-actions{grid-column:1/-1;justify-content:flex-end}.accounting-debts__header{align-items:stretch}.accounting-debts__header .ds-button{width:100%}.accounting-table-card__header{gap:var(--ds-space-2);padding:var(--ds-space-3)}.accounting-table-card__header p{display:none}.accounting-table-card__header .ds-button{width:100%;min-height:var(--ds-touch-target)}.accounting-fixed__grid{grid-template-columns:1fr}.accounting-fixed__item{gap:var(--ds-space-3);padding:var(--ds-space-3)}.accounting-fixed__top,.accounting-fixed__bottom{flex-wrap:wrap}.accounting-table-wrap{overscroll-behavior:auto;scrollbar-gutter:auto;min-height:0;overflow:visible}.accounting-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.accounting-table,.accounting-table tbody,.accounting-table tr,.accounting-table td{width:100%;display:block}.accounting-table tr{padding:var(--ds-space-3)var(--ds-space-4);border-bottom:1px solid var(--ds-color-border)}.accounting-table td{gap:var(--ds-space-2);padding:var(--ds-space-2)0;overflow-wrap:anywhere;border:0;grid-template-columns:minmax(5.5rem,35%) minmax(0,1fr);display:grid;text-align:left!important}.accounting-table td[data-label]:before{content:attr(data-label);color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.accounting-table td:last-child{display:block}.accounting-row-actions{justify-content:flex-end}.expense-notebook{left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom))}.expense-notebook__panel{width:100%;max-height:calc(100dvh - 5rem - env(safe-area-inset-top));border-radius:var(--ds-radius-lg)var(--ds-radius-lg)0 0}.expense-notebook__form{gap:var(--ds-space-3);padding:var(--ds-space-4)}.expense-notebook__trigger{min-width:3.25rem;padding-inline:var(--ds-space-4);align-self:flex-end}}@media (max-width:480px){.accounting-header-kpis{grid-template-columns:1fr 1fr}.accounting-header-kpi:nth-child(odd){border-left:0}.accounting-header-kpi:nth-child(2n)[data-tooltip]:after{left:auto;right:0}.accounting-header-kpi:nth-child(n+3){border-top:1px solid var(--ds-color-border)}.accounting-filters,.expense-notebook__row{grid-template-columns:1fr}.accounting-field--search,.accounting-filters>.ds-button{grid-column:auto}.expense-notebook__actions{grid-template-columns:1fr;display:grid}.expense-notebook__actions .ds-button{min-height:var(--ds-touch-target)}.accounting-income__header-actions,.accounting-debt-card__amounts{grid-template-columns:1fr}}@media (max-width:640px){.accounting-debt-modal-backdrop{padding:.5rem}.accounting-debt-modal{border-radius:var(--ds-radius-md);width:100%;max-height:92dvh}.accounting-debt-modal__header{padding:1rem}.accounting-debt-modal__content{padding:.65rem}.accounting-debt-modal__footer{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.accounting-debt-modal__footer .accounting-debt-summary__totals{justify-content:flex-start}.accounting-debt-modal__footer .accounting-debt-summary__totals>span{text-align:left}.accounting-debt-modal__done{align-self:flex-end;min-width:6rem}.accounting-expense-modal-backdrop{padding:.5rem}.accounting-expense-modal{width:100%;max-height:92dvh}.accounting-expense-modal__header{padding:.9rem}.accounting-expense-modal__content{padding:.65rem}.accounting-expense-modal__footer{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;padding:.75rem}.accounting-expense-modal__footer>div{flex:40%;margin:0}.accounting-expense-modal__footer>div+div{margin:0}.accounting-expense-modal__footer>button{margin-left:auto}}@media (prefers-reduced-motion:reduce){.expense-notebook__panel{animation:none}}.financial-analysis{--fa-ink:#17243a;--fa-muted:#738198;--fa-line:#e5eaf1;--fa-surface:#fff;--fa-canvas:#f5f7fb;--fa-blue:#4569e8;--fa-green:#189b77;--fa-red:#e0646b;background:var(--fa-canvas);min-height:100%;color:var(--fa-ink);gap:.75rem;padding:clamp(.75rem,1.5vw,1.5rem);font-family:Inter,Segoe UI,sans-serif;display:grid}.financial-analysis *{box-sizing:border-box}.financial-analysis__header,.financial-analysis__header-actions,.financial-analysis__section-heading,.financial-analysis__chart-footer,.financial-analysis__row-actions,.financial-analysis__modal header,.financial-analysis__modal footer{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.financial-analysis__header{align-items:flex-end}.financial-analysis__header h1{color:#111f36;letter-spacing:-.035em;margin:.28rem 0 .2rem;font-size:clamp(1.45rem,2.2vw,2rem)}.financial-analysis__header p,.financial-analysis__section-heading p,.financial-analysis__modal header p{color:var(--fa-muted);margin:0;font-size:.88rem}.financial-analysis__eyebrow{color:#65789a;letter-spacing:.12em;font-size:.67rem;font-weight:800}.financial-analysis__header-actions{align-items:flex-end}.financial-analysis__expected-kpis{align-items:stretch;gap:.45rem;display:flex}.financial-analysis__expected-kpi{border:1px solid var(--fa-line);border-left:3px solid var(--fa-green);background:#fff;border-radius:8px;align-content:center;gap:.12rem;min-width:132px;padding:.38rem .62rem;display:grid}.financial-analysis__expected-kpi--expense{border-left-color:#e39b42}.financial-analysis__expected-kpi span{color:#7d899c;white-space:nowrap;font-size:.62rem;font-weight:750}.financial-analysis__expected-kpi strong{color:#263752;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.84rem}.financial-analysis__user-filter,.financial-analysis__filter-card>label{color:#657187;gap:.3rem;font-size:.72rem;font-weight:700;display:grid}.financial-analysis select,.financial-analysis input,.financial-analysis textarea{width:100%;min-height:2.4rem;color:var(--fa-ink);font:inherit;background:#fff;border:1px solid #dfe5ee;border-radius:8px;outline:none;padding:.45rem .65rem;font-size:.84rem}.financial-analysis :is(input,select,textarea):focus-visible{border-color:#718bf0;box-shadow:0 0 0 3px #4569e821}.financial-analysis__refresh,.financial-analysis__primary{color:#40516d;min-height:2.45rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce3ee;border-radius:9px;padding:0 .95rem;font-size:.8rem;font-weight:750}.financial-analysis__refresh:disabled,.financial-analysis__primary:disabled{opacity:.6;cursor:wait}.financial-analysis__primary{border-color:var(--fa-blue);background:var(--fa-blue);color:#fff;box-shadow:0 4px 10px #4569e82e}.financial-analysis__apply-filter{white-space:nowrap;min-height:2.4rem}.financial-analysis__filter-card{border:1px solid var(--fa-line);background:var(--fa-surface);border-radius:12px;flex-wrap:wrap;align-items:end;gap:.8rem;padding:.8rem 1rem;display:flex}.financial-analysis__filter-card>label{min-width:145px}.financial-analysis__segmented{background:#f5f7fa;border:1px solid #e6eaf1;border-radius:9px;align-items:center;padding:3px;display:inline-flex}.financial-analysis__segmented button{color:#718096;min-height:2rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 .85rem;font-size:.78rem;font-weight:700}.financial-analysis__segmented button.is-active{color:#3554c8;background:#fff;box-shadow:0 1px 4px #1325431f}.financial-analysis__kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.financial-analysis__kpi{border:1px solid var(--fa-line);background:#fff;border-radius:10px;align-content:start;gap:.18rem;min-width:0;padding:.58rem .8rem .58rem .9rem;display:grid;position:relative;overflow:hidden;box-shadow:0 3px 10px #14264208}.financial-analysis__kpi:before{content:"";background:#8190a8;width:3px;position:absolute;inset:0 auto 0 0}.financial-analysis__kpi--balance:before{background:var(--fa-blue)}.financial-analysis__kpi--income:before{background:var(--fa-green)}.financial-analysis__kpi--expense:before{background:#e39b42}.financial-analysis__kpi--debt:before{background:var(--fa-red)}.financial-analysis__kpi>span{color:#75839a;font-size:.68rem;font-weight:700}.financial-analysis__kpi>strong{color:#1b2b45;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.9rem,1.1vw,1.08rem);overflow:hidden}.financial-analysis__kpi>strong small{color:#8995a8;font-size:.65rem}.financial-analysis__kpi>small{color:#98a3b3;font-size:.69rem}.financial-analysis__chart-card,.financial-analysis__goals-card{border:1px solid var(--fa-line);background:#fff;border-radius:13px;min-width:0;box-shadow:0 3px 10px #14264208}.financial-analysis__chart-card{padding:1rem 1.15rem .7rem}.financial-analysis__section-heading{align-items:flex-start;margin-bottom:.6rem}.financial-analysis__section-heading h2{color:#1b2a43;letter-spacing:-.02em;margin:.18rem 0 .2rem;font-size:1.05rem}.financial-analysis__section-heading p{font-size:.77rem}.financial-analysis__legend{color:#718096;gap:.9rem;padding-top:.5rem;font-size:.72rem;display:flex}.financial-analysis__legend span{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.financial-analysis__legend i{background:var(--fa-green);border-radius:2px;width:.55rem;height:.55rem}.financial-analysis__legend i.is-expense{background:#e39b42}.financial-analysis__chart-scroll{width:100%;overflow-x:auto}.financial-analysis__chart{width:100%;min-width:590px;height:clamp(175px,20vw,225px);display:block;overflow:visible}.financial-analysis__gridline{stroke:#edf0f5;stroke-width:1px}.financial-analysis__axis-label{fill:#8c98aa;font-size:9px}.financial-analysis__bar-income{fill:#27ae87;opacity:.88}.financial-analysis__bar-expense{fill:#e6a44b;opacity:.86}.financial-analysis__chart-group:hover .financial-analysis__bar-income,.financial-analysis__chart-group:hover .financial-analysis__bar-expense{opacity:1}.financial-analysis__chart-footer{color:#718096;border-top:1px solid #eef1f5;justify-content:flex-start;gap:.55rem;min-height:2.3rem;padding-top:.55rem;font-size:.75rem}.financial-analysis__chart-footer strong{font-size:.84rem}.financial-analysis__chart-footer .is-positive{color:var(--fa-green)}.financial-analysis__chart-footer .is-negative{color:#cf4c59}.financial-analysis__debt-note{margin-left:auto}.financial-analysis__debt-note b{color:#495a75;margin-left:.2rem}.financial-analysis__distribution{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.financial-analysis__donut-card{border:1px solid var(--fa-line);background:#fff;border-radius:13px;min-width:0;padding:1rem 1.1rem;box-shadow:0 3px 10px #14264208}.financial-analysis__donut-card>header{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.financial-analysis__donut-card h3{color:#1b2a43;margin:.22rem 0 0;font-size:.95rem}.financial-analysis__donut-currency{color:#718096;background:#f0f3f8;border-radius:6px;place-items:center;min-width:2.45rem;min-height:1.5rem;font-size:.63rem;font-weight:800;display:inline-grid}.financial-analysis__donut-body{grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);align-items:center;gap:.6rem;padding-top:.45rem;display:grid}.financial-analysis__donut{width:min(100%,180px);margin:auto;display:block;overflow:visible}.financial-analysis__donut-total-label{fill:#95a0b0;letter-spacing:1px;font-size:8px;font-weight:800}.financial-analysis__donut-total{fill:#22324c;font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.financial-analysis__donut-legend{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.financial-analysis__donut-legend li{border-bottom:1px solid #f0f2f6;gap:.2rem;padding:.45rem 0;display:grid}.financial-analysis__donut-legend li:last-child{border-bottom:0}.financial-analysis__donut-legend-label{color:#718096;align-items:center;gap:.4rem;font-size:.7rem;display:flex}.financial-analysis__donut-legend-label i{border-radius:50%;flex:none;width:.52rem;height:.52rem}.financial-analysis__donut-legend-label b{color:#8995a8;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.66rem}.financial-analysis__donut-legend li>strong{color:#2c3b54;font-variant-numeric:tabular-nums;padding-left:.92rem;font-size:.78rem}.financial-analysis__loading,.financial-analysis__empty-chart{color:#8591a3;text-align:center;place-content:center;gap:.6rem;min-height:240px;font-size:.84rem;display:grid}.financial-analysis__loading span{border:3px solid #e6ebf4;border-top-color:var(--fa-blue);border-radius:50%;width:2rem;height:2rem;margin:auto;animation:.8s linear infinite financial-spin}@keyframes financial-spin{to{transform:rotate(360deg)}}.financial-analysis__goals-card{overflow:hidden}.financial-analysis__goals-heading{align-items:center;margin:0;padding:1rem 1.15rem}.financial-analysis__table-wrap{border-top:1px solid #edf0f5;max-width:100%;overflow:auto}.financial-analysis__table{border-collapse:collapse;width:100%;font-size:.78rem}.financial-analysis__table th{color:#748198;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;padding:.7rem .85rem;font-size:.66rem;font-weight:800}.financial-analysis__table td{color:#465571;vertical-align:middle;border-top:1px solid #edf0f5;padding:.8rem .85rem}.financial-analysis__table td:first-child{min-width:180px}.financial-analysis__table td:first-child strong,.financial-analysis__table td:first-child small{display:block}.financial-analysis__table td:first-child strong{color:#23334e}.financial-analysis__table td:first-child small,.financial-analysis__table td:nth-child(3) small{color:#8995a8;margin-top:.2rem;font-size:.67rem}.financial-analysis__goal-badge,.financial-analysis__status{white-space:nowrap;border-radius:999px;align-items:center;min-height:1.45rem;padding:0 .55rem;font-size:.66rem;font-weight:750;display:inline-flex}.financial-analysis__goal-badge--ahorro{color:#168265;background:#e7f7f1}.financial-analysis__goal-badge--pago_deuda{color:#bd5055;background:#fff0ef}.financial-analysis__progress-label{color:#263752;font-variant-numeric:tabular-nums;justify-content:space-between;gap:.65rem;min-width:165px;display:flex}.financial-analysis__progress-label span{color:#8793a6}.financial-analysis__progress-track{background:#edf1f6;border-radius:99px;width:100%;height:6px;margin:.35rem 0 .2rem;overflow:hidden}.financial-analysis__progress-track i{border-radius:inherit;background:linear-gradient(90deg,#496ae8,#7c8ff2);height:100%;display:block}.financial-analysis__status.is-active{color:#5069c5;background:#eef3ff}.financial-analysis__status.is-complete{color:#168265;background:#e7f7f1}.financial-analysis__row-actions{white-space:nowrap;justify-content:flex-start;gap:.45rem}.financial-analysis__row-actions button,.financial-analysis__empty-goals button{color:#52647f;min-height:1.9rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe5ef;border-radius:7px;padding:0 .55rem;font-size:.72rem;font-weight:700}.financial-analysis__row-actions button:first-child{color:#4863c6;background:#f5f8ff;border-color:#d5e2fb}.financial-analysis__row-actions button.is-danger{color:#c3565d;width:1.85rem;padding:0}.financial-analysis__row-actions span{color:#8b96a8;font-size:.68rem}.financial-analysis__empty-goals{border-top:1px solid #edf0f5;align-items:center;gap:.8rem;padding:1.2rem 1.3rem;display:flex}.financial-analysis__goal-icon{width:2.5rem;height:2.5rem;color:var(--fa-blue);background:#edf2ff;border-radius:11px;flex:none;place-items:center;font-size:1.5rem;display:grid}.financial-analysis__empty-goals strong{color:#34445e;font-size:.82rem}.financial-analysis__empty-goals p{color:#8793a6;margin:.2rem 0 0;font-size:.74rem}.financial-analysis__empty-goals button{margin-left:auto}.financial-analysis__goal-summary{background:#fbfcfe;border-top:1px solid #edf0f5;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:.8rem 1.15rem;display:grid}.financial-analysis__goal-summary>div{gap:.2rem;display:grid}.financial-analysis__goal-summary span{color:#8490a2;font-size:.67rem;font-weight:700}.financial-analysis__goal-summary strong{color:#35445f;font-size:.83rem}.financial-analysis__goal-summary small{color:#909bad;font-size:.67rem;font-weight:500}.financial-analysis__error,.financial-analysis__notice{color:#a8454b;background:#fff4f4;border:1px solid #f0c9cb;border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;font-size:.8rem;display:flex}.financial-analysis__error button,.financial-analysis__notice button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:750}.financial-analysis__notice{color:#187d62;background:#effaf6;border-color:#cfe9df}.financial-analysis__modal-backdrop{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f192b7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.financial-analysis__modal{background:#fff;border:1px solid #e4e9f0;border-radius:15px;width:min(100%,510px);max-height:min(90vh,760px);animation:.18s ease-out financial-modal-in;overflow:auto;box-shadow:0 24px 70px #0f192b40}@keyframes financial-modal-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}.financial-analysis__modal header{border-bottom:1px solid #edf0f5;align-items:flex-start;padding:1.2rem 1.3rem}.financial-analysis__modal header h2{margin:.2rem 0;font-size:1.15rem}.financial-analysis__modal header>button{color:#67758a;cursor:pointer;background:#fff;border:1px solid #e5eaf0;border-radius:7px;width:2rem;height:2rem;font-size:1.2rem}.financial-analysis__modal form{gap:.85rem;padding:1.2rem 1.3rem 1.3rem;display:grid}.financial-analysis__modal form>label,.financial-analysis__form-row label{color:#52617a;gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.financial-analysis__modal textarea{resize:vertical}.financial-analysis__form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.financial-analysis__modal footer{justify-content:flex-end;padding-top:.3rem}.financial-analysis__modal footer>button:first-child{color:#52617a;min-height:2.4rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:8px;padding:0 .8rem;font-size:.78rem;font-weight:700}@media (max-width:900px){.financial-analysis__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.financial-analysis__table{min-width:790px}.financial-analysis__donut-body{grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr)}}@media (max-width:600px){.financial-analysis{gap:.8rem;padding:.7rem}.financial-analysis__header{flex-direction:column;align-items:flex-start}.financial-analysis__header-actions{width:100%}.financial-analysis__user-filter{flex:1}.financial-analysis__filter-card{align-items:stretch;gap:.55rem;padding:.7rem}.financial-analysis__filter-card>label{flex:1;min-width:calc(50% - .3rem)}.financial-analysis__segmented{width:100%}.financial-analysis__segmented button{flex:1}.financial-analysis__apply-filter{width:100%}.financial-analysis__kpis{gap:.5rem}.financial-analysis__kpi{padding:.75rem}.financial-analysis__kpi>strong{font-size:1rem}.financial-analysis__section-heading{flex-direction:column;gap:.6rem}.financial-analysis__goals-heading{flex-direction:row;align-items:flex-start}.financial-analysis__chart-card{padding:.8rem}.financial-analysis__chart-footer{flex-wrap:wrap}.financial-analysis__debt-note{width:100%;margin:0}.financial-analysis__distribution{grid-template-columns:1fr}.financial-analysis__donut-body{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr)}.financial-analysis__donut{width:min(100%,160px)}.financial-analysis__goal-summary{grid-template-columns:1fr;gap:.6rem}.financial-analysis__empty-goals{flex-wrap:wrap;align-items:flex-start;padding:1rem}.financial-analysis__empty-goals button{margin-left:3.3rem}.financial-analysis__form-row{grid-template-columns:1fr}.financial-analysis__modal{border-radius:12px}}@media (max-width:900px){.financial-analysis__header{flex-wrap:wrap;align-items:flex-start}.financial-analysis__header-actions{flex-wrap:wrap;justify-content:flex-end}.financial-analysis__expected-kpi{min-width:120px}}@media (max-width:600px){.financial-analysis__header-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.financial-analysis__user-filter,.financial-analysis__expected-kpis,.financial-analysis__refresh{grid-column:1/-1}.financial-analysis__expected-kpis{display:flex}.financial-analysis__expected-kpi{flex:1;min-width:0}.financial-analysis__refresh{width:100%}}@media (prefers-reduced-motion:reduce){.financial-analysis *,.financial-analysis :before,.financial-analysis :after{scroll-behavior:auto!important;animation-duration:.01ms!important}}.financial-analysis__header-actions{align-self:flex-end;align-items:center;gap:.55rem;width:min(76%,1000px)}.financial-analysis__header-actions .financial-analysis__kpis{flex:1}.financial-analysis__header-actions .financial-analysis__refresh{flex:none}.financial-analysis__filter-card{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.financial-analysis__filter-controls{flex-wrap:wrap;align-items:end;gap:.55rem;display:flex}.financial-analysis__filter-controls>label,.financial-analysis__filter-controls .financial-analysis__user-filter{min-width:125px}.financial-analysis__filter-controls .financial-analysis__user-filter{min-width:145px}.financial-analysis__filter-controls .financial-analysis__segmented{align-self:end}.financial-analysis__kpis{grid-template-columns:repeat(6,minmax(95px,1fr));gap:.35rem}.financial-analysis__kpi{box-shadow:none;border-radius:8px;align-content:center;gap:.12rem;padding:.45rem .55rem .45rem .7rem}.financial-analysis__kpi>span{white-space:nowrap;font-size:.62rem}.financial-analysis__kpi>strong{font-size:.82rem}.financial-analysis__kpi>strong small{font-size:.57rem}.financial-analysis__kpi--debt{grid-template-columns:1fr 1fr;column-gap:.3rem}.financial-analysis__kpi--debt>span{grid-column:1/-1}.financial-analysis__kpi--debt>strong{font-size:.72rem}@media (max-width:1450px){.financial-analysis__header-actions{width:100%}.financial-analysis__header-actions .financial-analysis__kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:1050px){.financial-analysis__header-actions .financial-analysis__kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.financial-analysis__header-actions{display:flex}.financial-analysis__filter-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.financial-analysis__filter-controls .financial-analysis__segmented,.financial-analysis__filter-controls .financial-analysis__user-filter{grid-column:1/-1}.financial-analysis__filter-controls .financial-analysis__apply-filter{width:100%}.financial-analysis__header-actions{flex-direction:column;align-items:stretch}.financial-analysis__header-actions .financial-analysis__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.financial-analysis__overview{grid-template-columns:minmax(0,1.65fr) minmax(310px,.85fr);align-items:stretch;gap:.75rem;min-width:0;display:grid}.financial-analysis__overview .financial-analysis__chart-card{min-width:0}.financial-analysis__overview .financial-analysis__distribution{grid-template-columns:1fr;align-content:start;gap:.65rem}.financial-analysis__overview .financial-analysis__donut-card{padding:.75rem .85rem}.financial-analysis__overview .financial-analysis__donut-card>header{padding-bottom:.45rem}.financial-analysis__overview .financial-analysis__donut-body{grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr);gap:.35rem;padding-top:.25rem}.financial-analysis__overview .financial-analysis__donut{width:min(100%,135px)}.financial-analysis__axis-label{font-size:12px}.financial-analysis__chart{height:clamp(205px,24vw,270px)}@media (max-width:1050px){.financial-analysis__overview{grid-template-columns:1fr}.financial-analysis__overview .financial-analysis__distribution{grid-template-columns:repeat(2,minmax(0,1fr))}.financial-analysis__overview .financial-analysis__donut{width:min(100%,160px)}}@media (max-width:650px){.financial-analysis__overview .financial-analysis__distribution{grid-template-columns:1fr}.financial-analysis__axis-label{font-size:13px}.financial-analysis__chart{height:230px}}.financial-analysis__kpi--clickable{border:1px solid var(--fa-line);border-left:1px solid var(--fa-line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.financial-analysis__kpi--clickable:before{background:var(--fa-red)}.financial-analysis__kpi--expense-clickable:before{background:#e39b42}.financial-analysis__kpi--expense-clickable:hover{border-color:#efd1a9}.financial-analysis__kpi--clickable:hover{border-color:#e9b8bc;transform:translateY(-2px);box-shadow:0 5px 14px #14264217}.financial-analysis__kpi--clickable:focus-visible{outline-offset:2px;outline:3px solid #4569e84d}.financial-analysis__kpi-hint{color:#8995a8;font-size:.58rem}.financial-analysis__debt-backdrop{--fa-red-ink:#a13737;z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172aad;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.financial-analysis__debt-modal{color:#1f2937;background:#fff;border:1px solid #dce2e8;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(72rem,100vw - 2rem);max-height:min(86vh,54rem);animation:.18s ease-out financial-modal-in;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.financial-analysis__debt-header,.financial-analysis__debt-footer{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.financial-analysis__debt-header{background:linear-gradient(135deg,#f2f6fa,#fff);border-bottom:1px solid #dce2e8}.financial-analysis__debt-header h2{margin:.2rem 0;font-size:1.15rem}.financial-analysis__debt-header p{color:#667085;margin:0;font-size:.8rem}.financial-analysis__debt-header>button{color:#667085;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:50%;width:2.35rem;height:2.35rem;font-size:1.35rem}.financial-analysis__debt-content{min-height:0;padding:.9rem 1rem;overflow:hidden}.financial-analysis__debt-table-wrap{border:1px solid #e5eaf1;border-radius:9px;max-height:100%;overflow:auto}.financial-analysis__debt-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:760px;font-size:.78rem}.financial-analysis__debt-table th,.financial-analysis__debt-table td{white-space:nowrap;border-bottom:1px solid #e9edf2;padding:.75rem .8rem}.financial-analysis__debt-table th{color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f3f6f9;font-size:.66rem;font-weight:800;position:sticky;top:0}.financial-analysis__debt-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.financial-analysis__debt-table tbody tr:hover{background:#f7f9fb}.financial-analysis__debt-code{color:#667085;background:#f7f9fb;border:1px solid #e1e6ed;border-radius:5px;padding:.22rem .42rem;font-size:.7rem;font-weight:800;display:inline-flex}.financial-analysis__debt-currency{border-radius:999px;padding:.25rem .45rem;font-size:.68rem;font-weight:800;display:inline-flex}.financial-analysis__debt-currency--pen{color:#315f86;background:#edf5fc}.financial-analysis__debt-currency--usd{color:#28704a;background:#edf8f1}.financial-analysis__debt-balance{color:#a13737}.financial-analysis__debt-empty{color:#667085;text-align:center;padding:2.5rem 1rem}.financial-analysis__debt-footer{background:#f8fafc;border-top:1px solid #dce2e8}.financial-analysis__debt-footer>span{color:#667085;text-transform:uppercase;font-size:.7rem;font-weight:800}.financial-analysis__debt-footer>div{flex:1;justify-content:flex-end;gap:1.2rem;display:flex}.financial-analysis__debt-footer strong{color:#1f2937;text-align:right;gap:.2rem;font-size:.85rem;display:inline-grid}.financial-analysis__debt-footer strong b{color:#667085;font-size:.65rem}.financial-analysis__debt-footer>button{color:#fff;min-height:2.4rem;font:inherit;cursor:pointer;background:#4569e8;border:1px solid #4569e8;border-radius:7px;padding:0 .9rem;font-size:.78rem;font-weight:750}@media (max-width:640px){.financial-analysis__debt-backdrop{padding:.5rem}.financial-analysis__debt-modal{width:100%;max-height:92vh}.financial-analysis__debt-content{padding:.6rem}.financial-analysis__debt-footer{flex-direction:column;align-items:stretch}.financial-analysis__debt-footer>div{justify-content:flex-start}.financial-analysis__debt-footer strong{text-align:left}.financial-analysis__debt-footer>button{align-self:flex-end;min-width:6rem}}.financial-analysis__expense-backdrop{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172aad;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.financial-analysis__expense-modal{color:#1f2937;background:#fff;border:1px solid #dce2e8;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(70rem,100vw - 2rem);max-height:min(86vh,54rem);animation:.18s ease-out financial-modal-in;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.financial-analysis__expense-header,.financial-analysis__expense-footer{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.financial-analysis__expense-header{background:linear-gradient(135deg,#fff8ed,#fff);border-bottom:1px solid #dce2e8}.financial-analysis__expense-header h2{margin:.2rem 0;font-size:1.15rem}.financial-analysis__expense-header p{color:#667085;margin:0;font-size:.8rem}.financial-analysis__expense-header>button{color:#667085;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:50%;width:2.35rem;height:2.35rem;font-size:1.35rem}.financial-analysis__expense-content{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:.8rem;min-height:0;padding:.9rem 1rem;display:grid;overflow:hidden}.financial-analysis__expense-group{grid-template-rows:auto minmax(0,1fr);gap:.35rem;min-height:0;display:grid}.financial-analysis__expense-group h3{color:#344054;margin:0;font-size:.82rem;font-weight:800}.financial-analysis__expense-table-wrap{border:1px solid #e5eaf1;border-radius:9px;max-height:100%;overflow:auto}.financial-analysis__expense-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:680px;font-size:.78rem}.financial-analysis__expense-table th,.financial-analysis__expense-table td{white-space:nowrap;border-bottom:1px solid #e9edf2;padding:.72rem .8rem}.financial-analysis__expense-table th{z-index:1;color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f3f6f9;font-size:.66rem;font-weight:800;position:sticky;top:0}.financial-analysis__expense-table td:first-child{white-space:normal}.financial-analysis__expense-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.financial-analysis__expense-table tbody tr.is-overdue{background:#fff7f6}.financial-analysis__expense-table tbody tr.is-upcoming{background:#fffbf3}.financial-analysis__expense-table tfoot th{color:#263752;text-transform:none;letter-spacing:0;background:#f3f6f9;font-size:.8rem;position:static}.financial-analysis__expense-table tfoot th:last-child{text-align:right;font-variant-numeric:tabular-nums}.financial-analysis__expense-status{border-radius:999px;padding:.25rem .5rem;font-size:.66rem;font-weight:800;display:inline-flex}.financial-analysis__expense-status--vencido{color:#a13737;background:#fde8e7}.financial-analysis__expense-status--por-vencer{color:#9a6417;background:#fff1d8}.financial-analysis__expense-status--pagado{color:#277252;background:#e8f7f0}.financial-analysis__expense-status--registrado{color:#4963bb;background:#edf3ff}.financial-analysis__expense-empty{color:#667085;text-align:center;padding:2.5rem 1rem}.financial-analysis__expense-footer{background:#f8fafc;border-top:1px solid #dce2e8;justify-content:flex-end}.financial-analysis__expense-footer>div{gap:.2rem;margin-right:auto;display:grid}.financial-analysis__expense-footer>div+div{margin-left:.5rem}.financial-analysis__expense-footer span{color:#667085;font-size:.65rem;font-weight:750}.financial-analysis__expense-footer strong{color:#263752;font-variant-numeric:tabular-nums;font-size:.86rem}.financial-analysis__expense-actions{gap:.5rem;margin-left:auto;display:flex}.financial-analysis__expense-actions button{color:#fff;min-height:2.4rem;font:inherit;cursor:pointer;background:#4569e8;border:1px solid #4569e8;border-radius:7px;padding:0 .9rem;font-size:.78rem;font-weight:750}.financial-analysis__expense-actions .financial-analysis__expense-export{background:#177245;border-color:#177245}@media (max-width:640px){.financial-analysis__expense-backdrop{padding:.5rem}.financial-analysis__expense-modal{width:100%;max-height:92vh}.financial-analysis__expense-content{gap:.6rem;padding:.6rem}.financial-analysis__expense-header{padding:.9rem}.financial-analysis__expense-footer{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;padding:.75rem}.financial-analysis__expense-footer>div{flex:40%;margin:0}.financial-analysis__expense-footer>div+div{margin:0}.financial-analysis__expense-actions{justify-content:flex-end;width:100%;margin-left:0}}
