@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Lora:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-smoke:#f6f6f6}html{background-color:#fff;background-color:var(--color-white);scrollbar-width:none}::-webkit-scrollbar{display:none}body{color:#272b28;color:var(--color-graphite);font-family:Lora,serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif}:root{--color-graphite:#272b28;--color-aztec:#233a2c;--color-pine:#304e3c;--color-parsley:#446a4c;--color-accent:#5a8a68;--color-accent-light:#7daf8a;--color-white:#fff;--color-text:#ffffffeb;--color-text-secondary:#ffffff8c;--color-border:#ffffff1f;--glass-bg:#ffffff12;--glass-bg-hover:#ffffff1c;--glass-bg-active:#ffffff26;--glass-border:#ffffff21;--glass-blur:blur(20px);--glass-shadow:0 8px 32px #00000047;--glass-shadow-lg:0 20px 60px #0006;--app-bg:linear-gradient(135deg,#1a2e22,#233a2c 40%,#1a2620);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--font-main:"Montserrat",sans-serif;--font-serif:"Lora",serif}*{box-sizing:border-box;margin:0;padding:0}body{background:#1a2e22;color:#ffffffeb;color:var(--color-text);font-family:Montserrat,sans-serif;font-family:var(--font-main);min-height:100dvh;min-height:var(--app-height,100dvh);overflow-x:hidden}.app-page{background:linear-gradient(135deg,#1a2e22,#233a2c 40%,#1a2620);background:var(--app-bg);display:flex;flex-direction:column;min-height:100vh}.glass-card{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#ffffff12;background:var(--glass-bg);border:1px solid #ffffff21;border:1px solid var(--glass-border);border-radius:16px;border-radius:var(--radius-md);box-shadow:0 8px 32px #00000047;box-shadow:var(--glass-shadow)}.glass-card--lg{border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;box-shadow:var(--glass-shadow-lg)}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Montserrat,sans-serif;font-family:var(--font-main);font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease}.btn--primary{background:#5a8a68;background:var(--color-accent);color:#fff}.btn--primary:hover{background:#7daf8a;background:var(--color-accent-light);transform:translateY(-1px)}.btn--primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn--ghost{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#ffffff12;background:var(--glass-bg);border:1px solid #ffffff21;border:1px solid var(--glass-border);color:#ffffffeb;color:var(--color-text)}.btn--ghost:hover{background:#ffffff1c;background:var(--glass-bg-hover)}.btn--full{width:100%}.btn--lg{font-size:16px;padding:16px 32px}.field{display:flex;flex-direction:column;gap:6px}.field__label{color:#ffffff8c;color:var(--color-text-secondary);font-size:13px;font-weight:500}.field__input{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#ffffff12;background:var(--glass-bg);border:1px solid #ffffff21;border:1px solid var(--glass-border);border-radius:10px;border-radius:var(--radius-sm);color:#ffffffeb;color:var(--color-text);font-family:Montserrat,sans-serif;font-family:var(--font-main);font-size:15px;outline:none;padding:12px 16px;transition:border-color .2s;width:100%}.field__input::placeholder{color:#ffffff8c;color:var(--color-text-secondary)}.field__input:focus{border-color:#5a8a68;border-color:var(--color-accent)}.field__error{color:#ff7875;font-size:12px}.app-layout{display:grid;grid-template-columns:240px 1fr;min-height:100dvh;min-height:var(--app-height,100dvh)}.app-sidebar{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#1a2e22e6;border-right:1px solid #ffffff21;border-right:1px solid var(--glass-border);display:flex;flex-direction:column;gap:8px;height:100dvh;height:var(--app-height,100dvh);overflow-y:auto;padding:24px 16px;position:-webkit-sticky;position:sticky;top:0}.app-sidebar__header{align-items:center;border-bottom:1px solid #ffffff21;border-bottom:1px solid var(--glass-border);display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px;padding:0 12px 20px}.app-sidebar__logo{font-size:18px;font-weight:700}.app-sidebar__chat-btn,.app-sidebar__logo{color:#7daf8a;color:var(--color-accent-light)}.app-sidebar__chat-btn{align-items:center;background:#5a8a6826;border:1px solid #5a8a684d;border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:4px;padding:10px 12px;text-align:left;transition:all .2s;width:100%}.app-sidebar__chat-btn:hover{background:#5a8a6847}.app-sidebar__user{align-items:center;color:#ffffff59;display:flex;font-size:11px;gap:8px;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__item{align-items:center;background:none;border:none;border-radius:10px;border-radius:var(--radius-sm);color:#ffffff8c;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 12px;text-align:left;text-decoration:none;transition:all .2s;width:100%}.app-sidebar__item.active,.app-sidebar__item:hover{background:#ffffff1c;background:var(--glass-bg-hover);color:#ffffffeb;color:var(--color-text)}.app-sidebar__item.active{background:#ffffff26;background:var(--glass-bg-active);border:1px solid #ffffff21;border:1px solid var(--glass-border)}.app-sidebar__spacer{flex:1 1}.app-main{flex:1 1;overflow-y:auto;padding:32px}.app-main,.auth-page{background:linear-gradient(135deg,#1a2e22,#233a2c 40%,#1a2620);background:var(--app-bg);min-height:100dvh;min-height:var(--app-height,100dvh)}.auth-page{align-items:center;display:flex;justify-content:center;padding:20px}.auth-card{display:flex;flex-direction:column;gap:20px;max-width:420px;padding:40px;width:100%}.auth-card__logo{color:#7daf8a;color:var(--color-accent-light);font-size:22px;font-weight:700;margin-bottom:4px;text-align:center}.auth-card__header{align-items:center;display:flex;flex-direction:column;gap:6px}.auth-card__title{font-size:22px;font-weight:700;margin:0;text-align:center}.auth-card__subtitle{color:#ffffff8c;color:var(--color-text-secondary);font-size:14px;margin:0;text-align:center}.auth-card__form{display:flex;flex-direction:column;gap:16px}.auth-card__link{color:#ffffff8c;color:var(--color-text-secondary);font-size:14px;text-align:center}.auth-card__link a{color:#7daf8a;color:var(--color-accent-light);text-decoration:none}.auth-card__error{background:#ff4b4b1f;border:1px solid #ff4b4b4d;border-radius:10px;border-radius:var(--radius-sm);color:#ff7875}.auth-card__error,.auth-card__success{font-size:13px;padding:12px 16px;text-align:center}.auth-card__success{background:#5a8a6826;border:1px solid #5a8a684d;border-radius:10px;border-radius:var(--radius-sm);color:#7daf8a;color:var(--color-accent-light)}.app-loading{align-items:center;background:#f3f5f1;display:flex;justify-content:center;min-height:100vh}@media (prefers-color-scheme:dark){.app-loading{background:#0e100e}}:root[data-theme=light] .app-loading{background:#f3f5f1}:root[data-theme=dark] .app-loading{background:#0e100e}.app-loading__spinner{animation:spin .8s linear infinite;border:3px solid #2e5a3c26;border-radius:50%;border-top-color:#2e5a3c;height:40px;width:40px}@media (prefers-color-scheme:dark){.app-loading__spinner{border-color:#3fbf6a #ffffff1f #ffffff1f}}:root[data-theme=dark] .app-loading__spinner{border-color:#3fbf6a #ffffff1f #ffffff1f}@keyframes spin{to{transform:rotate(1turn)}}.metric-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:20px}.metric-card__label{color:#ffffff8c;color:var(--color-text-secondary);font-size:12px;font-weight:500}.metric-card__label,.metric-card__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-card__value{color:#ffffffeb;color:var(--color-text);font-size:22px;font-weight:700}.metric-card__value--positive{color:#6fcf97}.metric-card__value--negative{color:#ff7875}.metric-card__delta{color:#ffffff8c;color:var(--color-text-secondary);font-size:12px}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:24px}.dashboard-section,.today-layout{margin-bottom:32px}.today-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 340px}.today-main{min-width:0}.today-aside{position:-webkit-sticky;position:sticky;top:16px}@media (max-width:1100px){.today-layout{grid-template-columns:1fr}.today-aside{position:static}}.dashboard-section__title{color:#ffffffeb;color:var(--color-text);font-size:16px;font-weight:600;margin-bottom:16px}.insight-card{display:flex;flex-direction:column;gap:12px;padding:20px}.insight-card__badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.insight-card__badge--info{background:#5a8a6833;color:#7daf8a}.insight-card__badge--warning{background:#ffb40026;color:#ffd666}.insight-card__badge--critical{background:#ff4b4b26;color:#ff7875}.flag-badge{align-items:center;border-radius:20px;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;gap:5px;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.flag-badge--critical{background:#dc354533;border:1px solid #dc354559;color:#ff7875}.flag-badge--warning{background:#ffc10726;border:1px solid #ffc1074d;color:#ffd666}.flag-badge--info{background:#ffffff14;border:1px solid #ffffff21;color:#ffffff8c}.insight-card__block{display:flex;flex-direction:column;gap:4px}.insight-card__block-label{color:#ffffff8c;color:var(--color-text-secondary);font-size:11px;font-weight:600;text-transform:uppercase}.insight-card__block-text{color:#ffffffeb;color:var(--color-text);font-size:14px;line-height:1.5}.app-table{border-collapse:collapse;width:100%}.app-table td,.app-table th{border-bottom:1px solid #ffffff21;border-bottom:1px solid var(--glass-border);font-size:14px;padding:12px 16px;text-align:left}.app-table th{color:#ffffff8c;color:var(--color-text-secondary);font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.app-table tr:hover td{background:#ffffff12;background:var(--glass-bg)}.page-header{margin-bottom:32px}.page-header__title{color:#ffffffeb;color:var(--color-text);font-size:24px;font-weight:700}.page-header__subtitle{color:#ffffff8c;color:var(--color-text-secondary);font-size:14px;margin-top:6px}.empty-state{align-items:center;display:flex;flex-direction:column;gap:16px;padding:60px 24px;text-align:center}.empty-state__icon{font-size:48px;opacity:.5}.empty-state__title{font-size:18px;font-weight:600}.empty-state__text{color:#ffffff8c;color:var(--color-text-secondary);font-size:14px;max-width:300px}.onboarding-page{align-items:center;background:linear-gradient(135deg,#1a2e22,#233a2c 40%,#1a2620);background:var(--app-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.onboarding-chat{display:flex;flex-direction:column;height:80vh;max-width:600px;overflow:hidden;padding:0;width:100%}.onboarding-chat__header{align-items:center;border-bottom:1px solid #ffffff21;border-bottom:1px solid var(--glass-border);display:flex;gap:12px;padding:20px 24px}.onboarding-chat__avatar{align-items:center;background:#5a8a68;background:var(--color-accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.onboarding-chat__title{font-size:15px;font-weight:600}.onboarding-chat__subtitle{color:#ffffff8c;color:var(--color-text-secondary);font-size:12px}.onboarding-chat__messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px}.chat-bubble{border-radius:16px;font-size:14px;line-height:1.5;max-width:80%;padding:12px 16px}.chat-bubble--assistant{align-self:flex-start;background:#ffffff26;background:var(--glass-bg-active);border:1px solid #ffffff21;border:1px solid var(--glass-border);border-bottom-left-radius:4px}.chat-bubble--user{align-self:flex-end;background:#5a8a68;background:var(--color-accent);border-bottom-right-radius:4px;color:#fff}.chat-typing{align-items:center;align-self:flex-start;background:#ffffff12;background:var(--glass-bg);border:1px solid #ffffff21;border:1px solid var(--glass-border);border-radius:16px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 16px;width:60px}.chat-typing__dot{animation:typing-dot 1.2s infinite;background:#ffffff8c;background:var(--color-text-secondary);border-radius:50%;height:6px;width:6px}.chat-typing__dot:nth-child(2){animation-delay:.2s}.chat-typing__dot:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.onboarding-chat__input{border-top:1px solid #ffffff21;border-top:1px solid var(--glass-border);display:flex;gap:12px;padding:16px 20px}.onboarding-chat__textarea{background:#ffffff12;background:var(--glass-bg);border:1px solid #ffffff21;border:1px solid var(--glass-border);border-radius:10px;border-radius:var(--radius-sm);color:#ffffffeb;color:var(--color-text);flex:1 1;font-family:Montserrat,sans-serif;font-family:var(--font-main);font-size:14px;max-height:100px;outline:none;padding:10px 14px;resize:none;transition:border-color .2s}.onboarding-chat__textarea:focus{border-color:#5a8a68;border-color:var(--color-accent)}.onboarding-chat__textarea::placeholder{color:#ffffff8c;color:var(--color-text-secondary)}.dropzone{align-items:center;border:2px dashed #ffffff21;border:2px dashed var(--glass-border);border-radius:16px;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:60px 40px;text-align:center;transition:all .2s}.dropzone--active,.dropzone:hover{background:#5a8a6814;border-color:#5a8a68;border-color:var(--color-accent)}.dropzone__icon{font-size:48px}.dropzone__title{font-size:16px;font-weight:600}.dropzone__hint{color:#ffffff8c;color:var(--color-text-secondary);font-size:13px}.field__select{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#ffffff12;background:var(--glass-bg);border:1px solid #ffffff21;border:1px solid var(--glass-border);border-radius:10px;border-radius:var(--radius-sm);color:#ffffffeb;color:var(--color-text);cursor:pointer;font-family:Montserrat,sans-serif;font-family:var(--font-main);font-size:14px;outline:none;padding:8px 12px;width:100%}.field__select option{background:#233a2c;color:#fff}.tx-cat-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-width=%272%27 stroke-opacity=%270.5%27><polyline points=%276 9 12 15 18 9%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;font-size:13px;max-width:200px;overflow:hidden;padding:7px 30px 7px 12px;text-overflow:ellipsis;white-space:nowrap;width:200px}.tx-checkbox{align-items:center;cursor:pointer;display:inline-flex;-webkit-user-select:none;user-select:none}.tx-checkbox input[type=checkbox]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.tx-checkbox__box{align-items:center;background:#5a8a6814;border:1.5px solid #5a8a6880;border-radius:5px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all .15s;width:16px}.tx-checkbox input[type=checkbox]:checked+.tx-checkbox__box{background:#5a8a68;border-color:#5a8a68}.tx-checkbox input[type=checkbox]:checked+.tx-checkbox__box:after{border:2px solid #fff;border-left:none;border-top:none;content:"";display:block;height:8px;transform:rotate(45deg) translateY(-1px);width:4px}.tx-checkbox:hover .tx-checkbox__box{background:#5a8a682e;border-color:#7daf8a}.ai-badge{align-items:center;background:#5a8a6833;border:none;border-radius:20px;color:#7daf8a;color:var(--color-accent-light);cursor:pointer;display:inline-flex;font-family:Montserrat,sans-serif;font-family:var(--font-main);font-size:11px;gap:4px;padding:2px 8px;transition:background .2s}.ai-badge:hover{background:#5a8a6859}.app-topbar{display:none}@media (max-width:768px){.app-layout{display:flex;flex-direction:column;min-height:100dvh;min-height:var(--app-height,100dvh)}.app-topbar{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1a2e22f2;border-bottom:1px solid #ffffff21;border-bottom:1px solid var(--glass-border);display:flex;height:calc(54px + env(safe-area-inset-top, 0px));justify-content:space-between;left:0;padding:env(safe-area-inset-top,0) 16px 0;position:fixed;right:0;top:0;z-index:140}.app-topbar__logo{color:#7daf8a;color:var(--color-accent-light);font-size:17px;font-weight:700;letter-spacing:-.3px}.app-topbar__actions{align-items:center;display:flex;gap:4px}.app-topbar__btn{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:10px;color:#fff9;cursor:pointer;display:flex;justify-content:center;outline:none;padding:10px;transition:background .15s,color .15s}@media (hover:hover){.app-topbar__btn:hover{background:#ffffff14;color:#fff}}.app-topbar__btn:focus{background:none;outline:none}.app-topbar__btn:focus-visible{background:none;outline:none}.app-topbar__btn:active{background:#ffffff1f}.app-topbar__btn--active{background:#ffffff1f;color:#fff}.app-sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a2e22f7;border-right:none;border-top:1px solid #ffffff21;border-top:1px solid var(--glass-border);bottom:0;flex-direction:row;gap:0;height:auto;justify-content:space-around;left:0;overflow:visible;padding:8px 4px calc(8px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;top:auto;width:100%;z-index:200}.app-sidebar__chat-btn,.app-sidebar__header,.app-sidebar__logo,.app-sidebar__logout,.app-sidebar__spacer,.app-sidebar__user{display:none}.app-sidebar__item{border:1.5px solid #0000;border-radius:12px;color:#ffffff73;flex:1 1;flex-direction:column;font-size:0;gap:0;max-width:64px;min-width:0;overflow:hidden;padding:10px 4px;text-align:center;white-space:nowrap}.app-sidebar__item svg{height:22px;width:22px}.app-sidebar__item.active{background:#5a8a6826;border-color:#5a8a6873;color:#7daf8a}.app-main{min-height:0;overflow-x:hidden;padding:calc(70px + env(safe-area-inset-top, 0px)) 14px calc(54px + env(safe-area-inset-bottom, 8px))}.hide-xs{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.chart-container{height:200px!important}.insights-grid{grid-template-columns:1fr!important}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll-wrapper::-webkit-scrollbar{height:3px}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:#5a8a6866;border-radius:2px}.app-table{min-width:480px}.col-hide-mobile{display:none}.filter-bar{-ms-overflow-style:none;flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.bulk-select-bar{width:100%}.bulk-select-bar .field__select{min-width:0;width:100%}.recharts-responsive-container{min-width:0!important}.page-header{align-items:flex-start;flex-direction:column;gap:8px}.auth-card{margin:16px;padding:24px 20px}.upload-mapping-card{max-width:100%!important}}@media (max-width:480px){.dashboard-grid{grid-template-columns:1fr}.auth-card{padding:20px 16px}.page-header__title{font-size:22px}.app-main{padding:calc(66px + env(safe-area-inset-top, 0px)) 12px calc(54px + env(safe-area-inset-bottom, 8px))}}@media (max-width:390px){.metric-card__value,.page-header__title{font-size:20px}.app-topbar{height:calc(54px + env(safe-area-inset-top, 0px))}.app-main{padding:calc(66px + env(safe-area-inset-top, 0px)) 10px calc(54px + env(safe-area-inset-bottom, 8px))}}
/*# sourceMappingURL=main.8451da7d.css.map*/