@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2"),url(/fonts/InterVariable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--bg-app: hsl(210, 20%, 98%);--bg-card: hsl(0, 0%, 100%);--border-color: hsl(210, 14%, 89%);--text-primary: hsl(220, 39%, 11%);--text-secondary: hsl(215, 16%, 47%);--text-tertiary: hsl(215, 14%, 65%);--color-success-bg: hsl(152, 60%, 94%);--color-success-text: hsl(152, 69%, 20%);--color-success: hsl(152, 69%, 40%);--color-danger-bg: hsl(0, 70%, 94%);--color-danger-text: hsl(0, 70%, 35%);--color-danger: hsl(0, 70%, 45%);--color-primary: hsl(221, 83%, 53%);--color-primary-hover: hsl(221, 83%, 45%);--shadow-1: 0 1px 2px rgba(0,0,0,.04), 0 2px 4px rgba(0,0,0,.02);--shadow-2: 0 2px 4px rgba(0,0,0,.06), 0 6px 12px rgba(0,0,0,.04);--shadow-inset: inset 0 2px 4px rgba(0,0,0,.02);font-family:Inter,system-ui,-apple-system,sans-serif;--font-sans: "Inter", sans-serif;--font-xs: .75rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,p,input,button{margin:0;padding:0;font-family:var(--font-sans)}body{background-color:var(--bg-app);color:var(--text-primary);line-height:1.5}fieldset{padding:0}.app{min-height:100vh;padding:var(--space-8) var(--space-4);display:flex;justify-content:center}.main-content{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:var(--space-8)}.page-header{margin-bottom:var(--space-2)}.page-title{font-size:var(--font-3xl);font-weight:700;letter-spacing:-.02em}.page-subtitle{color:var(--text-secondary);font-size:var(--font-md)}.dashboard-grid{display:grid;gap:var(--space-8)}.card{background:var(--bg-card);border-radius:12px;padding:var(--space-6);box-shadow:var(--shadow-1);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-4)}.card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.card__title-small{font-size:var(--font-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:var(--space-2)}.planner-grid,.planner{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}.planner__subtitle{font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-4);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:9999px;font-size:var(--font-xs);font-weight:600;line-height:1}.badge--success{background-color:var(--color-success-bg);color:var(--color-success-text)}.badge--error{background-color:var(--color-danger-bg);color:var(--color-danger-text)}.data-group{border:none;display:flex;flex-direction:column;gap:var(--space-1)}.data-group__label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}.data-group__input-wrap{position:relative;display:flex;align-items:center}.data-group__icon{position:absolute;left:var(--space-3);color:var(--text-tertiary);width:18px;height:18px;pointer-events:none}.data-group__input{width:100%;padding:var(--space-3);padding-left:calc(var(--space-8) + 4px);border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-card);font-size:var(--font-lg);font-weight:600;color:var(--text-primary);box-shadow:var(--shadow-inset);transition:all .2s ease}.data-group__input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d0defb}.data-group__input--small{font-size:var(--font-md);padding-left:var(--space-3);font-weight:500}.data-group--horizontal{flex-direction:row;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-top:1px solid var(--border-color)}.data-group--highlight{background-color:var(--bg-app);padding:var(--space-3);border-radius:8px;border-top:none}.data-group--highlight .data-group__label{color:var(--text-primary);font-weight:600}.data-group__value{font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.data-group__value-large{font-size:var(--font-2xl);font-weight:700;letter-spacing:-.02em}.dynamic-list{display:flex;flex-direction:column;gap:var(--space-3)}.dynamic-item{display:flex;gap:var(--space-2);align-items:center}.dynamic-item__main{flex:1}.dynamic-item__val{width:140px}.btn-remove{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-remove:hover{background-color:var(--color-danger-bg);color:var(--color-danger-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:8px;font-weight:600;font-size:var(--font-sm);cursor:pointer;transition:all .2s ease;border:none}.btn--ghost{background:transparent;color:var(--color-primary);border:1px dashed var(--color-primary)}.btn--ghost:hover{background:#ecf2fd}.btn__icon{width:18px;height:18px}.ml-2{margin-left:var(--space-2)}.ml-4{margin-left:var(--space-4)}.mr-2{margin-right:var(--space-2)}.mr-4{margin-right:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.status-primary{color:var(--color-primary)!important}.status-success{color:var(--color-success)!important}.status-error{color:var(--color-danger)!important}.reports{margin-top:var(--space-4)}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.chart-box{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.chart-box__title{align-self:flex-start;font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.donut-chart{width:160px;height:160px;border-radius:50%;background:conic-gradient(var(--border-color) 0deg,var(--border-color) 360deg);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-1)}.donut-chart:after{content:"";position:absolute;width:100px;height:100px;background-color:var(--bg-card);border-radius:50%;box-shadow:var(--shadow-inset)}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;width:100%}.legend-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-xs);color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%}.bar-chart-container{width:100%;margin-top:var(--space-6)}.bar-track{width:100%;height:12px;background-color:var(--border-color);border-radius:6px;position:relative;box-shadow:var(--shadow-inset)}.bar-fill{height:100%;border-radius:6px;background-color:var(--color-success);transition:width .4s ease,background-color .4s ease}.bar-fill--error{background-color:var(--color-danger)}.bar-threshold{position:absolute;top:-4px;bottom:-4px;width:2px;background-color:var(--text-primary);transform:translate(-50%);z-index:2}.bar-label{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:var(--font-xs);font-weight:600;color:var(--text-primary)}.bar-stats{margin-top:var(--space-2);font-size:var(--font-sm);color:var(--text-secondary);text-align:right}.bar-stats span{font-weight:700;color:var(--text-primary)}.split-layout{display:flex;min-height:100vh;padding:0;margin:0;background-color:var(--bg-card)}.split-layout__left{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.split-layout__right{flex:1;display:none;background-color:var(--color-primary);padding:var(--space-4)}@media(min-width:768px){.split-layout__right{display:flex}}@media(max-width:768px){.align-sm-baseline{align-items:baseline!important}.flex-direction-sm-col{flex-direction:column}}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column}.auth-card__brand{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-xl);font-weight:700;margin-bottom:var(--space-12);color:var(--text-primary)}.auth-card__header{margin-bottom:var(--space-8)}.auth-card__form{display:flex;flex-direction:column}.auth-card__options{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm)}.checkbox-group{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-secondary)}.auth-card__link{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-card__link:hover{text-decoration:underline}.auth-card__divider{position:relative;text-align:center;margin:var(--space-6) 0;color:var(--text-tertiary);font-size:var(--font-sm)}.auth-card__divider:before,.auth-card__divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.auth-card__divider:before{left:0}.auth-card__divider:after{right:0}.auth-card__footer{margin-top:var(--space-12);font-size:var(--font-xs);color:var(--text-tertiary);text-align:center}.btn--full{width:100%}.btn--primary{background-color:var(--color-primary);color:var(--bg-card)}.btn--primary:hover{background-color:var(--color-primary-hover)}.btn--outline{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn--outline:hover{background-color:var(--border-color)}.split-banner{flex:1;background:linear-gradient(135deg,#1450d2,#0d358c);border-radius:24px;padding:var(--space-12);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.split-banner__content{color:var(--bg-card);max-width:80%;z-index:2}.split-banner__title{font-size:var(--font-3xl);font-weight:700;line-height:1.1;margin-bottom:var(--space-4)}.split-banner__text{font-size:var(--font-lg);opacity:.9}.split-banner__art{display:flex;justify-content:flex-end;position:absolute;right:-40px;bottom:-40px}.mockup-card{width:320px;height:400px;background:var(--bg-card);border-radius:24px 0 0;box-shadow:-20px -20px 60px #00000026;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transform:rotate(-5deg)}.mockup-line{height:12px;background:var(--border-color);border-radius:6px}.w-50{width:50%}.w-80{width:80%}.w-40{width:40%}.mockup-chart{margin-top:var(--space-4);flex:1;border-radius:12px;background:var(--color-success-bg)}.d-flex{display:flex}.justify-between{justify-content:space-between}.align-center{align-items:center}.flex-direction-col{flex-direction:column}.gap-4{gap:var(--space-4)}.flex-1{flex:1}.card-link{text-decoration:none;color:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.card-link:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--color-primary)}.card__title-large{font-size:var(--font-xl);font-weight:700;color:var(--text-primary)}.card-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:transparent;border:2px dashed var(--border-color);color:var(--text-secondary);font-weight:600;font-size:var(--font-md);cursor:pointer;transition:all .2s ease}.card-add:hover{border-color:var(--color-primary);color:var(--color-primary);background:#f6f8fe}.card-add__icon{width:32px;height:32px}.modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay--active{opacity:1;pointer-events:auto}.modal-dialog{background:var(--bg-card);width:100%;max-width:480px;border-radius:16px;padding:var(--space-6);box-shadow:var(--shadow-2);transform:translateY(20px);transition:transform .3s ease}.modal-overlay--active .modal-dialog{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.btn-close{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1)}.btn-close:hover{color:var(--text-primary)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0}.topbar--bordered{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-4);margin-bottom:var(--space-8)}.topbar__user{display:flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--text-primary);font-size:var(--font-md)}.topbar__actions{display:flex;align-items:center}
