:root{--vp-green: #6BC136;--vp-green-dark: #3D7A18;--vp-green-darker: #1E3D0C;--vp-green-light: #EEF8E5;--vp-green-50pct: rgba(107,193,54,.5);--vp-green-10pct: rgba(107,193,54,.1);--vp-blue: #3670C1;--vp-blue-dark: #1E4A8C;--vp-blue-light: #E4EDF9;--vp-blue-10pct: rgba(54,112,193,.12);--vp-amber: #C17D36;--vp-amber-dark: #8C5A1A;--vp-amber-light: #FDF2E5;--vp-amber-10pct: rgba(193,125,54,.12);--vp-text: #1A2E0D;--vp-text-secondary: #4A6437;--vp-surface: #FFFFFF;--vp-surface-tint: #F5FAF1;--vp-border: rgba(61,122,24,.18);--lumo-primary-color: var(--vp-green);--lumo-primary-color-50pct: var(--vp-green-50pct);--lumo-primary-color-10pct: var(--vp-green-10pct);--lumo-primary-text-color: var(--vp-green-dark);--lumo-primary-contrast-color: #ffffff;--lumo-success-color: var(--vp-green);--lumo-success-color-50pct: var(--vp-green-50pct);--lumo-success-color-10pct: var(--vp-green-10pct);--lumo-success-text-color: var(--vp-green-dark);--lumo-success-contrast-color: #ffffff;--lumo-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}vaadin-app-layout::part(navbar){background:var(--vp-green-darker);color:#fff;box-shadow:0 2px 8px #00000040;border-bottom:3px solid var(--vp-green)}vaadin-app-layout::part(navbar) *{color:#fff}vaadin-app-layout::part(drawer){background:var(--vp-surface);border-right:1px solid var(--vp-border)}vaadin-app-layout::part(drawer) img{border-bottom:1px solid var(--vp-border);padding-bottom:var(--lumo-space-s);margin-bottom:var(--lumo-space-xs)}vaadin-side-nav-item::part(item){border-radius:var(--lumo-border-radius-m);color:var(--vp-text);font-weight:500;transition:background .15s,color .15s}vaadin-side-nav-item::part(item):hover{background:var(--vp-green-10pct);color:var(--vp-green-dark)}vaadin-side-nav-item[active]::part(item){background:var(--vp-green-10pct);color:var(--vp-green-dark);font-weight:600;border-left:3px solid var(--vp-green)}.login-view{background:linear-gradient(160deg,var(--vp-green-darker) 0%,#2A5A12 50%,#1A3D0C 100%)}.login-view h1,.login-view h3{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35)}.login-view vaadin-login-form{border-radius:var(--lumo-border-radius-l);box-shadow:0 12px 40px #0000004d;background:#fffffff7}vaadin-button[theme~=primary]{background:var(--vp-green);color:#fff;font-weight:600;border-radius:var(--lumo-border-radius-m);transition:background .15s,box-shadow .15s}vaadin-button[theme~=primary]:hover{background:var(--vp-green-dark);box-shadow:0 2px 8px var(--vp-green-50pct)}vaadin-button[theme~=contrast]{border-color:var(--vp-border);color:var(--vp-text)}vaadin-button[theme~=contrast]:hover{background:var(--vp-surface-tint)}vaadin-grid{border-radius:var(--lumo-border-radius-l);border:1px solid var(--vp-border);box-shadow:0 1px 4px #0000000f}vaadin-grid::part(header-cell){background:var(--vp-surface-tint);color:var(--vp-text);font-weight:600;font-size:var(--lumo-font-size-s);text-transform:uppercase;letter-spacing:.04em}vaadin-grid::part(row):hover vaadin-grid-cell-content{background:var(--vp-green-10pct)}vaadin-grid::part(row selected) vaadin-grid-cell-content{background:var(--vp-green-10pct)}vaadin-text-field::part(input-field),vaadin-number-field::part(input-field),vaadin-email-field::part(input-field),vaadin-text-area::part(input-field),vaadin-date-picker::part(input-field),vaadin-combo-box::part(input-field){border-radius:var(--lumo-border-radius-m);border:1px solid var(--vp-border);background:var(--vp-surface);transition:border-color .15s,box-shadow .15s}vaadin-text-field[focused]::part(input-field),vaadin-number-field[focused]::part(input-field),vaadin-email-field[focused]::part(input-field),vaadin-text-area[focused]::part(input-field),vaadin-date-picker[focused]::part(input-field),vaadin-combo-box[focused]::part(input-field){border-color:var(--vp-green);box-shadow:0 0 0 3px var(--vp-green-10pct)}.stat-card{background:var(--vp-surface);border-radius:var(--lumo-border-radius-l);box-shadow:0 2px 8px #00000014;padding:var(--lumo-space-l);border-left:4px solid var(--vp-green);transition:box-shadow .2s,transform .15s}.stat-card:hover{box-shadow:0 4px 16px #6bc1362e;transform:translateY(-1px)}.stat-card--negative{border-left-color:#c62828}.stat-number{font-size:2.4rem;font-weight:700;color:var(--vp-green-dark);line-height:1}.stat-label{color:var(--vp-text-secondary);font-size:var(--lumo-font-size-s);margin-top:var(--lumo-space-xs);font-weight:500}.badge-active{background:var(--vp-green-10pct);color:var(--vp-green-dark);border:1px solid rgba(107,193,54,.3);border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:600}.badge-inactive{background:#c628281a;color:#b71c1c;border:1px solid rgba(198,40,40,.25);border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:600}.badge-pending{background:var(--vp-amber-10pct);color:var(--vp-amber-dark);border:1px solid rgba(193,125,54,.3);border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:600}.badge-info{background:var(--vp-blue-10pct);color:var(--vp-blue-dark);border:1px solid rgba(54,112,193,.25);border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:600}a{color:var(--vp-blue);text-decoration:none}a:hover{color:var(--vp-blue-dark);text-decoration:underline}vaadin-dialog-overlay::part(overlay){border-radius:var(--lumo-border-radius-l);box-shadow:0 16px 48px #0003}vaadin-tab[selected]{color:var(--vp-green-dark);font-weight:600}vaadin-tabs::part(tabs){border-bottom:2px solid var(--vp-border)}@media (max-width: 600px){.mobile-card-grid{display:flex;flex-direction:column;gap:var(--lumo-space-m)}.mobile-card{background:var(--vp-surface);border-radius:var(--lumo-border-radius-l);padding:var(--lumo-space-m);box-shadow:0 2px 8px #00000014;border-left:3px solid var(--vp-green)}}
