:root{--primary:#1e3a8a;--primary-hover:#1e40af;--bg:#f8fafc;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--success:#059669;--danger:#b91c1c;--radius:10px;--shadow:0 1px 3px #0000001a;--shadow-lg:0 6px 16px #0000001f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);padding-bottom:40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.header{background:var(--primary);color:#fff;margin-bottom:22px;padding:22px 0;box-shadow:0 2px 4px #0000001a}.container,.shell{max-width:900px;margin:0 auto;padding:0 20px}.split-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.hero,.panel,.card,.period-card,.document-preview,.editor-frame{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel__subtle{color:var(--muted);font-size:.95rem}.hero__eyebrow,.card__kicker{letter-spacing:.08em;text-transform:uppercase;color:#4b5563;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.hero h1{letter-spacing:-.02em;margin:0;font-size:1.85rem;line-height:1.15}.panel h3,.card__title{color:var(--primary);margin:0;font-size:1.1rem;font-weight:700}.card__body,.muted{color:var(--muted)}.pill{border:1px solid var(--border);color:#374151;white-space:nowrap;background:#f9fafb;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.85rem;display:inline-flex}.pill--warning{color:#92400e;background:#fffbeb;border-color:#f59e0b33}.status{border:1px solid var(--border);background:#f9fafb;border-radius:8px;padding:10px 12px;font-size:.95rem}.status--success{color:#065f46;background:#ecfdf5;border-color:#10b98133}.status--error{color:#7f1d1d;background:#fef2f2;border-color:#ef444433}.form-grid,.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.app-grid{grid-template-columns:1.25fr .85fr;gap:14px;display:grid}@media (max-width:980px){.app-grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;display:flex}label{color:#4b5563;font-size:.9rem;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:12px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;min-height:120px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1e3a8a1f}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.95rem;font-weight:700;transition:transform 80ms,background .2s,border-color .2s;display:inline-flex}.button:hover{background:#f9fafb;transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button--accent{background:var(--primary);border-color:var(--primary);color:#fff}.button--accent:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.button--secondary{border-color:var(--border);background:#fff}.check-list{flex-direction:column;gap:10px;display:flex}.check-item{border:1px solid var(--border);background:#f9fafb;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.check-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.check-item__meta{flex-direction:column;gap:2px;display:flex}.grid--cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.module-list{flex-direction:column;gap:12px;display:flex}.module-row{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:14px}.module-row__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.document-preview{overflow:hidden}.document-preview iframe{background:#fff;border:0;border-radius:10px;width:100%;min-height:520px}
