:root{--bg: #f4f7f6;--surface: #ffffff;--surface-soft: #f0f6f4;--text: #15332f;--muted: #4a605b;--primary: #0a6b5a;--primary-hover: #08584a;--primary-soft: #e3f1ed;--border: #d5dfdc;--field: #7d918c;--focus: #0b3d35;--warn: #7a5200;--warn-soft: #fff6e0;--bad: #a12b2b;--bad-soft: #fdecec;--radius: 12px;--nav-height: 68px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:106.25%;line-height:1.55;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1{margin:0 0 .25rem;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.2}h2{margin:0;font-size:1.3rem;line-height:1.3}h3{font-size:1.1rem}button{min-height:3rem;border:2px solid var(--primary);border-radius:10px;padding:.6rem 1.1rem;color:#fff;background:var(--primary);font:inherit;font-weight:700;cursor:pointer}button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button:disabled{cursor:not-allowed;opacity:.6}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;color:#fff;background:var(--focus);border-radius:8px;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.primary-action,.secondary-action,.danger-action{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;border-radius:10px;padding:.6rem 1.1rem;font-weight:700;text-decoration:none}.primary-action{width:fit-content;border:2px solid var(--primary);color:#fff;background:var(--primary)}.primary-action:hover{background:var(--primary-hover)}.secondary-action,button.secondary-action{border:2px solid var(--primary);color:var(--primary);background:var(--surface)}.secondary-action:hover:not(:disabled),button.secondary-action:hover:not(:disabled){color:var(--primary);background:var(--primary-soft)}.danger-action,button.danger-action{border:2px solid var(--bad);color:var(--bad);background:var(--surface)}.danger-action:hover:not(:disabled),button.danger-action:hover:not(:disabled){color:#fff;background:var(--bad);border-color:var(--bad)}.page-shell{width:min(68rem,calc(100% - 2rem));margin:0 auto;padding:2rem 0}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem}.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text);font-size:1.2rem;font-weight:800}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:10px;color:#fff;background:var(--primary);font-size:1rem}.center-card{max-width:40rem;min-height:18rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem}.center-card p,.login-copy p{color:var(--muted);font-size:1.05rem}.login-layout{max-width:36rem}.login-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.login-copy small{color:var(--muted);font-size:.95rem}.app-layout{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem .9rem 1rem;overflow-y:auto;border-right:1px solid var(--border);background:var(--surface)}.sidebar .brand{padding:0 .6rem .5rem}.side-create{width:100%;margin:.25rem 0}.side-group h2{margin:.75rem 0 .25rem;padding:0 .75rem;color:var(--muted);font-size:.9rem;font-weight:700}.side-group ul{margin:0;padding:0;list-style:none}.side-link{position:relative;display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.35rem .75rem;border-radius:10px;color:var(--text);font-weight:600;text-decoration:none}.side-link:hover{background:var(--bg)}.side-link[aria-current=page]{color:var(--primary);font-weight:800;background:var(--primary-soft)}.side-link[aria-current=page]:before{content:"";position:absolute;left:-.9rem;top:.5rem;bottom:.5rem;width:4px;border-radius:0 4px 4px 0;background:var(--primary)}.side-hint{display:block;color:var(--muted);font-size:.85rem;font-weight:500;line-height:1.2}.nav-icon{flex:none;width:1.4rem;height:1.4rem}.side-user{margin-top:auto;min-height:4rem;border-top:1px solid var(--border);border-radius:0 0 10px 10px;padding-top:.75rem}.side-user-text{min-width:0}.side-email{display:block;overflow:hidden;color:var(--muted);font-size:.85rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-weight:800}.app-main{width:100%;max-width:68rem;padding:2rem 2.5rem 3rem}.app-main:focus{outline:none}.page-head{margin-bottom:1.5rem}.page-head p{margin:0;max-width:65ch;color:var(--muted)}.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.shortcut{display:block;height:100%;min-height:6rem;padding:1.1rem;border:2px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);text-decoration:none}.shortcut:hover{border-color:var(--primary)}.shortcut strong{display:block;margin-bottom:.25rem;font-size:1.05rem}.shortcut span{color:var(--muted)}.bottom-nav{display:none}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f1e1b8c}.confirm-box{width:min(28rem,100%);padding:1.5rem;border-radius:var(--radius);background:var(--surface);box-shadow:0 1.25rem 3.75rem #00000040}.confirm-box p{color:var(--muted)}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.timeline-panel{margin-top:1.25rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.timeline-count{color:var(--muted);font-weight:700}.identity-email{color:var(--muted)}.section-label{color:var(--primary);font-size:.95rem;font-weight:800}.timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:1.5rem}.plans-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);gap:2rem;margin-top:1.5rem}.plan-form,.activity-form{display:grid;align-content:start;gap:.9rem;padding:1rem;border-radius:var(--radius);background:var(--surface-soft)}.plan-form h3,.activity-form h3,.questions-heading h3{margin:0}.plan-form label,.activity-form label,.question-editor label,.plan-comparison label{display:grid;gap:.35rem;color:var(--text);font-size:1rem;font-weight:700}.plan-form input,.plan-form select,.plan-form textarea,.activity-form input,.activity-form select,.activity-form textarea,.question-editor input,.question-editor textarea,.plan-comparison input,.plan-comparison textarea{min-width:0;width:100%;min-height:3rem;border:2px solid var(--field);border-radius:10px;padding:.6rem .75rem;color:var(--text);font:inherit;font-weight:400;background:var(--surface)}.plan-form textarea,.activity-form textarea,.plan-comparison textarea,.material-form textarea{min-height:6rem;resize:vertical}.plan-form fieldset,.activity-form fieldset{display:grid;gap:.4rem;border:1px solid var(--border);border-radius:10px}.checkbox-label,.plan-form .checkbox-label{display:flex;align-items:flex-start;gap:.6rem;min-height:3rem;padding:.5rem 0;font-weight:500}input[type=checkbox],input[type=radio]{flex:none;width:1.4rem;height:1.4rem;min-height:0;margin:.1rem 0 0;accent-color:var(--primary)}.resource-list a{color:var(--primary)}.form-message{color:var(--text);font-weight:600}.compact-action{width:fit-content;margin-top:.5rem;padding:.5rem .9rem;font-size:.95rem}.plan-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.plan-comparison article,.plan-comparison form{display:grid;align-content:start;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.plan-comparison h3,.plan-comparison p{margin:0}.activity-filters,.inline-actions,.questions-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.activity-filters{margin-top:1.25rem}.filter-active{color:#fff;background:var(--primary)}.activities-layout{display:grid;grid-template-columns:minmax(17rem,.75fr) minmax(0,1.25fr);gap:2rem;margin-top:1.5rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.questions-heading{justify-content:space-between;margin-top:.5rem}.question-editor{display:grid;gap:.75rem;margin:0;border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}.question-editor legend{padding:0 .35rem;font-weight:800}.alternatives-editor{display:grid;gap:.5rem}.alternatives-editor label{grid-template-columns:auto 1fr;align-items:center}.activity-preview{margin-top:1.5rem;padding:1.25rem;border:2px dashed var(--field);border-radius:var(--radius);background:var(--surface)}.activity-preview h3,.activity-preview p{margin-bottom:.5rem}.activity-preview>ol{display:grid;gap:1rem;margin-bottom:0}.activity-assistant,.publication-status{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--primary-soft)}.activity-assistant h3,.activity-assistant p,.publication-status h3,.publication-status p{margin:0}.assistant-controls{align-items:end}.assistant-result{display:grid;gap:.45rem;padding-top:.75rem;border-top:1px solid var(--border)}.publication-targets{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.publication-targets li{display:grid;gap:.2rem;padding:.7rem;border-radius:10px;background:var(--surface)}.discursive-correction{display:grid;gap:.6rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.discursive-correction p{margin:0}.status-error{color:var(--bad);font-weight:600}.timeline-grid h3{margin:0}.empty-state{color:var(--muted)}.resource-list{display:grid;gap:.75rem;padding:0;list-style:none}.resource-list li{display:grid;gap:.25rem;padding:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.resource-list span,.resource-list small{color:var(--muted)}.resource-list li>button,.resource-list li>a{justify-self:start}.resource-list small,.form-message,.activity-form small,.plan-form small{font-size:.95rem}.muted-item{opacity:.75}.status-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.notice{display:flex;flex-direction:column;gap:.35rem;margin:0 0 1.25rem;padding:1rem;border-radius:var(--radius)}.notice span{color:var(--text)}.notice button{width:fit-content;margin-top:.4rem}.notice.error{color:var(--bad);background:var(--bad-soft)}.notice.warning{color:var(--warn);background:var(--warn-soft)}@media(max-width:800px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.app-main{padding:1.25rem 1rem calc(var(--nav-height) + 1.5rem)}.bottom-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;display:flex;height:var(--nav-height);border-top:1px solid var(--border);background:var(--surface)}.bottom-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:0;border:0;border-radius:0;padding:0;color:var(--muted);background:none;font:inherit;font-size:.75rem;font-weight:600;text-decoration:none}button.bottom-link:hover:not(:disabled){background:var(--bg)}.bottom-link[aria-current=page]{color:var(--primary);font-weight:800}.more-sheet{position:fixed;right:0;bottom:var(--nav-height);left:0;margin:0;padding:.5rem;list-style:none;border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -8px 24px #00000014}.more-sheet a{display:flex;align-items:center;gap:.75rem;min-height:3.25rem;padding:0 .75rem;border-radius:10px;color:var(--text);font-weight:600;text-decoration:none}.more-sheet a[aria-current=page]{color:var(--primary);background:var(--primary-soft)}.timeline-grid,.plans-layout,.plan-comparison,.activities-layout,.form-row{grid-template-columns:1fr}.timeline-panel{padding:1rem}}@media(min-width:801px)and (max-width:1100px){.activities-layout,.plans-layout,.plan-comparison{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;margin-left:auto;padding:0 .4rem;border-radius:999px;color:#fff;background:var(--bad);font-size:.85rem;font-weight:800}.section-title{margin:2rem 0 .75rem}.pendency-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.pendency{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius);background:var(--surface)}.pendency.warning{border-left-color:var(--warn)}.pendency strong{display:block;font-size:1.05rem}.pendency span{color:var(--muted)}.all-clear{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.all-clear p{margin:0;font-size:1.05rem;font-weight:600}.login-copy .primary-action{width:100%}@media(max-width:800px){.bottom-link{position:relative}.bottom-link .badge{position:absolute;top:.35rem;left:calc(50% + .4rem);min-width:1.15rem;height:1.15rem;margin:0;padding:0 .25rem;font-size:.7rem}.pendency .primary-action,.pendency .secondary-action{width:100%}}.page-actions{margin-bottom:1rem}.back-link{display:inline-flex;align-items:center;min-height:3rem;margin-bottom:.5rem;font-weight:700;text-decoration:none}.card-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.card-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.card-title{display:block;font-size:1.1rem}.muted-line{display:block;color:var(--muted)}.tag{display:inline-block;margin-top:.35rem;padding:.1rem .65rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--bg);font-size:.9rem;font-weight:700}.tag.warn{border-color:transparent;color:var(--warn);background:var(--warn-soft)}.stacked-form{display:grid;gap:1rem;margin-top:1rem}.stacked-form>button[type=submit]{justify-self:start}.field{display:grid;gap:.4rem;margin:0;font-weight:700}.field>span:first-child,.choice-group legend{font-weight:700}.field input:not([type=radio]):not([type=checkbox]),.field select{width:100%;min-height:3rem;border:2px solid var(--field);border-radius:10px;padding:.6rem .75rem;color:var(--text);font:inherit;font-weight:400;background:var(--surface)}.field [aria-invalid=true]{border-color:var(--bad)}.field-error{color:var(--bad);font-weight:600}.choice-group{border:0;padding:0}.choice-group legend{margin-bottom:.4rem;padding:0}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem}.choice{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.6rem .9rem;border:2px solid var(--border);border-radius:10px;background:var(--surface);font-weight:600;cursor:pointer}.choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.student-list{margin:1rem 0 0;padding:0;list-style:none}.student-list li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.student-list li:last-child{border-bottom:0}select{max-width:100%}.field,.stacked-form>*,.choice-group{min-width:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stepper{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}.stepper li{flex:1 1 8rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--surface);font-size:.95rem}.stepper li b{display:block;font-size:.85rem}.stepper li[aria-current=step]{border:2px solid var(--primary);color:var(--primary);font-weight:700}.stepper li.done{border-color:transparent;color:var(--text);background:var(--primary-soft)}button.big-choice{min-height:5rem;font-size:1.05rem}button.big-choice.secondary{color:var(--primary);background:var(--surface)}button.big-choice.secondary:hover:not(:disabled){color:var(--primary);background:var(--primary-soft)}.field textarea{width:100%;min-height:6rem;border:2px solid var(--field);border-radius:10px;padding:.6rem .75rem;color:var(--text);font:inherit;font-weight:400;resize:vertical}.question-editor{display:grid;gap:.9rem}.question-editor legend{float:left;width:100%;margin-bottom:.25rem;padding:0;font-size:1.1rem}.alternative-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem}.alternative-row .choice{padding:.5rem .75rem}.points-field input{max-width:8rem}.field>label{display:grid;gap:.4rem}.grow{flex:1 1 16rem;min-width:0}.progress{height:10px;margin:.5rem 0 .25rem;overflow:hidden;border-radius:999px;background:var(--border)}.progress span{display:block;height:100%;background:var(--primary)}.queue-group{margin-top:1.5rem}.queue-group h2{margin-bottom:.75rem}.correction-form{display:grid;gap:1rem;border:2px solid var(--primary)}.answer-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.preview{padding:.75rem .9rem;border-radius:10px;background:var(--bg)}.preview p{margin:.25rem 0 0}.expected{margin:0}.expected dt{font-weight:700}.expected dd{margin:0 0 .5rem;color:var(--muted)}.grade-preview{margin:0;font-size:1.1rem;font-weight:800}.field .muted-line{font-weight:500}.account-identity{display:flex;align-items:center;gap:1rem}.avatar.large{width:4rem;height:4rem;font-size:1.3rem;object-fit:cover}.danger-zone{border-color:var(--bad)}
