@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=Crimson+Pro:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap";.google-link-prompt{border:1px solid var(--ledger-line, rgba(27, 37, 64, .2));border-radius:10px;padding:18px 18px 14px;margin-bottom:18px;background:var(--ledger-card-lift, rgba(255, 255, 255, .72))}.google-link-title{margin:0 0 6px;font-size:1rem;line-height:1.3;color:var(--ledger-ink, #1b2540)}.google-link-text{margin:0 0 14px;font-size:.87rem;line-height:1.55;color:var(--ledger-ink-soft, #55607a)}.google-link-text strong{color:var(--ledger-ink, #1b2540);word-break:break-all}.google-link-cancel{display:block;width:100%;margin-top:10px;padding:4px;background:none;border:none;cursor:pointer;font:inherit;font-size:.82rem;color:var(--ledger-ink-soft, #55607a);text-align:center}.google-link-cancel:hover,.google-link-cancel:focus-visible{color:var(--ledger-ink, #1b2540);text-decoration:underline}.auth-hidden{display:none!important}.auth-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.1;pointer-events:none;z-index:1}.main-layout{display:flex;min-height:100vh;background:var(--ledger-paper)}.sidebar-toggle{display:none;position:fixed;top:12px;left:12px;z-index:200;width:40px;height:40px;border:none;border-radius:var(--radius-md);background:var(--ledger-cover-2);color:#fff;cursor:pointer;align-items:center;justify-content:center;padding:8px;box-shadow:0 2px 8px #00000026}.sidebar-toggle:hover{background:var(--ledger-ink-blue)}.hamburger{display:flex;flex-direction:column;gap:4px;width:20px;height:20px;justify-content:center;align-items:center}.hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:98}.sidebar{width:280px;background:linear-gradient(165deg,var(--ledger-cover-1) 0%,var(--ledger-cover-2) 100%);color:var(--ledger-cover-text);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;box-shadow:4px 0 18px #0000002e}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.12;pointer-events:none}.sidebar:after{content:"";position:absolute;top:0;bottom:0;right:10px;width:0;border-right:1px dashed rgba(255,255,255,.14)}.sidebar-header{position:relative;padding:30px 26px 22px;border-bottom:1px solid var(--ledger-cover-line)}.sidebar-logo-lockup{display:flex;align-items:center;gap:11px}.sidebar-logo{font-family:var(--font-display);font-size:27px;font-weight:600;margin:0;letter-spacing:-.01em;background:linear-gradient(135deg,#ffffff 0%,var(--ledger-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo-mark{width:36px;height:36px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.sidebar-subtitle{font-family:var(--font-mono-ledger);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;margin:6px 0 0}.sidebar-nav{position:relative;flex:1;padding:16px 0;overflow-y:auto}.nav-section-label{font-family:var(--font-mono-ledger);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;padding:14px 26px 6px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 22px 10px 26px;margin:2px 12px;color:#ffffffbf;text-decoration:none;border-radius:4px;font-size:13.5px;font-weight:500;transition:background .15s ease,color .15s ease}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#e4c98924;color:#fff;font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:5px;background:var(--ledger-gold);border-radius:0 2px 2px 0;box-shadow:0 0 0 1px #00000026}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon-img{width:18px;height:18px;object-fit:contain;filter:brightness(.85);transition:filter .15s}.nav-item:hover .nav-icon-img,.nav-item.active .nav-icon-img{filter:brightness(1.1)}.nav-label{flex:1}.nav-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:var(--ledger-gold);color:#2a2416;font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;line-height:1}.nav-badge.leaving{animation:nav-badge-leave .5s ease 1s forwards}@keyframes nav-badge-leave{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.82);visibility:hidden}}.sidebar-footer{position:relative;padding:18px 22px 22px;border-top:1px solid var(--ledger-cover-line)}.sidebar-footer .btn-outline{display:block;width:100%;text-align:center;background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#ffffffd9;font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:4px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.sidebar-footer .btn-outline:hover{border-color:#fff;background:#ffffff14}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.user-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--ledger-gold) 0%,var(--ledger-kraft-dark) 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ledger-cover-1);flex-shrink:0}.user-details{flex:1;min-width:0}.user-name{margin:0;font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{margin:2px 0 0;font-family:var(--font-mono-ledger);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73}.main-content{flex:1;margin-left:280px;min-height:100vh;background-image:repeating-linear-gradient(0deg,rgba(30,42,58,.045) 0px,rgba(30,42,58,.045) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(90deg,rgba(30,42,58,.045) 0px,rgba(30,42,58,.045) 1px,transparent 1px,transparent 32px);background-color:var(--ledger-paper)}.content-header{display:flex;justify-content:space-between;align-items:center;padding:14px 32px;background-color:var(--ledger-card);border-bottom:1px solid var(--ledger-line);position:sticky;top:0;z-index:100}.header-spacer{flex:1}.content-container{padding:40px 32px 80px;max-width:1080px;margin:0 auto}.page-header h1{font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:var(--spacing-2);color:var(--text-primary)}.page-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-6);margin-bottom:var(--spacing-8)}.stat-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-6);transition:all .2s}.stat-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-2)}.stat-value{font-size:var(--text-5xl);font-weight:700;color:var(--primary-color);font-family:var(--font-heading);line-height:1}.stat-change{font-size:var(--text-sm);margin-top:var(--spacing-2);display:flex;align-items:center;gap:var(--spacing-1)}.stat-change.positive{color:var(--success-color)}.stat-change.negative{color:var(--danger-color)}.section{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:2px solid var(--primary-color)}.section-title{font-family:var(--font-heading);font-size:var(--text-2xl);margin:0;color:var(--text-primary)}.section-actions{display:flex;gap:var(--spacing-3)}@media (max-width: 1200px){.content-container{padding:var(--spacing-6)}.page-header h1{font-size:var(--text-3xl)}}@media (max-width: 1024px){.sidebar{width:240px}.main-content{margin-left:240px}.nav-item{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.content-container{padding:var(--spacing-5)}.sidebar-logo{font-size:var(--text-2xl)}.sidebar-logo-mark{width:30px;height:30px}.sidebar-header{padding:var(--spacing-6) var(--spacing-4)}}@media (max-width: 900px){.sidebar-toggle{display:flex}.sidebar-backdrop{display:block}.sidebar{transform:translate(-100%);transition:transform .3s ease;width:280px}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.content-container{padding:var(--spacing-5);padding-top:64px}.content-header{padding:var(--spacing-3) var(--spacing-5);padding-left:64px}.page-header h1{font-size:var(--text-2xl)}.page-subtitle{font-size:var(--text-base)}.stat-value{font-size:var(--text-4xl)}}@media (max-width: 768px){.sidebar-toggle{display:flex}.sidebar-backdrop{display:block}.sidebar{transform:translate(-100%);transition:transform .3s ease;width:280px}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding-top:0}.content-container{padding:var(--spacing-4);padding-top:60px}.content-header{padding:var(--spacing-3) var(--spacing-4);padding-left:60px}.stats-grid{grid-template-columns:1fr;gap:var(--spacing-4)}.page-header h1{font-size:var(--text-2xl)}.page-subtitle{font-size:var(--text-base)}.stat-value{font-size:var(--text-4xl)}}@media (max-width: 480px){.content-container{padding:var(--spacing-3);padding-top:56px}.content-header{padding:var(--spacing-2) var(--spacing-3);padding-left:52px}.page-header{margin-bottom:var(--spacing-4)}.page-header h1{font-size:var(--text-xl)}}.dashboard-page{padding-bottom:var(--spacing-12)}.stamp-date{flex-shrink:0;font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--ledger-red);border:2px solid var(--ledger-red);border-radius:4px;padding:8px 10px;text-align:center;line-height:1.5;transform:rotate(-5deg);position:relative;overflow:hidden;background:#a5342a08}.stamp-date:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:multiply;opacity:.5;pointer-events:none}.stamp-date span{display:block}.content-row{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.reg-card{margin-top:14px}.reg-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}.reg-hint{margin:0;font-size:.8125rem;color:var(--ledger-ink-soft)}.reg-row{display:flex;align-items:center;gap:8px}.reg-row input{flex:1;min-width:0;padding:8px 10px;font-family:var(--font-mono-ledger);font-size:.75rem;color:var(--ledger-ink);background:var(--ledger-paper);border:1px solid var(--ledger-line);border-radius:3px}.reg-count{margin:0;font-family:var(--font-mono-ledger);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ledger-ink-soft)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 18px;margin-bottom:36px}.stat-card{position:relative;background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:30px 18px 20px;transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1e2a3a14}a.stat-card{display:block;color:inherit;text-decoration:none}.stat-card:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:3px}.stat-go{position:absolute;top:14px;right:14px;line-height:1;font-size:14px;color:var(--ledger-ink-soft);opacity:0;transform:translate(-3px);transition:opacity .15s ease,transform .15s ease}.stat-card:hover .stat-go,.stat-card:focus-visible .stat-go{opacity:1;transform:translate(0)}.stat-tab{position:absolute;top:-13px;left:14px;background:var(--ledger-kraft);color:#3a2e17;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px 5px;border-radius:4px 4px 0 0;box-shadow:0 1px #ffffff40 inset}.stat-value{font-family:var(--font-display-ledger);font-size:40px;font-weight:600;line-height:1;color:var(--ledger-ink);margin-bottom:8px}.stat-value.amber{color:var(--ledger-amber)}.stat-value.red{color:var(--ledger-red)}.stat-value.green{color:var(--ledger-green)}.stat-value.blue{color:var(--ledger-ink-blue)}.stat-delta{font-family:var(--font-mono-ledger);font-size:11px;color:var(--ledger-ink-soft)}.card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:6px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--ledger-line)}.card-title{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink-soft)}.card-link{font-family:var(--font-mono-ledger);font-size:11px;color:var(--ledger-ink-blue);text-decoration:none;font-weight:600}.card-link:hover{text-decoration:underline}.ledger{position:relative;padding-left:40px}.ledger:before{content:"";position:absolute;top:0;bottom:0;left:30px;width:1px;background:#a5342a47}.exam-row{display:flex;align-items:center;gap:14px;padding:13px 18px 13px 0;border-bottom:1px solid var(--ledger-line-soft);text-decoration:none;color:inherit;transition:background .15s ease}.exam-row:last-child{border-bottom:none}.exam-row:hover{background:#2c42700b}.exam-info{flex:1;min-width:0}.exam-name{font-size:14px;font-weight:600;color:var(--ledger-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.exam-meta{font-family:var(--font-mono-ledger);font-size:10.5px;color:var(--ledger-ink-soft)}.stamp{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono-ledger);font-weight:700;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border:2px solid currentColor;border-radius:3px;white-space:nowrap;flex-shrink:0;overflow:hidden}.stamp:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:multiply;opacity:.4;pointer-events:none}.note-card{position:relative}.note-card:before,.note-card:after{content:"";position:absolute;top:-6px;width:9px;height:9px;border-radius:50%;background:#b7b2a4;box-shadow:inset 0 1px 1px #00000040,0 1px #ffffff4d}.note-card:before{left:22px}.note-card:after{right:22px}.empty-state-ledger{padding:34px 18px;text-align:center;color:var(--ledger-ink-soft);font-size:13px}@media (max-width: 1024px){.content-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px}.stat-value{font-size:32px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.stat-card,.exam-row{transition:none!important}}.dashboard-page a:focus-visible,.dashboard-page .btn:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:2px}.upgrade-cta{margin-left:auto;display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 14px;border:1px solid var(--ledger-rule, #d8d2c4);border-radius:4px;background:var(--ledger-paper, #fffdf8);text-decoration:none;line-height:1.2;transition:border-color .15s ease,transform .15s ease}.upgrade-cta:hover{border-color:var(--ledger-ink-blue, #1f3a5f);transform:translateY(-1px)}.upgrade-cta-label{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-faint, #8a8377)}.upgrade-cta-action{font-size:.8125rem;font-weight:600;color:var(--ledger-ink-blue, #1f3a5f)}@media (max-width: 640px){.upgrade-cta{margin-left:0;align-items:flex-start}}.invite-card{margin:0 0 32px;padding:20px 24px;border:1px solid var(--ledger-line, #d8dbe2);border-left:4px solid var(--accent-amber, #c98a1b);border-radius:12px;background:var(--surface, #fff)}.invite-card-row{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:space-between}.invite-card-text{flex:1 1 420px;min-width:0}.invite-card-text p{margin:6px 0 0;font-size:.9rem;line-height:1.55;color:var(--ink-soft, #55606f)}.invite-card-expiry{font-size:.8rem}.invite-card-actions{display:flex;gap:10px;flex-shrink:0}.invite-card-note{margin:14px 0 0;font-size:.9rem;color:var(--ledger-green, #1d6b34)}.invite-card-error{margin:14px 0 0;font-size:.9rem;color:var(--ledger-red, #8a2020)}.exams-page{max-width:var(--content-max-width, 1200px);margin:0 auto}.page-header h1{font-family:var(--font-display-ledger);font-size:var(--text-2xl);font-weight:600;color:var(--ledger-ink-blue);margin:0 0 2px}.page-subtitle{font-size:13px;color:var(--ledger-ink-soft);margin:0;font-family:var(--font-body)}.folder-tabs{display:flex;gap:6px;position:relative;z-index:2;padding-left:6px}.folder-tab{font-family:var(--font-mono-ledger);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:11px 22px 13px;border:1px solid var(--ledger-line);border-bottom:none;border-radius:8px 8px 0 0;background:var(--ledger-kraft);color:#3a2e17;cursor:pointer;position:relative;top:3px;opacity:.82;transition:opacity .15s ease,top .15s ease,background .15s ease}.folder-tab:hover{opacity:.95}.folder-tab.active{background:var(--ledger-card);color:var(--ledger-ink);top:0;opacity:1;box-shadow:0 -3px 8px #1e2a3a0d;z-index:3}.tab-icon{width:14px;height:14px;vertical-align:middle;margin-right:6px;object-fit:contain;position:relative;top:-1px}.btn-icon{width:14px;height:14px;vertical-align:middle;margin-right:4px;object-fit:contain;position:relative;top:-1px}.folder-body{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:0 8px 8px;padding:26px;position:relative;z-index:1}.empty-state{text-align:center;padding:3rem 2rem}.empty-state h2{font-family:var(--font-display-ledger);font-size:var(--text-lg);font-weight:600;color:var(--ledger-ink);margin-bottom:8px}.empty-state p{color:var(--ledger-ink-soft);font-size:var(--text-base);margin-bottom:16px}.exam-card{position:relative;background:#fcfbf7;border:1px solid var(--ledger-line);border-radius:8px 8px 2px;padding:18px 18px 16px 22px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s ease,box-shadow .15s ease;overflow:hidden}.exam-card:hover{border-color:var(--ledger-ink-blue);box-shadow:0 2px 8px #1e2a3a0f}.exam-indicator{position:absolute;left:0;top:0;bottom:0;width:4px}.spine-active{background:var(--ledger-amber)}.spine-scheduled{background:var(--ledger-ink-blue)}.spine-draft{background:var(--ledger-grey)}.spine-completed{background:var(--ledger-green)}.spine-archived{background:var(--ledger-ink-soft)}.exam-card-header h3{font-family:var(--font-display-ledger);font-size:17px;font-weight:600;color:var(--ledger-ink);margin:0;flex:1;line-height:var(--leading-snug)}.exam-description{color:var(--ledger-ink-soft);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exam-meta{display:flex;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ledger-line-soft);font-family:var(--font-mono-ledger);font-size:10.5px;color:var(--ledger-ink-soft)}.meta-item{font-size:10.5px;color:var(--ledger-ink-soft);font-family:var(--font-mono-ledger)}.meta-item:after{content:"·";margin:0 7px;color:var(--ledger-line)}.meta-item:last-child:after{content:none}.exam-stats{display:flex;gap:16px;padding:8px 12px;background:#cba87624;border-radius:4px;font-family:var(--font-mono-ledger);font-size:11px;color:var(--ledger-ink-soft)}.exam-stats b{color:var(--ledger-kraft-dark)}.exam-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--ledger-line-soft);flex-wrap:wrap}.loading-spinner{text-align:center;padding:4rem 2rem;font-size:var(--text-lg);color:var(--ledger-ink-soft)}.error-message h2{color:var(--ledger-red);margin-bottom:1rem;font-family:var(--font-display-ledger)}.error-message p{color:var(--ledger-ink-soft);margin-bottom:1.5rem}@media (max-width: 768px){.exams-grid{grid-template-columns:1fr}.page-header{flex-direction:column;gap:12px}.folder-tab{padding:9px 14px 11px;font-size:10px}.folder-body{padding:18px}.exam-card-actions{flex-direction:column}.exam-card-actions .btn{width:100%}}@media (prefers-reduced-motion: reduce){.exam-card,.folder-tab{transition:none!important}}.exams-page a:focus-visible,.exams-page .btn:focus-visible,.exams-page .folder-tab:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:2px}.exams-page{max-width:var(--content-max-width);margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-header h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary-900);letter-spacing:var(--tracking-tight);margin:0 0 2px}.page-subtitle{font-size:13px;color:var(--color-gray-2);margin:0;font-family:var(--font-body)}.filter-bar{display:flex;gap:12px;margin-bottom:20px;padding:12px 16px;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap}.filter-group select{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast)}.filter-group select:focus{outline:none;border-color:var(--color-accent-500);box-shadow:0 0 0 2px var(--color-accent-500)}.empty-state{text-align:center;padding:4rem 2rem}.empty-state h2{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:8px;font-family:var(--font-display);font-weight:var(--font-semibold)}.empty-state p{color:var(--color-gray-3);font-size:var(--text-base);margin-bottom:16px}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.exam-card{position:relative;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--transition-fast)}.exam-card:hover{border-color:var(--color-gray-4)}.exam-indicator{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.exam-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.exam-card-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;flex:1;line-height:var(--leading-snug)}.exam-description{color:var(--color-gray-3);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exam-meta{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px;border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-gray-2)}.meta-item{font-size:var(--text-sm);color:var(--color-gray-2)}.exam-stats{display:flex;gap:16px;padding:8px 12px;background:var(--color-surface);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-gray-2)}.exam-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--color-border)}.loading-spinner{text-align:center;padding:4rem 2rem;font-size:var(--text-lg);color:var(--color-gray-3)}.error-message{text-align:center;padding:3rem 2rem}.error-message h2{color:var(--color-error-600);margin-bottom:1rem;font-family:var(--font-display)}.error-message p{color:var(--color-gray-3);margin-bottom:1.5rem}@media (max-width: 768px){.exams-grid{grid-template-columns:1fr}.page-header{flex-direction:column;gap:12px}.filter-bar{flex-wrap:wrap}}@media (max-width: 768px){.exams-grid{grid-template-columns:1fr}.page-header{flex-direction:column;gap:1rem}.filter-bar,.exam-card-actions{flex-direction:column}.exam-card-actions .btn{width:100%}}.exam-filter-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding:10px 14px;background:var(--ledger-kraft-tint);border:1px solid var(--ledger-line);border-left:3px solid var(--ledger-kraft);border-radius:4px;font-size:var(--text-sm);color:var(--ledger-ink-soft)}.exam-filter-text strong{color:var(--ledger-ink)}.exam-filter-clear{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-blue);text-decoration:none;border-bottom:1px solid currentColor}.exam-filter-clear:hover{color:var(--ledger-ink)}.crop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:#18140e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.crop-dialog{display:flex;flex-direction:column;width:min(880px,100%);max-height:min(90vh,820px);background:var(--ledger-paper, #faf7f0);border:1px solid var(--ledger-line, #d9d2c2);border-radius:8px;box-shadow:0 24px 60px #00000047;overflow:hidden}.crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ledger-line, #d9d2c2)}.crop-head h3{margin:0;font-size:1rem}.crop-sub{margin:4px 0 0;font-size:.78rem;opacity:.7;word-break:break-all}.crop-close{border:none;background:none;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px;color:inherit;opacity:.7}.crop-close:hover{opacity:1}.crop-stage{position:relative;flex:1 1 auto;min-height:320px;background:#1b1b1b}.crop-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--ledger-line, #d9d2c2)}.crop-aspects{display:flex;gap:6px;flex-wrap:wrap}.crop-aspect{padding:5px 10px;font-size:.78rem;border:1px solid var(--ledger-line, #d9d2c2);border-radius:4px;background:transparent;color:inherit;cursor:pointer}.crop-aspect.is-active{border-color:var(--ledger-ink, #2a2620);background:var(--ledger-ink, #2a2620);color:#fff}.crop-zoom{display:flex;align-items:center;gap:8px;font-size:.78rem;min-width:200px}.crop-zoom input[type=range]{flex:1}.crop-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--ledger-line, #d9d2c2);background:#00000008}.crop-actions-right{display:flex;gap:8px}@media (max-width: 560px){.crop-stage{min-height:240px}.crop-actions{flex-direction:column-reverse;align-items:stretch}.crop-actions-right{justify-content:flex-end}}.qws{display:flex;flex-direction:column;gap:12px;margin-top:8px}.qws-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--ledger-line)}.qws-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.qws-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--ledger-line);border-radius:999px;background:var(--ledger-card-lift);color:var(--ledger-ink-soft);font-size:11.5px;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.qws-filter:hover{border-color:var(--ledger-ink-soft);color:var(--ledger-ink)}.qws-filter.is-active{background:var(--ledger-green);border-color:var(--ledger-green);color:#fff}.qws-filter:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:1px}.qws-count{font-family:var(--font-mono-ledger);font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--ledger-kraft-tint);color:var(--ledger-ink)}.qws-filter.is-active .qws-count{background:#ffffff38;color:#fff}.qws-total{display:flex;align-items:baseline;gap:8px;padding:6px 12px;border:1px solid var(--ledger-line);border-radius:8px;background:var(--ledger-kraft-tint);white-space:nowrap}.qws-total-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-soft)}.qws-total-value{font-family:var(--font-mono-ledger);font-size:17px;font-weight:700;color:var(--ledger-ink-blue)}.qws-add{display:flex;align-items:center;gap:8px}.qws-type-picker{display:flex;flex-wrap:wrap;gap:6px}.qws-type-chip{padding:7px 11px;border:1px dashed var(--ledger-line-dash);border-radius:8px;background:var(--ledger-card-lift);color:var(--ledger-ink);font-size:11.5px;font-weight:600;cursor:pointer}.qws-type-chip:hover{border-style:solid;border-color:var(--ledger-green);color:var(--ledger-green-dark, var(--ledger-green))}.qws-type-chip--cancel{color:var(--ledger-ink-soft);border-style:solid}.qws-list{display:flex;flex-direction:column;gap:8px}.qws-row{border:1px solid var(--ledger-line);border-radius:10px;background:var(--ledger-card-lift);overflow:hidden}.qws-row.is-open{border-color:var(--ledger-ink-soft)}.qws-row--draft{border-style:dashed;background:var(--ledger-kraft-tint)}.qws-row-summary{display:flex;align-items:center;gap:8px;padding:8px 10px}.qws-row-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 2px;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.qws-row-toggle--static{cursor:default}.qws-row-toggle:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:2px;border-radius:6px}.qws-num{flex:0 0 auto;min-width:38px;font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;color:var(--ledger-ink-soft)}.qws-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.qws-row-text{font-size:12.5px;font-weight:600;color:var(--ledger-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qws-row-text--muted{color:var(--ledger-ink-soft);font-weight:500}.qws-row-meta{display:flex;flex-wrap:wrap;gap:5px}.qws-stamp{font-family:var(--font-mono-ledger);font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:999px;background:var(--ledger-paper);color:var(--ledger-ink-soft)}.qws-stamp--easy{color:var(--ledger-green)}.qws-stamp--medium{color:var(--ledger-amber)}.qws-stamp--hard{color:var(--ledger-red)}.qws-stamp--new{background:var(--ledger-green);color:#fff}.qws-points{flex:0 0 auto;font-family:var(--font-mono-ledger);font-size:11.5px;font-weight:700;color:var(--ledger-ink-blue)}.qws-row-actions{display:flex;gap:6px;flex:0 0 auto}.qws-panel{border-top:1px dashed var(--ledger-line-dash);background:var(--ledger-paper)}.qws-editor{display:flex;flex-direction:column;gap:12px;padding:14px}.qws-field{display:flex;flex-direction:column;gap:6px;min-width:0}.qws-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.qws-label{font-size:10.5px;font-weight:700;color:var(--ledger-ink)}.qws-optional{font-weight:500;color:var(--ledger-ink-soft)}.qws-help{margin:0;font-size:10.5px;color:var(--ledger-ink-soft)}.qws-error{margin:0;padding:8px 10px;border:1px solid var(--ledger-red);border-radius:7px;background:#a5342a0f;color:var(--ledger-red);font-size:11.5px;font-weight:600}.qws-editor input[type=text],.qws-editor input[type=number],.qws-editor textarea,.qws-editor select{width:100%;padding:8px 9px;border:1px solid var(--ledger-line);border-radius:7px;background:var(--ledger-card-lift);color:var(--ledger-ink);font-family:inherit;font-size:12px}.qws-editor textarea{resize:vertical;min-height:60px}.qws-editor input:focus,.qws-editor textarea:focus,.qws-editor select:focus{outline:none;border-color:var(--ledger-green);box-shadow:0 0 0 3px #3d68561a}.qws-choice{display:flex;align-items:center;gap:8px}.qws-choice-radio{flex:0 0 auto;width:15px;height:15px;accent-color:var(--ledger-green);cursor:pointer}.qws-choice-letter{flex:0 0 auto;min-width:20px;font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;color:var(--ledger-ink-soft);text-align:center}.qws-remove{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--ledger-line);border-radius:7px;background:var(--ledger-card-lift);color:var(--ledger-red);font-size:15px;line-height:1;cursor:pointer}.qws-remove:hover{border-color:var(--ledger-red)}.qws-order-toggle{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;border:1px solid var(--ledger-line-soft);border-radius:8px;background:var(--ledger-card-lift);font-size:13px;color:var(--ledger-ink);cursor:pointer}.qws-order-toggle input{margin-top:2px;flex:0 0 auto;cursor:pointer}.qws-order-toggle span{display:flex;flex-direction:column;gap:2px;line-height:1.4}.qws-order-toggle small{font-size:11.5px;color:var(--ledger-ink-soft)}.qws-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--ledger-line)}.qws-radio-row{display:flex;flex-wrap:wrap;gap:8px}.qws-radio{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--ledger-line);border-radius:8px;background:var(--ledger-card-lift);font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.06em;cursor:pointer}.qws-radio input{accent-color:var(--ledger-green);cursor:pointer}.qws-radio.is-selected{border-color:var(--ledger-green);background:#3d685614;color:var(--ledger-green-dark, var(--ledger-green))}.qws-required-mark{color:var(--ledger-red);margin-left:3px}.qws-editor input:disabled,.qws-editor textarea:disabled,.qws-editor select:disabled{background:var(--ledger-paper);color:var(--ledger-ink-soft);cursor:not-allowed;opacity:.7}.qws-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;border:1px dashed var(--ledger-line-dash);border-radius:10px;background:var(--ledger-card-lift);text-align:center}.qws-empty p{margin:0;font-size:12.5px;font-weight:600;color:var(--ledger-ink-soft)}@media (max-width: 720px){.qws-bar{align-items:stretch}.qws-total{justify-content:space-between}.qws-field-row{grid-template-columns:1fr}.qws-row-summary{flex-wrap:wrap}.qws-row-actions{width:100%;justify-content:flex-end}}.qws-image{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;padding:12px;border:1px solid var(--ledger-line);border-radius:6px;background:var(--ledger-paper, #faf7f0)}.qws-image-preview{display:block;max-width:260px;max-height:200px;width:auto;height:auto;object-fit:contain;border:1px solid var(--ledger-line);border-radius:4px;background:#fff}.qws-image-body{display:flex;flex-direction:column;gap:8px;flex:1 1 260px;min-width:0}.qws-image-body input[type=text]{width:100%}.qws-image-actions{display:flex;gap:8px;flex-wrap:wrap}.qws-image-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.class-records-page{display:flex;flex-direction:column;gap:18px}.cr-page-actions{display:flex;justify-content:flex-end;gap:8px}.cr-panel{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:4px;padding:16px 18px}.cr-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 960px){.cr-layout{grid-template-columns:minmax(0,1fr)}}.cr-panel-title{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;color:var(--ledger-kraft-dark);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.cr-class-list{display:flex;flex-direction:column;gap:4px;max-height:440px;overflow-y:auto;margin:0 -6px;padding:0 6px}.cr-class-item{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:9px 11px;border:1px solid transparent;border-left:3px solid transparent;border-radius:4px;background:transparent;font:inherit;color:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.cr-class-item:hover{background:var(--ledger-kraft-tint)}.cr-class-item.active{background:var(--ledger-kraft-tint);border-color:var(--ledger-line);border-left-color:var(--ledger-ink-blue)}.cr-class-item:focus-visible{outline:2px solid var(--ledger-kraft-dark);outline-offset:1px}.cr-class-name{font-size:13.5px;font-weight:600;color:var(--ledger-ink)}.cr-class-meta{font-size:11.5px;color:var(--ledger-ink-soft)}.cr-class-meta:last-child{font-family:var(--font-mono-ledger);font-size:10.5px}.cr-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;margin-bottom:14px;background:var(--ledger-kraft-tint);border:1.5px dashed var(--ledger-kraft-dark);border-radius:6px}.cr-toolbar-field{display:flex;flex-direction:column;gap:4px}.cr-toolbar-field label,.cr-field label{font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;color:var(--ledger-kraft-dark);text-transform:uppercase;letter-spacing:.06em}.cr-toolbar-note{flex-basis:100%;font-size:11.5px;font-style:italic;color:var(--ledger-ink-soft)}.cr-config-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin-bottom:14px;background:var(--ledger-kraft-tint);border:1.5px dashed var(--ledger-kraft-dark);border-radius:6px}.cr-config-note{flex:1 1 260px;font-size:11.5px;font-style:italic;color:var(--ledger-ink-soft)}.cr-config-bar .cr-btn.small{flex:0 0 auto;white-space:nowrap}.cr-toolbar input,.cr-toolbar select,.cr-field input,.cr-field select,.cr-mapping-row input,.cr-mapping-row select,.class-records-page input[type=file]{padding:8px 11px;min-width:128px;font:inherit;font-size:13px;color:var(--ledger-ink);background:#fff;border:1px solid var(--ledger-line);border-radius:4px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.cr-toolbar input:focus,.cr-toolbar select:focus,.cr-field input:focus,.cr-field select:focus,.cr-mapping-row input:focus,.cr-mapping-row select:focus{border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.cr-table-wrap{overflow-x:auto}.cr-table{width:100%;border-collapse:collapse}.cr-table thead{background:var(--ledger-kraft-tint);border-bottom:1.5px solid var(--ledger-kraft-dark)}.cr-table th{padding:10px 12px;text-align:left;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;color:var(--ledger-kraft-dark);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.cr-table tbody tr{border-bottom:1px solid var(--ledger-line-soft);transition:background var(--transition-fast)}.cr-table tbody tr:nth-child(2n){background:#1e2a3a04}.cr-table tbody tr:hover{background:#2c42700a}.cr-table td{padding:10px 12px;font-size:var(--text-sm);color:var(--ledger-ink);vertical-align:middle}.cr-table code,.cr-slip{font-family:var(--font-mono-ledger)}.cr-id-chip{font-family:var(--font-mono-ledger);font-size:var(--text-sm);color:var(--ledger-ink);background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);padding:2px 7px;border-radius:3px}.cr-override{font-weight:600;color:var(--ledger-ink)}.cr-inherited,.cr-muted{color:var(--ledger-ink-soft)}.cr-muted{font-style:italic}.cr-preview-table td{font-size:12.5px}.cr-manual-table td{padding:6px 8px}.cr-manual-table input{width:100%;min-width:0;padding:6px 9px;font-family:var(--font-mono-ledger);font-size:12px}.cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 13px;font-family:var(--font-mono-ledger);font-size:12px;font-weight:700;letter-spacing:.02em;text-decoration:none;border-radius:4px;cursor:pointer;transition:all .15s ease;color:var(--ledger-card-lift);background:var(--ledger-ink-blue);border:1px solid var(--ledger-ink-blue)}.cr-btn:hover:not(:disabled){background:var(--ledger-cover-2);border-color:var(--ledger-cover-2)}.cr-btn.ghost{color:var(--ledger-ink-blue);background:#2c42700f;border:1px solid rgba(44,66,112,.25)}.cr-btn.ghost:hover:not(:disabled){background:#2c42701f;border-color:var(--ledger-ink-blue)}.cr-btn.danger{color:var(--ledger-red);background:transparent;border:1px solid rgba(165,52,42,.4)}.cr-btn.danger:hover:not(:disabled){background:#a5342a14;border-color:var(--ledger-red)}.cr-btn.small{padding:5px 10px;font-size:11px}.cr-btn:disabled{opacity:.45;cursor:not-allowed}.cr-btn:focus-visible{outline:2px solid var(--ledger-kraft-dark);outline-offset:1px}.cr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cr-empty{padding:28px 14px;text-align:center;font-size:var(--text-sm);line-height:1.6;color:var(--ledger-ink-soft)}.cr-error{padding:12px 14px;font-size:var(--text-sm);color:var(--ledger-red);background:#a5342a0f;border:1px solid rgba(165,52,42,.35);border-left:3px solid var(--ledger-red);border-radius:4px}.access-tally{padding:9px 12px;margin-bottom:12px;font-family:var(--font-mono-ledger);font-size:12px;color:var(--ledger-ink);background:var(--ledger-kraft-tint);border:1px solid var(--ledger-line);border-radius:4px}.access-tally strong{color:var(--ledger-ink-blue)}.access-tally.warning{color:var(--ledger-red);background:#a5342a0f;border-color:#a5342a59;border-left:3px solid var(--ledger-red)}.access-group{margin-bottom:12px}.access-group-title{margin-bottom:6px;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ledger-kraft-dark)}.section-chip-count{margin-left:6px;font-family:var(--font-mono-ledger);font-size:10px;opacity:.6}.section-chip.empty:not(.selected){opacity:.55}.access-notes{margin:4px 0 0;padding-left:18px;font-size:12px;line-height:1.6;color:var(--ledger-ink-soft)}.access-notes li{margin-bottom:3px}.cr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 1300);display:flex;align-items:center;justify-content:center;padding:24px;background:#1b254099}.cr-modal{width:min(800px,100%);max-height:88vh;overflow-y:auto;padding:22px 24px;background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:4px;box-shadow:0 26px 64px #1b254066}.cr-modal h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ledger-ink-blue);letter-spacing:var(--tracking-tight);margin:0 0 6px;padding-bottom:10px;border-bottom:1.5px solid var(--ledger-kraft-dark)}.cr-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:16px;border-bottom:1.5px solid var(--ledger-kraft-dark)}.cr-modal-head h2{margin-bottom:4px;padding-bottom:0;border-bottom:none}.cr-modal-sub{margin:12px 0 18px;font-size:13px;line-height:1.55;color:var(--ledger-ink-soft)}.cr-modal-sub code{font-family:var(--font-mono-ledger);font-size:12px;padding:1px 5px;border-radius:3px;background:var(--ledger-kraft-tint)}.cr-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.cr-field{display:flex;flex-direction:column;gap:4px}.cr-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--ledger-line)}.cr-steps{display:flex;flex-wrap:wrap;gap:8px}.cr-step{display:flex;align-items:center;gap:8px;padding:6px 12px;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ledger-ink-soft);background:transparent;border:1px solid var(--ledger-line);border-radius:4px}.cr-step.active{color:var(--ledger-ink-blue);background:var(--ledger-kraft-tint);border-color:var(--ledger-kraft-dark)}.cr-step.done{color:var(--ledger-green);border-color:#3e6b4773;background:#3e6b470f}.cr-step-index{font-size:10px}.cr-mapping-row{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--ledger-line-soft)}.cr-mapping-row:last-child{border-bottom:none}.cr-mapping-label{font-size:13.5px;font-weight:600;color:var(--ledger-ink)}.cr-mapping-label small{display:block;font-size:10.5px;font-weight:400;color:var(--ledger-ink-soft)}.cr-report{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px;margin-bottom:16px}.cr-stat{padding:11px 13px;background:var(--ledger-kraft-tint);border:1px solid var(--ledger-line);border-radius:4px}.cr-stat-value{font-family:var(--font-mono-ledger);font-size:22px;font-weight:700;line-height:1.1;color:var(--ledger-ink-blue)}.cr-stat-label{margin-top:2px;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ledger-kraft-dark)}.cr-notes{margin:0 0 16px;padding-left:20px;font-size:12.5px;line-height:1.6;color:var(--ledger-ink-soft)}.cr-notes li{margin-bottom:4px}.cr-slip{max-height:220px;overflow-y:auto;margin-bottom:14px;padding:12px 14px;font-size:12.5px;line-height:1.75;color:var(--ledger-ink);background:var(--ledger-kraft-tint);border:1.5px dashed var(--ledger-kraft-dark);border-radius:6px}@media print{.cr-modal-backdrop{position:static;display:block;padding:0;background:none}.cr-modal{max-height:none;padding:0;border:none;box-shadow:none}.cr-modal-actions,.cr-no-print{display:none!important}.cr-slip{max-height:none;border-style:solid}}.exam-form-page{max-width:1000px;margin:0 auto}.form-header{margin-bottom:24px}.form-header h1{font-family:var(--font-display-ledger);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ledger-ink-blue);letter-spacing:var(--tracking-tight);margin:0 0 2px}.form-subtitle{font-size:13px;color:var(--ledger-ink-soft);margin:0 0 24px;font-family:var(--font-body);font-weight:var(--font-normal)}.draft-hint{display:inline-block;margin:-12px 0 20px;padding:6px 10px;font-family:var(--font-mono-ledger);font-size:11px;letter-spacing:.02em;color:var(--ledger-green);background:#3e6b4714;border:1px solid rgba(62,107,71,.28);border-radius:4px}.draft-hint-warn{color:var(--ledger-amber);background:#b9791e14;border-color:#b9791e52}.step-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--ledger-kraft-tint);color:var(--ledger-kraft-dark);border:1px solid rgba(156,124,70,.35);padding:4px 10px;border-radius:3px;margin-bottom:12px}.step-chip b{color:var(--ledger-ink-blue)}.error-banner{padding:var(--spacing-3) var(--spacing-4);background:#a5342a12;border:1px solid var(--ledger-red);border-radius:var(--radius-md);color:var(--ledger-red);margin-bottom:var(--spacing-4);font-size:var(--text-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.error-banner-dismiss{background:none;border:none;color:var(--ledger-red);cursor:pointer;font-size:var(--text-lg);padding:0;line-height:1}.tab-navigation{display:flex;gap:0;border-bottom:1px solid var(--ledger-line);margin-bottom:24px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-right:24px}.tab-navigation::-webkit-scrollbar{height:4px}.tab-navigation::-webkit-scrollbar-track{background:transparent}.tab-navigation::-webkit-scrollbar-thumb{background:var(--ledger-line);border-radius:4px}.tab-button{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--ledger-ink-soft);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.tab-button:hover{color:var(--ledger-ink)}.tab-button.active{color:var(--ledger-ink-blue);border-bottom-color:var(--ledger-amber)}.tab-index{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;color:var(--ledger-kraft-dark);letter-spacing:.05em}.tab-button.active .tab-index{color:var(--ledger-amber)}.tab-label{color:inherit}.exam-form{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:24px;max-width:100%}.form-section{margin-bottom:24px}.form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px dashed var(--ledger-line-dash)}.form-section-title{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink);margin:0}.form-section-chevron{font-size:12px;color:var(--ledger-ink-soft);transition:transform var(--transition-fast)}.form-section-chevron.open{transform:rotate(180deg)}.form-section-content{display:flex;flex-direction:column;gap:16px}.form-section-content.collapsed{display:none}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{display:flex;align-items:center;gap:4px;font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft)}.form-group label .required{color:var(--ledger-red);font-weight:var(--font-bold)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=datetime-local],.form-group input[type=password],.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ledger-ink);background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);line-height:1.5}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:var(--ledger-red)}.form-group input.error:focus,.form-group textarea.error:focus,.form-group select.error:focus{border-color:var(--ledger-red);box-shadow:0 0 0 2px #a5342a26}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ledger-ink-soft)}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-help{font-size:11px;color:var(--ledger-ink-soft);line-height:1.4;margin:0}.form-error{font-size:11px;color:var(--ledger-red);margin:0;line-height:1.4}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.toggle-wrapper{display:flex;align-items:center;gap:12px;padding:8px 0}.toggle-label{flex:1;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--ledger-ink);cursor:pointer}.toggle-hint{font-size:11px;color:var(--ledger-ink-soft);margin-top:2px}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d8d3c6;border-radius:12px;transition:background var(--transition-fast);cursor:pointer;border:1px solid var(--ledger-line)}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:2px;top:2px;background:#fff;border-radius:10px;transition:transform var(--transition-fast)}.toggle input:checked+.toggle-slider{background:var(--ledger-ink-blue)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle input:focus-visible+.toggle-slider{box-shadow:0 0 0 2px var(--ledger-ink-blue)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast)}.checkbox-label:hover{border-color:var(--color-gray-4)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-500);margin-top:1px;flex-shrink:0;cursor:pointer}.checkbox-label input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.checkbox-content{display:flex;flex-direction:column;gap:2px;flex:1}.checkbox-label span{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary)}.checkbox-label small{font-size:11px;color:var(--color-gray-3);line-height:1.4}.section-input-group{display:flex;gap:8px}.section-input-group input{flex:1}.btn-add{padding:8px 16px;background:var(--ledger-kraft);color:#3a2e17;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast)}.btn-add:hover{background:var(--ledger-kraft-dark);color:#fff}.section-tags{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:12px}.section-tag{position:relative;display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 20px;background:var(--ledger-kraft-tint);color:var(--ledger-kraft-dark);font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(156,124,70,.4);clip-path:polygon(11px 0,100% 0,100% 100%,11px 100%,0 50%)}.section-tag:before{content:"";position:absolute;left:5px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--ledger-paper);border:1px solid var(--ledger-kraft-dark)}.section-tag button{background:none;border:none;color:var(--ledger-kraft-dark);cursor:pointer;font-size:13px;padding:0;line-height:1;opacity:.6;transition:opacity var(--transition-fast)}.section-tag button:hover{opacity:1}.form-subsection{margin-top:8px;padding:16px;background:var(--ledger-paper);border-radius:var(--radius-md);border:1px solid var(--ledger-line)}.form-subsection h3{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink);margin:0 0 12px}.subsection-description{font-size:var(--text-sm);color:var(--ledger-ink-soft);margin:0 0 16px;line-height:1.5}.form-note{padding:12px;background:#2c42700f;border-radius:var(--radius-md);border:1px solid rgba(44,66,112,.12);font-size:var(--text-sm);color:var(--ledger-ink-blue);line-height:1.5;margin-bottom:16px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-base);color:var(--ledger-ink)}.radio-label input[type=radio]{width:16px;height:16px;accent-color:var(--ledger-ink-blue);cursor:pointer}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;margin:0 -24px -24px;background:var(--ledger-card);border-top:1px solid var(--ledger-line);position:sticky;bottom:0;z-index:10;border-radius:0 0 2px 8px}.form-actions-legend{margin-right:auto;font-family:var(--font-mono-ledger);font-size:10.5px;color:var(--ledger-ink-soft)}.form-actions-legend .required-ast{color:var(--ledger-red)}.toast-success{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:var(--spacing-2);padding:12px;background:#3e6b471a;border:1px solid var(--ledger-green);color:var(--ledger-green);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);min-width:300px;max-width:420px;z-index:var(--z-tooltip);animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.option-group{display:flex;flex-direction:column;gap:10px;margin-top:4px}.access-warning{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px;background:#b9791e12;border:1px solid rgba(185,121,30,.3);border-left:3px solid var(--ledger-amber);border-radius:4px}.access-warning p{margin:0;font-size:12.5px;line-height:1.5;color:var(--ledger-ink-soft)}.access-warning strong{color:var(--ledger-ink)}.option-label{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--ledger-line);border-radius:5px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.option-label.selected{border-color:var(--ledger-ink-blue);background:#2c42700f}.option-label input[type=radio],.option-label input[type=checkbox]{width:17px;height:17px;accent-color:var(--ledger-ink-blue);margin-top:1px}.option-title{font-size:13.5px;font-weight:600;color:var(--ledger-ink)}.option-desc{font-size:12px;color:var(--ledger-ink-soft);margin-top:2px;line-height:1.4}.conditional-reveal{overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:max-height .25s ease,opacity .2s ease,margin .2s ease;margin-top:0}.conditional-reveal.open{max-height:2000px;opacity:1;visibility:visible;margin-top:0}.conditional-reveal>:first-child{padding-top:12px}.step-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid var(--ledger-line)}.step-actions .btn{width:auto}.step-panel-title{font-family:var(--font-display-ledger);font-weight:600;font-size:19px;color:var(--ledger-ink);margin:0 0 4px}.step-panel-desc{color:var(--ledger-ink-soft);font-size:13px;margin:0 0 24px}.step.complete .step-number{border-style:solid;background:var(--ledger-green);border-color:var(--ledger-green);box-shadow:0 3px 8px #3e6b4759}.step.complete .step-label{color:var(--ledger-green)}.score-control{display:flex;align-items:center;gap:16px}.score-slider{flex:1;position:relative;height:26px;display:flex;align-items:center}.score-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;border-radius:2px;background:#fff;border:1px solid var(--ledger-line);cursor:pointer;background-image:repeating-linear-gradient(90deg,rgba(30,42,58,.3) 0,rgba(30,42,58,.3) 1px,transparent 1px,transparent 10%)}.score-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ledger-ink-blue);border:3px solid white;box-shadow:0 2px 6px #2c427080;cursor:pointer;margin-top:-4px}.score-slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ledger-ink-blue);border:3px solid white;box-shadow:0 2px 6px #2c427080;cursor:pointer}.score-slider input[type=range]::-moz-range-track{height:14px;border-radius:2px;background:#fff;border:1px solid var(--ledger-line)}.score-value{font-family:var(--font-mono-ledger);font-size:18px;font-weight:700;color:var(--ledger-ink-blue);background:var(--ledger-kraft-tint);padding:6px 14px;border-radius:5px;min-width:56px;text-align:center}.advanced-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;margin-top:6px;background:var(--ledger-kraft-tint);border:1px solid rgba(156,124,70,.3);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-toggle-label{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ledger-kraft-dark)}.advanced-toggle-hint{font-size:11.5px;color:var(--ledger-ink-soft);font-weight:400;text-transform:none;letter-spacing:normal;margin-left:8px}.advanced-chevron{color:var(--ledger-kraft-dark);font-size:12px;transition:transform .2s ease}.advanced-chevron.open{transform:rotate(180deg)}.advanced-panel{overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .2s ease}.advanced-panel.open{max-height:1200px;opacity:1;visibility:visible}.advanced-panel-inner{padding:18px 4px 4px;display:flex;flex-direction:column;gap:16px}.advanced-section-title{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink);border-bottom:1px dashed var(--ledger-line-dash);padding-bottom:8px}.path-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}.path-card{background:var(--ledger-card-lift);border:1px solid var(--ledger-line);border-radius:8px 8px 2px;padding:18px 16px;text-align:center;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.path-card:hover{border-color:var(--ledger-ink-blue);box-shadow:0 4px 12px #1e2a3a14}.path-icon{font-size:22px;margin-bottom:8px;display:flex;align-items:center;justify-content:center}.path-icon-img{width:24px;height:24px;object-fit:contain}.path-title{font-size:13px;font-weight:700;color:var(--ledger-ink);margin-bottom:4px}.path-desc{font-size:11px;color:var(--ledger-ink-soft);line-height:1.4}@media (max-width: 1024px){.exam-form{padding:20px}.form-actions{padding:14px 20px;margin:0 -20px -20px}}@media (max-width: 768px){.exam-form{padding:16px;max-width:100%;border-radius:2px 6px 6px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;padding:12px 16px;margin:0 -16px -16px;border-radius:0 0 2px 6px}.form-actions .btn{width:100%}.form-actions-legend{margin-right:0;text-align:center;padding-bottom:8px}.tab-button{padding:8px 10px;font-size:11px;gap:4px}.tab-index{font-size:9px}}@media (max-width: 640px){.path-cards{grid-template-columns:1fr}.step-line{width:30px}}@media (max-width: 480px){.exam-form{padding:16px;max-width:100%;border-radius:2px 6px 6px}.form-row{grid-template-columns:1fr}.step-actions{flex-direction:column-reverse}.step-actions .btn{width:100%}}.exam-stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:20px}.exam-step{display:flex;align-items:center;gap:9px;text-align:left;padding:10px 11px;background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:4px 8px 8px;cursor:pointer;font-family:inherit;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.exam-step:hover:not(:disabled){border-color:var(--ledger-ink-blue)}.exam-step:disabled{cursor:not-allowed;opacity:.55}.exam-step.active{border-color:var(--ledger-ink-blue);background:var(--ledger-card-lift);box-shadow:0 0 0 2px #2c42701f}.exam-step.complete{background:#3e6b4714;border-color:#3e6b4759}.exam-step-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--ledger-line);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono-ledger);font-weight:700;font-size:12px;color:var(--ledger-kraft-dark)}.exam-step.active .exam-step-num{background:var(--ledger-ink-blue);border-color:var(--ledger-ink-blue);color:#fff}.exam-step.complete .exam-step-num{background:var(--ledger-green);border-color:var(--ledger-green);color:#fff}.exam-step-text{display:flex;flex-direction:column;min-width:0}.exam-step-label{font-size:12px;font-weight:700;color:var(--ledger-ink)}.exam-step.active .exam-step-label{color:var(--ledger-ink-blue)}.exam-step.complete .exam-step-label{color:var(--ledger-green)}.exam-step-sub{font-size:10px;color:var(--ledger-ink-soft);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-picker{display:flex;flex-wrap:wrap;gap:8px}.section-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;background:#fff;border:1px solid var(--ledger-line);border-radius:999px;font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--ledger-ink-soft);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.section-chip:hover{border-color:var(--ledger-ink-blue);color:var(--ledger-ink)}.section-chip.selected{background:var(--ledger-kraft-tint);border-color:#9c7c4680;color:var(--ledger-kraft-dark)}.section-chip-check{font-size:10px}.questions-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.questions-stats{font-size:12px;color:var(--ledger-ink-soft)}.questions-stats b{color:var(--ledger-ink)}.questions-empty{border:1px dashed var(--ledger-line-dash);border-radius:8px;background:var(--ledger-card-lift);text-align:center;padding:40px 24px}.questions-empty h3{margin:0;font-family:var(--font-display-ledger);font-size:18px;color:var(--ledger-ink)}.questions-empty p{max-width:480px;margin:8px auto 18px;font-size:12.5px;color:var(--ledger-ink-soft);line-height:1.5}.questions-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-card{background:#fff;border:1px solid var(--ledger-line);border-radius:6px 10px 10px;padding:16px}.review-card-wide{grid-column:1 / -1}.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--ledger-line-dash)}.review-card-head h3{margin:0;font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink)}.review-edit{background:none;border:none;padding:0;font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ledger-ink-blue);cursor:pointer}.review-edit:hover{text-decoration:underline}.review-row{display:flex;justify-content:space-between;gap:14px;padding:5px 0;font-size:12px}.review-row>span:first-child{color:var(--ledger-ink-soft);flex-shrink:0}.review-row>span:last-child{color:var(--ledger-ink);font-weight:600;text-align:right;word-break:break-word}.review-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.review-chip{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:999px;background:var(--ledger-kraft-tint);color:var(--ledger-kraft-dark);border:1px solid rgba(156,124,70,.35)}.modal-content--editor{max-width:760px}.question-text-input{min-height:130px}.choice-letter{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--ledger-kraft-tint);color:var(--ledger-kraft-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700}@media (max-width: 1024px){.exam-stepper{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.review-grid{grid-template-columns:1fr}}@media (max-width: 640px){.exam-stepper{grid-template-columns:repeat(2,1fr)}.exam-step-sub{display:none}.questions-toolbar{flex-direction:column;align-items:stretch}.questions-toolbar .btn{width:100%}}@media (max-width: 480px){.exam-stepper{grid-template-columns:1fr}}.class-window-row{padding:12px 14px;margin-bottom:10px;background:var(--ledger-paper);border:1px solid var(--ledger-line);border-left:3px solid var(--ledger-kraft);border-radius:4px}.class-window-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.class-window-name{font-weight:600;font-size:var(--text-sm);color:var(--ledger-ink)}.class-window-clear{background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-blue);border-bottom:1px solid currentColor}.class-window-clear:hover{color:var(--ledger-ink)}.questions-page{padding-top:var(--spacing-12);padding-bottom:var(--spacing-12);max-width:1000px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:3px double var(--ledger-line)}.page-header h1{margin-bottom:var(--spacing-2);font-family:var(--font-display-ledger);color:var(--ledger-ink-blue);font-size:var(--text-4xl)}.page-subtitle{color:var(--ledger-ink-soft);font-size:var(--text-base)}.header-actions{display:flex;gap:var(--spacing-3)}.empty-state{text-align:center;padding:var(--spacing-12) var(--spacing-4);background:var(--ledger-card);border:2px dashed var(--ledger-line);border-radius:var(--border-radius)}.empty-state h3{margin-bottom:var(--spacing-2);color:var(--text-primary)}.empty-state p{margin-bottom:var(--spacing-6);color:var(--text-secondary)}.questions-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.question-card{position:relative;overflow:visible;background:var(--ledger-card-lift);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:var(--spacing-6);transition:all .2s}.question-card:hover{border-color:var(--ledger-ink-blue);box-shadow:0 2px 8px #1e2a3a14}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-right:50px}.question-number{font-weight:600;color:var(--ledger-ink-blue);font-size:var(--text-lg)}.stamp{display:inline-block;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border:1.5px solid currentColor;border-radius:2px;transform:none}.question-text{font-size:var(--text-lg);color:var(--ledger-ink);margin-bottom:var(--spacing-3);line-height:1.6}.question-description{font-size:var(--text-sm);color:var(--ledger-ink-soft);margin-bottom:var(--spacing-4);font-style:italic}.choices-preview{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--ledger-paper);border-radius:var(--border-radius)}.choice-item{display:flex;align-items:center;gap:10px;padding:var(--spacing-2);font-size:var(--text-sm);color:var(--ledger-ink)}.choice-item.correct{font-weight:600}.choice-item.correct .choice-text{font-weight:600;color:var(--ledger-ink)}.choice-item.correct .choice-bubble{background:var(--ledger-green);border-color:var(--ledger-green);color:#fff}.question-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--ledger-line)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#141a268c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-4)}.modal-content{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--ledger-line)}.modal-header h2{margin:0;font-size:var(--text-2xl);font-family:var(--font-display-ledger);color:var(--ledger-ink-blue)}.close-btn{background:none;border:none;font-size:2rem;color:var(--ledger-ink-soft);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:all .2s}.close-btn:hover{background:var(--ledger-kraft-tint);color:var(--ledger-ink)}.question-form{padding:var(--spacing-6)}.question-form .form-group{margin-bottom:var(--spacing-4)}.question-form label{display:flex;align-items:center;gap:4px;font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:var(--spacing-2)}.question-form input[type=text],.question-form input[type=number],.question-form textarea,.question-form select{width:100%;padding:.75rem 1rem;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ledger-ink);background:#fff;transition:all .2s}.question-form input:focus,.question-form textarea:focus,.question-form select:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.question-form textarea{resize:vertical;min-height:80px}.question-form small{display:block;margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-4)}.choice-input-group{display:flex;gap:var(--spacing-2);align-items:center;margin-bottom:var(--spacing-2)}.choice-input-group input[type=radio]{width:auto;cursor:pointer}input.bubble-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--ledger-ink-soft);border-radius:50%;cursor:pointer;position:relative}input.bubble-radio:checked{border-color:var(--ledger-green);background:var(--ledger-green)}input.bubble-radio:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700}.choice-input-group input[type=text]{flex:1}.matching-pair-group{display:flex;gap:var(--spacing-2);align-items:center;margin-bottom:var(--spacing-2)}.matching-pair-group input{flex:1}.matching-pair-group span{color:var(--text-secondary);font-weight:600}.remove-btn{background:none;border:none;color:var(--ledger-red);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:all .2s}.remove-btn:hover{background:#a5342a14}.item-number{font-family:var(--font-mono-ledger);font-size:12px;color:var(--ledger-ink-soft);font-weight:700;flex-shrink:0;width:20px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--ledger-line)}@media (max-width: 768px){.page-header{flex-direction:column;gap:var(--spacing-4)}.header-actions{width:100%}.header-actions button{flex:1}.form-row{grid-template-columns:1fr}.modal-content{max-height:100vh;border-radius:0}.question-meta{flex-wrap:wrap}}.exam-preview-page{padding-bottom:var(--spacing-12)}.preview-header{margin-bottom:var(--spacing-8)}.page-back{margin-bottom:var(--spacing-2)}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-6);margin-top:var(--spacing-4)}.header-content h1{font-family:var(--font-display-ledger);font-size:var(--text-4xl);margin-bottom:var(--spacing-2);color:var(--ledger-ink-blue)}.exam-subtitle{color:var(--ledger-ink-soft);font-size:var(--text-lg);margin-bottom:var(--spacing-3)}.status-row{display:flex;align-items:center;gap:var(--spacing-4)}.meta-text{font-family:var(--font-mono-ledger);color:var(--ledger-ink-soft);font-size:var(--text-sm)}.header-actions{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.preview-section{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:8px;padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.preview-section h2,.section-header h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:3px double var(--ledger-line);color:var(--ledger-ink-blue)}.preview-section h3{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink-soft);margin:0 0 12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:3px double var(--ledger-line)}.section-header h2{margin:0;padding:0;border:none}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-4)}.detail-item{padding:10px 13px;background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px;font-size:13px;color:var(--ledger-ink)}.detail-item strong{display:block;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:3px}.options-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.option-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);font-size:var(--text-sm)}.opt-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.opt-mark.enabled{background:var(--ledger-green);color:#fff}.opt-mark.disabled{background:transparent;border:1.5px solid var(--ledger-line);color:var(--ledger-ink-soft)}.opt-mark-img{width:12px;height:12px;object-fit:contain;display:block}.inline-icon{width:14px;height:14px;vertical-align:middle;margin-right:4px;object-fit:contain;position:relative;top:-1px}.stamp-draft{color:var(--ledger-grey);transform:rotate(2deg)}.stamp-scheduled{color:var(--ledger-ink-blue);transform:rotate(2deg)}.stamp-active{color:var(--ledger-amber);transform:rotate(-3deg)}.stamp-completed{color:var(--ledger-green);transform:rotate(-2deg)}.stamp-archived{color:var(--ledger-ink-soft);transform:rotate(3deg)}.stamp-easy{color:var(--ledger-green)}.stamp-medium{color:var(--ledger-amber)}.stamp-hard{color:var(--ledger-red)}.choice-bubble{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--ledger-ink-soft);font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;color:var(--ledger-ink-soft);flex-shrink:0}.choice-text{flex:1}.choice-preview.correct .choice-bubble{background:var(--ledger-green);border-color:var(--ledger-green);color:#fff}.choice-preview.correct .choice-text{font-weight:600;color:var(--ledger-ink)}.error-banner{background:#a5342a12;border:1px solid var(--ledger-red);color:var(--ledger-red);border-radius:4px;padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.warning-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#b9791e14;border:1px solid var(--ledger-amber);border-radius:4px;margin-bottom:8px;color:var(--ledger-ink);font-size:13px;line-height:1.5}.warning-banner strong{color:var(--ledger-amber)}.success-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#3d685614;border:1px solid var(--ledger-green);border-radius:4px;margin-bottom:var(--spacing-4);color:var(--ledger-ink);font-size:13px;line-height:1.5}.success-banner strong{color:var(--ledger-green)}.link-callout{background:var(--ledger-kraft-tint);border:1.5px dashed var(--ledger-kraft-dark);border-radius:8px;padding:20px 22px;margin-bottom:20px}.link-callout h3{font-family:var(--font-display-ledger);font-size:17px;font-weight:600;color:var(--ledger-ink);margin:0 0 6px}.link-callout p{margin:0 0 12px;color:var(--ledger-ink-soft);font-size:13px}.link-row{display:flex;gap:8px;align-items:center}.link-input{flex:1;padding:10px 13px;border:1px solid var(--ledger-kraft-dark);border-radius:4px;font-family:var(--font-mono-ledger);font-size:12.5px;color:var(--ledger-ink);background:#fff}.access-code-note{margin:12px 0 0;font-size:12.5px;color:var(--ledger-ink-soft)}.access-code-note strong{font-family:var(--font-mono-ledger);color:var(--ledger-ink)}.questions-preview-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.question-preview-card{position:relative;overflow:visible;border:1px solid var(--ledger-line);border-radius:8px 8px 2px;padding:var(--spacing-4);background:var(--ledger-card-lift);transition:all .2s}.question-preview-card:hover{border-color:var(--ledger-ink-blue);box-shadow:0 2px 8px #1e2a3a14}.question-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3);padding-right:36px}.question-number{font-weight:700;color:var(--ledger-ink-blue);font-family:var(--font-mono-ledger);font-size:var(--text-lg)}.question-badges{display:flex;gap:var(--spacing-2);align-items:center}.question-text{font-size:var(--text-base);color:var(--ledger-ink);margin-bottom:var(--spacing-3);line-height:1.6}.choices-preview{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-3);padding:var(--spacing-3);background:var(--ledger-paper);border-radius:var(--border-radius)}.choice-preview{display:flex;align-items:center;gap:10px;padding:6px 10px;font-size:var(--text-sm);border-radius:4px}.choice-preview.correct{background:#3e6b4712;font-weight:600}.answer-key-preview{display:flex;flex-direction:column;gap:6px;margin-top:var(--spacing-3);padding:var(--spacing-3);background:#3e6b470d;border:1px solid rgba(62,107,71,.2);border-radius:var(--border-radius)}.key-row{display:flex;gap:10px;align-items:baseline}.key-label{flex:0 0 104px;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft)}.key-value{flex:1;font-size:var(--text-sm);color:var(--ledger-ink);line-height:1.6;white-space:pre-wrap;word-break:break-word}.answer-key-missing{margin-top:var(--spacing-3);padding:8px 12px;font-size:var(--text-sm);color:var(--ledger-amber);background:#b98e2e12;border:1px dashed rgba(185,142,46,.4);border-radius:4px}.key-tag{margin-left:auto;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-green)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4)}.stat-item{position:relative;text-align:center;padding:26px 16px 18px;background:var(--ledger-card-lift);border:1px solid var(--ledger-line);border-radius:2px 8px 8px}.stat-item .stat-value{font-family:var(--font-display-ledger);font-size:34px;font-weight:600;color:var(--ledger-ink-blue);line-height:1;margin-bottom:6px}.stat-item .stat-label{font-family:var(--font-mono-ledger);font-size:10px;color:var(--ledger-ink-soft);text-transform:uppercase;letter-spacing:.06em}.empty-state{text-align:center;padding:var(--spacing-12) var(--spacing-4);background:var(--ledger-card);border:2px dashed var(--ledger-line);border-radius:8px}.empty-state p{margin-bottom:var(--spacing-4);color:var(--ledger-ink-soft)}.btn-outline.danger:hover:not(:disabled){background:#a5342a14}@media (max-width: 768px){.header-content{flex-direction:column}.header-actions{width:100%}.header-actions button,.header-actions a{flex:1}.details-grid{grid-template-columns:1fr}.question-preview-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}}@media (max-width: 420px){.link-row{flex-direction:column}.link-row .btn{width:100%}}.pre-exam-rules-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-6);overflow-y:auto}.pre-exam-rules-card{background:var(--background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column}.rules-header{padding:var(--spacing-8);border-bottom:1px solid var(--border-color);text-align:center}.rules-header h2{font-family:var(--font-display);font-size:var(--font-size-3xl);color:var(--primary-color);margin:0 0 var(--spacing-2)}.rules-header h3{font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--text-primary);margin:0 0 var(--spacing-2)}.rules-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.rules-content{flex:1;overflow-y:auto;padding:var(--spacing-6)}.rules-section{margin-bottom:var(--spacing-6);padding:var(--spacing-4);background:var(--background-secondary);border-radius:var(--border-radius-md);border-left:4px solid var(--primary-color)}.rules-section h4{font-family:var(--font-heading);font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 var(--spacing-3);display:flex;align-items:center;gap:8px}.h4-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0}.rules-list{list-style:none;padding:0;margin:0}.rules-list li{padding:var(--spacing-2) 0;padding-left:var(--spacing-4);position:relative;line-height:1.6}.rules-list li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.custom-instructions{border-left-color:var(--accent-color)}.instruction-text{white-space:pre-wrap;line-height:1.6;margin:0}.proctor-section{border-left-color:#dc2626;background:#dc26260d}.warning-text{color:#dc2626;font-weight:600;margin:0 0 var(--spacing-2)}.rule-warning{color:#dc2626;font-weight:500}.custom-rules{margin-top:var(--spacing-3);padding:var(--spacing-3);background:var(--background-primary);border-radius:var(--border-radius-sm);font-style:italic}.important-notice{border-left-color:#f59e0b;background:#f59e0b0d}.rules-footer{padding:var(--spacing-6);border-top:1px solid var(--border-color);background:var(--background-secondary)}.agreement-text{text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-4)}.rules-actions{display:flex;gap:var(--spacing-3);justify-content:center}.rules-actions button{min-width:150px}.rules-content::-webkit-scrollbar{width:8px}.rules-content::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:var(--border-radius-sm)}.rules-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:var(--border-radius-sm)}.rules-content::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}@media (max-width: 768px){.pre-exam-rules-overlay{padding:0}.pre-exam-rules-card{max-height:100vh;border-radius:0}.rules-header{padding:var(--spacing-6)}.rules-header h2{font-size:var(--font-size-2xl)}.rules-header h3{font-size:var(--font-size-lg)}.rules-content{padding:var(--spacing-4)}.rules-section{padding:var(--spacing-3)}.rules-actions{flex-direction:column}.rules-actions button{width:100%}}.exam-start-screen{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:var(--spacing-8)}.start-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 10px 10px;padding:var(--spacing-8);max-width:600px;width:100%;box-shadow:0 16px 40px #1e2a3a1f}.start-card h1{font-family:var(--font-display-ledger);font-size:var(--text-3xl);margin-bottom:var(--spacing-3);color:var(--ledger-ink-blue)}.exam-description{color:var(--ledger-ink-soft);margin-bottom:var(--spacing-6);line-height:1.6}.exam-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.info-item{padding:10px 13px;background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px;font-size:13px}.info-item strong{display:block;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:3px}.access-code-input{width:100%;padding:14px 16px;border:2px solid var(--ledger-line);border-radius:6px;font-family:var(--font-mono-ledger);font-size:16px;letter-spacing:.18em;text-align:center;font-weight:600;margin-bottom:var(--spacing-6);background:#fff;color:var(--ledger-ink);transition:border-color .15s ease,box-shadow .15s ease}.access-code-input:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.start-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}.exam-taking-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--ledger-paper);display:flex;flex-direction:column;overflow:hidden}.exam-header{background:var(--ledger-card);border-bottom:1px solid var(--ledger-line);padding:var(--spacing-4) var(--spacing-6);display:flex;justify-content:space-between;align-items:center;z-index:10}.exam-header-left h2{font-family:var(--font-display-ledger);font-size:var(--text-xl);font-weight:500;margin:0;margin-bottom:var(--spacing-1);color:var(--ledger-ink)}.question-counter{font-family:var(--font-mono-ledger);font-size:var(--text-sm);color:var(--ledger-ink-soft);margin:0}.exam-header-right{display:flex;gap:var(--spacing-4);align-items:center}.timer{font-family:var(--font-mono-ledger);font-size:var(--text-2xl);font-weight:700;color:var(--ledger-ink-blue);padding:var(--spacing-2) var(--spacing-4);background:var(--ledger-kraft-tint);border:1px solid rgba(156,124,70,.3);border-radius:5px}.timer-warning{color:var(--ledger-red);background:#a5342a14;border-color:var(--ledger-red);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.65}}.progress-bar{height:5px;background:var(--ledger-card);position:relative;overflow:hidden}.progress-fill{height:100%;background:var(--ledger-ink-blue);transition:width .3s ease}.progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,rgba(30,42,58,.3) 0,rgba(30,42,58,.3) 1px,transparent 1px,transparent 5%);mix-blend-mode:overlay;opacity:.5}.exam-content{flex:1;display:flex;gap:var(--spacing-6);padding:var(--spacing-6);overflow:hidden}.question-panel{flex:1;overflow-y:auto}.question-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 10px 10px;padding:var(--spacing-8);max-width:900px;margin:0 auto}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px dashed var(--ledger-line)}.question-number{font-family:var(--font-mono-ledger);font-size:var(--text-lg);font-weight:700;color:var(--ledger-ink-blue)}.question-meta{display:flex;gap:var(--spacing-2);align-items:center}.question-type{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border:1.5px solid var(--ledger-ink-blue);border-radius:2px;color:var(--ledger-ink-blue)}.question-points{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ledger-kraft),var(--ledger-kraft-dark));font-family:var(--font-mono-ledger);font-weight:700;color:#3a2e17;font-size:10px;border:2px solid rgba(255,255,255,.55)}.question-text{font-family:var(--font-display-ledger);font-size:var(--text-xl);font-weight:500;color:var(--ledger-ink);margin-bottom:var(--spacing-4);line-height:1.6}.question-figure{margin:0 0 var(--spacing-4);padding:8px;border:1px solid var(--ledger-line);border-radius:6px;background:#fff}.question-figure img{display:block;width:100%;height:auto;max-height:60vh;object-fit:contain;margin:0 auto}.question-description{font-size:var(--text-sm);color:var(--ledger-ink-soft);font-style:italic;margin-bottom:var(--spacing-6)}.answer-section{margin:var(--spacing-6) 0}.answer-options{display:flex;flex-direction:column;gap:var(--spacing-3)}.option-label{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--ledger-line);border-radius:6px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.option-label:hover{border-color:var(--ledger-ink-blue);background:#2c427008}.option-label:focus-within{outline:2px solid var(--ledger-ink-blue);outline-offset:2px}.option-label input[type=radio]{display:none}.option-bubble{width:24px;height:24px;border-radius:50%;border:2px solid var(--ledger-ink-soft);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.option-label input:checked~.option-bubble{border-color:var(--ledger-ink-blue);background:var(--ledger-ink-blue)}.option-label input:checked~.option-bubble:after{content:"";width:10px;height:10px;border-radius:50%;background:#fff}.option-text{flex:1;font-size:14.5px;line-height:1.5;color:var(--ledger-ink)}.option-label input:checked~.option-text{font-weight:600;color:var(--ledger-ink-blue)}.answer-input{width:100%;padding:12px 14px;border:1.5px solid var(--ledger-line);border-radius:5px;font-size:var(--text-base);font-family:var(--font-body);color:var(--ledger-ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.answer-input:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 3px #2c42701f}.answer-textarea{width:100%;padding:12px 14px;border:1.5px solid var(--ledger-line);border-radius:5px;font-size:var(--text-base);font-family:var(--font-body);color:var(--ledger-ink);background:#fff;line-height:1.6;resize:vertical;min-height:150px;transition:border-color .15s ease,box-shadow .15s ease}.answer-textarea:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 3px #2c42701f}.helper-text{font-size:12.5px;color:var(--ledger-ink-soft);margin-bottom:10px}.question-navigation{display:flex;gap:var(--spacing-3);justify-content:space-between;margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--ledger-line)}.question-navigator{width:280px;background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:8px;padding:var(--spacing-6);overflow-y:auto}.question-navigator h3{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:var(--spacing-4)}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.question-button{aspect-ratio:1;border:1.5px solid var(--ledger-line);background:#fff;border-radius:5px;font-family:var(--font-mono-ledger);font-weight:700;font-size:11px;color:var(--ledger-ink-soft);cursor:pointer;transition:all .15s ease}.question-button:hover{border-color:var(--ledger-ink-blue);color:var(--ledger-ink-blue)}.question-button.active{background:var(--ledger-ink-blue);color:#fff;border-color:var(--ledger-ink-blue)}.question-button.answered{background:#3e6b471a;border-color:var(--ledger-green);color:var(--ledger-green)}.question-button.answered.active{background:var(--ledger-ink-blue);border-color:var(--ledger-ink-blue);color:#fff}.navigator-legend{display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-4);border-top:1px dashed var(--ledger-line)}.legend-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);color:var(--ledger-ink-soft)}.legend-color{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--ledger-line)}.legend-color.answered{background:#3e6b471a;border-color:var(--ledger-green)}.legend-color.unanswered{background:#fff;border-color:var(--ledger-line)}@media (max-width: 1024px){.exam-content{flex-direction:column}.question-navigator{width:100%}.question-grid{grid-template-columns:repeat(8,1fr)}}@media (max-width: 768px){.exam-header{flex-direction:column;gap:var(--spacing-3);align-items:flex-start}.exam-header-right{width:100%;justify-content:space-between}.timer{font-size:var(--text-lg)}.question-card{padding:var(--spacing-4)}.question-grid{grid-template-columns:repeat(5,1fr)}.exam-info{grid-template-columns:1fr}}.exam-results-page{padding-bottom:var(--spacing-12);max-width:1000px;margin:0 auto}.paper-hero{position:relative;background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 10px 10px;padding:40px 32px 34px;text-align:center;margin-bottom:20px;overflow:hidden}.eyebrow{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink-soft);margin:0 0 22px}.grade-circle-big{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display-ledger);font-weight:600;font-size:56px;color:var(--ledger-ink);padding:10px 30px;margin-bottom:6px}.grade-circle-big:before{content:"";position:absolute;top:-12px;right:-22px;bottom:-12px;left:-22px;border:3px solid var(--ledger-red);border-radius:52% 46% 50% 48%/56% 50% 54% 44%;transform:rotate(-2deg);pointer-events:none}.score-details{font-family:var(--font-mono-ledger);font-size:13px;color:var(--ledger-ink-soft);margin:14px 0 22px}.verdict-stamp{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-mono-ledger);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;padding:10px 26px;border:3px solid currentColor;border-radius:5px;transform:rotate(-4deg);position:relative}.verdict-stamp:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:multiply;opacity:.4;pointer-events:none}.verdict-stamp.passed{color:var(--ledger-green)}.verdict-icon{width:20px;height:20px;object-fit:contain}.review-icon{width:14px;height:14px;vertical-align:middle;margin-right:4px;object-fit:contain;position:relative;top:-1px}.verdict-stamp.failed{color:var(--ledger-amber)}.results-message{color:var(--ledger-ink-soft);font-size:14px;max-width:46ch;margin:20px auto 0}.breakdown-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:8px;padding:22px 24px;margin-bottom:18px}.breakdown-card h3{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink-soft);margin:0 0 14px}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-3)}.breakdown-item{padding:10px 13px;background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px;font-size:13px;color:var(--ledger-ink)}.breakdown-label{display:block;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:3px}.stamp-pass{color:var(--ledger-green);transform:rotate(-2deg)}.stamp-fail{color:var(--ledger-amber);transform:rotate(2deg)}.review-section{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:8px;padding:24px 26px 26px;margin-bottom:var(--spacing-6)}.review-section h2{font-family:var(--font-display-ledger);font-weight:600;font-size:19px;color:var(--ledger-ink);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);border-bottom:3px double var(--ledger-line)}.questions-review{display:flex;flex-direction:column;gap:var(--spacing-4)}.review-question-card{background:var(--ledger-card-lift);border:1px solid var(--ledger-line);border-radius:8px 8px 2px;padding:var(--spacing-4)}.review-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px dashed var(--ledger-line)}.review-question-number{font-family:var(--font-mono-ledger);font-weight:700;color:var(--ledger-ink-blue);font-size:var(--text-lg)}.review-question-meta{display:flex;gap:var(--spacing-2);align-items:center}.stamp.review-result.correct{color:var(--ledger-green);transform:rotate(-2deg)}.stamp.review-result.incorrect{color:var(--ledger-red);transform:rotate(2deg)}.stamp.review-result.pending{color:var(--ledger-amber);transform:rotate(-2deg)}.review-points{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;color:var(--ledger-kraft-dark);background:var(--ledger-kraft-tint);padding:3px 9px;border-radius:3px;white-space:nowrap}.review-question-text{font-size:var(--text-base);font-weight:500;color:var(--ledger-ink);margin-bottom:var(--spacing-4);line-height:1.6}.review-answer-section{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.review-answer,.review-correct-answer{padding:var(--spacing-3);border-radius:5px;display:flex;flex-direction:column;gap:var(--spacing-1)}.review-answer{background:#fff;border:1px solid var(--ledger-line)}.review-correct-answer{background:#3e6b4714;border:1px solid var(--ledger-green)}.review-answer strong,.review-correct-answer strong{font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft)}.review-correct-answer strong{color:var(--ledger-green)}.review-answer span,.review-correct-answer span{font-size:var(--text-base);color:var(--ledger-ink)}.review-feedback{position:relative;background:var(--ledger-kraft-tint);border:1px solid rgba(156,124,70,.35);border-radius:2px 8px 8px 2px;padding:12px 15px;margin-top:12px;transform:rotate(-.6deg);box-shadow:2px 3px 7px #1e2a3a1a}.review-feedback:before{content:"";position:absolute;top:-6px;left:18px;width:22px;height:10px;background:#cba8768c;border-radius:2px;transform:rotate(-4deg);box-shadow:0 1px 2px #00000026}.review-feedback strong{display:block;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-kraft-dark);margin-bottom:4px}.review-feedback p{margin:0;font-size:12.5px;color:var(--ledger-ink);line-height:1.5}.error-banner{background:#a5342a12;border:1px solid var(--ledger-red);color:var(--ledger-red);padding:var(--spacing-4);border-radius:4px;margin-bottom:var(--spacing-4)}.results-actions{display:flex;gap:var(--spacing-3);justify-content:center;padding:var(--spacing-6) 0}.personal-link-notice{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-2);background:var(--ledger-card);border:1px dashed var(--ledger-line);border-radius:4px;padding:var(--spacing-4);margin-top:var(--spacing-6)}.personal-link-notice strong{font-family:var(--font-display-ledger);font-size:.9375rem;color:var(--ledger-ink)}.personal-link-notice p{margin:0;font-size:.8125rem;color:var(--ledger-ink-soft)}.personal-link-notice code{width:100%;font-family:var(--font-mono-ledger);font-size:.75rem;color:var(--ledger-ink);background:var(--ledger-paper);border:1px solid var(--ledger-line);border-radius:3px;padding:6px 8px;word-break:break-all}.center-state{text-align:center;color:var(--ledger-ink-soft);padding:var(--spacing-12)}@media (max-width: 768px){.grade-circle-big{font-size:42px;padding:8px 20px}.grade-circle-big:before{top:-10px;right:-16px;bottom:-10px;left:-16px}.breakdown-grid{grid-template-columns:1fr}.review-question-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.results-actions{flex-direction:column;align-items:center}.results-actions a,.results-actions button{width:100%}.paper-hero{padding:28px 20px 26px}.verdict-stamp{font-size:13px;padding:8px 20px}}.grading-queue-page{padding-bottom:var(--spacing-12)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4)}.filter-select{padding:.625rem 2.5rem .625rem 1rem;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px}.filter-select:hover{border-color:var(--ledger-ink-blue)}.filter-select:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.empty-state{text-align:center;padding:var(--spacing-12);background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:8px}.empty-state h3{font-family:var(--font-display-ledger);font-size:var(--text-2xl);margin-bottom:var(--spacing-2);color:var(--ledger-ink)}.grading-content{display:grid;grid-template-columns:400px 1fr;gap:var(--spacing-6);min-height:600px}.queue-list{display:flex;flex-direction:column;gap:var(--spacing-3);overflow-y:auto;max-height:calc(100vh - 250px);padding:4px 4px 4px 12px}.queue-item{position:relative;padding:var(--spacing-4);background:var(--ledger-card-lift);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;cursor:pointer;transition:all .2s}.queue-item:hover{border-color:var(--ledger-ink-blue);box-shadow:0 2px 8px #1e2a3a14}.queue-item.active{border-color:var(--ledger-ink-blue);background:#2c42700b}.queue-item-disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.queue-item.active:before{content:"";position:absolute;left:-7px;top:10px;bottom:10px;width:5px;background:var(--ledger-ink-blue);border-radius:0 2px 2px 0}.queue-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.student-name{font-family:var(--font-display-ledger);font-weight:600;font-size:var(--text-lg);color:var(--ledger-ink)}.exam-title{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-blue);margin-bottom:var(--spacing-2)}.question-preview{font-size:var(--text-sm);color:var(--ledger-ink-soft);line-height:1.5;margin-bottom:var(--spacing-3)}.queue-item-footer{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono-ledger);font-size:var(--text-xs);color:var(--ledger-ink-soft);padding-top:var(--spacing-2);border-top:1px dashed var(--ledger-line)}.submitted-time{color:var(--ledger-ink-soft)}.points-info{font-weight:600;color:var(--ledger-kraft-dark)}.stamp-pending{color:var(--ledger-amber);transform:rotate(-3deg)}.stamp-graded{color:var(--ledger-green);transform:rotate(2deg)}.stamp-icon{width:12px;height:12px;vertical-align:middle;margin-right:3px;object-fit:contain;position:relative;top:-1px}.points-seal{position:absolute;top:-12px;right:16px;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ledger-gold),var(--ledger-kraft-dark));display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--font-mono-ledger);font-weight:700;color:#3a2e17;font-size:11px;box-shadow:0 2px 5px #00000038;transform:rotate(-8deg);border:2px solid rgba(255,255,255,.55)}.points-seal span{font-size:8px;text-transform:uppercase}.grading-panel{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 250px)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);border-bottom:2px solid var(--ledger-ink-blue);background:var(--ledger-kraft-tint)}.panel-header h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);margin:0;color:var(--ledger-ink-blue)}.panel-close-btn{width:2.5rem;height:2.5rem;border:1.5px solid var(--ledger-ink-blue);background:transparent;color:var(--ledger-ink-blue);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-close-btn:hover{background:var(--ledger-ink-blue);color:#fff}.panel-content{padding:var(--spacing-6);overflow-y:auto;flex:1}.info-section,.question-section,.answer-section{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--ledger-line)}.info-section h3,.question-section h3,.answer-section h3,.grading-form h3{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink);margin:0 0 12px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-2);font-size:var(--text-sm)}.info-grid div{padding:var(--spacing-2);background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px}.info-grid strong{display:block;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:2px}.info-grid span{color:var(--ledger-ink);font-weight:500}.question-section{position:relative}.question-text{font-size:var(--text-base);font-weight:600;color:var(--ledger-ink);margin-bottom:var(--spacing-2);line-height:1.6}.question-description{font-size:var(--text-sm);color:var(--ledger-ink-soft);font-style:italic;margin-bottom:var(--spacing-2)}.question-meta{display:flex;gap:var(--spacing-2)}.answer-content{position:relative;padding:16px 18px 16px 44px;background:linear-gradient(var(--ledger-card-lift),var(--ledger-card-lift)),repeating-linear-gradient(rgba(44,66,112,.09) 0,rgba(44,66,112,.09) 1px,transparent 1px,transparent 27px);border:1px solid var(--ledger-line);border-radius:6px;font-size:13.5px;line-height:27px;color:var(--ledger-ink);white-space:pre-wrap;word-wrap:break-word}.answer-content:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:1px;background:#a5342a4d}.grading-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.grading-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.grading-form .form-group label{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft)}.grading-form .form-group input,.grading-form .form-group select,.grading-form .form-group textarea{padding:8px 12px;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-body);color:var(--ledger-ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;line-height:1.5}.grading-form .form-group input:focus,.grading-form .form-group select:focus,.grading-form .form-group textarea:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.grading-form .form-group textarea{resize:vertical;min-height:60px}.grading-form .form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.grading-form .form-help{font-size:11px;color:var(--ledger-ink-soft);line-height:1.4;margin:0}.ai-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono-ledger);font-weight:700;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-blue);border:1.5px solid var(--ledger-ink-blue);border-radius:3px;padding:3px 8px;transform:rotate(-2deg);margin-left:8px}.ai-result{background:var(--ledger-card-lift);border:1px dashed var(--ledger-ink-blue);border-radius:6px;padding:16px;margin-bottom:16px}.ai-result .ai-score{font-size:24px;font-weight:700;color:var(--ledger-ink-blue)}.ai-result .ai-score-total{color:var(--ledger-ink-soft);font-size:14px}.ai-result .ai-label{font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);display:block;margin-bottom:4px}.ai-result .ai-feedback{color:var(--ledger-ink);font-size:var(--text-sm);margin:4px 0 0;line-height:1.5}.ai-result .ai-justification{color:var(--ledger-ink-soft);font-size:var(--text-sm);font-style:italic;margin:4px 0 0;line-height:1.5}.grade-fraction{display:flex;align-items:center;gap:8px}.grade-fraction input{max-width:100px;text-align:center;font-family:var(--font-mono-ledger);font-weight:700}.grade-fraction span{font-family:var(--font-mono-ledger);font-size:13px;color:var(--ledger-ink-soft);white-space:nowrap}.grading-form .form-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;padding-top:var(--spacing-4);border-top:1px solid var(--ledger-line)}.reference-section{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--ledger-line)}.enumeration-given,.enumeration-key{margin:0;padding-left:22px;font-size:var(--text-sm);line-height:1.6}.enumeration-key{list-style:none;padding-left:0}.enumeration-key li{display:flex;gap:8px;align-items:baseline}.enumeration-key li span[aria-hidden]{font-weight:700;width:12px;flex:none}.enumeration-found span[aria-hidden]{color:#2f7d5d}.enumeration-missing span[aria-hidden]{color:#a4462f}.enumeration-missing{color:var(--ledger-ink-soft)}.enumeration-key small{color:var(--ledger-amber, #B9791E)}.enumeration-summary{margin:0 0 8px;font-size:var(--text-sm);color:var(--ledger-ink-soft)}.enumeration-extra{margin:8px 0 12px;font-size:var(--text-sm);color:var(--ledger-amber, #B9791E)}.enumeration-empty{color:var(--ledger-ink-soft);font-style:italic}.enumeration-check .qws-order-toggle,.enumeration-check button{margin-top:12px}.reference-section h3{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink);margin:0 0 12px}.reference-section .form-group{margin-bottom:var(--spacing-3)}.reference-section .form-group:last-child{margin-bottom:0}.reference-section .form-group label{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);display:block;margin-bottom:4px}.reference-text{background:#2c427008;border-color:var(--ledger-line-soft);border-style:dashed;font-size:13px;line-height:1.6;padding:12px 16px;white-space:pre-wrap;word-wrap:break-word}.reference-text:before{display:none}.grade-all-banner{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);margin-bottom:var(--spacing-4);background:var(--ledger-card);border:1px solid var(--ledger-ink-blue);border-radius:var(--radius-md)}.grade-all-banner-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3)}.grade-all-progress-track{width:100%;height:6px;background:var(--ledger-line-soft);border-radius:3px;overflow:hidden}.grade-all-progress-fill{height:100%;background:linear-gradient(90deg,var(--ledger-ink-blue),var(--ledger-gold));border-radius:3px;transition:width .3s ease}.grade-all-progress-active{animation:grade-all-pulse 1.5s ease-in-out infinite;background-size:200% 100%;background-image:linear-gradient(90deg,var(--ledger-ink-blue) 0%,var(--ledger-gold) 40%,var(--ledger-ink-blue) 80%)}@keyframes grade-all-pulse{0%,to{opacity:.7}50%{opacity:1}}.grade-all-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(44,66,112,.2);border-top-color:var(--ledger-ink-blue);border-radius:50%;animation:grade-all-spin .7s linear infinite;vertical-align:middle;margin-right:6px}.grade-all-spinner-sm{width:12px;height:12px;border-width:1.5px;margin-right:4px}@keyframes grade-all-spin{to{transform:rotate(360deg)}}.grade-all-progress-text{font-family:var(--font-mono-ledger);font-size:var(--text-xs);font-weight:600;color:var(--ledger-ink-blue);letter-spacing:.04em}.grade-all-cancel-btn{flex-shrink:0;padding:4px 12px!important;font-size:.75rem!important}.grade-all-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-4);border-radius:var(--radius-md);font-family:var(--font-mono-ledger);font-size:var(--text-sm);font-weight:600;letter-spacing:.03em}.grade-all-summary-ok{background:#3d946614;border:1px solid var(--ledger-green);color:var(--ledger-green)}.grade-all-summary-err{background:#c850320f;border:1px solid var(--ledger-amber);color:var(--ledger-amber)}.grade-all-dismiss{width:1.5rem;height:1.5rem;border:none;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;flex-shrink:0}.grade-all-dismiss:hover{background:#00000014}@media (max-width: 1024px){.grading-content{grid-template-columns:1fr}.queue-list{max-height:400px}.grading-panel{max-height:none}}@media (max-width: 768px){.page-header{flex-direction:column;gap:var(--spacing-3)}.header-actions{width:100%}.filter-select{flex:1}.info-grid{grid-template-columns:1fr}.grading-form .form-actions{flex-direction:column}.grading-form .form-actions button{width:100%}.answer-content{padding:12px 14px 12px 38px;font-size:12.5px;line-height:24px}.answer-content:before{left:26px}}.examinee-review-page{padding-bottom:var(--spacing-12)}.review-summary{margin-bottom:var(--spacing-6)}.summary-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:var(--spacing-5)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.summary-grid div{padding:var(--spacing-2);background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px}.summary-grid strong{display:block;font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);margin-bottom:2px}.summary-grid span{color:var(--ledger-ink);font-weight:500;font-size:var(--text-sm)}.score-pass{color:var(--ledger-green)!important;font-weight:700!important}.score-fail{color:var(--ledger-red)!important;font-weight:700!important}.review-answers{margin-bottom:var(--spacing-6)}.review-answers h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);margin-bottom:var(--spacing-4);color:var(--ledger-ink-blue);border-bottom:2px solid var(--ledger-ink-blue);padding-bottom:var(--spacing-2)}.answers-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.answer-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;overflow:hidden;transition:all .2s}.answer-card.card-correct{border-left:4px solid var(--ledger-green)}.answer-card.card-incorrect{border-left:4px solid var(--ledger-red)}.answer-card.card-pending{border-left:4px solid var(--ledger-amber)}.answer-header{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--ledger-kraft-tint);border-bottom:1px solid var(--ledger-line)}.question-num{font-family:var(--font-mono-ledger);font-weight:700;font-size:var(--text-sm);color:var(--ledger-ink)}.points-badge{margin-left:auto;font-family:var(--font-mono-ledger);font-weight:700;font-size:var(--text-sm);color:var(--ledger-ink-blue)}.answer-body{padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.answer-body strong{font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);display:block;margin-bottom:4px}.q-text,.a-text,.correct-text{font-size:var(--text-sm);color:var(--ledger-ink);line-height:1.6}.answer-content-box,.correct-content-box{background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px;padding:10px 12px;white-space:pre-wrap;word-wrap:break-word;font-size:var(--text-sm);line-height:1.6;margin-top:2px}.correct-content-box{background:#3e6b470d;border-color:#3e6b4733}.verdict{font-family:var(--font-mono-ledger);font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:4px 12px;border-radius:3px;display:inline-block;align-self:flex-start}.verdict-pass{color:var(--ledger-green);background:#3e6b4714}.verdict-fail{color:var(--ledger-red);background:#a5342a12}.verdict-pending{color:var(--ledger-amber);background:#b98e2e14}.feedback-box{background:var(--ledger-kraft-tint);border:1px dashed var(--ledger-line);border-radius:4px;padding:10px 12px;font-size:var(--text-sm);color:var(--ledger-ink);line-height:1.5}.feedback-box strong{margin-bottom:4px}.choices-text{font-size:var(--text-sm);color:var(--ledger-ink)}.review-choice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.review-choice-list li{display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);border-radius:4px}.review-choice-list li.choice-chosen{border-color:var(--ledger-ink-blue)}.review-choice-list li.choice-correct{background:#3e6b470f;border-color:#3e6b4759}.choice-letter{font-family:var(--font-mono-ledger);font-weight:700;font-size:11px;color:var(--ledger-ink-soft)}.choice-body{flex:1}.choice-tag{font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-blue)}.choice-tag-correct{color:var(--ledger-green)}@media (max-width: 768px){.summary-grid{grid-template-columns:1fr}}.enum-override{margin-top:12px;padding:12px 14px;border:1px solid var(--ledger-line);border-left:3px solid var(--ledger-amber);border-radius:6px;background:var(--ledger-kraft-tint)}.enum-summary{font-size:var(--text-sm);color:var(--ledger-ink);margin-bottom:6px}.enum-key{margin:0 0 8px;padding-left:0;list-style:none;font-size:var(--text-sm);line-height:1.55}.enum-key li{display:flex;gap:8px;align-items:baseline}.enum-key li span[aria-hidden]{width:12px;font-weight:700;flex:none}.enum-found span[aria-hidden]{color:#2f7d5d}.enum-missing span[aria-hidden]{color:#a4462f}.enum-missing{color:var(--ledger-ink-soft)}.enum-key small{color:var(--ledger-amber)}.enum-extra{margin:0 0 8px;font-size:var(--text-sm);color:var(--ledger-amber)}.enum-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.enum-overridden{margin:8px 0 0;font-size:12px;color:var(--ledger-ink-soft)}.analytics-page{padding-bottom:var(--spacing-12)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--ledger-line)}.page-header h1{font-family:var(--font-display-ledger);font-size:var(--text-4xl);margin-bottom:var(--spacing-1);color:var(--ledger-ink-blue)}.header-actions{display:flex;gap:var(--spacing-3);align-items:center}.exam-select{padding:.625rem 2.5rem .625rem 1rem;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;background:#fff;cursor:pointer;transition:all .2s;min-width:300px}.exam-select:hover{border-color:var(--ledger-ink-blue)}.exam-select:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.stat-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:var(--spacing-6);display:flex;align-items:center;gap:var(--spacing-4);transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-img{width:32px;height:32px;object-fit:contain;opacity:.8}.stat-content{flex:1}.stat-label{font-size:var(--text-sm);font-weight:700;color:var(--ledger-ink-soft);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono-ledger);margin-bottom:var(--spacing-1)}.stat-value{font-size:var(--text-3xl);font-weight:700;font-family:var(--font-mono-ledger);color:var(--ledger-ink-blue)}.analytics-section{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.analytics-section h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--ledger-line);color:var(--ledger-ink-blue)}.analytics-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--ledger-line)}.analytics-section-head h2{margin:0;padding:0;border-bottom:0}.section-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}.section-toggle:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:4px;border-radius:4px}.section-chevron{display:inline-block;font-size:13px;color:var(--ledger-ink-soft);transform:rotate(-90deg);transition:transform .18s ease}.section-chevron.open{transform:rotate(0)}.section-count{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ledger-ink-soft);background:var(--ledger-paper);border:1px solid var(--ledger-line);border-radius:9999px;padding:2px 9px}.section-link{background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-blue);border-bottom:1px solid currentColor}.section-link:hover{color:var(--ledger-ink)}.question-stats-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.question-stat-card{padding:var(--spacing-4);background:var(--ledger-card-lift);border:1px solid var(--ledger-line);border-radius:var(--radius-md)}.question-stat-card:not(.open){padding:10px var(--spacing-4)}.question-stat-row{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:0;cursor:pointer;font:inherit;text-align:left;color:inherit}.question-stat-row:focus-visible{outline:2px solid var(--ledger-ink-blue);outline-offset:3px;border-radius:4px}.question-number{flex:0 0 auto;font-weight:700;font-size:var(--text-lg);color:var(--ledger-ink-blue)}.question-stat-row-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--ledger-ink-soft)}.question-chevron{flex:0 0 auto;font-size:11px;color:var(--ledger-ink-soft);transition:transform .18s ease}.question-stat-card.open .question-chevron{transform:rotate(180deg)}.question-stat-card.open .question-stat-text{margin-top:var(--spacing-3)}.correct-rate{flex:0 0 auto;white-space:nowrap;font-size:var(--text-sm);font-weight:700;padding:.25rem .75rem;border-radius:9999px;background:#fff;border:1px solid var(--ledger-line);font-family:var(--font-mono-ledger);color:var(--ledger-ink)}.question-stat-text{font-size:var(--text-base);color:var(--ledger-ink);margin-bottom:var(--spacing-3);line-height:1.6}.question-stat-bar{height:10px;background:var(--ledger-line-soft);border-radius:9999px;overflow:hidden;margin-bottom:var(--spacing-2)}.stat-bar-fill{height:100%;background:var(--ledger-ink-blue);border-radius:9999px;transition:width .5s ease}.question-stat-footer{font-size:var(--text-sm);color:var(--ledger-ink-soft);font-family:var(--font-mono-ledger)}.chart-placeholder{text-align:center;padding:var(--spacing-12);background:var(--ledger-card);border:1px dashed var(--ledger-line);border-radius:var(--radius-md)}.chart-placeholder p{font-size:var(--text-base);color:var(--ledger-ink-soft);margin-bottom:var(--spacing-2)}.chart-note{font-size:var(--text-sm)!important;color:var(--ledger-ink-soft);font-style:italic}.empty-state{text-align:center;padding:var(--spacing-12);background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;margin:var(--spacing-6) 0}.empty-state h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);margin-bottom:var(--spacing-2);color:var(--ledger-ink-blue)}.empty-state p{color:var(--ledger-ink-soft);font-size:var(--text-base)}.chart-container{width:100%;overflow-x:auto;padding-bottom:4px}.chart-svg{width:100%;height:auto;display:block}.chart-axis-label{font-family:var(--font-mono-ledger);font-size:10px;fill:var(--ledger-ink-soft);letter-spacing:.02em}.chart-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 0 0;border-top:1px solid var(--ledger-line-soft);margin-top:4px}.chart-footer-label{font-family:var(--font-mono-ledger);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ledger-ink-soft)}.chart-footer-value{font-family:var(--font-mono-ledger);font-size:10px;color:var(--ledger-ink);font-weight:600}.trend-hint{color:var(--ledger-ink-soft);font-weight:400}.ranking-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-4);flex-wrap:wrap;margin-bottom:var(--spacing-3)}.ranking-head h2{margin:0}.ranking-controls{display:flex;align-items:flex-end;gap:var(--spacing-3);flex-wrap:wrap}.ranking-controls label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs, 11px);text-transform:uppercase;letter-spacing:.06em;color:var(--ledger-ink-soft)}.ranking-controls select{font-size:var(--text-sm);padding:5px 8px;border:1px solid var(--ledger-line-soft);border-radius:3px;background:var(--ledger-card-lift);color:var(--ledger-ink)}.ranking-note{margin:0 0 var(--spacing-3);font-size:var(--text-sm);color:var(--ledger-ink-soft)}.ranking-table-wrap{overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ranking-table th{text-align:left;padding:8px 10px;font-size:var(--text-xs, 11px);text-transform:uppercase;letter-spacing:.06em;color:var(--ledger-ink-soft);border-bottom:2px solid var(--ledger-line);white-space:nowrap}.ranking-table td{padding:8px 10px;border-bottom:1px solid var(--ledger-line-soft);color:var(--ledger-ink)}.ranking-table tbody tr:hover{background:var(--ledger-card-lift)}.rank-cell{font-weight:700;color:var(--ledger-ink-blue)}.rank-name{font-weight:600}.rank-score{font-family:var(--font-mono-ledger)}.ranking-id{font-family:var(--font-mono-ledger);font-size:var(--text-sm);color:var(--ledger-ink);background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);padding:2px 7px;border-radius:3px}.ranking-muted{color:var(--ledger-ink-soft)}.pending-row td{background:color-mix(in srgb,var(--ledger-amber) 8%,transparent)}.rank-pending{color:var(--ledger-amber);font-weight:600}.question-stat-note{margin:6px 0 0;font-size:var(--text-xs, 11px);color:var(--ledger-amber)}@media (max-width: 768px){.page-header{flex-direction:column;gap:var(--spacing-3)}.header-actions{width:100%}.exam-select{width:100%;min-width:auto}.stats-grid{grid-template-columns:1fr}.stat-card{padding:var(--spacing-4)}.stat-icon{font-size:2.5rem}.stat-value{font-size:var(--text-2xl)}}.incident-reports-page{padding:var(--spacing-8)}.page-header{margin-bottom:var(--spacing-8)}.page-header h1{font-family:var(--font-display-ledger);font-size:var(--text-4xl);color:var(--ledger-ink-blue);margin:0 0 var(--spacing-2)}.page-subtitle{font-size:var(--text-lg);color:var(--ledger-ink-soft);margin:0}.filters-section{background:var(--ledger-kraft-tint);border:1px solid rgba(156,124,70,.25);border-radius:8px;padding:20px 22px;margin-bottom:var(--spacing-6)}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.filter-group label{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ledger-kraft-dark)}.filter-group select,.filter-group input{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--ledger-line);border-radius:4px;font-size:var(--text-base);background:#fff;color:var(--ledger-ink);transition:border-color .15s ease,box-shadow .15s ease}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.filter-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.search-group{position:relative;grid-column:span 2}.search-group input{padding-left:32px}.search-icon{position:absolute;left:11px;top:34px;color:var(--ledger-ink-soft);font-size:13px;pointer-events:none}.bulk-actions{display:flex;align-items:center;gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px dashed rgba(156,124,70,.35)}.selection-count{font-family:var(--font-mono-ledger);font-weight:700;color:var(--ledger-ink-blue);margin-right:auto}.btn-outline.danger{border-color:var(--ledger-red);color:var(--ledger-red)}.btn-outline.danger:hover{background:#a5342a14}.incidents-table-container{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:8px;overflow:hidden;overflow-x:auto}.incidents-table{width:100%;border-collapse:collapse}.incidents-table thead{background:var(--ledger-kraft-tint);border-bottom:1.5px solid var(--ledger-kraft-dark)}.incidents-table th{padding:var(--spacing-4);text-align:left;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;color:var(--ledger-kraft-dark);text-transform:uppercase;letter-spacing:.07em}.incidents-table tbody tr{position:relative;border-bottom:1px solid var(--ledger-line-soft);box-shadow:inset 3px 0 0 transparent;transition:background-color .15s ease}.incidents-table tbody tr:nth-child(2n){background:#1e2a3a04}.incidents-table tbody tr:hover{background:#2c42700a}.incidents-table tbody tr.selected{background:#2c427012}.incidents-table tbody tr.sev-high{box-shadow:inset 3px 0 0 var(--ledger-red)}.incidents-table tbody tr.sev-medium{box-shadow:inset 3px 0 0 var(--ledger-amber)}.incidents-table tbody tr.sev-low{box-shadow:inset 3px 0 0 var(--ledger-green)}.incidents-table td{padding:var(--spacing-4);font-size:var(--text-sm)}.incidents-table input[type=checkbox]{accent-color:var(--ledger-ink-blue)}.student-name{font-weight:600;color:var(--ledger-ink)}.student-id{font-family:var(--font-mono-ledger);color:var(--ledger-ink-soft)}.exam-title{color:var(--ledger-ink)}.event-type{text-transform:capitalize;color:var(--ledger-ink-soft)}.event-detail{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ledger-ink-soft)}.severity-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:#fff;letter-spacing:.05em}.status-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.active{background:#10b981;color:#fff}.status-badge.archived{background:#6b7280;color:#fff}.timestamp{font-family:var(--font-mono-ledger);font-size:var(--text-xs);color:var(--ledger-ink-soft);white-space:nowrap}.stamp-sev-high{color:var(--ledger-red);transform:rotate(-3deg)}.stamp-sev-medium{color:var(--ledger-amber);transform:rotate(2deg)}.stamp-sev-low{color:var(--ledger-green);transform:rotate(-2deg)}.stamp-status-active{color:var(--ledger-ink-blue);transform:rotate(2deg)}.stamp-status-archived{color:var(--ledger-grey);border-style:dashed;transform:rotate(-2deg)}.empty-state{text-align:center;padding:var(--spacing-12);background:var(--ledger-card);border:2px dashed var(--ledger-line);border-radius:8px}.empty-stamp{display:inline-block;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 14px;border:1.5px solid var(--ledger-ink-soft);border-radius:2px;color:var(--ledger-ink-soft);transform:rotate(-3deg);margin-bottom:16px}.empty-state h3{font-family:var(--font-display-ledger);font-size:var(--text-2xl);color:var(--ledger-ink);margin:0 0 var(--spacing-2)}.empty-state p{color:var(--ledger-ink-soft);margin:0}.incidents-summary{margin-top:18px;padding-top:14px;text-align:center;border-top:3px double var(--ledger-line);font-family:var(--font-mono-ledger);font-size:11px;color:var(--ledger-ink-soft);letter-spacing:.03em}.error-banner{background:#a5342a12;border:1px solid var(--ledger-red);color:var(--ledger-red);padding:var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-6)}@media (max-width: 1200px){.incidents-table-container{overflow-x:auto}.incidents-table{min-width:1000px}}@media (max-width: 768px){.filters{grid-template-columns:1fr}.search-group{grid-column:span 1}.bulk-actions{flex-wrap:wrap}.selection-count{flex-basis:100%;margin-bottom:var(--spacing-2)}}.recycle-bin-page .page-subtitle{max-width:74ch}.recycle-table td{vertical-align:top}.recycle-title{font-weight:500;font-size:var(--text-sm);color:var(--ledger-ink)}.recycle-empty{padding:var(--spacing-6);text-align:center;color:var(--ledger-ink-soft);font-size:var(--text-sm)}.ai-generator-page{max-width:900px;margin:0 auto;padding:var(--spacing-8)}.page-header{text-align:center;margin-bottom:var(--spacing-8)}.page-header h1{font-family:var(--font-display-ledger);font-size:2.5rem;margin-bottom:var(--spacing-2);color:var(--ledger-ink-blue)}.ai-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:2px solid var(--ledger-ink-blue);font-family:var(--font-mono-ledger);font-size:12px;font-weight:700;color:var(--ledger-ink-blue);transform:rotate(-4deg);margin-right:8px;vertical-align:middle}.page-description{color:var(--ledger-ink-soft);font-size:1.125rem}.progress-steps{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-8);padding:var(--spacing-6) 0}.step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.step-number{width:46px;height:46px;border-radius:50%;border:2px dashed var(--ledger-kraft-dark);background:transparent;color:var(--ledger-kraft-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono-ledger);font-weight:700;font-size:17px;transition:all .25s ease}.step.active .step-number{border-style:solid;background:var(--ledger-ink-blue);color:#fff;border-color:var(--ledger-ink-blue);box-shadow:0 3px 8px #2c427059}.step-label{font-family:var(--font-mono-ledger);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);font-weight:700}.step.active .step-label{color:var(--ledger-ink-blue)}.step-line{width:70px;height:0;border-top:2px dashed var(--ledger-line);margin:0 14px 26px;transition:border-color .25s ease,border-style .25s ease}.step-line.active{border-top:2px solid var(--ledger-ink-blue)}.form-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 10px 10px;padding:var(--spacing-8)}.form-card h2{font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ledger-ink);margin-bottom:var(--spacing-2)}.step-description{color:var(--ledger-ink-soft);margin-bottom:var(--spacing-6)}.form-group{margin-bottom:var(--spacing-6)}.form-group label{display:block;font-weight:500;margin-bottom:var(--spacing-2);color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:200px}.form-hint{display:block;margin-top:var(--spacing-2);font-size:.875rem;color:var(--color-text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.info-banner{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;background:var(--ledger-card-lift);border:1px dashed var(--ledger-ink-blue);border-radius:6px;color:var(--ledger-ink);font-size:13px;margin-bottom:var(--spacing-6)}.error-banner{padding:var(--spacing-4);background:#a5342a12;border:1px solid var(--ledger-red);border-radius:var(--radius-md);color:var(--ledger-red);margin-top:var(--spacing-6)}.ai-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono-ledger);font-weight:700;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-blue);border:1.5px solid var(--ledger-ink-blue);border-radius:3px;padding:3px 8px;transform:rotate(-2deg);flex-shrink:0}.selection-actions{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px dashed var(--ledger-line-dash)}.selection-count{margin-left:auto;font-family:var(--font-mono-ledger);font-size:.875rem;color:var(--ledger-ink-soft);font-weight:700}.questions-list{display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-6);max-height:500px;overflow-y:auto}.question-preview{position:relative;display:flex;gap:var(--spacing-4);padding:var(--spacing-4);border:1px solid var(--ledger-line);border-radius:8px 8px 2px;cursor:pointer;transition:all .2s ease;background:var(--ledger-card-lift)}.question-preview:hover{border-color:var(--ledger-ink-blue);box-shadow:0 2px 8px #1e2a3a14}.question-preview.selected{border-color:var(--ledger-ink-blue);background:#2c42700a}.question-preview.selected:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:4px;background:var(--ledger-ink-blue);border-radius:2px 0 0 2px}.question-checkbox input{width:20px;height:20px;cursor:pointer;accent-color:var(--ledger-ink-blue)}.question-content{flex:1}.question-header-preview{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.question-number{font-family:var(--font-mono-ledger);font-weight:700;color:var(--ledger-ink-blue);font-size:13px}.stamp{display:inline-block;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border:1.5px solid currentColor;border-radius:2px}.stamp-type{color:var(--ledger-ink-blue)}.question-points{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ledger-gold),var(--ledger-kraft-dark));font-family:var(--font-mono-ledger);font-weight:700;color:#3a2e17;font-size:10px;box-shadow:0 2px 5px #0003;transform:rotate(-6deg);border:2px solid rgba(255,255,255,.55);margin-left:auto;flex-shrink:0}.question-points span{font-size:7px;text-transform:uppercase}.question-text{font-weight:500;margin-bottom:var(--spacing-2);color:var(--ledger-ink)}.question-description{font-size:.875rem;color:var(--ledger-ink-soft);font-style:italic;margin-bottom:var(--spacing-2)}.question-choices{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-3)}.choice-item{display:flex;align-items:center;gap:9px;padding:7px 11px;background:var(--ledger-kraft-tint);border-radius:5px;font-size:12.5px;color:var(--ledger-ink)}.choice-bubble{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ledger-ink-soft);font-family:var(--font-mono-ledger);font-size:9px;font-weight:700;color:var(--ledger-ink-soft);flex-shrink:0}.question-explanation{margin-top:10px;padding:10px 12px;background:#3e6b4714;border-left:3px solid var(--ledger-green);border-radius:0 5px 5px 0;font-size:12px;color:var(--ledger-ink)}.question-explanation strong{font-family:var(--font-mono-ledger);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ledger-green);display:block;margin-bottom:3px}.step-actions{display:flex;justify-content:space-between;gap:var(--spacing-4);margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px solid var(--ledger-line)}@media (max-width: 768px){.ai-generator-page{padding:var(--spacing-4)}.page-header h1{font-size:2rem}.form-card{padding:var(--spacing-6)}.form-row{grid-template-columns:1fr}.step-number{width:38px;height:38px;font-size:14px}.step-line{width:40px;margin:0 8px 22px}.progress-steps{font-size:.875rem}.question-points{width:28px;height:28px;font-size:8px}.question-points span{font-size:6px}}.settings-page{padding-bottom:var(--spacing-12)}.page-header{margin-bottom:var(--spacing-6)}.page-header h1{font-family:var(--font-display-ledger);font-size:var(--text-4xl);color:var(--ledger-ink-blue);margin:0 0 var(--spacing-1)}.page-subtitle{font-size:var(--text-base);color:var(--ledger-ink-soft);margin:0}.settings-card{background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 8px 8px;padding:28px;max-width:680px}.settings-section h2{font-family:var(--font-display-ledger);font-size:var(--text-2xl);color:var(--ledger-ink-blue);margin:0 0 8px}.settings-description{font-size:var(--text-sm);color:var(--ledger-ink-soft);line-height:1.6;margin:0 0 24px}.settings-description a{color:var(--ledger-ink-blue);font-weight:600}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.form-group label{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft)}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ledger-ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;line-height:1.5}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-hint{font-size:11px;color:var(--ledger-ink-soft);font-style:italic;margin:2px 0 0;line-height:1.4}.settings-message{padding:10px 14px;border-radius:4px;font-size:var(--text-sm);font-weight:600;margin-bottom:16px}.settings-message.success{background:#3e6b4714;border:1px solid var(--ledger-green);color:var(--ledger-green)}.settings-message.error{background:#a5342a12;border:1px solid var(--ledger-red);color:var(--ledger-red)}.settings-actions{display:flex;justify-content:flex-end;padding-top:8px}.api-key-status{margin-bottom:6px}.api-key-status .key-saved{font-size:var(--text-sm);font-weight:600;color:var(--ledger-green)}.api-key-status .key-missing{font-size:var(--text-sm);font-weight:600;color:var(--ledger-red)}.settings-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--ledger-line)}.settings-tab{padding:10px 20px;border:none;background:transparent;font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);cursor:pointer;transition:color .15s ease,border-color .15s ease;border-bottom:2px solid transparent;margin-bottom:-1px}.settings-tab:hover{color:var(--ledger-ink)}.settings-tab.active{color:var(--ledger-ink-blue);border-bottom-color:var(--ledger-ink-blue)}.color-picker-wrapper{display:flex;align-items:flex-start;gap:20px;margin-bottom:16px}.color-preview{width:60px;height:60px;border-radius:4px;border:1px solid var(--ledger-line);flex-shrink:0}.color-input-group{flex:1}.color-input-group label{font-family:var(--font-mono-ledger);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-ink-soft);display:block;margin-bottom:6px}.color-input-row{display:flex;align-items:center;gap:10px}.color-picker-native{width:44px;height:40px;padding:0;border:1px solid var(--ledger-line);border-radius:var(--radius-md);cursor:pointer;background:none}.color-picker-native::-webkit-color-swatch-wrapper{padding:3px}.color-picker-native::-webkit-color-swatch{border:none;border-radius:2px}.color-hex-input{flex:1;padding:8px 12px;border:1px solid var(--ledger-line);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ledger-ink);background:#fff;transition:border-color .15s ease}.color-hex-input:focus{outline:none;border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.color-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease;padding:0}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427040}.font-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:8px}.font-preset-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:1px solid var(--ledger-line);border-radius:var(--radius-md);background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;text-align:center}.font-preset-card:hover{border-color:var(--ledger-ink-blue);box-shadow:0 2px 8px #2c42701a}.font-preset-card.active{border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427033}.font-preset-sample{font-size:28px;font-weight:600;color:var(--ledger-ink);line-height:1}.font-preset-name{font-family:var(--font-mono-ledger);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ledger-ink)}.font-preset-detail{font-size:10px;color:var(--ledger-ink-soft);line-height:1.3}.activity-loading,.activity-empty{padding:40px 20px;text-align:center;color:var(--ledger-ink-soft);font-size:var(--text-sm)}.activity-list{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--ledger-line-soft)}.activity-item:last-child{border-bottom:none}.activity-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--ledger-kraft-tint);border-radius:50%}.activity-body{flex:1;min-width:0}.activity-description{font-size:var(--text-sm);color:var(--ledger-ink);line-height:1.4;margin-bottom:4px}.activity-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-action-tag{font-family:var(--font-mono-ledger);font-size:9.5px;font-weight:600;letter-spacing:.04em;color:var(--ledger-ink-soft);background:var(--ledger-paper);padding:1px 6px;border-radius:3px}.activity-time{font-size:11px;color:var(--ledger-ink-soft)}.activity-load-more{text-align:center;padding:16px 0 8px}.account-identity{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:24px;background:var(--ledger-paper);border:1px solid var(--ledger-line);border-radius:6px}.account-avatar{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(165deg,var(--ledger-cover-2),var(--ledger-cover-1));color:var(--ledger-gold);font-family:var(--font-display-ledger);font-size:20px;font-weight:600}.account-identity-text{min-width:0}.account-email{font-weight:600;color:var(--ledger-ink);overflow-wrap:anywhere}.account-role{margin-top:2px;font-family:var(--font-mono-ledger);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ledger-ink-soft)}.lp-root{--paper: #E9EEEF;--card: #F6F7F2;--card-lift: #FCFBF7;--ink: #1E2A3A;--ink-soft: #5A6472;--ink-blue: #2C4270;--kraft: #CBA876;--kraft-dark: #9C7C46;--kraft-tint: rgba(203, 168, 118, .14);--gold: #E4C989;--red-pen: #A5342A;--stamp-green: #3E6B47;--line: rgba(30, 42, 58, .14);--line-soft: rgba(30, 42, 58, .08);--cover-1: #1B2540;--cover-2: #283B63;--font-display: "Fraunces", serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-body)}.lp-root *,.lp-root *:before,.lp-root *:after{box-sizing:border-box}.lp-root a{color:inherit;text-decoration:none}.lp-root button{font-family:var(--font-body)}.lp-root .wrap{max-width:1180px;margin:0 auto;padding:0 28px}.lp-root section{padding:90px 0}.lp-root .section-paper{background-image:repeating-linear-gradient(0deg,rgba(30,42,58,.045) 0px,rgba(30,42,58,.045) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(90deg,rgba(30,42,58,.045) 0px,rgba(30,42,58,.045) 1px,transparent 1px,transparent 32px)}.lp-root .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--kraft-dark);background:var(--kraft-tint);border:1px solid rgba(156,124,70,.35);padding:5px 12px;border-radius:3px;margin-bottom:16px}.lp-root h1,.lp-root h2,.lp-root h3{font-family:var(--font-display);color:var(--ink);margin:0}.lp-root .section-title{font-size:32px;font-weight:600;color:var(--ink-blue);letter-spacing:-.01em;margin-bottom:12px}.lp-root .section-sub{font-size:15px;color:var(--ink-soft);max-width:60ch;line-height:1.6}.lp-root .center{text-align:center}.lp-root .center .section-sub{margin-left:auto;margin-right:auto}.lp-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;padding:13px 24px;border-radius:5px;cursor:pointer;border:1.5px solid transparent;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,color .12s ease}.lp-root .btn:hover{transform:translateY(-1px)}.lp-root .btn-primary{background:var(--ink-blue);color:#f5f4ee;box-shadow:0 2px #00000026}.lp-root .btn-primary:hover{box-shadow:0 5px 14px #2c427066}.lp-root .btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}.lp-root .btn-outline:hover{border-color:var(--ink-blue);color:var(--ink-blue)}.lp-root .btn-ghost-light{background:transparent;border-color:#ffffff4d;color:#ffffffeb}.lp-root .btn-ghost-light:hover{border-color:#fff;color:#fff;background:#ffffff14}.lp-root .stamp{display:inline-flex;align-items:center;font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border:1.5px solid currentColor;border-radius:3px;color:var(--ink-soft)}.lp-root.lp-loading{display:flex;align-items:center;justify-content:center}.lp-root .lp-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(44,66,112,.25);border-top-color:var(--ink-blue);animation:lp-spin .8s linear infinite}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-root .nav{position:sticky;top:0;z-index:100;background:#f6f7f2eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.lp-root .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.lp-root .nav-logo{font-family:var(--font-display);font-weight:600;font-size:21px;color:var(--ink-blue);display:flex;align-items:center;gap:9px}.lp-root .nav-logo-mark{width:32px;height:20px}.lp-root .nav-links{display:flex;gap:30px;font-size:13.5px;font-weight:600;color:var(--ink-soft)}.lp-root .nav-links a:hover{color:var(--ink-blue)}.lp-root .nav-actions{display:flex;gap:10px;align-items:center}.lp-root .nav-actions .btn{padding:9px 18px;font-size:13px}@media (max-width: 860px){.lp-root .nav-links{display:none}}.lp-root .hero{position:relative;background:linear-gradient(165deg,var(--cover-1) 0%,var(--cover-2) 100%);color:#fff;padding:90px 0 110px;overflow:hidden}.lp-root .hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.1;pointer-events:none}.lp-root .hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.lp-root .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(228,201,137,.4);padding:5px 12px;border-radius:3px;margin-bottom:20px}.lp-root .hero h1{font-size:48px;font-weight:600;line-height:1.12;color:#fff;letter-spacing:-.015em;margin-bottom:18px}.lp-root .hero h1 em{font-style:normal;color:var(--gold)}.lp-root .hero-sub{font-size:16px;color:#ffffffc7;line-height:1.6;max-width:46ch;margin-bottom:30px}.lp-root .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}.lp-root .hero-note{font-family:var(--font-mono);font-size:11.5px;color:#fff9}.lp-root .hero-visual{position:relative;display:flex;justify-content:center}.lp-root .hero-card{position:relative;width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:2px 14px 14px;padding:30px 26px;box-shadow:0 30px 70px #0a0e1a73;transform:rotate(3deg)}.lp-root .hero-seal-mark{position:absolute;top:-16px;right:-12px;width:62px;height:38px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 8px;box-shadow:0 8px 18px #00000040;transform:rotate(-8deg)}.lp-root .hero-card-exam{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.lp-root .grade-circle{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:42px;color:var(--ink);padding:6px 20px;margin-bottom:4px}.lp-root .grade-circle:before{content:"";position:absolute;top:-9px;right:-16px;bottom:-9px;left:-16px;border:3px solid var(--red-pen);border-radius:52% 46% 50% 48%/56% 50% 54% 44%;transform:rotate(-2deg);pointer-events:none}.lp-root .hero-card-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.lp-root .hero-card-label{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft)}.lp-root .hero-stamp-pass{color:var(--stamp-green);transform:rotate(-4deg);font-size:11px;padding:5px 12px}.lp-root .hero-card-mini-row{display:flex;gap:8px;margin-top:18px}.lp-root .hero-chip{flex:1;background:var(--card-lift);border:1px solid var(--line-soft);border-radius:4px;padding:8px 10px;font-size:11px;color:var(--ink-soft)}.lp-root .hero-chip b{display:block;font-family:var(--font-mono);color:var(--ink);font-size:13px}@media (max-width: 920px){.lp-root .hero-grid{grid-template-columns:1fr}.lp-root .hero-visual{margin-top:20px}.lp-root .hero h1{font-size:36px}}.lp-root .stats-strip{padding:50px 0;border-bottom:1px solid var(--line)}.lp-root .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lp-root .stat-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:2px 8px 8px;padding:24px 18px 16px;text-align:center}.lp-root .stat-tab{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--kraft);color:#3a2e17;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:4px;white-space:nowrap}.lp-root .stat-value{font-family:var(--font-display);font-size:32px;font-weight:600;color:var(--ink-blue);margin:6px 0 4px}.lp-root .stat-caption{font-size:11.5px;color:var(--ink-soft)}@media (max-width: 760px){.lp-root .stats-grid{grid-template-columns:1fr}}.lp-root .features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}.lp-root .feature-card{background:var(--card);border:1px solid var(--line);border-radius:2px 10px 10px;padding:26px 24px;transition:transform .15s ease,box-shadow .15s ease}.lp-root .feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1e2a3a14}.lp-root .feature-mark{width:40px;height:40px;border-radius:50%;border:2px solid var(--ink-blue);color:var(--ink-blue);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:16px;transform:rotate(-3deg)}.lp-root .feature-title{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:8px}.lp-root .feature-desc{font-size:13.5px;color:var(--ink-soft);line-height:1.6}@media (max-width: 920px){.lp-root .features-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.lp-root .features-grid{grid-template-columns:1fr}}.lp-root .steps-row{display:flex;align-items:flex-start;justify-content:center;margin-top:50px;gap:0;flex-wrap:wrap}.lp-root .step-col{display:flex;flex-direction:column;align-items:center;text-align:center;width:240px}.lp-root .step-circle{width:54px;height:54px;border-radius:50%;background:var(--ink-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:19px;box-shadow:0 4px 10px #2c427059;margin-bottom:14px}.lp-root .step-col h4{font-family:var(--font-display);font-size:15.5px;font-weight:600;margin-bottom:6px}.lp-root .step-col p{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:0}.lp-root .step-connector{width:70px;height:0;border-top:2px dashed var(--line);margin-top:27px}@media (max-width: 760px){.lp-root .step-connector{display:none}}.lp-root .testimonial-wrap{display:flex;justify-content:center;margin-top:50px}.lp-root .testimonial-stage{position:relative;width:100%;max-width:660px;overflow:hidden}.lp-root .testimonial-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1)}.lp-root .testimonial-note{position:relative;flex:0 0 100%;margin:0;background:var(--kraft-tint);border:1px solid rgba(156,124,70,.35);border-radius:2px 10px 10px 2px;padding:34px 38px 28px;box-shadow:3px 5px 14px #1e2a3a1a}.lp-root .testimonial-note:before{content:"";position:absolute;top:-8px;left:34px;width:30px;height:13px;background:#cba87699;border-radius:2px;transform:rotate(-4deg);box-shadow:0 1px 3px #00000026}.lp-root .testimonial-note p{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--ink);line-height:1.5;margin:0 0 16px}.lp-root .testimonial-byline{font-family:var(--font-mono);font-size:11.5px;color:var(--kraft-dark);font-weight:700}.lp-root .testimonial-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}.lp-root .testimonial-controls .btn{padding:8px 15px;font-size:14px}.lp-root .testimonial-dots{display:flex;gap:8px}.lp-root .testimonial-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--kraft-dark);background:transparent;padding:0;cursor:pointer}.lp-root .testimonial-dot.active{background:var(--kraft-dark)}.lp-root .cta-banner{background:linear-gradient(165deg,var(--cover-1) 0%,var(--cover-2) 100%);color:#fff;border-radius:2px 16px 16px;padding:56px 40px;text-align:center;position:relative;overflow:hidden}.lp-root .cta-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.1;pointer-events:none}.lp-root .cta-seal-mark{position:relative;display:block;width:96px;height:58px;margin:0 auto 22px;background:#ffffff0f;border:2px solid rgba(255,255,255,.35);border-radius:8px;padding:10px 12px;transform:rotate(-5deg)}.lp-root .cta-banner h2{position:relative;font-size:30px;color:#fff;margin-bottom:10px}.lp-root .cta-banner p{position:relative;color:#ffffffb8;margin-bottom:28px;font-size:14.5px}.lp-root .cta-actions{position:relative;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.lp-root .footer{border-top:1px solid var(--line);padding:46px 0 30px}.lp-root .footer-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;margin-bottom:36px}.lp-root .footer-logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--ink-blue);margin-bottom:10px}.lp-root .footer-logo-mark{width:30px;height:18px}.lp-root .footer-tagline{font-size:12.5px;color:var(--ink-soft);line-height:1.6;max-width:38ch}.lp-root .footer-col h5{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px}.lp-root .footer-col a{display:block;font-size:13px;color:var(--ink);margin-bottom:10px}.lp-root .footer-col a:hover{color:var(--ink-blue)}.lp-root .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px dashed var(--line);font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);flex-wrap:wrap;gap:10px}@media (max-width: 760px){.lp-root .footer-grid{grid-template-columns:1fr}.lp-root section{padding:60px 0}.lp-root .section-title{font-size:26px}}@media (prefers-reduced-motion: reduce){.lp-root .btn,.lp-root .feature-card,.lp-root .testimonial-track{transition:none!important}}.lp-root .about-hero{padding-bottom:70px}.lp-root .about-hero h1{font-size:40px}.lp-root .team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-bottom:34px}.lp-root .team-card{background:var(--card);border:1px solid var(--line);border-radius:2px 12px 12px;padding:30px 24px 24px;text-align:center}.lp-root .team-bubble{width:116px;height:116px;margin:0 auto 18px;border-radius:50%;overflow:hidden;background:linear-gradient(150deg,var(--ink-blue),var(--kraft-dark));border:3px solid var(--card-lift);box-shadow:0 6px 16px #1e2a3a2e,0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center}.lp-root .team-bubble img{width:100%;height:100%;object-fit:cover;display:block}.lp-root .team-initials{font-family:var(--font-display);font-size:34px;font-weight:600;color:var(--card-lift);letter-spacing:.02em}.lp-root .team-name{font-family:var(--font-display);font-size:18px;font-weight:600;margin-bottom:6px}.lp-root .team-role{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kraft-dark);margin-bottom:12px}.lp-root .team-bio{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0 0 12px}.lp-root .team-email{display:inline-block;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-blue);border-bottom:1px dashed var(--line);margin-bottom:14px}.lp-root .team-email:hover{border-bottom-color:var(--ink-blue)}.lp-root .team-photo-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.lp-root .team-photo-actions .btn{padding:8px 15px;font-size:12.5px}.lp-root .about-note{font-size:13px;color:var(--ink-soft);line-height:1.6;max-width:62ch}.lp-root .about-message{border-radius:4px;padding:11px 14px;font-size:13.5px;margin-bottom:18px}.lp-root .about-message.error{background:#a5342a14;border:1px solid rgba(165,52,42,.35);color:var(--red-pen)}.lp-root .about-message.success{background:#3e6b4714;border:1px solid rgba(62,107,71,.35);color:var(--stamp-green)}@media (max-width: 900px){.lp-root .team-grid{grid-template-columns:1fr 1fr}}@media (max-width: 620px){.lp-root .team-grid{grid-template-columns:1fr}}.pricing-hero{padding:96px 0 8px;text-align:center}.pricing-hero h1{font-family:var(--font-display, "Fraunces", Georgia, serif);font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.1;margin:0 0 18px;color:var(--ink, #1d1b16)}.pricing-lede{max-width:620px;margin:0 auto 26px;font-size:1.0625rem;line-height:1.6;color:var(--ink-soft, #55504a)}.pricing-note{display:inline-block;max-width:680px;padding:12px 20px;border:1px dashed var(--rule, #c9c2b4);border-radius:6px;background:var(--paper-tint, #faf7f0);font-size:.875rem;line-height:1.55;color:var(--ink-soft, #55504a)}.pricing-note strong{color:var(--ink, #1d1b16)}.pricing-grid-section{padding:56px 0 96px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.pricing-card{position:relative;display:flex;flex-direction:column;padding:30px 28px 26px;background:var(--paper, #fffdf8);border:1px solid var(--rule, #ddd6c7);border-radius:8px;box-shadow:0 1px 0 var(--rule, #ddd6c7)}.pricing-card-featured{border-color:var(--amber, #b8860b);box-shadow:0 2px 0 var(--amber, #b8860b)}.pricing-flag{position:absolute;top:-11px;left:28px;padding:3px 10px;background:var(--amber, #b8860b);color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:3px}.pricing-card h2{font-family:var(--font-display, "Fraunces", Georgia, serif);font-size:1.375rem;margin:0 0 10px;color:var(--ink, #1d1b16)}.pricing-price{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display, "Fraunces", Georgia, serif);font-size:2rem;color:var(--ink, #1d1b16)}.pricing-price span{font-family:var(--font-body, "Inter", system-ui, sans-serif);font-size:.8125rem;font-weight:400;color:var(--ink-soft, #55504a)}.pricing-pitch{margin:14px 0 10px;font-size:.9375rem;line-height:1.55;color:var(--ink-soft, #55504a)}.pricing-audience{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint, #8a8377);margin-bottom:18px}.pricing-features{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:9px;font-size:.9375rem;line-height:1.45;color:var(--ink, #1d1b16)}.pricing-features li{position:relative;padding-left:20px}.pricing-features li:before{content:"✓";position:absolute;left:0;color:var(--amber, #b8860b);font-weight:700}.pricing-cta{margin-top:auto;width:100%;justify-content:center}.pricing-cta[disabled]{opacity:.55;cursor:not-allowed}.pricing-footnote{margin:10px 0 0;font-size:.75rem;color:var(--ink-faint, #8a8377);text-align:center}.pricing-fineprint{max-width:640px;margin:40px auto 0;text-align:center;font-size:.875rem;line-height:1.6;color:var(--ink-soft, #55504a)}.pricing-fineprint a{color:var(--ink, #1d1b16);text-decoration:underline}@media (max-width: 900px){.pricing-grid{grid-template-columns:1fr}.pricing-hero{padding-top:64px}}.students-page{padding-bottom:var(--spacing-12)}.students-page .page-header{margin-bottom:24px}.students-page .page-header h1{font-family:var(--font-display-ledger);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ledger-ink-blue);letter-spacing:var(--tracking-tight);margin:0 0 2px}.students-page .page-subtitle{font-size:13px;color:var(--ledger-ink-soft);margin:0}.return-draft-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-4);padding:12px 16px;background:var(--ledger-card);border:1px dashed var(--ledger-line);border-left:3px solid var(--ledger-green);border-radius:4px}.return-draft-banner p{margin:0;font-size:.8125rem;color:var(--ledger-ink-soft)}.return-draft-banner strong{color:var(--ledger-ink)}.reg-link-box{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--ledger-kraft-tint);border:1.5px dashed var(--ledger-kraft-dark);border-radius:6px}.reg-link-code{flex:1;font-family:var(--font-mono-ledger);font-size:12.5px;color:var(--ledger-ink);word-break:break-all;line-height:1.5}.field-empty{font-size:var(--text-sm);color:var(--ledger-ink-soft);font-style:italic}.card-body-description{margin:0;font-size:var(--text-sm);color:var(--ledger-ink-soft)}.search-bar{padding:12px 16px;border-bottom:1px solid var(--ledger-line)}.bulk-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--ledger-kraft-tint);border-bottom:1px solid var(--ledger-line)}.bulk-toolbar-count{margin-right:auto;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ledger-kraft-dark)}.select-cell{width:36px;text-align:center}.row-delete-btn{padding:3px 7px;font-size:13px;line-height:1;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;opacity:.5;transition:opacity var(--transition-fast),background var(--transition-fast)}.students-table tbody tr:hover .row-delete-btn{opacity:1}.row-delete-btn:hover:not(:disabled){background:#a5342a14;border-color:var(--ledger-red)}.row-delete-btn:disabled{opacity:.25;cursor:not-allowed}.search-bar input{width:100%;padding:9px 13px;font-size:13.5px;color:var(--ledger-ink);background:#fff;border:1px solid var(--ledger-line);border-radius:4px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.search-bar input:focus{border-color:var(--ledger-ink-blue);box-shadow:0 0 0 2px #2c427026}.students-table-wrapper{overflow-x:auto}.students-table{width:100%;border-collapse:collapse}.students-table thead{background:var(--ledger-kraft-tint);border-bottom:1.5px solid var(--ledger-kraft-dark)}.students-table th{padding:10px 12px;text-align:left;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;color:var(--ledger-kraft-dark);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.students-table tbody tr{border-bottom:1px solid var(--ledger-line-soft);transition:background var(--transition-fast)}.students-table tbody tr:nth-child(2n){background:#1e2a3a04}.students-table tbody tr:hover{background:#2c42700a}.students-table td{padding:10px 12px;font-size:var(--text-sm);color:var(--ledger-ink)}.student-name-cell{font-weight:600}.no-class-chip{display:inline-block;margin-left:8px;padding:1px 6px;border:1px dashed var(--ledger-line-soft);border-radius:3px;font-size:var(--text-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ledger-ink-soft);vertical-align:middle}.student-id-code{font-family:var(--font-mono-ledger);font-size:var(--text-sm);color:var(--ledger-ink);background:var(--ledger-card-lift);border:1px solid var(--ledger-line-soft);padding:2px 7px;border-radius:3px}.student-email-cell{color:var(--ledger-ink-soft);font-size:var(--text-sm)}.student-date-cell{color:var(--ledger-ink-soft);font-size:var(--text-sm);white-space:nowrap}.dash{color:var(--ledger-ink-soft);font-size:12.5px}.sub-detail{font-size:10.5px;color:var(--ledger-ink-soft);margin-top:1px}.btn-view-paper{padding:6px 13px;font-size:12px;font-weight:700;color:var(--ledger-ink-blue);background:#2c42700f;border:1px solid rgba(44,66,112,.25);border-radius:4px;cursor:pointer;transition:all .15s ease;font-family:var(--font-mono-ledger)}.btn-view-paper:hover{background:#2c42701f;border-color:var(--ledger-ink-blue)}@media (max-width: 768px){.students-page .page-header{flex-direction:column;gap:12px}.reg-link-box{flex-direction:column;align-items:stretch}.reg-link-code{font-size:var(--text-xs)}}.papers-table th,.score-cell{white-space:nowrap}.score-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-mono)}.score-badge.passed{background:#dcfce7;color:#166534}.score-badge.failed{background:#fef2f2;color:#991b1b}.incident-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-semibold)}.incident-badge.has-incidents{background:#fef3c7;color:#92400e}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:var(--font-semibold);white-space:nowrap}.status-completed{background:#dcfce7;color:#166534}.status-pending{background:#fef3c7;color:#92400e}.status-incomplete{background:#fce7f3;color:#9d174d}.status-submitted{background:#dbeafe;color:#1e40af}.status-detail{font-size:10px;color:var(--color-gray-3);margin-top:2px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stamp{display:inline-block;font-family:var(--font-mono-ledger);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border:1.5px solid currentColor;border-radius:2px;white-space:nowrap}.stamp-pass{color:var(--ledger-green)}.stamp-fail{color:var(--ledger-red)}.stamp-warn{color:var(--ledger-amber)}.stamp-info{color:var(--ledger-ink-blue)}.stamp-neutral{color:var(--ledger-grey);border-style:dashed}.status-icon{width:14px;height:14px;vertical-align:middle;margin-right:4px;object-fit:contain;position:relative;top:-1px}.score-pct{font-weight:400;opacity:.75}.status-detail{font-size:10px;color:var(--ledger-ink-soft);margin-top:2px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.paper-detail-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.paper-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.paper-detail-header h2{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary)}.paper-detail-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-gray-3);padding:0;line-height:1}.paper-detail-body{padding:20px}.paper-detail-section{margin-bottom:20px}.paper-detail-section h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-2);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.paper-detail-section p{margin:0;font-size:var(--text-sm);color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;line-height:1.6}:root{--font-display: "Playfair Display", Georgia, serif;--font-heading: "Crimson Pro", Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Monaco", "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-black: 900;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-accent-50: #fffbeb;--color-accent-100: #fef3c7;--color-accent-200: #fde68a;--color-accent-300: #fcd34d;--color-accent-400: #fbbf24;--color-accent-500: #f59e0b;--color-accent-600: #d97706;--color-accent-700: #b45309;--color-accent-800: #92400e;--color-accent-900: #78350f;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-warning-500: #f97316;--color-warning-600: #ea580c;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-neutral-50: #fafaf9;--color-neutral-100: #f5f5f4;--color-neutral-200: #e7e5e4;--color-neutral-300: #d6d3d1;--color-neutral-400: #a8a29e;--color-neutral-500: #78716c;--color-neutral-600: #57534e;--color-neutral-700: #44403c;--color-neutral-800: #292524;--color-neutral-900: #1c1917;--color-background: #ffffff;--color-surface: var(--color-neutral-50);--color-surface-elevated: #ffffff;--color-border: var(--color-neutral-200);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-muted: var(--color-neutral-500);--color-gray-1: var(--color-neutral-200);--color-gray-2: var(--color-neutral-400);--color-gray-3: var(--color-neutral-500);--color-gray-4: var(--color-neutral-900);--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-popover: 1400;--z-tooltip: 1500}:root{--ledger-paper: #E9EEEF;--ledger-card: #F6F7F2;--ledger-ink: #1E2A3A;--ledger-ink-soft: #5A6472;--ledger-ink-blue: #2C4270;--ledger-kraft: #CBA876;--ledger-kraft-dark: #9C7C46;--ledger-gold: #E4C989;--ledger-red: #A5342A;--ledger-green: #3E6B47;--ledger-amber: #B9791E;--ledger-grey: #6B6459;--ledger-line: rgba(30,42,58,.14);--ledger-line-soft: rgba(30,42,58,.08);--ledger-line-dash: rgba(30,42,58,.18);--ledger-card-lift: #FCFBF7;--ledger-kraft-tint: #F5EDE0;--ledger-cover-1: #1B2540;--ledger-cover-2: #283B63;--ledger-cover-line: rgba(255,255,255,.12);--ledger-cover-text: rgba(235,236,240,.82);--font-mono-ledger: "JetBrains Mono", monospace;--font-display-ledger:"Fraunces", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-background);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-5xl);font-weight:var(--font-bold)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--spacing-4)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700);text-decoration:underline}.display{font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--font-black);line-height:var(--leading-tight);letter-spacing:-.02em}.lead{font-size:var(--text-xl);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.small{font-size:var(--text-sm);color:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary-600);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-accent{background:var(--color-accent-600);color:#fff;box-shadow:var(--shadow-sm)}.btn-accent:hover:not(:disabled){background:var(--color-accent-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--color-primary-600);border:1.5px solid var(--color-primary-300)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary-600)}.btn-outline{background:transparent;color:var(--color-text-primary);border:1.5px solid var(--color-border)}.btn-outline:hover:not(:disabled){border-color:var(--color-text-primary);background:var(--color-neutral-50)}.btn-text{background:transparent;color:var(--color-primary-600);padding:var(--spacing-2) var(--spacing-3)}.btn-text:hover:not(:disabled){background:var(--color-primary-50);color:var(--color-primary-700)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg)}.card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-300)}.card-header{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border)}.card-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--spacing-2)}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.card-body{margin-bottom:var(--spacing-4)}.card-footer{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-3);justify-content:flex-end}.input-group{margin-bottom:var(--spacing-5)}.input-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.input-label .required{color:var(--color-error-500);margin-left:var(--spacing-1)}.input{width:100%;padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-background);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input::placeholder{color:var(--color-text-muted)}.input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.input:disabled{background:var(--color-neutral-100);cursor:not-allowed;opacity:.6}.input.error{border-color:var(--ledger-red)}.input.error:focus{border-color:var(--ledger-red);box-shadow:0 0 0 2px #a5342a26}.input-hint{display:block;font-size:11px;color:var(--ledger-ink-soft);font-style:italic;margin-top:var(--spacing-2)}.input-error{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ledger-red);margin-top:var(--spacing-2);font-weight:600}.input-error:before{content:"✕";font-size:9px}textarea.input{resize:vertical;min-height:120px}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background:#d1fae5;color:var(--color-success-700)}.badge-warning{background:#fed7aa;color:var(--color-warning-700)}.badge-error{background:#fee2e2;color:var(--color-error-700)}.badge-neutral{background:var(--color-neutral-200);color:var(--color-neutral-700)}.divider{height:1px;background:var(--color-border);margin:var(--spacing-6) 0}.divider-vertical{width:1px;height:100%;background:var(--color-border);margin:0 var(--spacing-4)}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--color-neutral-300);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:40px;height:40px;border-width:4px}@media (max-width: 768px){.btn{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);white-space:normal;width:auto}.btn-group{flex-direction:column;width:100%}.btn-group>.btn{width:100%;justify-content:center}.card{padding:var(--spacing-4)}.card-header{flex-direction:column;gap:var(--spacing-2);align-items:flex-start}.card-title{font-size:var(--text-base)}input,select,textarea{font-size:16px!important}.toast-success{left:var(--spacing-3);right:var(--spacing-3);bottom:var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.error-banner{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-sm);flex-wrap:wrap}.count-badge{align-self:flex-start}}@media (max-width: 480px){.card{padding:var(--spacing-3);border-radius:var(--radius-sm)}.card-header{padding:var(--spacing-2) var(--spacing-3)}}.auth-container{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow:hidden;background:linear-gradient(165deg,var(--ledger-cover-1) 0%,var(--ledger-cover-2) 100%)}.auth-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.1;pointer-events:none;z-index:1}.auth-content{position:relative;z-index:10;width:100%;max-width:480px}.auth-card{position:relative;background:var(--ledger-card);border:1px solid var(--ledger-line);border-radius:2px 10px 10px;padding:44px 34px 32px;box-shadow:0 24px 60px #0a0e1a66}.seal-emblem{position:absolute;top:-34px;left:50%;transform:translate(-50%) rotate(-4deg);width:66px;height:66px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ledger-cover-2),var(--ledger-cover-1));display:flex;align-items:center;justify-content:center;padding:15px 13px;border:3px solid rgba(255,255,255,.55);box-shadow:0 6px 16px #00000059;z-index:2}.seal-emblem img{width:100%;height:auto;display:block}.auth-brand-seal{display:block;height:0}.auth-brand-seal:focus-visible .seal-emblem{outline:3px solid var(--ledger-ink-blue);outline-offset:3px}.auth-brand-name{display:inline-block;margin-bottom:6px;font-family:var(--font-mono-ledger);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ledger-ink-soft);text-decoration:none;transition:color .15s ease}.auth-brand-name:hover,.auth-brand-name:focus-visible{color:var(--ledger-ink-blue)}.auth-header{text-align:center;margin-bottom:var(--spacing-8);margin-top:14px}.auth-logo-mark{width:68px;height:68px;object-fit:contain;display:block;margin:0 auto var(--spacing-3)}.auth-title{font-family:var(--font-display-ledger);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--ledger-ink-blue);margin-bottom:var(--spacing-3);letter-spacing:-.02em}.auth-subtitle{font-size:var(--text-lg);color:var(--ledger-ink-soft);line-height:var(--leading-relaxed)}.auth-error{background:#a5342a12;border:1px solid var(--ledger-red);color:var(--ledger-red);padding:var(--spacing-4);border-radius:4px;margin-bottom:var(--spacing-6);font-size:var(--text-sm);font-weight:var(--font-medium)}.auth-success{background:#16a34a12;border:1px solid var(--ledger-green, #2e7d32);color:var(--ledger-green, #2e7d32);padding:var(--spacing-4);border-radius:4px;margin-bottom:var(--spacing-6);font-size:var(--text-sm);font-weight:var(--font-medium)}.auth-submit{width:100%;margin-top:var(--spacing-6)}.auth-forgot{text-align:right;margin-top:calc(var(--spacing-2) * -1);margin-bottom:var(--spacing-4)}.auth-link{font-size:var(--text-sm);font-weight:600;color:var(--ledger-ink-blue);text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{text-decoration:underline}.auth-link-bold{font-weight:700;color:var(--ledger-ink-blue);text-decoration:none;transition:color var(--transition-fast)}.auth-link-bold:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;font-family:var(--font-mono-ledger);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ledger-ink-soft)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:0;border-top:1px dashed var(--ledger-line)}.auth-divider span{display:inline-block;padding:0 4px;background:var(--ledger-card)}.auth-google{width:100%;justify-content:center}.auth-google.btn-outline{border-color:var(--ledger-kraft-dark)}.auth-google.btn-outline:hover:not(:disabled){background:var(--ledger-kraft-tint);border-color:var(--ledger-kraft-dark)}.auth-footer{text-align:center;margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--ledger-line)}.auth-footer p{font-size:var(--text-sm);color:var(--ledger-ink-soft);margin-bottom:0}.auth-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.auth-gradient{position:absolute;border-radius:50%;filter:blur(80px);opacity:.12;animation:float 20s ease-in-out infinite}.auth-gradient-1{width:600px;height:600px;background:var(--ledger-ink-blue);top:-200px;right:-200px}.auth-gradient-2{width:500px;height:500px;background:var(--ledger-kraft);bottom:-150px;left:-150px;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@media (max-width: 640px){.auth-card{padding:34px 22px 28px}.seal-emblem{width:56px;height:56px;top:-28px;font-size:17px}.auth-title{font-size:var(--text-3xl)}.auth-subtitle{font-size:var(--text-base)}}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-6)}.container-fluid{width:100%;padding:0 var(--spacing-6)}.grid{display:grid;gap:var(--spacing-6)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.stagger-children>*{animation:fadeIn var(--transition-base) ease-out}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.2s}.stagger-children>*:nth-child(4){animation-delay:.3s}.stagger-children>*:nth-child(5){animation-delay:.4s}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-4));padding:0 var(--spacing-4)}.table-responsive table{min-width:600px}.card-grid{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-grid.compact{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-3)}.filter-bar>*{flex:0 0 auto}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}.hide-mobile{display:revert}.show-mobile{display:none}.section-responsive{padding:var(--spacing-6)}@media (max-width: 1024px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.container{padding:0 var(--spacing-4)}.form-layout{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar>*{width:100%}.hide-mobile{display:none}.show-mobile{display:revert}.section-responsive{padding:var(--spacing-4)}.card-grid{grid-template-columns:1fr}}@media (max-width: 480px){.section-responsive{padding:var(--spacing-3)}}.app{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-8);background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-accent-50) 100%)}.app h1{font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--font-black);margin-bottom:var(--spacing-4);color:var(--color-primary-900);text-align:center}.app p{font-size:var(--text-xl);color:var(--color-text-secondary);text-align:center}
