html{--lumo-primary-color: hsl(215, 70%, 45%);--lumo-primary-text-color: hsl(215, 70%, 45%);--lumo-primary-color-50pct: hsla(215, 70%, 45%, .5);--lumo-primary-color-10pct: hsla(215, 70%, 45%, .1);--lumo-border-radius-m: 8px;--lumo-border-radius-l: 12px;--lumo-box-shadow-s: 0 2px 8px rgba(0, 0, 0, .08);--lumo-box-shadow-xs: 0 1px 4px rgba(0, 0, 0, .06)}vaadin-app-layout::part(navbar){min-height:56px;background:var(--lumo-base-color);border-bottom:1px solid var(--lumo-contrast-10pct);box-shadow:0 1px 3px #0000000a}vaadin-app-layout::part(drawer){background:var(--lumo-base-color);border-right:1px solid var(--lumo-contrast-5pct);padding-top:var(--lumo-space-s)}vaadin-grid{border-radius:var(--lumo-border-radius-l);border:1px solid var(--lumo-contrast-10pct);box-shadow:var(--lumo-box-shadow-xs)}vaadin-grid::part(header-cell){background:var(--lumo-contrast-5pct);font-weight:600;font-size:var(--lumo-font-size-s);text-transform:uppercase;letter-spacing:.5px;color:var(--lumo-secondary-text-color)}vaadin-grid::part(body-cell){border-bottom:1px solid var(--lumo-contrast-5pct)}vaadin-login-form{width:100%}vaadin-dialog-overlay::part(overlay){border-radius:var(--lumo-border-radius-l)}.page-header{margin-top:0;margin-bottom:var(--lumo-space-m);font-weight:700;color:var(--lumo-header-text-color)}.section-card{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);background:var(--lumo-base-color);box-shadow:var(--lumo-box-shadow-xs);transition:box-shadow .2s}.section-card:hover{box-shadow:var(--lumo-box-shadow-s)}.section-card h3{margin-top:0;color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-l)}.grid-page{width:100%;height:100%;padding:0}.grid-page vaadin-grid{border-radius:0;border-left:none;border-right:none;border-bottom:none;box-shadow:none}.grid-toolbar{padding:var(--lumo-space-xs) var(--lumo-space-m);background:var(--lumo-contrast-5pct);border-bottom:1px solid var(--lumo-contrast-10pct)}.grid-toolbar vaadin-button{border-radius:20px;font-weight:600;letter-spacing:.3px;box-shadow:var(--lumo-box-shadow-xs);transition:transform .15s,box-shadow .15s}.grid-toolbar vaadin-button:hover{transform:translateY(-1px);box-shadow:var(--lumo-box-shadow-s)}.nav-header{min-height:56px;padding:0 var(--lumo-space-l)}.app-logo{font-weight:700;letter-spacing:-.5px;color:var(--lumo-primary-color)}.stat-card{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);background:var(--lumo-base-color);min-width:150px;box-shadow:var(--lumo-box-shadow-xs);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--lumo-box-shadow-s)}.stat-number{margin:0;color:var(--lumo-primary-color);font-size:var(--lumo-font-size-xxl);font-weight:800}.stat-label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.landing-nav{border-bottom:1px solid var(--lumo-contrast-10pct);padding:var(--lumo-space-s) var(--lumo-space-l);background:var(--lumo-base-color)}.hero-section{padding:var(--lumo-space-xl) var(--lumo-space-l);min-height:400px;background:linear-gradient(135deg,var(--lumo-base-color) 0%,var(--lumo-contrast-5pct) 100%)}.hero-title{font-size:3em;margin-bottom:0;font-weight:800;letter-spacing:-1px;color:var(--lumo-header-text-color)}.hero-subtitle{font-weight:300;color:var(--lumo-secondary-text-color);margin-top:var(--lumo-space-xs)}.hero-description{max-width:600px;text-align:center;font-size:var(--lumo-font-size-l);line-height:var(--lumo-line-height-m);color:var(--lumo-body-text-color)}.hero-cta{margin-top:var(--lumo-space-m)}.features-section{background:var(--lumo-contrast-5pct);padding:var(--lumo-space-xl) var(--lumo-space-l)}.feature-card{text-align:center;max-width:260px;min-width:220px;padding:var(--lumo-space-l);background:var(--lumo-base-color);border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-s);transition:transform .2s,box-shadow .2s;flex:1 1 220px}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.feature-card h3{margin:var(--lumo-space-s) 0;font-size:var(--lumo-font-size-m)}.feature-card p{color:var(--lumo-secondary-text-color);margin:0;font-size:var(--lumo-font-size-s)}.feature-icon{color:var(--lumo-primary-color);padding:var(--lumo-space-s);background:var(--lumo-primary-color-10pct);border-radius:50%}.stats-section{gap:var(--lumo-space-l);padding:var(--lumo-space-xl);justify-content:center}.landing-footer{border-top:1px solid var(--lumo-contrast-10pct);padding:var(--lumo-space-l);justify-content:center;margin-top:auto}.landing-footer span{color:var(--lumo-tertiary-text-color);font-size:var(--lumo-font-size-s)}.login-view{background:linear-gradient(135deg,var(--lumo-contrast-5pct) 0%,var(--lumo-base-color) 100%)}.login-card{background:var(--lumo-base-color);border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-s);padding:var(--lumo-space-xl);max-width:400px;width:100%}.login-logo{margin:0;color:var(--lumo-primary-color);font-weight:800;letter-spacing:-.5px}.login-subtitle{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-m)}.dashboard-view{max-width:1200px;margin:0 auto}.role-badge{display:inline-block;padding:var(--lumo-space-xs) var(--lumo-space-s);border-radius:var(--lumo-border-radius-m);background:var(--lumo-primary-color-10pct);color:var(--lumo-primary-color);font-size:var(--lumo-font-size-s);font-weight:600;margin-bottom:var(--lumo-space-m)}.stats-row{gap:var(--lumo-space-m);justify-content:stretch;width:100%}.stats-row>*{flex:1 1 0}.start-exam-btn{font-size:var(--lumo-font-size-l);padding:var(--lumo-space-s) var(--lumo-space-xl);margin-bottom:var(--lumo-space-m)}.exam-view{max-width:900px;margin:0 auto}.exam-progress{margin-bottom:var(--lumo-space-m);gap:var(--lumo-space-m)}.progress-label{white-space:nowrap;font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);font-weight:600;min-width:60px;text-align:right}.question-card{border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);background:var(--lumo-base-color);box-shadow:var(--lumo-box-shadow-xs);padding:var(--lumo-space-l);max-width:800px}.question-card h3{color:var(--lumo-header-text-color);line-height:var(--lumo-line-height-m)}.exam-result-card{text-align:center;padding:var(--lumo-space-xl)}.score-display{font-size:3em;font-weight:800;color:var(--lumo-primary-color)}.result-passed{color:var(--lumo-success-color)}.result-failed{color:var(--lumo-error-color)}
