[hidden]{display:none!important}
:root{--bg:#f5f7f4;--paper:#fff;--ink:#17362f;--muted:#6d7d75;--line:#dfe7e0;--green:#187c61;--green-dark:#123c35;--mint:#e5f2e9;--gold:#bb8c36;--danger:#ad453c;--shadow:0 16px 60px #16382a12;font-family:Segoe UI,Arial,sans-serif;font-size:15px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}button{border:0}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin-bottom:10px}h2{font-size:20px;letter-spacing:-.3px}h3{font-size:16px}p{line-height:1.65}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.initial-loading{padding:15vh 30px;text-align:center;color:var(--green)}
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper)}.login-story{background:var(--green-dark);color:#fff;padding:60px 9vw 50px 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;right:-190px;bottom:-260px;width:560px;height:560px;border:1px solid #87b39830;border-radius:50%;box-shadow:0 0 0 70px #87b39808,0 0 0 140px #87b39806;pointer-events:none}.brand{display:flex;gap:11px;align-items:center;font-size:20px;font-weight:700;letter-spacing:.2px}.brand-icon{display:grid;place-items:center;width:38px;height:38px;background:#b9ddb1;color:var(--green-dark);border-radius:11px}.brand-icon svg{width:24px;height:24px}.login-story h1{font-size:48px;line-height:1.17;font-weight:600;letter-spacing:-1.9px;margin-top:64px;max-width:500px}.login-story p{color:#c4d8ce;max-width:410px;font-size:16px}.location-pill{display:inline-flex;gap:9px;align-items:center;padding:10px 14px;border:1px solid #77a18b55;border-radius:24px;font-size:13px;width:fit-content;margin:22px 0 40px}.login-features{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;color:#d7e7de;font-size:13px}.login-features span{display:flex;gap:9px;align-items:center}.login-right{display:flex;align-items:center;justify-content:center;padding:48px}.login-box{width:100%;max-width:380px}.login-box h2{font-size:28px}.login-box .eyebrow{color:var(--green)}.login-box label{margin:24px 0 8px;display:block;font-size:13px;font-weight:600}.login-box input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:9px;background:#fbfcfa}.login-box button{width:100%;margin-top:27px;padding:15px}.login-foot{font-size:12px;border-top:1px solid var(--line);margin-top:32px;padding-top:21px;color:var(--muted);line-height:1.7}.form-error{color:var(--danger);background:#fff1ef;padding:12px;border-radius:7px;font-size:13px;margin-top:15px;display:none}
.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;width:230px;top:0;bottom:0;padding:28px 17px 18px;background:var(--green-dark);color:#d0e2d8;display:flex;flex-direction:column;z-index:10}.sidebar .brand{padding:0 9px;color:white}.sidebar .brand-icon{width:33px;height:33px}.sidebar-caption{font-size:10px;letter-spacing:1.3px;margin:34px 15px 10px;color:#8fb4a3;text-transform:uppercase}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;border-radius:8px;color:#c5d8ce;text-decoration:none;padding:11px 13px;font-size:13px;min-height:42px}.nav-link:hover{background:#ffffff0a;color:#fff}.nav-link.active{background:#d9ebdc;color:#123c35;font-weight:700}.nav-link svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;padding:16px 10px 0}.sidebar-place{font-size:12px;line-height:1.8;color:#a9c7b7;border-top:1px solid #ffffff18;padding-top:18px}.sidebar-place strong{color:#e3eee6;font-weight:600}.main-shell{grid-column:2;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 38px;background:#ffffffbb}.topbar-left{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.topbar-left .dot{width:7px;height:7px;border-radius:50%;background:#5ca984}.topbar-right{display:flex;align-items:center;gap:16px}.avatar{width:33px;height:33px;background:#e7ece5;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--green)}.user-info{display:flex;align-items:center;gap:9px;font-size:12px}.user-info small{display:block;margin-top:2px;font-size:10px;color:var(--muted)}.icon-button{background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;border-radius:6px}.icon-button:hover{background:var(--mint);color:var(--green)}.content{max-width:1510px;margin:auto;padding:34px 38px 55px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.page-head p{font-size:13px;margin:0;color:var(--muted);max-width:780px}.head-actions{display:flex;gap:9px;flex-shrink:0;padding-top:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid transparent;min-height:39px;white-space:nowrap}.btn.primary{background:var(--green);color:white}.btn.primary:hover{background:#0d6a52}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{border-color:#93b6a4;background:#fafdfa}.btn.subtle{background:transparent;color:var(--green)}.btn.danger{background:#fff0ed;border-color:#e8c5c0;color:var(--danger)}.btn.small{padding:7px 10px;min-height:32px;font-size:11px}.btn svg{width:16px;height:16px}.class-switch{display:flex;align-items:center;justify-content:space-between;background:#edf2eb;border:1px solid #d9e3d5;padding:12px 17px;margin-bottom:23px;border-radius:9px;gap:20px;font-size:12px}.class-switch strong{margin-right:10px}.class-switch select{background:white;border:1px solid #d0dccb;padding:7px 12px;border-radius:6px;min-width:185px;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:21px 22px;min-height:134px;position:relative}.stat-icon{position:absolute;right:19px;top:20px;color:#89a597}.stat-label{color:var(--muted);font-size:11px;font-weight:600;line-height:1.5;margin:0 30px 12px 0}.stat-value{font-size:31px;letter-spacing:-1px;font-weight:650;line-height:1.2;white-space:nowrap}.stat-value.compact{font-size:23px;letter-spacing:-.5px}.stat-value small{font-weight:400;letter-spacing:0;color:var(--muted);font-size:12px;margin-left:4px}.stat-note{font-size:10px;color:var(--muted);margin-top:10px;line-height:1.5}.stat.accent{background:#e9f2e7;border-color:#d4e5d0}.stat.accent .stat-value{color:#287449}.grid-two{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin:20px 0}.card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 0}.card-head h2{font-size:16px;margin:0}.card-head p{font-size:11px;color:var(--muted);margin:7px 0 0}.card-body{padding:22px 24px}.card-head .btn{font-size:10px}.check-list{display:grid;gap:20px}.check-item{display:flex;align-items:center;gap:13px}.check-round{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#eef2eb;color:#80947e;font-size:11px;flex-shrink:0}.check-round.done{background:#deeedf;color:#31804f}.check-item strong{display:block;font-size:12px;font-weight:600}.check-item small{color:var(--muted);display:block;margin-top:4px;font-size:10px}.check-item .push{margin-left:auto;color:var(--muted);font-size:11px}.callout{padding:18px 21px;background:#eaf1e7;border:1px solid #d7e4d0;border-radius:9px;font-size:12px;line-height:1.8;margin:20px 0}.callout strong{display:block;font-size:13px;margin-bottom:3px}.callout.warn{background:#fff7e9;border-color:#eedfbe;color:#88672d}.callout.info{background:#edf4f5;border-color:#d5e4e6;color:#496971}.section-label{font-size:11px;color:var(--muted);margin-bottom:16px}.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.search{position:relative;max-width:340px;width:100%}.search input{width:100%;padding:11px 12px 11px 37px;background:white;border:1px solid var(--line);border-radius:8px;font-size:12px}.search svg{position:absolute;top:11px;left:12px;width:16px;height:16px;color:var(--muted)}.count-label{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:21px}.tab{background:transparent;border-bottom:2px solid transparent;padding:12px 0;color:var(--muted);font-size:12px;white-space:nowrap}.tab.active{border-color:var(--green);color:var(--green);font-weight:700}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{background:#f8faf7;border-bottom:1px solid var(--line);padding:13px 17px;color:#748279;font-size:10px;font-weight:600;letter-spacing:.15px}td{padding:15px 17px;border-bottom:1px solid #edf1eb;vertical-align:middle;line-height:1.5;max-width:340px;overflow:hidden;text-overflow:ellipsis}tbody tr:last-child td{border:0}tbody tr:hover{background:#fafcf9}.cell-main{font-weight:600;color:var(--green)}.cell-wrap{white-space:normal;min-width:180px;max-width:270px}.row-actions{display:flex;gap:7px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:600;background:#f0f3ee;color:#6a7d69;white-space:nowrap}.badge.good{background:#e5f2e8;color:#327447}.badge.warm{background:#fcf0d7;color:#9d7928}.badge.red{background:#fae9e4;color:#a75a45}.badge.blue{background:#e5eff2;color:#477283}.empty{padding:62px 30px;text-align:center;max-width:560px;margin:auto}.empty .empty-icon{width:60px;height:60px;background:#eef4eb;color:#74a17e;display:grid;place-items:center;border-radius:17px;margin:0 auto 22px}.empty .empty-icon svg{width:29px;height:29px}.empty h2{font-size:20px;margin-bottom:10px}.empty p{font-size:13px;color:var(--muted);line-height:1.8}.empty-actions{display:flex;gap:9px;justify-content:center;margin-top:23px}.empty td{white-space:normal}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 20px;margin-bottom:23px}.filter{display:flex;flex-direction:column;gap:7px}.filter label{font-size:10px;color:var(--muted);font-weight:600}.filter input,.filter select{padding:9px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;font-size:12px;max-width:210px}.filter .numeric{width:100px}.filter-note{font-size:10px;color:var(--muted);margin-left:auto;max-width:160px;line-height:1.6}.metric-table td:nth-child(2){font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}.metric-table td:last-child{white-space:normal;color:var(--muted);min-width:230px}.time-bar{height:34px;border-radius:6px;display:flex;overflow:hidden;margin-top:15px;background:#edf1eb}.time-segment{min-width:1px;display:flex;justify-content:center;align-items:center;color:white;font-size:10px;font-weight:600}.legend{display:flex;gap:17px;flex-wrap:wrap;margin-top:16px;font-size:10px;color:var(--muted)}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:8px;height:8px;border-radius:2px}.mini-formula{font-size:14px;font-weight:600;color:var(--green);background:#f2f7ef;border-radius:8px;padding:16px;margin:17px 0 0;line-height:1.7}.oee-result{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}.oee-result>div{padding:22px;background:#fff;text-align:center}.oee-result small{display:block;color:var(--muted);font-size:10px;margin-bottom:9px}.oee-result strong{font-size:25px}.oee-result>div:last-child{background:#e7f1e4;color:var(--green)}.period-caption{font-size:11px;color:var(--muted);margin:15px 0}.study-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.study-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}.study-number{width:30px;height:30px;display:grid;place-items:center;background:#e5eee0;color:#507d49;border-radius:8px;font-size:12px;font-weight:700;margin-bottom:18px}.study-card h3{font-size:14px;line-height:1.5}.study-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.source-links{font-size:11px;line-height:2;color:var(--muted);margin-top:24px}.source-links a{margin-right:15px}.page-footer{font-size:10px;color:#8c9a90;display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
dialog{border:1px solid var(--line);border-radius:13px;padding:0;width:min(740px,94vw);max-height:92vh;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#102d2666;backdrop-filter:blur(3px)}.dialog-head{padding:24px 28px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dialog-head h2{font-size:21px;margin:0}.dialog-head p{font-size:11px;color:var(--muted);margin:7px 0 0}.dialog-body{padding:23px 28px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:17px 28px;position:sticky;bottom:0;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:600;color:#556c5e}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #dce5da;border-radius:7px;background:#fff;color:var(--ink);font-size:12px;min-height:40px}.field input:read-only{background:#f2f5ef;color:#63795e}.field textarea{resize:vertical;min-height:80px;line-height:1.7}.field-note{font-size:10px;line-height:1.6;color:var(--muted)}.required{color:#b6813a;margin-left:3px}.material-lines{border:1px solid var(--line);border-radius:8px;padding:11px;display:grid;gap:8px;background:#f9fbf7}.material-row{display:grid;grid-template-columns:minmax(140px,1fr) 82px 115px 25px;gap:7px;align-items:center}.material-row input,.material-row select{padding:8px;min-height:35px;font-size:11px}.material-header{display:grid;grid-template-columns:minmax(140px,1fr) 82px 115px 25px;gap:7px;font-size:9px;color:var(--muted)}.help-content{font-size:13px;line-height:1.85}.help-content h3{margin:22px 0 9px}.help-content ul{padding-left:20px}.help-content li{margin:7px 0}.help-content code{font-family:inherit;color:var(--green);background:#eaf2e6;border-radius:4px;padding:2px 4px}.toasts{position:fixed;bottom:24px;right:24px;z-index:100;display:grid;gap:10px;max-width:420px}.toast{padding:14px 18px;background:#173e31;color:#fff;box-shadow:var(--shadow);border-radius:9px;font-size:12px;line-height:1.6}.toast.error{background:#8a4237}.busy-line{height:3px;background:linear-gradient(90deg,transparent,#5aa77f,transparent);position:fixed;top:0;left:230px;right:0;z-index:100;animation:busy 1s infinite}@keyframes busy{from{opacity:.2}to{opacity:1}}.mobile-menu{display:none}.connection-state{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted)}
@media(min-width:1600px){.content{padding-top:42px}}@media(max-width:1150px){.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.study-list{grid-template-columns:repeat(2,1fr)}.page-head{flex-wrap:wrap}.head-actions{padding:0}.topbar{padding:0 25px}.content{padding:27px 25px 45px}.stat-value{font-size:29px}.filter-note{display:none}}@media(max-width:760px){.login{grid-template-columns:1fr}.login-story{padding:30px}.login-story h1{font-size:34px;margin-top:30px}.login-story p,.login-features{display:none}.location-pill{margin:20px 0 0}.login-right{padding:35px 25px}.shell{grid-template-columns:1fr}.main-shell{grid-column:1}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:30px 0 70px #11382a55}.mobile-menu{display:flex}.topbar{height:65px;padding:0 17px}.topbar-left{font-size:10px;gap:5px}.topbar-right{gap:8px}.user-info small{display:none}.content{padding:24px 17px 38px}h1{font-size:25px}.page-head{gap:15px;margin-bottom:20px}.head-actions{flex-wrap:wrap;gap:6px}.head-actions .btn{padding:9px 11px;font-size:10px}.stats{gap:10px}.stat{padding:17px 16px;min-height:120px}.stat-value{font-size:26px}.stat-value.compact{font-size:20px}.stat-icon{right:13px;top:15px}.stat-note{font-size:9px}.stat-label{font-size:10px}.class-switch{padding:12px;flex-wrap:wrap;gap:8px}.class-switch select{width:100%}.card-head{padding:18px 17px 0}.card-body{padding:19px 17px}.filters{padding:14px;gap:10px}.filter{flex:1;min-width:120px}.filter input,.filter select{max-width:100%;width:100%}.filter.asset-filter{flex-basis:100%}.filter input.numeric{width:100%}.oee-result{grid-template-columns:repeat(2,1fr)}.oee-result strong{font-size:24px}.study-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}.dialog-head{padding:20px}.dialog-body{padding:20px}.dialog-footer{padding:15px 20px}.material-row,.material-header{grid-template-columns:minmax(95px,1fr) 55px 83px 24px}.page-footer{flex-direction:column;gap:6px}.busy-line{left:0}.toasts{left:17px;right:17px;bottom:17px}.table-wrap table{font-size:11px}td,th{padding:12px 14px}.tabs{gap:20px}.data-toolbar{gap:10px}.count-label{font-size:10px}.topbar .optional{display:none}}@media print{.sidebar,.topbar,.head-actions,.class-switch,.data-toolbar,.tabs,.filters,.page-footer,dialog,.toasts,.row-actions{display:none!important}.shell{display:block}.main-shell{display:block}.content{padding:0;max-width:none}.card,.stat{break-inside:avoid;box-shadow:none}.grid-two{display:block}.card{margin-bottom:16px}.table-wrap{overflow:visible}td{white-space:normal}body{background:white}.page-head p{color:#444}}

/* Class workspace additions retain the existing CMMS visual system. */
.sidebar .nav-list{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#648d7c transparent}.sidebar .nav-link{font-size:12px;min-height:36px;padding:9px 11px}.sidebar-bottom{padding-top:9px}.sidebar-place{font-size:10px;line-height:1.5}.workspace-context{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:-4px 0 27px;padding:13px 17px;border:1px solid var(--line);border-radius:10px;background:#fff}.workspace-context label{font-size:11px;font-weight:600;display:flex;align-items:center;gap:9px}.workspace-context select{max-width:270px;min-height:35px;background:#f8faf7;border:1px solid var(--line);border-radius:7px;padding:6px}.context-note{font-size:10px;color:var(--muted);margin-left:auto}.flow-actions{display:flex;flex-wrap:wrap;gap:5px;max-width:330px}.flow-actions .btn{font-size:10px;padding:7px 9px;white-space:nowrap}.sort-button{border:0;background:none;color:inherit;padding:0;font-size:inherit;text-align:left;font-weight:inherit}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin:14px 0 25px;font-size:11px}.pagination .btn{font-size:11px;padding:7px 12px}.tabs{overflow-x:auto;white-space:nowrap}.tabs .btn{flex-shrink:0}.clock-value{font-size:28px;font-weight:600;line-height:1.45;color:var(--green);margin:10px 0 16px}.course-steps{padding-left:20px;margin:0;font-size:13px;line-height:2.3}.detail-data{display:grid;gap:18px}.detail-data strong{font-size:12px;color:var(--green)}.detail-data pre{font:12px/1.7 Segoe UI,Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto;background:#f5f8f3;padding:13px;border-radius:7px;margin:7px 0 0}.dictionary-list details{border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;line-height:1.6}.dictionary-list summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--green)}.dictionary-list details div{padding-top:13px}.dictionary-list p{margin-bottom:9px}.field input[type=checkbox]{width:21px;min-height:21px;align-self:flex-start;accent-color:var(--green)}.tab{flex-shrink:0}
@media(max-width:760px){.workspace-context{gap:10px;padding:12px}.workspace-context label{width:100%;flex-wrap:wrap;gap:6px}.workspace-context select{width:100%;max-width:100%}.context-note{margin:0;font-size:9px}.clock-value{font-size:24px}.pagination{justify-content:center}.sidebar .nav-link{min-height:35px}.class-switch select{min-width:0}.tabs{max-width:100%}.flow-actions{min-width:180px}}@media print{.workspace-context,.pagination,.flow-actions{display:none!important}}
.csv-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:16px 18px;border:1px solid var(--border,#dbe5df);border-radius:12px;background:#fff}
.csv-tools label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;min-width:220px;max-width:100%}
.csv-tools select{min-height:40px;max-width:100%}
.csv-tools p{width:100%;margin:0;color:#536960;font-size:13px}
.csv-guide{margin:18px 0}.csv-guide summary{cursor:pointer;font-weight:600;padding:10px 0}
#csv-source{font:13px/1.6 Consolas,monospace;white-space:pre;overflow:auto}
#csv-result{margin-top:18px}#csv-result table td{white-space:normal;overflow-wrap:anywhere}
#csv-result .callout{margin:14px 0}.csv-guide code{overflow-wrap:anywhere}
@media(max-width:760px){.page-head{flex-direction:column}.head-actions{max-width:100%;flex-wrap:wrap}}
@media(max-width:640px){.csv-tools{align-items:stretch}.csv-tools label,.csv-tools .flow-actions{width:100%}.csv-tools select{width:100%}}
@media print{.csv-tools{display:none!important}}
.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}.practice-assignment .card-head{justify-content:space-between;gap:12px}.practice-assignment .flow-actions{max-width:none}.practice-assignment h2{line-height:1.45}.practice-meta{display:grid;gap:7px;font-size:11px;color:var(--muted);margin:18px 0}.practice-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.practice-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:20px}.practice-toolbar>label{display:flex;flex-direction:column;gap:7px;font-size:12px}.practice-toolbar input[type=search],.practice-toolbar select{border:1px solid var(--line);padding:10px;border-radius:8px;min-height:40px;max-width:100%}.practice-check{display:flex!important;flex-direction:row!important;gap:9px;align-items:center;font-size:12px}.practice-check input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--green)}.practice-table{margin-top:25px}.practice-table small{display:block;color:var(--muted);margin-top:5px}.practice-table table{min-width:1000px}.practice-instructions{padding:14px;background:var(--mint);border-radius:10px;margin-bottom:20px}.practice-instructions summary{font-weight:600;cursor:pointer}.practice-instructions h3{font-size:13px;margin:14px 0 4px}.practice-editor-content{display:grid;gap:20px}.practice-evidence,.practice-kpi,.practice-grading{padding:20px 0;border-top:1px solid var(--line);margin-top:24px}.practice-evidence h3,.practice-submission-content h3,.practice-snapshot-kpi h3,.practice-grading h3{font-size:15px;margin-bottom:10px}.evidence-options{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:10px}.evidence-option{display:flex;align-items:start;gap:10px;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.evidence-option:last-child{border:0}.evidence-option input{margin-top:3px;accent-color:var(--green)}.evidence-option small{display:block;color:var(--muted);margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.evidence-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.evidence-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;background:#e9f2ec;border-radius:7px;font-size:11px;overflow-wrap:anywhere}.evidence-chip button{background:transparent;font-size:19px;color:var(--green)}.practice-kpi .form-grid{margin-top:18px}.practice-integrity{margin-bottom:20px;font-size:12px;color:var(--muted)}.practice-submission-content{margin:20px 0}.practice-snapshot-kpi{margin:22px 0;padding:18px;background:var(--mint);border-radius:10px}.practice-snapshot-kpi>p{font-size:12px;line-height:1.8}.practice-snapshot-kpi .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-snapshot-kpi .stat{min-height:100px}.evidence-snapshot,.practice-inputs{font-size:12px;border:1px solid var(--line);padding:12px;border-radius:8px;margin:9px 0}.evidence-snapshot summary,.practice-inputs summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}.evidence-snapshot dl>div{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:12px;margin:9px 0}.evidence-snapshot dt{color:var(--muted)}.evidence-snapshot dd{margin:0;min-width:0}.evidence-snapshot pre,.practice-snapshot-kpi pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 Segoe UI,Arial,sans-serif;margin:0}.practice-history{max-height:240px;overflow:auto;font-size:11px;line-height:1.8;margin:14px 0}.practice-grading .form-grid{margin-bottom:14px}.save-error{color:var(--danger)!important}#practice-save-status{font-size:12px}#p-comparison td{white-space:pre-wrap;max-width:280px;overflow-wrap:anywhere}
.practice-kpi [hidden],[data-p-search][hidden]{display:none!important}
@media(max-width:760px){.practice-grid{grid-template-columns:1fr}.practice-toolbar{align-items:stretch}.practice-toolbar>label{width:100%}.practice-assignment .card-head{flex-direction:column}.evidence-snapshot dl>div{grid-template-columns:1fr;gap:3px}.practice-snapshot-kpi{padding:12px}.practice-snapshot-kpi .stats{grid-template-columns:1fr 1fr}}

.practice-table .table-wrap{max-height:650px;overflow:auto}.practice-table thead{position:sticky;top:0;z-index:1;background:#f5f8f3}

.practice-storage-path{overflow-wrap:anywhere;word-break:break-word}.practice-local-files h3{margin-top:0}.practice-local-files p{overflow-wrap:anywhere}
