:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-wrap{background:linear-gradient(145deg,#1a1745 0%,#2d2a6e 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-box{background:#fff;border-radius:20px;width:100%;max-width:360px;padding:2.5rem 2rem;box-shadow:0 20px 60px #00000040}.login-logo-wrap{align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.login-logo-mark{color:#fff;background:#4f46e5;border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:800;display:flex}.login-logo{color:#0f172a;letter-spacing:.04em;font-size:1.15rem;font-weight:800}.login-subtitle{color:#94a3b8;margin-top:-.15rem;margin-bottom:2rem;padding-left:52px;font-size:.82rem}.login-error{color:#be123c;background:#fff1f2;border-radius:8px;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.82rem}.form-group{margin-bottom:.9rem}.nav{z-index:100;background:#1a1745;flex-direction:column;width:220px;padding:1.25rem .75rem;display:flex;position:fixed;top:0;bottom:0;left:0}.nav-logo{border-bottom:1px solid #ffffff14;align-items:center;gap:.65rem;margin-bottom:.75rem;padding:0 .5rem 1.5rem;display:flex}.nav-logo-mark{color:#fff;letter-spacing:.03em;background:#4f46e5;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.75rem;font-weight:800;display:flex}.nav-logo-name{color:#fff;font-size:.88rem;font-weight:700;line-height:1.2}.nav-logo-sub{color:#818cf8;font-size:.68rem}.nav ul{flex:1;list-style:none}.nav ul li{margin-bottom:.15rem}.nav ul li button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;font-size:.85rem;font-weight:500;transition:background .12s,color .12s;display:flex}.nav ul li button:hover{color:#e2e8f0;background:#ffffff12}.nav ul li button.active{color:#a5b4fc;background:#4f46e540;font-weight:600}.nav ul li button.active .nav-icon{color:#818cf8}.nav-footer{border-top:1px solid #ffffff14;padding-top:.75rem}.nav-email{color:#64748b;word-break:break-all;margin-bottom:.5rem;padding:0 .5rem;font-size:.7rem}.btn-logout{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:none;border-radius:9px;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.82rem;transition:background .12s;display:flex}.btn-logout:hover{color:#e2e8f0;background:#ffffff1a}@media (width<=768px){.nav{width:100%;height:auto;padding:0;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);background:#14123af7;border-top:1px solid #ffffff14;flex-direction:row;position:fixed;inset:auto 0 0;box-shadow:0 -4px 20px #00000040}.nav-logo,.nav-footer{display:none}.nav ul{flex-direction:row;flex:1;margin:0;display:flex}.nav ul li{flex:1;margin:0}.nav ul li button{color:#64748b;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.22rem;width:100%;height:58px;padding:.4rem .2rem;font-size:.63rem;font-weight:500}.nav ul li button .nav-icon{transition:transform .15s}.nav ul li button.active{color:#818cf8;background:0 0;font-weight:600}.nav ul li button.active .nav-icon{color:#818cf8;transform:translateY(-1px)}.nav-label{line-height:1}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1e293b;-webkit-font-smoothing:antialiased;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Pretendard,Segoe UI,sans-serif}.loading{color:#94a3b8;justify-content:center;align-items:center;height:100vh;font-size:1.1rem;display:flex}.app{min-height:100vh;display:flex}.main-content{flex:1;max-width:calc(100vw - 220px);margin-left:220px;padding:2rem 2.25rem}h1{color:#0f172a;letter-spacing:-.02em;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}h2{color:#1e293b;margin-bottom:1rem;font-size:1.05rem;font-weight:600}.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:1.25rem;padding:1.5rem;box-shadow:0 1px 3px #0000000a}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.48rem 1.1rem;font-size:.875rem;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:hover{opacity:.88}.btn-primary{color:#fff;background:#4f46e5}.btn-secondary{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.btn-danger{color:#dc2626;background:#fee2e2}.btn-success{color:#16a34a;background:#dcfce7}input,select,textarea{color:#1e293b;background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:.5rem .8rem;font-size:.875rem;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.form-group label{color:#64748b;margin-bottom:.3rem;font-size:.775rem;font-weight:500;display:block}table{border-collapse:collapse;width:100%;font-size:.875rem}th{text-align:left;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.65rem .9rem;font-size:.8rem;font-weight:600}td{color:#334155;border-bottom:1px solid #f1f5f9;padding:.65rem .9rem}tr:last-child td{border-bottom:none}tr:hover td{background:#f8fafc}.amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.tag{color:#5b21b6;background:#ede9fe;border-radius:6px;padding:.2rem .6rem;font-size:.72rem;font-weight:500;display:inline-block}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.2rem 1.4rem;box-shadow:0 1px 3px #0000000a}.stat-label{color:#64748b;margin-bottom:.35rem;font-size:.775rem;font-weight:500}.stat-value{color:#0f172a;letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.stat-sub{color:#94a3b8;margin-top:.25rem;font-size:.72rem}@media (width<=768px){.main-content{max-width:100vw;padding:1rem 1.1rem;padding-top:calc(.9rem + env(safe-area-inset-top));padding-bottom:calc(68px + env(safe-area-inset-bottom));margin-left:0}h1{margin-bottom:.9rem;font-size:1.2rem}.card{border-radius:12px;padding:1rem}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1rem}.stat-card{border-radius:12px;padding:.9rem 1rem}.stat-value{font-size:1.05rem}.stat-label{font-size:.7rem}table{-webkit-overflow-scrolling:touch;font-size:.8rem;display:block;overflow-x:auto}th,td{white-space:nowrap;padding:.5rem .65rem}.form-row{grid-template-columns:1fr 1fr}.btn{padding:.45rem .9rem;font-size:.82rem}}
