@font-face{font-family:system;src:local('Inter')}*{box-sizing:border-box} :root{--bg:#f5f6fa;--ink:#24243c;--muted:#77788b;--line:#e9e9f1;--primary:#6960df;--light:#efedff;--green:#348365;--red:#b95058;--navy:#252542;--radius:20px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system,Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{opacity:.55;cursor:wait}a{color:var(--primary);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #9d96ee;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #a59eec;border-color:transparent}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:650}h2{font-size:19px;letter-spacing:-.35px;font-weight:650}h3{font-size:16px;font-weight:600}small,.small{font-size:13px}.muted{color:var(--muted)}.label{font-size:14px;color:var(--muted)}.green{color:var(--green)}.red{color:var(--red)}.row{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:grid;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border-radius:11px;font-size:14px;font-weight:600;min-height:44px;background:white;border:1px solid var(--line);white-space:nowrap}.btn.primary{background:var(--primary);border-color:var(--primary);color:white;box-shadow:0 4px 10px #6960df18}.btn.soft{background:var(--light);color:var(--primary);border-color:transparent}.btn.danger{color:var(--red)}.btn.full{width:100%}.icon{width:21px;height:21px;display:inline-block;flex-shrink:0;vertical-align:middle}.iconbtn{padding:9px;border-radius:10px;min-height:40px;min-width:40px;display:inline-grid;place-items:center}.iconbtn:hover{background:var(--light)}.linkbtn{font-size:14px;font-weight:600;color:var(--primary);padding:6px 0}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 9px;border-radius:7px;background:var(--light);color:var(--primary)}.pill.warn{background:#fff3dd;color:#936924}.pill.good{background:#eaf5ef;color:var(--green)}.sidebar{width:232px;height:100dvh;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:34px 20px 22px;display:flex;flex-direction:column;z-index:10}.brand{font-size:24px;font-weight:700;letter-spacing:-.8px;display:flex;align-items:center;gap:11px;padding:0 14px}.brand img{width:35px;height:35px}.brand .pill{font-size:10px;margin-left:auto}.sidebar nav{margin-top:46px;display:grid;gap:7px}.nav{display:flex;align-items:center;gap:13px;width:100%;padding:14px 16px;border-radius:12px;text-align:left;font-size:14px;color:var(--muted);font-weight:500}.nav.active{color:var(--primary);background:var(--light);font-weight:600}.nav:hover{background:#f5f4ff}.sidebar-bottom{margin-top:auto}.sidebar-note{margin:20px 8px;padding:17px;background:#f7f7fc;border-radius:14px;font-size:13px;color:var(--muted)}.sidebar-note strong{display:block;color:var(--ink);margin:8px 0 5px;font-weight:600}.user{border-top:1px solid var(--line);padding:20px 9px 0}.avatar{height:36px;width:36px;border-radius:50%;background:#eeebfc;color:var(--primary);display:grid;place-items:center;font-size:14px;font-weight:600}.shell{margin-left:232px;padding:0 38px 40px;max-width:1780px}.topbar{height:90px;border-bottom:1px solid var(--line);margin-bottom:32px}.breadcrumb{color:var(--muted);font-size:14px}.breadcrumb span{color:var(--ink);margin-left:15px}.pagehead{margin-bottom:27px}.pagehead p{font-size:14px;color:var(--muted);margin-top:8px}.toolbar{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.segmented{display:flex;gap:3px;background:#eeeff4;padding:4px;border-radius:11px;max-width:100%;overflow:auto}.segmented button{padding:8px 15px;border-radius:8px;color:var(--muted);font-size:14px;white-space:nowrap}.segmented button.active{background:#fff;box-shadow:0 2px 6px #24243c0a;color:var(--ink);font-weight:600}.dates{font-size:13px;display:flex;gap:8px;align-items:center;color:var(--muted)}.stats{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:17px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-align:left;background:#fff;width:100%;min-height:173px;display:flex;flex-direction:column}.stat:hover{border-color:#b8b2ed}.stat .stat-top{font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted)}.stat .value{font-size:29px;line-height:1.35;letter-spacing:-1px;font-weight:650;margin:17px 0 11px;white-space:nowrap}.stat .foot{font-size:12px;color:var(--muted);margin-top:auto}.stat.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.stat.dark .stat-top,.stat.dark .foot{color:#bfc0d2}.stat .stat-icon{background:#f4f3fb;border-radius:8px;padding:6px}.stat.dark .stat-icon{background:#ffffff14}.stat.dark .foot{display:flex;gap:6px;align-items:center}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:24px;margin-bottom:24px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0}.card-head{margin-bottom:25px}.chart-title{font-size:14px;margin:0 0 2px;color:var(--muted)}.chart-value{font-size:27px;font-weight:600;letter-spacing:-.8px}.chart{width:100%;height:190px;display:block;overflow:visible}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:9px}.legend-dot{width:8px;height:8px;background:var(--primary);display:inline-block;border-radius:50%;margin-right:7px}.chart-meta{font-size:12px;border-top:1px solid var(--line);margin-top:15px;padding-top:13px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.reserve-num{font-size:30px;letter-spacing:-1px;font-weight:600;margin:22px 0 4px}.progress{height:7px;background:#edecf5;border-radius:20px;overflow:hidden;margin:20px 0 12px}.progress>i{display:block;height:100%;border-radius:20px;background:var(--primary)}.subtle-box{padding:15px;background:#f7f7fb;border-radius:12px;margin-top:20px;font-size:13px;color:var(--muted)}.subtle-box strong{color:var(--ink)}.observations{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:20px 0 26px}.observation{border:1px solid #e4e0fb;background:#f8f7ff;border-radius:16px;padding:19px;display:flex;flex-direction:column;align-items:flex-start}.observation.warning{background:#fffaf0;border-color:#f1e7d5}.observation p{font-size:13px;color:#6d6b83;margin:9px 0 13px}.observation .linkbtn{margin-top:auto}.empty{padding:35px 20px;text-align:center;display:grid;justify-items:center;gap:12px}.empty .icon{width:30px;height:30px;color:var(--primary)}.empty p{font-size:14px;color:var(--muted);max-width:430px}.data-list{display:grid}.tx{display:grid;grid-template-columns:44px minmax(120px,1fr) minmax(90px,.6fr) minmax(90px,.65fr) 120px 36px;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f0f5;min-width:0}.tx:last-child{border-bottom:0}.tx-name{font-size:14px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-meta{font-size:12px;color:var(--muted);margin-top:3px}.tx-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#f0effb;color:#8177c5}.tx-icon.income{background:#eaf5ef;color:var(--green)}.tx-amount{font-weight:600;font-size:14px;text-align:right;white-space:nowrap}.tx .account,.tx .category{font-size:13px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters input{flex:1;min-width:180px}.field{display:grid;gap:7px;font-size:14px;min-width:0}.field>span{font-size:13px;color:var(--muted)}input,select,textarea{border:1px solid #dedee9;background:#fff;border-radius:10px;padding:11px 12px;width:100%;color:var(--ink);font-size:14px;min-height:43px}textarea{resize:vertical;min-height:85px}select{cursor:pointer}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--primary)}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}.filters select{width:auto;max-width:200px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.span2{grid-column:span 2}.notice{padding:13px 17px;background:#fff8e9;border-radius:10px;color:#866929;font-size:13px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.notice.info{background:var(--light);color:#645aaf}.notice .linkbtn{white-space:nowrap}.demo-bar{background:#efebff;color:#6352b1;padding:10px 20px;border-radius:0 0 12px 12px;font-size:13px;display:flex;justify-content:space-between;align-items:center}.category-row{padding:13px 0}.category-row .between{font-size:14px;margin-bottom:8px}.category-row .progress{margin:0;height:7px}.category-row:nth-child(3n) .progress>i{background:#b8a4df}.category-row:nth-child(3n+1) .progress>i{background:#78afae}.bars{display:flex;align-items:flex-end;gap:20px;height:190px;padding:20px 20px 0;margin:20px 0 10px}.bar-group{flex:1;display:flex;gap:6px;align-items:flex-end;justify-content:center;height:100%;position:relative;padding-bottom:25px}.bar-group i{width:40px;border-radius:8px 8px 2px 2px;background:var(--primary);min-height:2px}.bar-group i.previous{background:#d9d4f5}.bar-group span{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:12px;color:var(--muted)}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.account-card{padding:22px;background:white;border:1px solid var(--line);border-radius:17px}.account-card .value{font-size:26px;font-weight:600;margin-top:24px}.account-card .small{margin-top:8px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.plan{padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.plan:last-child{border-bottom:0}.plan .name{font-size:14px;font-weight:600}.plan .meta{font-size:12px;color:var(--muted)}.plan .amount{font-size:14px;font-weight:600}.report-item{border-bottom:1px solid var(--line);padding:18px 0}.report-item pre{white-space:pre-wrap;font-family:inherit;font-size:13px;color:var(--muted);line-height:1.7}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.chat{padding:0;overflow:hidden;min-height:580px;display:flex;flex-direction:column}.chat-header{padding:20px 25px;border-bottom:1px solid var(--line)}.chat-messages{padding:25px;display:grid;gap:20px;max-height:650px;overflow:auto;min-height:310px}.message{max-width:95%;font-size:14px;line-height:1.8;white-space:pre-wrap;padding:16px 19px;background:#f5f4fb;border-radius:0 15px 15px 15px;overflow-wrap:anywhere}.message.user{margin-left:auto;background:var(--primary);color:white;border-radius:15px 0 15px 15px;max-width:85%}.message .source{font-size:12px;color:var(--primary);font-weight:600;display:block;margin-bottom:8px}.message .links{white-space:normal;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chat-form{padding:20px;border-top:1px solid var(--line);margin-top:auto}.chat-form textarea{min-height:70px;border:0;background:#f7f7fb}.chat-form .between{margin-top:10px}.suggestions{display:grid;gap:10px;margin-top:18px}.suggestion{text-align:left;font-size:14px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:white}.suggestion:hover{border-color:var(--primary)}.chat-welcome{padding:30px 20px;text-align:center}.chat-welcome h2{margin:18px 0 8px}.chat-welcome p{font-size:14px;color:var(--muted)}.sparkle{display:inline-grid;place-items:center;background:var(--light);color:var(--primary);padding:14px;border-radius:17px}.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;background:#fff}.auth-left{background:var(--navy);color:white;padding:60px 12%;display:flex;flex-direction:column;justify-content:space-between}.auth-left .brand{padding:0}.auth-left h1{font-size:52px;line-height:1.14;max-width:450px;letter-spacing:-2px}.auth-left p{color:#bfc0d2;margin-top:25px;max-width:380px;font-size:16px;line-height:1.8}.auth-visual{margin:45px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.auth-tile{border:1px solid #ffffff20;background:#ffffff08;border-radius:20px;padding:25px}.auth-tile .icon{color:#b8afff;width:27px;height:27px;margin-bottom:20px}.auth-tile strong{display:block;font-size:15px}.auth-left footer{font-size:13px;color:#9596b3}.auth-right{display:flex;align-items:center;justify-content:center;padding:45px}.auth-form{width:100%;max-width:385px}.auth-form>p{color:var(--muted);margin:15px 0 30px;font-size:14px}.auth-form .field{margin-bottom:18px}.auth-form .btn{margin-top:10px}.divider{text-align:center;color:#aaa8b7;font-size:13px;margin:22px 0 10px}.error{font-size:14px;color:var(--red);padding:12px 0}.loading{min-height:100dvh;display:grid;place-items:center;color:var(--muted)}dialog{border:0;border-radius:22px;padding:30px;max-width:570px;width:calc(100% - 28px);box-shadow:0 30px 100px #20203833;max-height:92dvh;color:var(--ink)}dialog::backdrop{background:#17172d66;backdrop-filter:blur(3px)}dialog .between:first-child{margin-bottom:24px}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog .field small{color:var(--muted);font-size:12px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#292940;color:white;padding:14px 22px;border-radius:12px;box-shadow:0 8px 35px #1c1b3c2a;z-index:100;display:none;font-size:14px;max-width:90vw}#toast.show{display:flex;align-items:center;gap:14px}#toast button{color:#c8c1ff;text-decoration:underline}.mobile-brand{display:none}.onboarding{max-width:730px;margin:60px auto}.onboarding h1{margin:25px 0 12px}.onboarding>p{color:var(--muted);margin-bottom:28px}.onboarding .card{padding:30px}.month-label{text-transform:capitalize}.skeleton{opacity:.5;pointer-events:none}
@media(min-width:1550px){.shell{padding-left:50px;padding-right:50px}.stat .value{font-size:34px}.content-grid{grid-template-columns:2fr 1fr}.chart{height:235px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.shell{margin-left:205px;padding:0 24px 35px}.stats{gap:12px}.stat{padding:19px}.stat .value{font-size:24px}.content-grid{grid-template-columns:1.6fr 1fr;gap:18px}.chat-layout{grid-template-columns:1fr}.chat-aside{display:none}.tx{grid-template-columns:40px 1fr 90px 110px 30px}.tx .category{display:none}.observations{grid-template-columns:repeat(2,1fr)}.observations .observation:last-child:nth-child(3){grid-column:span 2}.auth-left h1{font-size:42px}}
@media(max-width:900px){.sidebar{width:80px;padding:25px 10px}.sidebar .brand{padding:0;justify-content:center}.sidebar .brand>span,.sidebar .nav span,.sidebar-bottom,.brand .pill{display:none}.sidebar nav{margin-top:35px}.nav{justify-content:center;padding:16px 10px}.shell{margin-left:80px;padding:0 22px 35px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:153px}.stat .value{font-size:28px}.account-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.auth-left{padding:50px 10%}.auth-visual{grid-template-columns:1fr}.auth-tile:last-child{display:none}}
@media(max-width:650px){body{font-size:16px}.sidebar{top:auto;bottom:0;height:72px;width:100%;border-right:0;border-top:1px solid var(--line);padding:5px 5px env(safe-area-inset-bottom);background:#ffffffed;backdrop-filter:blur(12px)}.sidebar .brand{display:none}.sidebar nav{display:flex;margin:0;gap:0;height:100%}.nav{flex:1;flex-direction:column;gap:4px;font-size:10px;padding:8px 3px;border-radius:9px}.sidebar .nav span{display:block;font-size:10px;line-height:1.2}.nav .icon{height:21px;width:21px}.nav.active{background:transparent}.shell{margin:0;padding:0 17px 100px}.topbar{height:68px;margin-bottom:25px}.breadcrumb{display:none}.mobile-brand{display:flex}.mobile-brand.brand{padding:0;font-size:21px}.mobile-brand img{width:30px;height:30px}.topbar .today-label{display:none}.topbar .btn{font-size:12px;padding:8px 10px}.pagehead{margin-bottom:22px}.pagehead h1{font-size:28px}.pagehead .btn span{display:none}.pagehead .btn{padding:11px}.pagehead p{max-width:250px;font-size:13px}.toolbar{gap:12px}.segmented{width:100%;justify-content:space-between}.segmented button{padding:8px 11px;font-size:12px}.dates{font-size:12px;width:100%;justify-content:space-between}.stats{gap:10px;margin-bottom:18px}.stat{padding:17px 15px;min-height:146px;border-radius:16px}.stat .stat-top{font-size:12px}.stat .value{font-size:24px;letter-spacing:-.7px;margin:16px 0 7px}.stat .stat-icon{padding:4px}.stat .stat-icon .icon{width:15px;height:15px}.stat .foot{font-size:11px}.content-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.card{padding:20px;border-radius:17px}.chart{height:175px}.reserve-num{font-size:27px;margin-top:15px}.observations{grid-template-columns:1fr;gap:12px;margin:15px 0 22px}.observations .observation:last-child:nth-child(3){grid-column:auto}.observation{padding:17px}.card-head{margin-bottom:18px}.tx{grid-template-columns:37px minmax(0,1fr) 105px 24px;gap:9px;padding:14px 0}.tx .account{display:none}.tx-name,.tx-amount{font-size:13px}.tx-icon{width:35px;height:35px}.tx .iconbtn{min-width:25px;padding:4px}.tx-meta{font-size:11px}.notice{align-items:flex-start;font-size:12px;flex-wrap:wrap;margin-bottom:16px}.filters{gap:8px}.filters input{flex-basis:100%}.filters select{flex:1;min-width:120px;max-width:none}.account-grid{grid-template-columns:1fr;gap:12px}.account-card{padding:19px}.account-card .value{margin-top:14px}.chat{min-height:520px;padding:0}.chat-header{padding:16px}.chat-messages{padding:16px;max-height:60dvh}.message{font-size:13px;padding:14px;max-width:100%}.chat-form{padding:15px}.chat-form .small{max-width:190px;font-size:11px}.suggestions{grid-template-columns:1fr}.auth-page{display:block;background:var(--bg)}.auth-left{padding:30px 25px 35px;min-height:auto}.auth-left h1{font-size:34px;letter-spacing:-1px;margin-top:35px;max-width:340px}.auth-left p{font-size:14px;margin-top:15px}.auth-left footer,.auth-visual{display:none}.auth-right{padding:30px 25px 45px}.auth-form h2{font-size:24px}.form-grid{gap:14px}.onboarding{margin:25px 16px}.onboarding .card{padding:22px}.onboarding h1{font-size:26px}dialog{padding:23px}.demo-bar{border-radius:0;padding:10px 0;font-size:12px;gap:10px}#toast{bottom:88px;width:max-content;max-width:92vw;font-size:13px}.chart-meta{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s,opacity .15s}.card,.stat{animation:appear .25s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.avatar{flex-shrink:0}.user .grow{min-width:0}.user .grow>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:650px){.card-head{flex-wrap:wrap}.card-head>.btn{margin-left:auto}.card-head>select{max-width:100%!important}.stat .value{white-space:normal;overflow-wrap:anywhere}.form-grid{min-width:0}.between>h2{min-width:0}.card .chart-value{overflow-wrap:anywhere}}
