.landing-page{min-height:100vh;background:var(--background);overflow-x:hidden}.hero{background:linear-gradient(135deg,#0b8f3c,#063919,#0b120e);color:#fff;padding:80px 28px 100px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(73,209,125,.15),transparent 60%),radial-gradient(circle at 80% 20%,rgba(73,209,125,.08),transparent 50%)}.hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.hero-badge{display:inline-block;padding:6px 18px;border-radius:20px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero h1{font-size:clamp(36px,6vw,60px);font-weight:800;line-height:1.1;margin-bottom:20px;letter-spacing:-.02em}.hero h1 span{background:linear-gradient(135deg,#49d17d,#b5ddbf);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero p{font-size:18px;opacity:.85;max-width:560px;margin:0 auto 32px;line-height:1.6}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero-btn{padding:14px 32px;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.hero-btn-primary{background:#49d17d;color:#042411;box-shadow:0 4px 20px #49d17d4d}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px #49d17d66}.hero-btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}.hero-btn-outline:hover{background:#ffffff14;border-color:#ffffff80}.hero-cards{display:flex;gap:20px;justify-content:center;margin-top:60px;flex-wrap:wrap}.hero-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:200px;text-align:left;transition:transform .3s}.hero-card:hover{transform:translateY(-4px)}.hero-card .hc-icon{font-size:28px;margin-bottom:12px}.hero-card .hc-val{font-size:28px;font-weight:800}.hero-card .hc-lbl{font-size:12px;opacity:.7;margin-top:4px}.section{padding:80px 28px;max-width:1100px;margin:0 auto}.section-header{text-align:center;margin-bottom:56px}.section-header .sh-tag{display:inline-block;padding:4px 14px;border-radius:12px;background:var(--green-soft);color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.section-header h2{font-size:clamp(28px,4vw,40px);font-weight:800;margin-bottom:12px;color:var(--on-surface)}.section-header p{font-size:16px;color:var(--muted-text);max-width:500px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.feature-card{background:var(--surface);border:1px solid var(--soft-border);border-radius:18px;padding:28px;transition:all .2s;position:relative;overflow:hidden}.feature-card:hover{border-color:var(--primary);box-shadow:0 8px 30px var(--shadow);transform:translateY(-2px)}.feature-card .fc-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}.feature-card .fc-icon.green{background:var(--green-soft)}.feature-card .fc-icon.blue{background:#e8f0fe}.feature-card .fc-icon.purple{background:#f3e8ff}.feature-card .fc-icon.orange{background:#fff3e0}.feature-card .fc-icon.pink{background:#fce4ec}.feature-card .fc-icon.teal{background:#e0f2f1}.feature-card h3{font-size:17px;font-weight:700;margin-bottom:8px}.feature-card p{font-size:13px;color:var(--muted-text);line-height:1.6}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.step-card{text-align:center;padding:24px}.step-num{width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin:0 auto 16px;box-shadow:0 4px 16px #0b8f3c4d}.step-card h3{font-size:16px;font-weight:700;margin-bottom:8px}.step-card p{font-size:13px;color:var(--muted-text);line-height:1.6}.cta-section{background:linear-gradient(135deg,#0b8f3c,#063919);color:#fff;text-align:center;padding:80px 28px}.cta-section h2{font-size:clamp(28px,4vw,40px);font-weight:800;margin-bottom:16px}.cta-section p{font-size:16px;opacity:.85;max-width:500px;margin:0 auto 32px}.footer{background:var(--surface);border-top:1px solid var(--soft-border);padding:40px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;max-width:1100px;margin:0 auto}.footer-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px}.footer-logo .fl-icon{width:32px;height:32px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center}.footer-logo .fl-icon svg{width:18px;height:18px;fill:var(--on-primary)}.footer-logo-img{height:36px;width:auto}.footer-links{display:flex;gap:24px;font-size:13px}.footer-links a{color:var(--muted-text);text-decoration:none}.footer-links a:hover{color:var(--primary)}.footer-copy{font-size:12px;color:var(--subtle-text)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-1{animation:float 4s ease-in-out infinite}.float-2{animation:float 5s ease-in-out 1s infinite}.float-3{animation:float 4.5s ease-in-out 2s infinite}@media(max-width:768px){.hero{padding:60px 20px 80px}.hero-cards{flex-direction:column;align-items:center}.hero-card{width:100%;max-width:280px}.section{padding:60px 20px}}:root{--primary:#0B8F3C;--on-primary:#fff;--primary-container:#DDF4E5;--on-primary-container:#063919;--secondary:#5FAF77;--secondary-container:#E3F3E8;--surface:#fff;--on-surface:#16201A;--surface-variant:#E3EDE7;--on-surface-variant:#57635A;--background:#F4F7FB;--on-background:#16201A;--outline:#7A887E;--outline-variant:#D7E2DB;--error:#C21414;--shadow:rgba(0,0,0,.06);--shadow-lg:rgba(0,0,0,.1);--muted-text:rgba(22,32,26,.62);--subtle-text:rgba(22,32,26,.52);--soft-border:rgba(215,226,219,.72);--soft-surface:#F7FCF8;--inset-surface:#FAFCFA;--green-soft:#EAF8EF;--sidebar-width:240px;--topbar-height:64px;--card-radius:16px;--btn-radius:12px;--input-radius:12px}[data-theme=dark]{--primary:#49D17D;--on-primary:#042411;--primary-container:#123C24;--on-primary-container:#D6F8DF;--secondary:#B5DDBF;--secondary-container:#2C4A34;--surface:#131E17;--on-surface:#E8F2EA;--surface-variant:#243229;--on-surface-variant:#B8C9BD;--background:#0B120E;--on-background:#E8F2EA;--outline:#7A8B80;--outline-variant:#2C3A31;--error:#FFB4AB;--shadow:rgba(0,0,0,.25);--shadow-lg:rgba(0,0,0,.35);--muted-text:rgba(232,242,234,.72);--subtle-text:rgba(232,242,234,.58);--soft-border:rgba(44,58,49,.48);--soft-surface:#18241C;--inset-surface:#0F1913;--green-soft:#102217}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Montserrat,-apple-system,sans-serif;background:var(--background);color:var(--on-surface);min-height:100vh;-webkit-font-smoothing:antialiased}h1{font-size:24px;font-weight:800}h2{font-size:20px;font-weight:700}h3{font-size:17px;font-weight:700}p,span,div{font-size:14px;line-height:1.5}.muted{color:var(--muted-text)}.subtle{color:var(--subtle-text)}.error-text{color:var(--error);font-size:12px;margin-top:4px}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--soft-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;overflow-y:auto}.sidebar-logo{padding:20px 20px 12px;display:flex;align-items:center;gap:10px}.sidebar-logo .logo-icon{width:38px;height:38px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center}.sidebar-logo .logo-icon svg{width:22px;height:22px;fill:var(--on-primary)}.sidebar-logo .logo-text{font-size:18px;font-weight:800;color:var(--on-surface)}.sidebar-logo-img{height:40px;width:auto}.sidebar-nav{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.sidebar-section{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--subtle-text);padding:16px 12px 6px;letter-spacing:.05em}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;color:var(--on-surface-variant);border:none;background:none;font-family:inherit;width:100%;text-align:left;transition:all .15s;text-decoration:none}.sidebar-link:hover{background:var(--soft-surface);color:var(--on-surface)}.sidebar-link.active{background:var(--primary-container);color:var(--primary);font-weight:600}.sidebar-link .sl-icon{font-size:18px;width:22px;text-align:center}.sidebar-footer{padding:12px;border-top:1px solid var(--soft-border)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer}.sidebar-user:hover{background:var(--soft-surface)}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-container);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.sidebar-user-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:11px;color:var(--muted-text)}.top-header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--topbar-height);background:var(--background);display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:40;border-bottom:1px solid var(--soft-border)}.top-header .breadcrumb{font-size:14px;color:var(--muted-text)}.top-header .breadcrumb span{color:var(--on-surface);font-weight:600}.header-logo-img{height:28px;width:auto;vertical-align:middle;margin-right:2px}.header-actions{display:flex;align-items:center;gap:12px}.header-icon-btn{width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--soft-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;color:var(--on-surface-variant);transition:all .15s}.header-icon-btn:hover{background:var(--soft-surface);color:var(--on-surface)}.main-content{margin-left:var(--sidebar-width);margin-top:var(--topbar-height);flex:1;min-height:calc(100vh - var(--topbar-height));padding:28px}.auth-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:24px}.auth-card{background:var(--surface);border-radius:var(--card-radius);padding:36px 28px;box-shadow:0 4px 24px var(--shadow-lg);width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:24px}.auth-logo .icon{width:56px;height:56px;background:var(--primary);border-radius:14px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}.auth-logo .icon svg{width:32px;height:32px;fill:var(--on-primary)}.auth-logo-img{height:48px;width:auto;margin-bottom:8px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--on-surface-variant);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--outline-variant);border-radius:var(--input-radius);font-size:14px;font-family:inherit;background:var(--surface);color:var(--on-surface);transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);border-width:1.4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:none;border-radius:var(--btn-radius);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 2px 8px #0b8f3c40}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--outline)}.btn-outline:hover{background:var(--primary-container)}.btn-block{width:100%}.btn-sm{padding:6px 12px;font-size:12px}.btn-danger{background:var(--error);color:#fff}.card{background:var(--surface);border-radius:var(--card-radius);padding:20px;box-shadow:0 2px 8px var(--shadow);border:1px solid var(--soft-border)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header h3{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border-radius:var(--card-radius);padding:20px;box-shadow:0 2px 8px var(--shadow);border:1px solid var(--soft-border);display:flex;flex-direction:column}.stat-card .stat-icon{font-size:24px;margin-bottom:8px;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-card .stat-icon.green{background:var(--green-soft)}.stat-card .stat-icon.blue{background:#e8f0fe}.stat-card .stat-icon.orange{background:#fff3e0}.stat-card .stat-icon.purple{background:#f3e8ff}.stat-card .stat-value{font-size:28px;font-weight:800;color:var(--on-surface)}.stat-card .stat-label{font-size:13px;color:var(--muted-text);margin-top:4px}.stat-card .stat-change{font-size:12px;margin-top:4px}.stat-card .stat-change.up{color:var(--primary)}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.task-list{display:flex;flex-direction:column;gap:8px}.task-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border-radius:12px;border:1px solid var(--soft-border);cursor:pointer;transition:all .15s}.task-row:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--shadow)}.task-row .task-status{width:10px;height:10px;border-radius:50%;flex-shrink:0}.task-row .task-status.todo{background:#f59e0b}.task-row .task-status.in_progress{background:#4a6cf7}.task-row .task-status.completed{background:var(--primary)}.task-row .task-info{flex:1;min-width:0}.task-row .task-title{font-weight:600;font-size:14px}.task-row .task-meta{font-size:12px;color:var(--muted-text);margin-top:2px}.task-row .task-date{font-size:12px;color:var(--subtle-text);white-space:nowrap}.segmented-tabs{display:flex;background:var(--surface-variant);border-radius:12px;padding:4px;width:fit-content;margin-bottom:16px}.segmented-tabs button{padding:8px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;color:var(--on-surface-variant);transition:all .2s;border:none;background:none;font-family:inherit}.segmented-tabs button.active{background:var(--surface);color:var(--on-surface);box-shadow:0 1px 3px var(--shadow)}.progress-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border-radius:12px;border:1px solid var(--soft-border);margin-bottom:8px}.progress-item .p-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.progress-item .p-icon.green{background:var(--green-soft);color:var(--primary)}.progress-item .p-icon.blue{background:#e8f0fe;color:#4a6cf7}.progress-item .p-icon.orange{background:#fff3e0;color:#f59e0b}.progress-item .p-info{flex:1}.progress-item .p-title{font-weight:600;font-size:14px}.progress-item .p-sub{font-size:12px;color:var(--muted-text)}.progress-item .p-pct{font-size:14px;font-weight:700;color:var(--primary)}.stage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.stage-card{display:flex;align-items:center;gap:14px;padding:18px;background:var(--surface);border-radius:var(--card-radius);border:1px solid var(--soft-border);cursor:pointer;transition:all .15s}.stage-card:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--shadow)}.stage-card .s-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--green-soft)}.stage-card .s-info{flex:1}.stage-card .s-name{font-weight:700;font-size:15px}.stage-card .s-desc{font-size:12px;color:var(--muted-text)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:12px 14px;color:var(--on-surface-variant);font-weight:600;font-size:12px;border-bottom:2px solid var(--soft-border);background:var(--soft-surface)}.data-table td{padding:12px 14px;border-bottom:1px solid var(--soft-border)}.data-table tbody tr:hover{background:var(--soft-surface)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.todo{background:#fff3e0;color:#e65100}.status-badge.in_progress{background:#e3f2fd;color:#1565c0}.status-badge.completed{background:var(--green-soft);color:var(--primary)}.status-badge .status-dot{width:7px;height:7px;border-radius:50%}.status-badge.todo .status-dot{background:#e65100}.status-badge.in_progress .status-dot{background:#1565c0}.status-badge.completed .status-dot{background:var(--primary)}.priority-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase}.priority-badge.high{background:#ffebee;color:#c62828}.priority-badge.medium{background:#fff8e1;color:#f57f17}.priority-badge.low{background:var(--surface-variant);color:var(--on-surface-variant)}.quick-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.quick-action{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--surface);border:1px solid var(--soft-border);border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--on-surface);transition:all .15s;font-family:inherit}.quick-action:hover{border-color:var(--primary);background:var(--primary-container);color:var(--primary)}.page-tabs{display:flex;gap:4px;margin-bottom:28px;background:var(--surface-variant);border-radius:14px;padding:5px;width:fit-content;flex-wrap:wrap}.page-tab{padding:10px 20px;border-radius:11px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--on-surface-variant);font-family:inherit;transition:all .18s;white-space:nowrap}.page-tab:hover{color:var(--on-surface)}.page-tab.active{background:var(--surface);color:var(--on-surface);box-shadow:0 1px 4px var(--shadow)}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.lesson-card{background:var(--surface);border-radius:var(--card-radius);border:1px solid var(--soft-border);padding:20px;transition:all .2s;cursor:pointer}.lesson-card:hover{border-color:var(--primary);box-shadow:0 4px 16px var(--shadow);transform:translateY(-2px)}.lesson-card .lesson-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.lesson-card .lesson-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.lesson-card .lesson-mode{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.lesson-card .lesson-meta{font-size:12px;color:var(--muted-text)}.lesson-card h4{margin:4px 0}.empty-state{text-align:center;padding:48px 16px;color:var(--muted-text)}.empty-state .empty-icon{font-size:48px;margin-bottom:12px}.empty-state h3{margin-bottom:8px;color:var(--on-surface)}.spinner{width:28px;height:28px;border:3px solid var(--surface-variant);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);background:var(--on-surface);color:var(--surface);padding:12px 28px;border-radius:12px;font-weight:600;z-index:300;font-size:13px;animation:slideDown .3s ease;box-shadow:0 4px 16px #0003}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background:var(--surface);border-radius:var(--card-radius);padding:28px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 12px 48px #00000040}.modal-title{font-size:18px;font-weight:700;margin-bottom:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--soft-border)}.setting-label{font-weight:500;font-size:14px}.toggle{width:48px;height:28px;border-radius:14px;background:var(--outline-variant);cursor:pointer;position:relative;transition:background .2s;border:none}.toggle.on{background:var(--primary)}.toggle:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}.toggle.on:after{transform:translate(20px)}.trainee-list{display:flex;flex-direction:column;gap:8px}.trainee-card{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--surface);border-radius:12px;border:1px solid var(--soft-border)}.trainee-avatar{width:42px;height:42px;border-radius:50%;background:var(--primary-container);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary);font-size:16px}.trainee-info{flex:1}.trainee-name{font-weight:600}.trainee-role{font-size:12px;color:var(--muted-text)}.trainee-progress{display:flex;align-items:center;gap:12px}.trainee-pct{font-weight:700;color:var(--primary);font-size:14px}.trainee-bar{width:100px;height:6px;background:var(--surface-variant);border-radius:3px;overflow:hidden}.trainee-bar-fill{height:100%;background:var(--primary);border-radius:3px}.score-bar-wrap{display:flex;align-items:center;gap:10px;margin-top:4px}.score-bar{flex:1;height:8px;background:var(--surface-variant);border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px}.score-bar-fill.high{background:var(--primary)}.score-bar-fill.medium{background:#f59e0b}.score-bar-fill.low{background:var(--error)}.score-value{font-size:13px;font-weight:600;min-width:45px;text-align:right}.assessment-status{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.assessment-status.completed{background:var(--green-soft);color:var(--primary)}.assessment-status.in_progress{background:#e3f2fd;color:#1565c0}.assessment-status.pending{background:#fff3e0;color:#e65100}.status-actions{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.status-btn{padding:6px 14px;border:1px solid var(--soft-border);border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;background:var(--surface);color:var(--on-surface);font-family:inherit;transition:all .15s}.status-btn:hover{border-color:var(--primary)}.status-btn.active-todo{background:#fff3e0;border-color:#e65100;color:#e65100}.status-btn.active-in_progress{background:#e3f2fd;border-color:#1565c0;color:#1565c0}.status-btn.active-completed{background:var(--green-soft);border-color:var(--primary);color:var(--primary)}.task-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.task-detail-grid .detail-label{font-size:11px;text-transform:uppercase;color:var(--on-surface-variant);font-weight:600;letter-spacing:.04em;margin-bottom:4px}.task-detail-grid .detail-value{font-size:14px}.task-table{width:100%;border-collapse:collapse;font-size:13px}.task-table th,.task-table td{padding:12px 14px;text-align:left}.task-table thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--on-surface-variant);border-bottom:2px solid var(--soft-border);background:var(--soft-surface);position:sticky;top:0}.task-table tbody tr{border-bottom:1px solid var(--soft-border);cursor:pointer}.task-table tbody tr:hover{background:var(--soft-surface)}.task-filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.task-search{padding:8px 14px;border:1px solid var(--soft-border);border-radius:var(--input-radius);font-size:13px;font-family:inherit;background:var(--surface);color:var(--on-surface);width:220px}.task-search:focus{outline:none;border-color:var(--primary)}.pot-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:22px;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;border:2px solid var(--soft-border);background:var(--surface);color:var(--on-surface-variant);transition:all .18s;-webkit-user-select:none;user-select:none}.pot-toggle:hover{border-color:var(--outline)}.pot-toggle.pass{background:var(--green-soft);border-color:var(--primary);color:var(--primary)}.pot-toggle.fail{background:#fff3e0;border-color:#e65100;color:#e65100}.pot-counter{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:14px;font-size:11px;font-weight:700;margin-left:8px}.pot-counter.pass{background:var(--green-soft);color:var(--primary)}.pot-counter.fail{background:#fff3e0;color:#e65100}.criterion-card{margin-bottom:14px;padding:16px;background:var(--surface);border:1px solid var(--soft-border);border-radius:14px}.criterion-card .crit-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.criterion-card .crit-number{width:28px;height:28px;border-radius:50%;background:var(--primary-container);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}.criterion-card .crit-desc{font-size:12px;color:var(--muted-text);margin-bottom:10px;line-height:1.5}.criterion-card .pot-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.entry-card{background:var(--surface);border:1px solid var(--soft-border);border-radius:var(--card-radius);padding:16px;margin-bottom:12px}.entry-card:hover{border-color:var(--outline);box-shadow:0 2px 8px var(--shadow)}.entry-card .entry-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}.entry-card .entry-batch{font-weight:800;font-size:15px}.stage-summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding:14px 18px;background:var(--surface);border:1px solid var(--soft-border);border-radius:14px}.stage-summary .sum-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stage-summary .sum-val{font-weight:800;font-size:20px}.stage-summary .sum-lbl{font-size:11px;color:var(--muted-text);text-transform:uppercase;font-weight:600}@media(max-width:900px){:root{--sidebar-width:0px}.sidebar{transform:translate(-100%);transition:transform .25s ease}.sidebar.open{transform:translate(0);width:260px;min-width:260px}.top-header{left:0;padding:0 16px}.main-content{margin-left:0;padding:16px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.stage-grid{grid-template-columns:1fr}}@media(max-width:500px){.stat-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column}}@media(max-width:800px){.entry-table-wrap .data-table{display:none}.entry-table-wrap .entry-cards{display:block}}@media(min-width:801px){.entry-table-wrap .entry-cards{display:none}}
