@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_fcbcbf{font-family:Inter,Inter Fallback;font-style:normal}:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#818cf8;--primary-ghost:rgba(99,102,241,0.06);--primary-glow:rgba(99,102,241,0.25);--secondary:#64748b;--success:#10b981;--success-dark:#059669;--success-ghost:rgba(16,185,129,0.06);--danger:#f43f5e;--danger-dark:#e11d48;--danger-ghost:rgba(244,63,94,0.06);--warning:#f59e0b;--info:#06b6d4;--violet:#8b5cf6;--violet-ghost:rgba(139,92,246,0.06);--emerald:#34d399;--amber:#fbbf24;--bg-body:#09090b;--bg-surface:#0c0c0f;--bg-card:#111114;--bg-card-hover:#18181c;--bg-elevated:#1a1a1f;--bg-input:#0e0e11;--bg-sidebar:#0a0a0d;--bg-glass:rgba(17,17,20,0.8);--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#52525b;--text-ghost:#3f3f46;--border-color:#1e1e24;--border-subtle:#151518;--border-hover:#2e2e36;--border-focus:var(--primary);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.3);--shadow-sm:0 2px 8px rgba(0,0,0,0.3);--shadow-md:0 8px 24px rgba(0,0,0,0.4);--shadow-lg:0 16px 48px rgba(0,0,0,0.5);--shadow-glow:0 0 60px rgba(99,102,241,0.08);--shadow-primary:0 4px 14px rgba(99,102,241,0.3);--shadow-success:0 4px 14px rgba(16,185,129,0.2);--ease:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--transition:0.2s var(--ease);--transition-slow:0.35s var(--ease);--sidebar-width:256px;--sidebar-collapsed:68px;--topbar-height:56px;--content-max-width:1100px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-body);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary);color:white}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.5rem 1.1rem;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;white-space:nowrap;line-height:1.4;letter-spacing:.01em}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:white;box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 6px 20px rgba(99,102,241,.4);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-hover)}.btn-success{background:var(--success);color:white;box-shadow:var(--shadow-success)}.btn-success:hover:not(:disabled){background:var(--success-dark)}.btn-danger-solid{background:var(--danger);color:white}.btn-danger-solid:hover:not(:disabled){background:var(--danger-dark)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-hover);background:rgba(255,255,255,.02)}.btn-ghost.btn-danger:hover:not(:disabled){color:var(--danger);border-color:rgba(244,63,94,.3);background:var(--danger-ghost)}.btn-sm{padding:.35rem .7rem;font-size:.78rem;gap:.35rem}.btn-lg{padding:.75rem 1.75rem;font-size:.95rem}.btn-icon-only{width:34px;height:34px;padding:0}.spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--sp-6);border:1px solid var(--border-color);transition:border-color var(--transition)}.card:hover{border-color:var(--border-hover)}.card-header{margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-color)}.card-title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:var(--sp-2)}.card-subtitle,.card-title svg{color:var(--text-muted)}.card-subtitle{font-size:.8rem;margin-top:2px}.form-group{margin-bottom:var(--sp-5)}.form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-secondary);font-size:.8rem;letter-spacing:.02em}.form-input{width:100%;padding:.55rem .8rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.88rem;transition:all var(--transition);font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.form-input::placeholder{color:var(--text-ghost)}.form-textarea{resize:vertical;min-height:90px}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2752525b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.form-hint{font-size:.72rem;color:var(--text-ghost);margin-top:4px}.form-info{background:var(--primary-ghost);border:1px solid rgba(99,102,241,.12);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-secondary);font-size:.85rem}.data-table-container,.table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:var(--sp-4)}.data-table,.table{width:100%;border-collapse:collapse}.data-table td,.data-table th,.table td,.table th{padding:.65rem .75rem;text-align:center;border-bottom:1px solid var(--border-color)}.data-table th,.table th{background:var(--bg-elevated);font-weight:600;color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.data-table tr:hover td,.table tr:hover td{background:rgba(255,255,255,.01)}.data-table td{background:var(--bg-card);color:var(--text-primary);font-size:.88rem}.data-table .text-left{text-align:left}.data-table .text-right{text-align:right}.data-table .total-row td{background:var(--bg-elevated);font-weight:700;color:var(--primary-light);border-bottom:none}.table-input{width:100%;padding:.4rem .5rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-xs);color:var(--text-primary);font-size:.85rem;text-align:center;transition:all var(--transition);font-family:inherit}.table-input:focus{outline:none;border-color:var(--primary)}.modal-backdrop,.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--sp-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalSlide .3s var(--ease-spring);border:1px solid var(--border-color)}@keyframes modalSlide{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.modal-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.05rem;font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-xs);transition:all var(--transition);display:flex;align-items:center}.modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.modal-body{padding:var(--sp-6)}.modal-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--sp-3)}.radio-group{display:flex;gap:var(--sp-2)}.radio-option{flex:1 1;position:relative}.radio-option input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}.radio-option label{display:flex;align-items:center;justify-content:center;padding:.6rem;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:all var(--transition);font-size:.85rem;font-weight:500}.radio-option input:checked+label{border-color:var(--primary);background:var(--primary-ghost);color:var(--primary-light);box-shadow:0 0 0 3px rgba(99,102,241,.08)}.item-list{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.item-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-5);transition:all var(--transition);position:relative}.item-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--primary);opacity:0;transition:opacity var(--transition)}.item-card:hover{border-color:var(--border-hover)}.item-card:hover:before{opacity:1}.item-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-3)}.item-card-title{font-weight:600;font-size:.92rem}.item-card-actions{display:flex;gap:4px}.item-card-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.item-stat{display:flex;flex-direction:column;gap:2px}.item-stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.item-stat-value{font-size:.88rem;font-weight:600}.add-button{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;padding:.85rem;background:transparent;border:1.5px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all var(--transition)}.add-button:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-ghost);border-style:solid}.action-buttons{gap:4px}.action-buttons,.btn-icon{display:flex;justify-content:center}.btn-icon{width:30px;height:30px;align-items:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.btn-icon:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-icon.btn-delete:hover{background:var(--danger-ghost);border-color:rgba(244,63,94,.3);color:var(--danger)}.btn-icon.btn-edit:hover{background:var(--primary-ghost);border-color:rgba(99,102,241,.3);color:var(--primary)}.summary-section{margin-bottom:var(--sp-6)}.summary-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-5);position:relative;overflow:hidden}.summary-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--violet));opacity:.6}.summary-card h4{font-size:.72rem;font-weight:600;margin-bottom:var(--sp-3)}.summary-card h4,.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-label{font-size:.68rem;margin-bottom:4px}.summary-value{font-size:1.3rem;font-weight:800;color:var(--text-primary)}.summary-unit{font-size:.75rem;color:var(--text-muted);font-weight:500}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 0;border-bottom:1px solid var(--border-color)}.summary-item:last-child{border-bottom:none}.summary-item.total{font-weight:700;font-size:1rem;color:var(--primary-light);padding-top:var(--sp-3);margin-top:var(--sp-2);border-top:2px solid rgba(99,102,241,.2);border-bottom:none}.tabs-container{display:flex;gap:4px;margin-bottom:var(--sp-6);flex-wrap:wrap}.tab{display:flex;align-items:center;gap:6px;padding:.4rem .85rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.tab:hover{border-color:var(--border-hover);color:var(--text-secondary)}.tab.active{background:var(--primary);border-color:var(--primary);color:white}.tab-badge{background:rgba(255,255,255,.15);padding:1px 8px;border-radius:12px;font-size:.68rem;font-weight:700}.section-header{margin-bottom:var(--sp-6)}.section-title{display:flex;align-items:center;gap:var(--sp-3)}.section-title svg{color:var(--primary);opacity:.7}.section-title h2{font-size:1.05rem;font-weight:700}.section-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:2px}.form-section{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--sp-6);border:1px solid var(--border-color)}.year-section{margin-bottom:var(--sp-6)}.year-title{font-size:.9rem;font-weight:700;margin-bottom:var(--sp-3);color:var(--text-secondary)}.empty-state{text-align:center;padding:var(--sp-12) var(--sp-6);color:var(--text-muted)}.empty-state svg{margin:0 auto var(--sp-4);opacity:.2}.empty-state h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--sp-2)}.empty-state p{font-size:.85rem;margin-bottom:var(--sp-5);max-width:320px;margin-left:auto;margin-right:auto}.empty-state .btn{margin:0 auto}.empty-state.small{padding:var(--sp-6)}.loading-spinner{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--sp-4);color:var(--text-muted)}.loading-page .loading-spinner{width:32px;height:32px;border-width:3px}.form-input.error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(244,63,94,.08)}.form-input.error:focus{border-color:var(--danger);box-shadow:0 0 0 3px rgba(244,63,94,.15)}.form-error-message{color:#fb7185;font-size:.72rem;margin-top:4px;display:flex;align-items:center;gap:4px;animation:slideDown .2s var(--ease)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}.animate-in{animation:fadeInUp .4s var(--ease) both}.animate-in-delay-1{animation-delay:.05s}.animate-in-delay-2{animation-delay:.1s}.animate-in-delay-3{animation-delay:.15s}.animate-in-delay-4{animation-delay:.2s}.animate-in-delay-5{animation-delay:.25s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm)}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.skeleton-line{height:14px;border-radius:var(--radius-xs)}.skeleton-line.w-3\/4{width:75%}.skeleton-line.w-1\/2{width:50%}.skeleton-line.w-1\/3{width:33%}.skeleton-line.w-full{width:100%}.skeleton-line.h-6{height:24px}.skeleton-line.h-8{height:32px}.toast-container{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:2000;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.85rem;font-weight:500;pointer-events:auto;animation:toastIn .3s var(--ease-spring) both;max-width:360px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast.leaving{animation:toastOut .2s var(--ease) both}.toast.success{border-color:rgba(16,185,129,.2);color:var(--success)}.toast.error{border-color:rgba(244,63,94,.2);color:#fb7185}.toast.info{border-color:rgba(99,102,241,.2);color:var(--primary-light)}@keyframes toastIn{0%{opacity:0;transform:translateX(24px) scale(.95)}to{opacity:1;transform:none}}@keyframes toastOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateX(24px) scale(.95)}}.confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--sp-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .15s var(--ease)}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-6);max-width:380px;width:100%;box-shadow:var(--shadow-lg);animation:scaleIn .2s var(--ease-spring);text-align:center}.confirm-icon{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-4);background:var(--danger-ghost);color:var(--danger)}.confirm-title{font-size:1.05rem;font-weight:700;margin-bottom:var(--sp-2)}.confirm-message{font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--sp-6);line-height:1.5}.confirm-actions{display:flex;gap:var(--sp-3);justify-content:center}.confirm-actions .btn{min-width:100px}.password-strength{margin-top:6px;display:flex;gap:4px;align-items:center}.password-strength-bar{flex:1 1;height:3px;border-radius:2px;background:var(--border-color);transition:background .3s var(--ease)}.password-strength-bar.active.weak{background:var(--danger)}.password-strength-bar.active.medium{background:var(--warning)}.password-strength-bar.active.strong{background:var(--success)}.password-strength-label{font-size:.68rem;font-weight:600;margin-left:6px;min-width:50px}.password-strength-label.weak{color:var(--danger)}.password-strength-label.medium{color:var(--warning)}.password-strength-label.strong{color:var(--success)}@media (max-width:768px){.form-row{grid-template-columns:1fr}.toast-container{left:var(--sp-4);right:var(--sp-4)}.toast{max-width:100%}}