*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy-900:#0a1628;--navy-800:#0f1f3d;--navy-700:#152a4a;--navy-600:#1b3a5c;--navy-500:#234e78;--gray-50:#f8f9fb;--gray-100:#f1f3f5;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--red-50:#fef2f2;--red-100:#fee2e2;--red-500:#dc2626;--red-600:#b91c1c;--red-700:#991b1b;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#16a34a;--green-600:#15803d;--green-700:#166534;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--sidebar-w:220px;--topbar-h:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--transition:.15s ease;--font-sans:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", Consolas, monospace}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}body{font-family:var(--font-sans);color:var(--gray-800);background:var(--gray-50);overflow:hidden}#root{width:100%;height:100vh;display:flex;overflow:hidden}:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--navy-900);color:#fff;-webkit-user-select:none;user-select:none;z-index:100;flex-direction:column;height:100vh;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff14;padding:16px 18px}.sidebar-brand-name{letter-spacing:-.3px;color:#fff;font-size:15px;font-weight:700}.sidebar-brand-sub{color:var(--gray-400);margin-top:1px;font-size:11px;font-weight:500}.sidebar-company{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:14px 18px;display:flex}.sidebar-company-avatar{background:var(--navy-600);border-radius:var(--radius-md);width:34px;height:34px;color:var(--gray-200);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sidebar-company-name{color:var(--gray-100);font-size:13px;font-weight:600;line-height:1.3}.sidebar-company-fy{color:var(--gray-400);font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.sidebar-link{border-radius:var(--radius-md);color:var(--gray-300);transition:background var(--transition), color var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff12}.sidebar-link.active{background:var(--blue-600);color:#fff}.sidebar-link svg{opacity:.75;flex-shrink:0;width:18px;height:18px}.sidebar-link.active svg{opacity:1}.sidebar-link-kbd{font-size:10px;font-family:var(--font-mono);color:#ffffff4d;background:#ffffff0f;border-radius:3px;margin-left:auto;padding:1px 5px}.sidebar-link.active .sidebar-link-kbd{color:#ffffff80;background:#ffffff26}.sidebar-spacer{flex:1}.sidebar-footer{border-top:1px solid #ffffff14;padding:12px 10px}.topbar{height:var(--topbar-h);background:var(--navy-800);border-bottom:1px solid #ffffff0f;align-items:center;gap:16px;padding:0 20px;display:flex}.topbar-search{flex:0 340px;position:relative}.topbar-search input{width:100%;height:32px;font-size:13px;font-family:var(--font-sans);border-radius:var(--radius-md);color:#fff;transition:background var(--transition), border-color var(--transition);background:#ffffff14;border:1px solid #ffffff1a;padding:0 12px 0 34px}.topbar-search input::placeholder{color:var(--gray-400)}.topbar-search input:focus{background:#ffffff1f;border-color:#ffffff40;outline:none}.topbar-search-icon{width:16px;height:16px;color:var(--gray-400);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.topbar-search-kbd{font-size:10px;font-family:var(--font-mono);color:var(--gray-400);pointer-events:none;background:#ffffff14;border-radius:3px;padding:1px 6px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.topbar-spacer{flex:1}.topbar-actions{align-items:center;gap:4px;display:flex}.topbar-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--gray-300);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.topbar-btn:hover{color:#fff;background:#ffffff1a}.main-wrap{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-content{background:var(--gray-50);flex:1;padding:24px 28px;overflow-y:auto}.breadcrumb{color:var(--gray-400);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.breadcrumb a{color:var(--gray-500);text-decoration:none}.breadcrumb a:hover{color:var(--blue-600);text-decoration:underline}.breadcrumb-sep{color:var(--gray-300)}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header-left{min-width:0}.page-title{color:var(--gray-900);letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700;line-height:1.3}.page-subtitle{color:var(--gray-500);margin-top:2px;font-size:13px}.card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff}.card-header{border-bottom:1px solid var(--gray-200);color:var(--gray-800);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:13px;font-weight:600;display:flex}.card-header svg{width:16px;height:16px;color:var(--gray-400)}.card-body{padding:18px}.card-body-flush{padding:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:18px 20px}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin-bottom:6px;font-size:11px;font-weight:600}.stat-value{color:var(--gray-900);font-size:24px;font-weight:700;font-family:var(--font-mono);letter-spacing:-.5px}.stat-note{color:var(--gray-400);margin-top:4px;font-size:12px}.stat-note.positive{color:var(--green-600)}.stat-note.negative{color:var(--red-500)}.stat-note.neutral{color:var(--gray-400)}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);background:var(--gray-50);border-bottom:2px solid var(--gray-200);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);vertical-align:middle;padding:10px 14px}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover,.data-table tbody tr:focus-within{background:var(--blue-50)}.data-table tbody tr.selected{background:var(--blue-100)}.data-table .text-right{text-align:right}.data-table .text-center{text-align:center}.data-table .mono{font-family:var(--font-mono);font-size:12px}.data-table .bold{font-weight:600}.data-table .text-danger{color:var(--red-500)}.data-table .text-success{color:var(--green-600)}.data-table .text-warning{color:var(--amber-600)}.data-table .text-muted{color:var(--gray-400)}.data-table .link{color:var(--blue-600);font-weight:500;text-decoration:none}.data-table .link:hover{text-decoration:underline}.table-empty{text-align:center;color:var(--gray-400);padding:40px 20px;font-size:13px}.badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:10px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-danger{background:var(--red-100);color:var(--red-700)}.badge-success{background:var(--green-100);color:var(--green-700)}.badge-warning{background:var(--amber-100);color:var(--amber-700)}.badge-info{background:var(--blue-100);color:var(--blue-700)}.badge-muted{background:var(--gray-100);color:var(--gray-600)}.btn{font-size:13px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;line-height:1.4;text-decoration:none;display:inline-flex}.btn svg{width:15px;height:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy-800);color:#fff;border-color:var(--navy-700)}.btn-primary:hover:not(:disabled){background:var(--navy-700)}.btn-accent{background:var(--blue-600);color:#fff;border-color:var(--blue-700)}.btn-accent:hover:not(:disabled){background:var(--blue-700)}.btn-success{background:var(--green-600);color:#fff;border-color:var(--green-700)}.btn-success:hover:not(:disabled){background:var(--green-700)}.btn-danger{background:var(--red-500);color:#fff;border-color:var(--red-600)}.btn-danger:hover:not(:disabled){background:var(--red-600)}.btn-warning{background:var(--amber-500);color:#fff;border-color:var(--amber-600)}.btn-warning:hover:not(:disabled){background:var(--amber-600)}.btn-outline{color:var(--gray-700);border-color:var(--gray-300);background:#fff}.btn-outline:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-ghost{color:var(--gray-600);background:0 0;border:none;padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.btn-sm{padding:5px 10px;font-size:12px}.btn-sm svg{width:13px;height:13px}.btn-link{color:var(--blue-600);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:none}.btn-link:hover{text-decoration:underline}.form-group{margin-bottom:16px}.form-label{color:var(--gray-600);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.form-control{width:100%;height:36px;font-size:13px;font-family:var(--font-sans);color:var(--gray-800);border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition);background:#fff;padding:0 12px}.form-control:focus{border-color:var(--blue-500);outline:none;box-shadow:0 0 0 3px #3b82f61f}.form-control::placeholder{color:var(--gray-400)}.form-control-sm{height:30px;padding:0 8px;font-size:12px}textarea.form-control{resize:vertical;height:auto;min-height:72px;padding:8px 12px}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.input-group{align-items:stretch;display:flex}.input-prefix{color:var(--gray-500);background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-md) 0 0 var(--radius-md);white-space:nowrap;border-right:none;align-items:center;padding:0 10px;font-size:13px;font-weight:500;display:flex}.input-group .form-control{border-radius:0 var(--radius-md) var(--radius-md) 0}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;animation:.12s fadeIn;display:flex;position:fixed;inset:0}.modal-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:560px;max-height:90vh;animation:.15s slideUp;overflow-y:auto}.modal-panel.modal-lg{max-width:720px}.modal-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--gray-900);font-size:15px;font-weight:600}.modal-close{width:28px;height:28px;color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--gray-200);justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;display:flex}.alert{border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.alert-info{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700)}.alert-success{background:var(--green-50);border:1px solid var(--green-100);color:var(--green-700)}.alert-danger{background:var(--red-50);border:1px solid var(--red-100);color:var(--red-700)}.alert-dismiss{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;margin-left:auto;font-size:16px}.alert-dismiss:hover{opacity:1}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.grid-8-4{grid-template-columns:2fr 1fr;gap:20px;display:grid}.grid-6-6{grid-template-columns:1fr 1fr;gap:20px;display:grid}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{align-items:center;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.text-right{text-align:right}.text-center{text-align:center}.balance-card{border-radius:var(--radius-lg);text-align:center;padding:20px}.balance-card.debt{background:var(--red-50);border:1px solid var(--red-100)}.balance-card.credit{background:var(--green-50);border:1px solid var(--green-100)}.balance-card.neutral{background:var(--gray-100);border:1px solid var(--gray-200)}.balance-label{text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);margin-bottom:8px;font-size:11px;font-weight:600}.balance-amount{font-size:28px;font-weight:700;font-family:var(--font-mono);letter-spacing:-.5px}.balance-amount.debt{color:var(--red-500)}.balance-amount.credit{color:var(--green-600)}.balance-amount.neutral{color:var(--gray-700)}.balance-hint{color:var(--gray-400);margin-top:4px;font-size:12px}.balance-suffix{vertical-align:super;margin-left:4px;font-size:14px;font-weight:600}.balance-suffix.debt{color:var(--red-500)}.balance-suffix.credit{color:var(--green-600)}.info-grid{grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.info-item-label{text-transform:uppercase;letter-spacing:.4px;color:var(--gray-400);margin-bottom:2px;font-size:11px;font-weight:600}.info-item-value{color:var(--gray-800);font-size:13px}.chart-container{height:240px;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.2s forwards fadeInUp}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.kbd{min-width:20px;height:20px;font-size:10px;font-family:var(--font-mono);color:var(--gray-500);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:3px;justify-content:center;align-items:center;padding:0 4px;font-weight:500;display:inline-flex}.status-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.status-dot.green{background:var(--green-500)}.status-dot.red{background:var(--red-500)}.status-dot.amber{background:var(--amber-500)}.pagination{color:var(--gray-500);border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;display:flex}.pagination-btns{gap:4px;display:flex}.pagination-btn{border:1px solid var(--gray-200);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--gray-600);cursor:pointer;background:#fff;justify-content:center;align-items:center;font-size:12px;display:flex}.pagination-btn:hover{background:var(--gray-50)}.pagination-btn.active{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}.empty-state{text-align:center;color:var(--gray-400);padding:48px 20px}.empty-state svg{opacity:.4;width:40px;height:40px;margin-bottom:12px}.empty-state p{font-size:13px}
