@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500&display=swap";:root{--primary:#00231f;--primary-container:#063a34;--pine:#0d5c53;--gold:#775a00;--gold-strong:#5a4300;--gold-bright:#c59b27;--gold-soft:#fece57;--gold-tint:#fef3c7;--teal:#0d5c53;--teal-strong:#063a34;--mint:#34d399;--mint-soft:#d1fae5;--teal-tint:#e7f2ef;--teal-tint-strong:#cfe5e0;--color-bg:#f7f9fb;--color-surface:#fff;--color-surface-low:#f2f4f6;--color-surface-container:#eceef0;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#191c1e;--color-text-muted:#64748b;--color-label:#475569;--color-primary:var(--primary);--color-primary-hover:var(--primary-container);--color-danger:#dc2626;--color-danger-soft:#fee2e2;--color-success:#059669;--color-warning:#b45309;--color-info:#475569;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #063a340a, 0 4px 12px #063a3408;--shadow:0 8px 24px #063a3414;--shadow-lg:0 20px 48px #063a3429;--ring:0 0 0 3px #063a3424;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sidebar-w:256px;--topbar-h:64px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-size:14px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}a{color:var(--pine);text-decoration:none;transition:color .15s}a:hover{color:var(--primary)}h1,h2,h3{font-family:var(--font-sans);color:var(--primary);margin:0 0 .5rem}h1{letter-spacing:-.025em;font-size:2rem;font-weight:700;line-height:1.25}h2{letter-spacing:-.015em;font-size:1.43rem;font-weight:700}h3{letter-spacing:-.01em;font-size:1.14rem;font-weight:600}.mono{font-family:var(--font-mono);font-weight:500}.form-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--gold);border-bottom:1px solid var(--color-border);margin:0 0 .85rem;padding-bottom:.4rem;font-size:.79rem;font-weight:700}button,.btn{font:inherit;cursor:pointer;border-radius:var(--radius);background:var(--primary);color:#fff;min-height:36px;box-shadow:none;border:1px solid #0000;padding:.5rem 1rem;font-size:.93rem;font-weight:600;line-height:1.25;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}a.btn{text-align:center;text-decoration:none;display:inline-block}button:hover:not(:disabled),.btn:hover{background:var(--primary-container);color:#fff;box-shadow:0 0 0 3px #063a341a,inset 0 0 14px #ffffff12}button:focus-visible,.btn:focus-visible,a:focus-visible{box-shadow:var(--ring);outline:none}button:active:not(:disabled){background:var(--primary);box-shadow:none}button:disabled{opacity:.5;cursor:default}button.gold,.btn.gold{background:var(--gold-bright);color:#fff}button.gold:hover:not(:disabled),.btn.gold:hover{background:#b08a1f;box-shadow:0 0 0 3px #c59b2738}button.secondary,.btn.secondary{color:var(--primary);border-color:var(--color-border);background:#fff;box-shadow:0 1px 2px #063a340d}button.secondary:hover:not(:disabled),.btn.secondary:hover{border-color:var(--color-border-strong);color:var(--primary);box-shadow:none;background:#f1f5f9}button.ghost,.btn.ghost{color:#475569;background:0 0;border-color:#0000}button.ghost:hover:not(:disabled),.btn.ghost:hover{background:var(--teal-tint);color:var(--primary);box-shadow:none}button.compact,.btn.compact{white-space:nowrap;gap:.4rem;min-height:32px;padding:.38rem .7rem;font-size:.86rem;line-height:1}button.danger{color:var(--color-danger);border-color:var(--color-danger-soft);background:0 0}button.danger:hover:not(:disabled){color:var(--color-danger);box-shadow:none;background:#fef2f2}input,select,textarea{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);min-height:40px;color:var(--color-text);width:100%;padding:.5rem .85rem;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:3rem;padding-top:.6rem}input::placeholder,textarea::placeholder{color:#94a3b8}input:focus,select:focus,textarea:focus{border-color:var(--primary-container);box-shadow:var(--ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--color-surface-low);color:var(--color-text-muted)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--primary-container)}label{color:var(--color-label);margin-bottom:.35rem;font-size:.93rem;font-weight:600;display:block}.field{margin-bottom:1rem}.course-form{flex-direction:column;gap:1.25rem;display:flex}.form-section{padding:1.5rem}.section-title{color:var(--primary);border-bottom:1px solid var(--color-border);margin:0 0 1.1rem;padding-bottom:.75rem;font-size:1.14rem;font-weight:700}.form-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#ffffffeb;align-items:center;gap:.9rem;padding:.8rem 1.25rem;display:flex;position:sticky;bottom:0}.form-actions button{min-width:180px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.35rem;transition:box-shadow .2s,transform .2s,border-color .2s}.card.hoverable{cursor:pointer}.card.hoverable:hover{box-shadow:var(--shadow);border-color:var(--teal-tint-strong);transform:translateY(-2px)}table{border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}th,td{text-align:left;font-variant-numeric:tabular-nums;border-bottom:1px solid #eef1f4;padding:.75rem 1rem;font-size:.93rem}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;background:#f8fafc;font-size:.79rem;font-weight:700}tbody tr{transition:background .12s}tbody tr:hover{background:#f8fafc}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row:focus-visible{box-shadow:inset 0 0 0 2px var(--primary-container);outline:none}tbody tr:last-child td{border-bottom:none}.attempts-table td{vertical-align:middle}.attempt-score-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-low);grid-template-columns:auto 1fr;align-items:center;gap:.35rem .9rem;margin-bottom:1rem;padding:1rem;display:grid}.attempt-score-card.is-approved{border-left:4px solid var(--teal)}.attempt-score-card.is-rejected{border-left:4px solid #c1121f}.attempt-score-card strong{color:var(--color-text);font-size:1.9rem}.attempt-score-card small{color:var(--color-text-muted);grid-column:2;font-weight:700}.attempt-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.attempt-detail-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;padding:.9rem}.attempt-detail-item span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.72rem;font-weight:800;display:block}.attempt-detail-item strong{color:var(--color-text);overflow-wrap:anywhere;display:block}.students-table th,.students-table td{vertical-align:middle}.student-actions-cell{min-width:210px}.student-row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.student-row-actions .action-profile{color:var(--teal-strong);border-color:var(--teal-tint-strong)}.student-row-actions .action-enroll{color:var(--color-text)}.badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.79rem;font-weight:700;line-height:1.2;display:inline-block}.badge-published,.badge-converted,.badge-active,.badge-enr-active,.badge-doc-approved,.badge-prog-completed,.badge-paid,.badge-sig-signed{color:#065f46;background:#d1fae5}.badge-new,.badge-pending,.badge-pending_docs,.badge-enr-pending_docs,.badge-doc-pending,.badge-prog-available{color:#2b4a6f;background:#e6eef7}.badge-engaged,.badge-negotiating,.badge-in_progress,.badge-docs_approved,.badge-enr-docs_approved,.badge-prog-in_progress,.badge-prog-awaiting_assessment,.badge-prog-awaiting_admin,.badge-coming_soon,.badge-sig-sent,.badge-sig-pending{color:#92400e;background:#fef3c7}.badge-archived,.badge-lost,.badge-cancelled,.badge-enr-cancelled,.badge-doc-rejected,.badge-overdue,.badge-sig-refused,.badge-sig-expired,.badge-sig-error{color:#991b1b;background:#fee2e2}.badge-draft,.badge-unlisted,.badge-prog-locked{color:#475569;background:#f1f5f9}.admin-shell{background:var(--color-bg);height:100vh;min-height:0;display:flex;overflow:hidden}.admin-column{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex}.admin-main{flex:1;min-height:0;padding:1.5rem 2rem 2.2rem;overflow-y:auto}.admin-main>*{max-width:1480px;margin-left:auto;margin-right:auto}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--primary);color:#fff;z-index:50;flex-direction:column;justify-content:space-between;height:100vh;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 8px #0000000f}.sidebar-brand{height:var(--topbar-h);flex:0 0 var(--topbar-h);background:var(--primary-container);align-items:center;gap:.65rem;padding:0 1rem;display:flex}.sidebar-brand-mark{border-radius:var(--radius);background:#fff;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-brand-mark img{object-fit:contain;width:28px;height:28px;display:block}.sidebar-brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.sidebar-brand-text strong{letter-spacing:-.005em;color:#fff;white-space:nowrap;font-size:1.14rem;font-weight:700}.sidebar-brand-text span{letter-spacing:.06em;text-transform:uppercase;color:#a1d0c7;font-size:.79rem;font-weight:700}.sidebar nav{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1rem .5rem;display:flex;overflow-y:auto}.nav-section{flex-direction:column;gap:.2rem;display:flex}.nav-section-label{letter-spacing:.06em;text-transform:uppercase;color:#a1d0c7;padding:.25rem .55rem;font-size:.79rem;font-weight:700}.nav-item{border-radius:var(--radius);color:#9cc3bb;align-items:center;gap:.65rem;min-height:36px;padding:.45rem .65rem;font-size:.93rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}.nav-item svg{flex-shrink:0}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:var(--primary);background:#fff}.nav-item.active:hover{color:var(--primary)}.sidebar-user{background:#063a3499;flex-shrink:0;padding:.5rem}.sidebar-user-card{border-radius:var(--radius);background:var(--primary-container);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .4rem;display:flex}.sidebar-user-id{align-items:center;gap:.55rem;min-width:0;display:flex}.avatar-wrap{flex-shrink:0;position:relative}.avatar-circle{background:var(--primary);color:#fff;letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.86rem;font-weight:700;display:flex}.avatar-online{background:var(--gold-soft);border:2px solid var(--primary-container);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.sidebar-user-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.sidebar-user-text strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.93rem;font-weight:600;overflow:hidden}.sidebar-user-text span{color:#a1d0c7;font-size:.79rem;font-weight:600}.sidebar-logout{color:#76a49c;min-height:0;box-shadow:none;background:0 0;border:0;flex-shrink:0;padding:.35rem}.sidebar-logout:hover:not(:disabled){color:#fff;box-shadow:none;background:0 0}.modoro-credit{color:var(--color-text-muted);align-items:center;gap:.45rem;font-size:.79rem;font-weight:600;display:inline-flex}.modoro-credit img{width:auto;height:20px;display:block}.modoro-credit-sidebar{color:#a1d0c7b3;margin:.65rem .4rem .2rem}.modoro-credit-sidebar:hover{color:#fff}.modoro-credit-sidebar img{filter:invert()brightness(1.9);opacity:.7}.topbar{flex:0 0 var(--topbar-h);height:var(--topbar-h);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:40;background:#f7f9fbe6;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.5rem;display:flex;box-shadow:0 1px 8px #0000000a}.topbar-left,.topbar-right{align-items:center;gap:1rem;min-width:0;display:flex}.topbar-menu{display:none}.global-search{border-radius:var(--radius);background:var(--color-surface-low);color:#404846;text-align:left;width:288px;max-width:100%;min-height:36px;box-shadow:none;border:0;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.86rem;font-weight:500;display:flex}.global-search:hover:not(:disabled){background:var(--color-surface-container);box-shadow:none}.global-search span{color:#64748b;flex:1}.global-search kbd{font-family:var(--font-mono);color:#404846;background:#e0e3e5;border-radius:4px;padding:1px 6px;font-size:.86rem}.topbar-icon-btn{color:#404846;min-height:0;box-shadow:none;border-radius:var(--radius);background:0 0;border:0;padding:.4rem;position:relative}.topbar-icon-btn:hover:not(:disabled){background:var(--color-surface-container);color:var(--primary);box-shadow:none}.topbar-badge{background:var(--gold-bright);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.72rem;font-weight:700;line-height:1;display:flex;position:absolute;top:1px;right:1px}.quick-action{position:relative}.quick-action-menu{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:240px;box-shadow:var(--shadow-lg);z-index:60;background:#fff;padding:.4rem;position:absolute;top:calc(100% + 8px);right:0}.quick-action-menu button{border-radius:var(--radius);width:100%;min-height:0;color:var(--color-text);text-align:left;box-shadow:none;background:0 0;border:0;align-items:center;gap:.6rem;padding:.55rem .65rem;font-weight:600;display:flex}.quick-action-menu button:hover:not(:disabled){background:var(--teal-tint);color:var(--primary);box-shadow:none}.quick-action-menu svg{color:var(--pine)}.topbar-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.86rem;font-weight:700;display:flex}.palette-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a61;justify-content:center;align-items:flex-start;padding:12vh 1rem 1rem;display:flex;position:fixed;inset:0}.palette{border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg);background:#fff;overflow:hidden}.palette-input{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.palette-input input{min-height:0;box-shadow:none;border:0;padding:0;font-size:1rem}.palette-input input:focus{box-shadow:none}.palette-list{max-height:340px;padding:.4rem;overflow-y:auto}.palette-group{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);padding:.5rem .65rem .25rem;font-size:.79rem;font-weight:700}.palette-item{border-radius:var(--radius);width:100%;min-height:0;color:var(--color-text);text-align:left;box-shadow:none;background:0 0;border:0;align-items:center;gap:.65rem;padding:.55rem .65rem;font-weight:600;display:flex}.palette-item small{color:var(--color-text-muted);margin-left:auto;font-weight:500}.palette-item.active,.palette-item:hover:not(:disabled){background:var(--teal-tint);color:var(--primary);box-shadow:none}.palette-empty{text-align:center;color:var(--color-text-muted);padding:1.5rem 1rem}.sidebar-scrim{display:none}@media (width<=960px){.sidebar{transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:none}.sidebar-scrim.open{z-index:45;background:#0f172a66;display:block;position:fixed;inset:0}.topbar-menu{display:inline-flex}.topbar{padding:0 1rem}.global-search{justify-content:center;width:40px;padding:.4rem}.global-search span,.global-search kbd{display:none}.admin-main{padding:1rem 1rem 1.5rem}.quick-action-label{display:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page{animation:.28s ease-out fadeInUp}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--color-surface-container);border-top-color:var(--teal);border-radius:50%;width:22px;height:22px;margin:2rem auto;animation:.7s linear infinite spin}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--color-surface-container) 25%, var(--color-surface-low) 50%, var(--color-surface-container) 75%);background-size:200% 100%;animation:1.4s infinite shimmer}.error{color:var(--color-danger);border:1px solid var(--color-danger-soft);border-radius:var(--radius);background:#fff5f4;padding:.6rem .9rem;font-size:.9rem}.muted{color:var(--color-text-muted)}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.stat-value{font-family:Montserrat,sans-serif;font-size:1.6rem;font-weight:800}.avatar{color:#fff;background:linear-gradient(135deg, var(--teal), var(--gold));letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;font-family:Montserrat,sans-serif;font-size:1.4rem;font-weight:800;display:grid}.progress-track{background:var(--color-surface-container);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--teal);border-radius:999px;height:100%;transition:width .5s}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem;display:flex}.page-head h1{margin-bottom:.15rem}.page-head p{margin:0}.module-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.95rem;display:flex}.module-section-head h2,.module-section-head p{margin:0}.module-section-head p{margin-top:.25rem;font-size:.9rem}.module-create-card{border-color:var(--teal-tint-strong);margin-top:1.2rem}.module-create-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;padding-bottom:.9rem;display:flex}.module-create-head h3,.module-create-head p{margin:0}.module-create-head p{margin-top:.25rem;font-size:.86rem}.lesson-create-card{background:var(--color-surface-low,#f4f6fb);border-color:var(--teal-tint-strong);margin-top:.75rem;padding:.8rem}.lesson-create-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;padding-bottom:.7rem;display:flex}.lesson-create-head h4,.lesson-create-head p{margin:0}.lesson-create-head p{margin-top:.2rem;font-size:.82rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1.1rem;display:flex}.search-input{flex:1;min-width:220px;max-width:380px;position:relative}.search-input input{padding-left:2.3rem}.search-input svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.filter-chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;box-shadow:none;border-radius:999px;padding:.42rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.chip:hover:not(:disabled){background:var(--color-surface-low);filter:none;box-shadow:none;transform:none}.chip.active{background:var(--teal-tint);border-color:var(--teal);color:var(--teal-strong)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#09161473;place-items:center;padding:1.5rem;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:620px;max-height:88vh;animation:.2s cubic-bezier(.2,.8,.3,1) modal-in;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.4rem 1.6rem 1rem;display:flex}.modal-head h2{margin:0 0 .15rem}.modal-head p{margin:0;font-size:.88rem}.modal-close{color:var(--color-text-muted);box-shadow:none;background:0 0;border:none;border-radius:.5rem;padding:.3rem;line-height:0}.modal-close:hover:not(:disabled){background:var(--color-surface-low);color:var(--color-text);filter:none;box-shadow:none;transform:none}.modal-body{padding:1.4rem 1.6rem}.modal-foot{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.7rem;padding:1rem 1.6rem 1.4rem;display:flex}.course-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.1rem;display:grid}.course-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;overflow:hidden}.course-tile:hover{box-shadow:var(--shadow);border-color:var(--teal-tint-strong);transform:translateY(-3px)}.course-tile-cover{background:linear-gradient(135deg, var(--teal) 0%, #0d6a5c 60%, var(--gold) 160%);background-position:50%;background-size:cover;place-items:center;height:132px;display:grid;position:relative}.course-tile-cover .cover-initial{color:#ffffff80;font-family:Montserrat,sans-serif;font-size:2.6rem;font-weight:800}.course-tile-cover .badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;top:.7rem;left:.7rem}.home-visibility{letter-spacing:.04em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000006b;border-radius:999px;max-width:calc(100% - 1.4rem);padding:.28rem .65rem;font-size:.68rem;font-weight:800;position:absolute;bottom:.7rem;right:.7rem}.home-visibility.on{background:#006b5ce0}.home-visibility.off{background:#121c2a94}.course-tile-body{flex-direction:column;flex:1;gap:.5rem;padding:1rem 1.1rem 1.1rem;display:flex}.course-tile-body h3{margin:0;font-size:1rem;line-height:1.35}.course-tile-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:.35rem .8rem;font-size:.8rem;display:flex}.course-tile-price{color:var(--teal);font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:800}.course-tile-actions{border-top:1px solid var(--color-border);background:var(--color-surface-low);grid-template-columns:1fr 1fr auto;gap:.5rem;padding:.85rem 1.1rem;display:grid}.course-tile-actions button,.course-tile-actions .btn{text-align:center;white-space:normal;min-width:0;padding:.45rem .7rem;font-size:.85rem}.course-tile-actions .course-publish-action{grid-column:1/-1;min-height:2.45rem}.course-tile-actions .icon-button{width:38px;min-width:38px;padding:.45rem}.tabs{scrollbar-width:none;border-bottom:1px solid var(--color-border);flex-wrap:nowrap;gap:.25rem;margin-bottom:1.4rem;padding-bottom:0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;color:var(--color-text-muted);box-shadow:none;text-align:left;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:.6rem .6rem 0 0;align-items:center;gap:.6rem;padding:.7rem 1rem .75rem;transition:background .15s,color .15s,border-color .15s;display:flex}.tab:hover:not(:disabled){background:var(--teal-tint);color:var(--primary);filter:none;box-shadow:none;transform:none}.tab.active{color:var(--primary);border-bottom-color:var(--gold-bright);background:0 0}.tab-text{flex-direction:column;line-height:1.25;display:flex}.tab-text strong{font-size:.94rem;font-weight:600}.tab.active .tab-text strong{font-weight:700}.tab-text small{color:var(--color-text-muted);font-size:.74rem}.tab-check{border:2px dashed var(--color-border);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.tab-check.done{background:var(--pine);border:2px solid var(--pine)}.breadcrumb{color:var(--color-text-muted);align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.86rem;display:flex}.breadcrumb a{color:var(--pine);align-items:center;gap:.15rem;font-weight:600;display:inline-flex}.course-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.25rem;display:flex}.course-head-main{flex:380px;min-width:0}.course-head-main h1{margin-bottom:.45rem}.course-head-main h1 .badge{vertical-align:middle;margin-left:.4rem}.course-head-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.slug-copy{border-radius:var(--radius-sm);min-height:0;color:var(--color-text-muted);box-shadow:none;background:0 0;border:0;align-items:center;gap:.4rem;padding:.2rem .5rem;font-size:.86rem;display:inline-flex}.slug-copy:hover:not(:disabled){background:var(--color-surface-container);color:var(--primary);box-shadow:none}.course-head-actions{flex-direction:column;flex:none;align-items:flex-end;gap:.6rem;max-width:100%;display:flex}.course-head-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.completion{background:var(--color-surface-container);color:var(--color-label);border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .75rem;font-size:.86rem;font-weight:600;display:inline-flex}.completion i{background:var(--gold-bright);border-radius:50%;width:8px;height:8px}.completion.is-complete{color:#065f46;background:#d1fae5}.completion.is-complete i{background:var(--color-success)}.stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width<=960px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}.step{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:0;color:var(--color-text);text-align:left;box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.step:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.step-icon{background:var(--color-surface-container);width:28px;height:28px;color:var(--color-label);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:flex}.step-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.step-text small{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.79rem;font-weight:700}.step-text strong{color:var(--primary);font-size:.99rem;font-weight:700}.step-text em{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-style:normal;overflow:hidden}.step.is-done .step-icon{background:var(--pine);color:#fff}.step.is-done small{color:var(--pine)}.step.is-active,.step.is-active:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}.step.is-active .step-icon{background:var(--gold-bright);color:#fff}.step.is-active .step-text small{color:#a1d0c7}.step.is-active .step-text strong{color:#fff}.step.is-active .step-text em{color:#9cc3bb}.course-cols{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.25rem;display:grid}@media (width<=1100px){.course-cols{grid-template-columns:1fr}}.course-main,.course-aside{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.course-aside{position:sticky;top:0}@media (width<=1100px){.course-aside{position:static}}.course-main>section[hidden]{display:none}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.1rem;display:grid}@media (width<=700px){.form-grid-2{grid-template-columns:1fr}}.input-money{font-variant-numeric:tabular-nums;font-size:1.14rem;font-weight:700}.field small{margin-top:.3rem;display:block}.toggle-row{border-bottom:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.7rem 0;display:flex}.toggle-row:last-child{border-bottom:0;padding-bottom:0}.toggle-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.toggle-text strong{color:var(--color-text);font-size:.93rem}.toggle-text small{color:var(--color-text-muted);font-size:.86rem;font-weight:400}input.switch{appearance:none;background:var(--color-border-strong);cursor:pointer;border:0;border-radius:999px;flex:0 0 44px;width:44px;height:24px;min-height:0;padding:0;transition:background .18s;position:relative}input.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}input.switch:checked{background:var(--primary-container)}input.switch:checked:after{transform:translate(20px)}input.switch:focus-visible{box-shadow:var(--ring)}.cover-preview{aspect-ratio:16/9;border-radius:var(--radius);background:var(--color-surface-container) center / cover no-repeat;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cover-change{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#00231fd1;margin:0;padding:.3rem .7rem;font-size:.86rem;font-weight:600;position:absolute;bottom:.6rem;right:.6rem}.cover-change:hover{background:var(--primary)}.cover-change.is-busy{cursor:default;opacity:.7}.cover-hint{margin:.6rem 0 .75rem;font-size:.86rem}.sim-table{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.sim-head{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);background:#f8fafc;padding:.55rem .9rem;font-size:.79rem;font-weight:700}.sim-row{border-top:1px solid #eef1f4;justify-content:space-between;align-items:center;padding:.55rem .9rem;font-size:.93rem;display:flex}.checkout-preview .co-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.co-course{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.co-course>div:last-child{flex-direction:column;gap:.15rem;line-height:1.3;display:flex}.co-thumb{border-radius:var(--radius-sm);background:var(--color-surface-container) center / cover no-repeat;flex:0 0 64px;width:64px;height:40px}.co-prices{border-top:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:.8rem 0;display:flex}.co-total{letter-spacing:-.03em;color:var(--primary);font-size:1.86rem;font-weight:800}.co-installments{text-align:right;margin:0 0 1rem}.co-note{text-align:center;margin:.75rem 0 0;font-size:.86rem}.save-bar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);background:#ffffffeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem -2rem -2.2rem;padding:.8rem 2rem;display:flex;position:sticky;bottom:-2.2rem}.save-status{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.86rem;display:inline-flex}.save-status i{background:var(--color-success);border-radius:50%;width:8px;height:8px}.save-status i.is-dirty{background:var(--gold-bright);animation:1.8s ease-in-out infinite pulse}.save-actions{gap:.5rem;display:flex}@media (width<=960px){.save-bar{margin:1.5rem -1rem -1.5rem;padding:.8rem 1rem;bottom:-1.5rem}}.tpl-layout{grid-template-columns:240px 1fr;align-items:start;gap:1.2rem;display:grid}@media (width<=900px){.tpl-layout{grid-template-columns:1fr}}.tpl-list{flex-direction:column;gap:.35rem;display:flex}.tpl-item{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);box-shadow:none;border-radius:.65rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .85rem;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s;display:flex}.tpl-item:hover:not(:disabled){background:var(--color-surface-low);filter:none;box-shadow:none;transform:none}.tpl-item.active{background:var(--teal-tint);border-color:var(--teal);color:var(--teal-strong);font-weight:700}.tpl-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl-tags{flex-wrap:wrap;gap:.35rem;display:flex}.tpl-tags .chip{padding:.3rem .6rem;font-family:ui-monospace,Menlo,monospace;font-size:.76rem}.link-button{color:var(--teal);box-shadow:none;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.link-button:hover:not(:disabled){filter:none;box-shadow:none;color:var(--teal-strong);background:0 0;transform:none}.viewer{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:min(980px,100%);height:min(88vh,900px);animation:.2s cubic-bezier(.2,.8,.3,1) modal-in;display:flex;overflow:hidden}.viewer-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.viewer-action{width:34px;height:34px;color:var(--color-text-muted);border-radius:.5rem;place-items:center;text-decoration:none;transition:background .15s,color .15s;display:inline-grid}.viewer-action:hover{background:var(--color-surface-low);color:var(--color-text)}.viewer-body{background:var(--color-surface-low);flex:1;place-items:center;display:grid;overflow:auto}.viewer-body iframe{background:#fff;border:none;width:100%;height:100%}.viewer-body img{object-fit:contain;max-width:100%;max-height:100%}.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.avatar-sm{color:#fff;background:linear-gradient(135deg, var(--teal), #0f7d6b);border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:800;display:grid}.empty-state{text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:3rem 1.5rem}.empty-state .empty-icon{background:var(--teal-tint);width:52px;height:52px;color:var(--teal);border-radius:50%;place-items:center;margin:0 auto .9rem;display:grid}.empty-state h3{margin:0 0 .3rem}.empty-state p{color:var(--color-text-muted);margin:0 0 1.1rem}.user-cell{align-items:center;gap:.7rem;display:flex}a.user-cell-link{color:inherit;text-decoration:none}a.user-cell-link:hover strong{color:var(--teal);text-decoration:underline}.user-cell strong{font-weight:600;line-height:1.25;display:block}.user-cell small{color:var(--color-text-muted);font-size:.8rem}.course-tags{flex-wrap:wrap;gap:.3rem;display:flex}.course-tag{background:var(--color-surface-low);border:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;border-radius:999px;padding:.18rem .6rem;font-size:.76rem}.audit-card{border:1px solid var(--teal-tint-strong);background:var(--teal-tint);border-radius:var(--radius);padding:.9rem 1rem}.audit-head{color:var(--teal-strong);align-items:center;gap:.45rem;margin-bottom:.75rem;font-size:.85rem;font-weight:650;display:flex}.audit-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem 1.2rem;margin:0;display:grid}.audit-list dt{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.15rem;font-size:.7rem}.audit-list dd{color:var(--color-text);margin:0;font-size:.85rem}.audit-list dd.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.audit-note{color:var(--color-text-muted);margin:.9rem 0 0;font-size:.74rem;line-height:1.5}.audit-list .wide{grid-column:1/-1}.audit-list .wide dd{color:var(--color-text-muted);font-size:.76rem;line-height:1.5}.field-row{flex-wrap:wrap;gap:.9rem;display:flex}.field-row>.field{flex:160px;min-width:0}.form-section-label{border-top:1px solid var(--color-border);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:1.4rem 0 .2rem;padding-top:1rem;font-size:.72rem;font-weight:700}.icon-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:.35rem;display:inline-flex}.icon-button:hover{background:var(--color-surface-container);color:var(--color-text)}.tab-count{background:var(--gold-bright);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.progress-head{flex-wrap:wrap;align-items:center;gap:1.6rem;display:flex}.progress-stats{flex-wrap:wrap;gap:2.4rem;display:flex}.progress-row{align-items:center;gap:1rem;padding:.55rem 0;display:flex}.progress-row-title{flex-direction:column;flex:0 0 240px;font-size:.88rem;display:flex}.progress-bar{background:var(--color-surface-container);border-radius:999px;flex:1;min-width:80px;height:8px;overflow:hidden}.progress-bar-fill{background:var(--teal);border-radius:999px;height:100%;transition:width .3s}.progress-percent{text-align:right;color:var(--color-text-muted);flex:0 0 42px;font-size:.82rem}@media (width<=640px){.progress-row-title{flex-basis:140px}}.btn-inline{align-items:center;gap:.45rem;display:inline-flex}.pill{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .65rem;font-size:.79rem;font-weight:700;display:inline-flex}.pill-live{color:var(--primary);background:#bcece366}.live-dot{background:var(--primary-container);border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.spin{animation:.8s linear infinite spin}.chip-tone{letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.79rem;font-weight:700;line-height:1.3;display:inline-block}.chip-tone.tone-ok{color:#065f46;background:#d1fae5}.chip-tone.tone-warn{color:#92400e;background:#fef3c7}.chip-tone.tone-danger{color:#991b1b;background:#fee2e2}.chip-tone.tone-info{color:#2b4a6f;background:#e6eef7}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.dash-kicker{align-items:center;gap:.6rem;margin-bottom:.4rem;font-size:.86rem;display:flex}.dash-kicker .compact{min-height:26px;padding:.25rem .4rem}.dash-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dash-controls select{width:auto;min-height:36px;padding-top:.35rem;padding-bottom:.35rem;font-weight:600}.triage{margin-bottom:1.5rem}.triage-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.7rem;display:flex}.triage-head h2{margin:0;font-size:1.14rem}.triage-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;display:grid}.triage-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);flex-direction:column;gap:.35rem;padding:.9rem 1rem;transition:box-shadow .18s,transform .18s;display:flex}.triage-card:hover{color:var(--color-text);box-shadow:var(--shadow);transform:translateY(-2px)}.triage-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.triage-code{color:var(--color-text-muted);font-size:.79rem}.triage-value{letter-spacing:-.03em;color:var(--primary);margin-top:.15rem;font-size:1.86rem;font-weight:800;line-height:1.1}.triage-value small{letter-spacing:0;color:var(--color-text-muted);font-size:.93rem;font-weight:600}.triage-detail{color:var(--color-text-muted);flex:1;margin:0;font-size:.86rem;line-height:1.35}.triage-action{border-radius:var(--radius);background:var(--color-surface-low);color:var(--primary);justify-content:space-between;align-items:center;margin-top:.3rem;padding:.4rem .6rem;font-size:.86rem;font-weight:700;display:inline-flex}.triage-card:hover .triage-action{background:var(--teal-tint)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex}.kpi-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:.79rem;font-weight:700}.kpi-icon{border-radius:var(--radius);background:var(--color-surface-low);width:32px;height:32px;color:var(--pine);justify-content:center;align-items:center;display:flex}.kpi-value{letter-spacing:-.03em;color:var(--primary);font-variant-numeric:tabular-nums;font-size:1.86rem;font-weight:800;line-height:1.15}.kpi-value small{letter-spacing:0;color:var(--color-text-muted);font-size:1rem;font-weight:600}.kpi-value.tone-good{color:var(--primary-container)}.kpi-value.tone-bad{color:var(--color-danger)}.kpi-value-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.kpi-foot{min-height:24px;color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.15rem .5rem;font-size:.86rem;display:flex}.kpi-count-value{letter-spacing:-.03em;color:var(--primary);font-size:1.86rem;font-weight:800;line-height:1.15}.kpi-count-value small{letter-spacing:0;color:var(--color-text-muted);font-size:.93rem;font-weight:600}.trend{align-items:center;gap:.15rem;font-weight:700;display:inline-flex}.trend-good{color:var(--color-success)}.trend-bad{color:var(--color-danger)}.trend .muted{margin-left:.25rem;font-weight:500}.spark{flex-shrink:0}.dash-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.dash-split{grid-template-columns:1fr}}.flow-card h2,.demand-card h2{margin:.15rem 0 0}.flow-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.flow-legend{color:var(--color-label);gap:1rem;font-size:.86rem;font-weight:600;display:flex}.flow-legend i{border-radius:50%;width:10px;height:10px;margin-right:.35rem;display:inline-block}.flow-rows{flex-direction:column;gap:.8rem;display:flex}.flow-row-top{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.3rem;display:flex}.flow-month{align-items:center;gap:.5rem;font-size:.93rem;font-weight:600;display:inline-flex}.flow-values{color:var(--color-label);font-size:.86rem}.flow-track{background:var(--color-surface-container);border-radius:999px;height:10px;display:flex;overflow:hidden}.flow-in{background:var(--primary);transition:width .5s}.flow-out{background:var(--gold-bright);transition:width .5s}.flow-total{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.2rem;padding-top:.9rem;display:flex}.demand-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.demand-row{color:var(--color-text);flex-direction:column;gap:.35rem;display:flex}.demand-row:hover{color:var(--color-text)}.demand-row:hover .demand-title{color:var(--pine)}.demand-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.demand-title{font-weight:600;line-height:1.3;transition:color .15s}.demand-track{background:var(--color-surface-container);border-radius:999px;height:6px;overflow:hidden}.demand-fill{border-radius:999px;height:100%;transition:width .5s}.demand-foot{font-size:.86rem}.wa-connection{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:12px 16px}.wa-connection-bar,.wa-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wa-actions{justify-content:flex-start}.wa-actions button,.modal-foot button{align-items:center;gap:8px;display:inline-flex}.wa-pairing{flex-wrap:wrap;align-items:center;gap:24px;margin-top:16px;display:flex}.wa-pairing img{aspect-ratio:1;width:280px;max-width:100%;height:auto}.wa-pairing p{max-width:360px}.staff-sectors{margin-top:28px}.staff-sectors fieldset{border:1px solid var(--color-border);margin-bottom:12px;padding:16px}.staff-sectors input[type=checkbox]{width:auto}.notif{position:relative}.notif-menu{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(380px,100vw - 32px);max-height:60vh;box-shadow:var(--shadow-lg);z-index:60;background:#fff;padding:1rem;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notif-menu h2{margin-bottom:.5rem;font-size:1.14rem}.notif-empty{margin:.5rem 0 .25rem}.notif-item{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.6rem 0;display:flex}.notif-item:last-child{border-bottom:0}button.notif-open{min-width:0;min-height:0;color:var(--color-text);text-align:left;box-shadow:none;background:0 0;border:0;flex:1;gap:2px;padding:0;display:grid}button.notif-open:hover:not(:disabled){box-shadow:none;color:var(--pine);background:0 0}button.notif-open span{color:var(--color-text-muted);font-size:.93rem;font-weight:400}.kicker-label{letter-spacing:.06em;text-transform:uppercase;color:var(--pine);font-size:.79rem;font-weight:700}.kpi-hint{color:var(--color-text-muted);font-size:.86rem;font-weight:600}.kpi-hint.tone-warn{color:var(--gold)}.chip-tone.tone-muted{background:var(--color-surface-container);color:var(--color-label)}.chip-tone.tone-wa{color:#065f46;background:#fff;box-shadow:inset 0 0 0 1px #a7e3c9}.seg{background:var(--color-surface-container);border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.seg a{border-radius:var(--radius-sm);color:var(--color-label);align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.93rem;font-weight:600;text-decoration:none;display:inline-flex}.seg a:hover{color:var(--primary)}.seg a[aria-current=page]{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff;font-weight:700}.page-kpis{margin-top:1.1rem}.page-head .kicker-label{margin-bottom:.35rem;display:block}.support-split{grid-template-columns:minmax(320px,5fr) minmax(0,7fr);gap:1rem;height:clamp(540px,100vh - 400px,860px);display:grid}.ticket-queue,.ticket-workspace{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.queue-filters{border-bottom:1px solid var(--color-border);gap:.65rem;padding:.9rem;display:grid}.queue-search{position:relative}.queue-search svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.queue-search input{background:var(--color-surface-low);border-color:#0000;padding-left:2.3rem}.queue-search input:focus{background:#fff}.queue-chips{flex-wrap:wrap;gap:.35rem;display:flex}.queue-chips button{background:var(--color-surface-low);min-height:30px;color:var(--color-label);box-shadow:none;border:0;border-radius:999px;padding:.2rem .8rem;font-size:.86rem}.queue-chips button:hover:not(:disabled),.queue-chips button:active:not(:disabled){background:var(--color-surface-container);color:var(--primary);box-shadow:none}.queue-chips button.on,.queue-chips button.on:hover:not(:disabled),.queue-chips button.on:active:not(:disabled){background:var(--primary-container);color:#fff}.queue-selects{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.queue-selects select{min-height:34px;padding-top:.25rem;padding-bottom:.25rem;font-size:.9rem}.queue-list{flex:1;min-height:0;overflow-y:auto}.queue-foot{border-top:1px solid var(--color-border);background:var(--color-surface-low);color:var(--color-text-muted);padding:.6rem 1rem;font-size:.82rem}.queue-empty,.workspace-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:3rem 1.5rem;display:flex}.workspace-empty{flex:1}.queue-empty strong,.workspace-empty strong{color:var(--primary);font-size:1.05rem}button.ticket-card{border:0;border-bottom:1px solid var(--color-surface-container);width:100%;min-height:0;color:var(--color-text);text-align:left;box-shadow:none;background:0 0;border-radius:0;justify-content:flex-start;align-items:flex-start;gap:.75rem;padding:.9rem 1rem .9rem 1.15rem;font-weight:400;display:flex;position:relative}button.ticket-card:hover:not(:disabled),button.ticket-card:active:not(:disabled){background:var(--color-surface-low);color:var(--color-text);box-shadow:none}button.ticket-card.active,button.ticket-card.active:hover:not(:disabled){background:var(--teal-tint)}button.ticket-card.active:before{content:"";background:var(--primary-container);width:4px;position:absolute;top:0;bottom:0;left:0}.ticket-avatar{background:var(--color-surface-container);width:40px;height:40px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:.86rem;font-weight:700;display:grid}.ticket-card.active .ticket-avatar,.ticket-avatar.lg{background:var(--primary-container);color:#fff}.ticket-card.closed .ticket-avatar{color:var(--color-text-muted)}.ticket-avatar.lg{width:44px;height:44px;font-size:.95rem}.ticket-avatar.sm{width:32px;height:32px;font-size:.75rem}.ticket-body{flex:1;min-width:0}.ticket-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;display:flex}.ticket-name{text-overflow:ellipsis;white-space:nowrap;color:var(--primary);font-size:.97rem;font-weight:700;overflow:hidden}.ticket-time{font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0;font-size:.79rem}.ticket-chips{flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem;display:flex}.ticket-chips .chip-tone{padding:.1rem .5rem;font-size:.72rem}.ticket-subject{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);margin:0 0 .35rem;font-size:.93rem;overflow:hidden}.ticket-foot{color:var(--color-text-muted);justify-content:space-between;gap:.5rem;font-size:.8rem;display:flex}.ticket-id{font-family:var(--font-mono)}.ws-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem .75rem;display:flex}.ws-id{flex:280px;align-items:center;gap:.75rem;min-width:0;display:flex}.ws-id-text{min-width:0}.ws-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ws-title h2{letter-spacing:-.01em;margin:0;font-size:1.2rem;font-weight:700}.ws-sub{color:var(--color-text-muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:.2rem .7rem;margin-top:.15rem;font-size:.88rem;display:flex}.ws-sub strong,.ws-context strong{color:var(--color-text);font-weight:600}.ws-actions{flex-wrap:wrap;gap:.4rem;display:flex}.ws-back{display:none}.ws-context{background:var(--color-surface-low);border-radius:var(--radius);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin:0 1.1rem .75rem;padding:.6rem .85rem;font-size:.88rem;display:flex}.ws-phone{align-items:center;gap:.3rem;display:inline-flex}.ws-context-end{align-items:center;gap:.7rem;margin-left:auto;display:inline-flex}button.link-btn{min-height:0;color:var(--primary-container);box-shadow:none;background:0 0;border:0;align-items:center;gap:.25rem;padding:0;font-size:.86rem;display:inline-flex}button.link-btn:hover:not(:disabled){color:var(--pine);box-shadow:none;background:0 0;text-decoration:underline}.ws-tabs{border-bottom:1px solid var(--color-border);gap:.25rem;padding:0 1.1rem;display:flex}.ws-tabs button{min-height:0;color:var(--color-text-muted);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.9rem;display:inline-flex}.ws-tabs button:hover:not(:disabled),.ws-tabs button:active:not(:disabled){color:var(--primary);box-shadow:none;background:0 0}.ws-tabs button[aria-selected=true],.ws-tabs button[aria-selected=true]:hover:not(:disabled){color:var(--primary);border-bottom-color:var(--gold-bright)}.ws-timeline{background:var(--color-bg);flex-direction:column;flex:1;gap:.9rem;min-height:0;padding:1rem 1.1rem;display:flex;overflow-y:auto}.ws-marker{background:var(--color-surface-container);color:var(--color-label);letter-spacing:.04em;text-align:center;text-transform:uppercase;border-radius:999px;align-self:center;padding:.2rem .8rem;font-size:.76rem;font-weight:700}.ws-none{text-align:center;margin:1rem 0}.ws-entry{flex-direction:column;gap:.9rem;display:flex}.ws-msg{gap:.6rem;max-width:85%;animation:.2s ease-out fadeInUp;display:flex}.ws-msg.from-staff{flex-direction:row-reverse;align-self:flex-end}.ws-msg .ticket-avatar.sm{margin-top:.15rem}.ws-msg.from-contact .ticket-avatar.sm{background:var(--primary-container);color:#fff}.ws-msg.from-staff .ticket-avatar.sm{background:var(--pine);color:#fff}.ws-msg.from-staff.mine .ticket-avatar.sm{background:var(--primary)}.ws-msg-col{flex-direction:column;min-width:0;display:flex}.from-staff .ws-msg-col{align-items:flex-end}.ws-msg-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.from-staff .ws-msg-meta{flex-direction:row-reverse}.ws-msg-name{letter-spacing:.03em;text-transform:uppercase;color:var(--primary);font-size:.78rem;font-weight:700}.ws-msg-time{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.78rem}.ws-bubble{box-shadow:var(--shadow-sm);overflow-wrap:anywhere;border-radius:16px;padding:.7rem .95rem;line-height:1.55}.ws-bubble p{white-space:pre-wrap;margin:0;font-size:.95rem}.from-contact .ws-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-top-left-radius:4px}.from-staff .ws-bubble{background:var(--teal-tint);color:var(--primary);border-top-right-radius:4px}.from-staff.mine .ws-bubble{background:var(--primary-container);color:#fff}.ws-source{opacity:.75;margin-top:.3rem;font-size:.78rem;display:block}.ws-notes{gap:.75rem;width:100%;display:grid}.ws-notes article{border-left:3px solid var(--gold-bright);border-radius:0 var(--radius) var(--radius) 0;background:var(--gold-tint);overflow-wrap:anywhere;padding:.9rem 1rem}.ws-notes article p{margin:.25rem 0 0}.ws-composer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:.8rem 1.1rem 1rem}.ws-composer-box{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-low);padding:.4rem;transition:border-color .15s,box-shadow .15s,background .15s}.ws-composer-box:focus-within{border-color:var(--primary-container);box-shadow:var(--ring);background:#fff}.ws-composer-box textarea,.ws-composer-box textarea:focus{box-shadow:none;resize:none;background:0 0;border:0;min-height:3rem}.ws-composer-foot{justify-content:space-between;align-items:center;gap:.75rem;padding:.2rem .3rem .1rem .6rem;display:flex}.ws-hint{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.78rem}.ws-closed{border-top:1px solid var(--color-border);background:var(--color-surface-low);text-align:center;color:var(--color-text-muted);padding:.9rem;font-size:.9rem;font-weight:600}@media (width<=1100px){.support-split{grid-template-columns:1fr;height:clamp(520px,100vh - 260px,820px)}.support-split.has-selection .ticket-queue,.support-split:not(.has-selection) .ticket-workspace{display:none}.ws-back{display:inline-flex}}@media (width<=600px){.ws-msg{max-width:95%}.ws-context-end{margin-left:0}}.login-shell{background:var(--color-bg);grid-template-columns:minmax(340px,5fr) 7fr;min-height:100vh;display:grid}.login-brand{background:linear-gradient(160deg, var(--primary) 0%, var(--primary-container) 100%);color:#fff;flex-direction:column;justify-content:space-between;gap:2rem;padding:2.2rem 2.4rem;display:flex}.login-brand-top{align-items:center;gap:.75rem;display:flex}.login-brand-copy{max-width:420px}.login-brand-copy h2{letter-spacing:-.02em;color:#fff;margin:0 0 .8rem;font-size:1.9rem;font-weight:700;line-height:1.2}.login-brand-copy p{color:#ffffffb8;margin:0;font-size:1.05rem;line-height:1.55}.login-panel{place-items:center;padding:1.5rem;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow);padding:2rem 1.8rem}.login-logo{width:168px;height:auto;margin:.2rem auto .6rem;display:block}.login-kicker{text-align:center;letter-spacing:.14em;color:var(--color-text-muted);margin:0 0 1.4rem;font-size:.72rem;font-weight:700}@media (width<=860px){.login-shell{grid-template-columns:1fr}.login-brand{padding:1.2rem 1.4rem}.login-brand-copy,.login-brand .modoro-credit{display:none}}.form-row{align-items:end;gap:.7rem;margin:0 0 1.25rem;display:grid}.form-row-5{grid-template-columns:2fr 1fr 1fr 1fr auto}.form-row-6{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}@media (width<=960px){.form-row-5,.form-row-6{grid-template-columns:1fr 1fr}}@media (width<=560px){.form-row-5,.form-row-6{grid-template-columns:1fr}}@media (width<=760px){.admin-main table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}}@media (width<=640px){.course-head-actions{flex-basis:100%;align-items:stretch}.course-head-buttons{justify-content:flex-start}}
