:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 64px;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--bg-base: #F7F4EA;--bg-surface: #EFE9D8;--bg-card: #F7F4EA;--cover: #132018;--cover-2: #0D1912;--cover-text: #F7F4EA;--cover-text-muted: rgba(216,207,180,.75);--cover-border: rgba(216,207,180,.16);--accent-primary: #7A5524;--accent-secondary:#3B6B4C;--accent-success: #3B6B4C;--accent-warning: #8A5F1E;--accent-danger: #A24E3A;--accent-company: #8B5E4A;--text-primary: #1C2A20;--text-secondary: #5B6B5E;--text-muted: #5F6B5C;--text-placeholder: rgba(28, 42, 32, .38);--border-subtle: rgba(28, 42, 32, .13);--border-glow: rgba(28, 42, 32, .32);--border-card: rgba(28, 42, 32, .13);--glass-bg: #F7F4EA;--navbar-bg: #F7F4EA;--state-hover: rgba(28, 42, 32, .06);--state-pressed: rgba(28, 42, 32, .12);--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--shadow-card: 4px 4px 0 rgba(19,32,24,.05), 0 0 0 1px var(--border-card);--shadow-glow: 6px 6px 0 rgba(19,32,24,.09);--shadow-success: 4px 4px 0 rgba(59,107,76,.12);--transition: all .15s ease;--transition-slow: all .3s ease;--font-ui: "IBM Plex Sans", sans-serif;--font-head: "Fraunces", serif;--font-mono: "IBM Plex Mono", monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-base: #15201A;--bg-surface: #1C2820;--bg-card: #182219;--cover: #EDE8DA;--cover-2: #DED8C8;--cover-text: #15201A;--cover-text-muted: rgba(21,32,26,.65);--cover-border: rgba(21,32,26,.14);--accent-primary: #D2A461;--accent-secondary:#6FA98A;--accent-success: #6FA98A;--accent-warning: #D2A461;--accent-danger: #C97A62;--accent-company: #B98268;--text-primary: #EDE8DA;--text-secondary: #A7B2A3;--text-muted: #8B9487;--text-placeholder: rgba(237, 232, 218, .34);--border-subtle: rgba(255, 255, 255, .09);--border-glow: rgba(255, 255, 255, .2);--border-card: rgba(255, 255, 255, .09);--glass-bg: #182219;--navbar-bg: #15201A;--state-hover: rgba(237, 232, 218, .07);--state-pressed: rgba(237, 232, 218, .14);--shadow-card: 4px 4px 0 rgba(0,0,0,.18), 0 0 0 1px var(--border-card);--shadow-glow: 6px 6px 0 rgba(0,0,0,.28);--shadow-success: 4px 4px 0 rgba(92,150,120,.16)}}:root[data-theme=dark]{--bg-base: #15201A;--bg-surface: #1C2820;--bg-card: #182219;--cover: #EDE8DA;--cover-2: #DED8C8;--cover-text: #15201A;--cover-text-muted: rgba(21,32,26,.65);--cover-border: rgba(21,32,26,.14);--accent-primary: #D2A461;--accent-secondary:#6FA98A;--accent-success: #6FA98A;--accent-warning: #D2A461;--accent-danger: #C97A62;--accent-company: #B98268;--text-primary: #EDE8DA;--text-secondary: #A7B2A3;--text-muted: #8B9487;--text-placeholder: rgba(237, 232, 218, .34);--border-subtle: rgba(255, 255, 255, .09);--border-glow: rgba(255, 255, 255, .2);--border-card: rgba(255, 255, 255, .09);--glass-bg: #182219;--navbar-bg: #15201A;--state-hover: rgba(237, 232, 218, .07);--state-pressed: rgba(237, 232, 218, .14);--shadow-card: 4px 4px 0 rgba(0,0,0,.18), 0 0 0 1px var(--border-card);--shadow-glow: 6px 6px 0 rgba(0,0,0,.28);--shadow-success: 4px 4px 0 rgba(92,150,120,.16)}:root[data-role=student]{--accent-primary: #2563EB;--accent-secondary: #3B82F6;--accent-success: #10B981;--cover: #1E3A8A;--cover-2: #1E40AF;--cover-text: #FFFFFF;--glass-bg: rgba(247, 244, 234, .9);--navbar-bg: rgba(247, 244, 234, .95)}@media (prefers-color-scheme: dark){:root:not([data-theme=light])[data-role=student],:root[data-theme=dark][data-role=student]{--accent-primary: #60A5FA;--accent-secondary: #93C5FD;--cover: #1E3A8A;--cover-text: #FFFFFF;--glass-bg: rgba(21, 32, 26, .8);--navbar-bg: rgba(21, 32, 26, .95)}}:root[data-role=company]{--accent-primary: #7C3AED;--accent-secondary: #8B5CF6;--accent-success: #10B981;--cover: #4C1D95;--cover-2: #5B21B6;--cover-text: #FFFFFF;--glass-bg: rgba(247, 244, 234, .9);--navbar-bg: rgba(247, 244, 234, .95)}@media (prefers-color-scheme: dark){:root:not([data-theme=light])[data-role=company],:root[data-theme=dark][data-role=company]{--accent-primary: #A78BFA;--accent-secondary: #C4B5FD;--cover: #4C1D95;--cover-text: #FFFFFF;--glass-bg: rgba(21, 32, 26, .8);--navbar-bg: rgba(21, 32, 26, .95)}}:root[data-role=college]{--accent-primary: #E11D48;--accent-secondary: #F43F5E;--accent-success: #10B981;--cover: #881337;--cover-2: #9F1239;--cover-text: #FFFFFF;--glass-bg: rgba(247, 244, 234, .9);--navbar-bg: rgba(247, 244, 234, .95)}@media (prefers-color-scheme: dark){:root:not([data-theme=light])[data-role=college],:root[data-theme=dark][data-role=college]{--accent-primary: #FB7185;--accent-secondary: #FDA4AF;--cover: #881337;--cover-text: #FFFFFF;--glass-bg: rgba(21, 32, 26, .8);--navbar-bg: rgba(21, 32, 26, .95)}}:root[data-role=admin]{--accent-primary: #D97706;--accent-secondary: #F59E0B;--accent-success: #10B981;--cover: #000000;--cover-2: #111111;--cover-text: #FDE68A;--glass-bg: rgba(247, 244, 234, .9);--navbar-bg: rgba(247, 244, 234, .95)}@media (prefers-color-scheme: dark){:root:not([data-theme=light])[data-role=admin],:root[data-theme=dark][data-role=admin]{--accent-primary: #FCD34D;--accent-secondary: #FDE68A;--cover: #000000;--cover-text: #FDE68A;--glass-bg: rgba(21, 32, 26, .8);--navbar-bg: rgba(21, 32, 26, .95)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-ui);background:var(--bg-base);color:var(--text-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{position:relative;z-index:1}h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;line-height:1.15;letter-spacing:-.3px}.card-title,.item-title{line-height:1.25}.form-hint,.row-meta,.card-lead{line-height:1.5}h1{font-size:clamp(2rem,4.6vw,3.4rem)}h2{font-size:clamp(1.4rem,2.6vw,1.75rem)}h3{font-size:var(--text-md)}p{line-height:1.65;color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-secondary)}a:focus-visible,button,input,select,textarea{font-family:inherit}button.glass-card{color:inherit;font-size:inherit}button:focus-visible,.btn:focus-visible,[role=radio]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:var(--transition)}a.glass-card:hover,button.glass-card:focus-visible,.glass-card.is-interactive:focus-visible,button.glass-card:hover,.glass-card.is-interactive:hover{border-color:var(--text-primary);box-shadow:var(--shadow-glow)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid transparent;transition:var(--transition);white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--cover);color:var(--cover-text)}.btn-primary:hover{background:var(--cover-2)}.btn-secondary{background:#3b6b4c14;color:var(--accent-secondary);border:1px solid var(--accent-secondary)}.btn-secondary:hover{background:#3b6b4c24}.btn-danger{background:var(--accent-danger);color:var(--cover-text)}.btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-glow)}.btn-ghost:hover{border-color:var(--text-primary);background:var(--state-hover)}.btn-ghost:active{background:var(--state-pressed)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-sm{padding:7px var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.form-group{display:flex;flex-direction:column;gap:5px}label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}input,select,textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-base);border:1px solid var(--border-glow);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);outline:none;transition:var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--accent-secondary);box-shadow:0 0 0 3px #3b6b4c1f}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}textarea{resize:vertical;min-height:90px}select option{background:var(--bg-base)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px var(--space-2);border-radius:100px;font-size:var(--text-xs);font-weight:500;font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;border:1px solid currentColor}.badge-student{background:transparent;color:var(--accent-secondary)}.badge-college{background:transparent;color:var(--accent-primary)}.badge-company{background:transparent;color:var(--accent-company)}.badge-none{background:transparent;color:var(--text-muted)}.badge-success{background:transparent;color:var(--accent-success)}.badge-warning{background:transparent;color:var(--accent-warning)}.badge-danger{background:transparent;color:var(--accent-danger)}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px var(--space-2);border-radius:100px;border:1px solid var(--border-glow);background:transparent;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.4;white-space:nowrap}.pill-muted{color:var(--text-muted);border-color:var(--border-card)}.pill-active{color:var(--bg-base);background:var(--accent-primary);border-color:var(--accent-primary)}button.pill{font:inherit;font-family:var(--font-mono);font-size:var(--text-xs)}button.pill:hover{border-color:var(--text-primary)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);border:1px solid var(--border-card);border-left:3px solid;background:var(--bg-surface)}.alert-info{border-color:var(--accent-secondary)}.alert-warning{border-color:var(--accent-warning)}.alert-danger{border-color:var(--accent-danger)}.toaster{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);width:min(380px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-card);border-left:3px solid var(--accent-secondary);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-sm);line-height:1.5;box-shadow:0 8px 24px #0000002e;animation:toast-in .18s ease-out}.toast>svg{flex-shrink:0;margin-top:2px}.toast-success{border-left-color:var(--accent-success)}.toast-success>svg{color:var(--accent-success)}.toast-error{border-left-color:var(--accent-danger)}.toast-error>svg{color:var(--accent-danger)}.toast-info>svg,.toast-loading{border-left-color:var(--accent-secondary)}.toast-message{flex:1;min-width:0}.toast-spinner{width:14px;height:14px;margin-top:3px;flex-shrink:0}.toast-close{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);line-height:0;flex-shrink:0}.toast-close:hover{color:var(--text-primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}@media (max-width: 640px){.toaster{left:var(--space-4);right:var(--space-4);width:auto}}.section-intro{display:flex;align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--text-muted);line-height:1.55}.section-intro>svg{flex-shrink:0;margin-top:3px;color:var(--accent-primary)}.setup-steps{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2)}.setup-step{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;cursor:pointer;padding:var(--space-2) var(--space-3);border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-primary);font:inherit;font-size:var(--text-sm)}.setup-step:hover{border-color:var(--accent-primary)}.setup-step.done{color:var(--text-muted)}.setup-step.done .setup-title{text-decoration:line-through}.setup-step .setup-mark{flex-shrink:0;color:var(--text-muted)}.setup-step.done .setup-mark{color:var(--accent-success)}.setup-step .setup-why{display:block;font-size:var(--text-xs);color:var(--text-muted);text-decoration:none}.spinner{width:36px;height:36px;border:3px solid var(--border-card);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--navbar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-glow);box-shadow:0 4px 20px #0000000d}:root[data-role=student] .navbar,:root[data-role=company] .navbar,:root[data-role=college] .navbar,:root[data-role=admin] .navbar{color:var(--text-primary);border-bottom:1px solid var(--border-glow)}:root[data-role=student] .navbar-brand,:root[data-role=company] .navbar-brand,:root[data-role=college] .navbar-brand,:root[data-role=admin] .navbar-brand{color:var(--text-primary)}:root[data-role=student] .btn-ghost,:root[data-role=company] .btn-ghost,:root[data-role=college] .btn-ghost,:root[data-role=admin] .btn-ghost{color:var(--text-primary);border-color:var(--border-glow)}:root[data-role=student] .btn-ghost:hover,:root[data-role=company] .btn-ghost:hover,:root[data-role=college] .btn-ghost:hover,:root[data-role=admin] .btn-ghost:hover{background:var(--state-hover);border-color:var(--text-primary)}.navbar-brand{font-family:var(--font-head);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.nav-portal-label{font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;color:var(--text-secondary);opacity:.9;letter-spacing:.5px;border-left:1px solid var(--border-glow);padding-left:var(--space-3);margin-left:-4px}:root[data-role=student] .nav-portal-label,:root[data-role=company] .nav-portal-label,:root[data-role=college] .nav-portal-label,:root[data-role=admin] .nav-portal-label{color:var(--accent-primary);border-left-color:var(--border-glow)}.navbar-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;row-gap:var(--space-2)}.page-container{max-width:1160px;margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-7)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media (max-width: 900px){.grid-3{grid-template-columns:1fr}.navbar{padding:var(--space-3) var(--space-4)}.page-container{padding:var(--space-5) var(--space-3)}}.section-eyebrow{font-size:var(--text-xs);font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);margin-bottom:6px}.card-title{font-family:var(--font-head);font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 4px}.card-lead{font-size:var(--text-sm);color:var(--text-muted);margin:0}.flex>.card-title{margin:0}.card-title+.card-lead{margin-top:2px}.glass-card.flex-col>.btn,.glass-card .flex-col>.btn,.glass-card form>.btn{align-self:flex-start}.auth-page .flex-col>.btn,.auth-page form>.btn{align-self:stretch}.mono-addr{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-surface);padding:2px var(--space-2);border-radius:var(--radius-sm);overflow-wrap:anywhere;border:1px solid var(--border-card)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-card)}50%{box-shadow:var(--shadow-glow)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-fade-in-up{animation:fadeInUp .4s ease forwards}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-pulse-glow{animation:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-glow);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8,.gap-10{gap:var(--space-2)}.gap-12,.gap-14{gap:var(--space-3)}.gap-16,.gap-20{gap:var(--space-4)}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.p-16,.p-24{padding:var(--space-4)}.p-32{padding:var(--space-5)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center;gap:var(--space-2);color:var(--text-muted)}.empty-state-icon{font-size:var(--text-2xl);opacity:.5;margin-bottom:4px}.empty-state svg{width:32px;height:32px;opacity:.6}.eyebrow-pill{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);padding:5px var(--space-3) 5px var(--space-2);border:1px solid var(--border-glow);border-radius:20px}.eyebrow-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-success)}.ledger-card{background:var(--bg-base);border:1px solid var(--border-glow);border-radius:var(--radius-sm);box-shadow:8px 8px #1320180f;overflow:hidden}.ledger-card-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-glow);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-surface)}.ledger-row{display:grid;grid-template-columns:84px 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-card);opacity:0;transform:translateY(6px);animation:rowIn .5s ease forwards}.ledger-row:last-child{border-bottom:none}.ledger-row .tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.ledger-row .who{font-size:var(--text-sm)}.ledger-row .hash{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.ledger-row:nth-child(1){animation-delay:.1s}.ledger-row:nth-child(2){animation-delay:.5s}.ledger-row:nth-child(3){animation-delay:.9s}.ledger-row:nth-child(4){animation-delay:1.3s}.stamp-badge{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.4px;color:var(--accent-success);border:1px solid var(--accent-success);padding:3px var(--space-2);border-radius:20px;opacity:0;transform:scale(.85) rotate(-6deg);animation:stampIn .35s ease forwards;animation-delay:1.6s}@keyframes rowIn{to{opacity:1;transform:translateY(0)}}@keyframes stampIn{to{opacity:1;transform:scale(1) rotate(-6deg)}}@media (prefers-reduced-motion: reduce){.ledger-row{opacity:1;transform:none;animation:none}.stamp-badge{opacity:1;transform:scale(1) rotate(-6deg);animation:none}}.compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-glow);border-radius:var(--radius-sm);overflow:hidden}.compare-col{padding:var(--space-4) var(--space-5);background:var(--bg-base)}.compare-col.good{background:var(--bg-surface)}.compare-col+.compare-col{border-left:1px solid var(--border-glow)}.compare-col h3{margin-bottom:var(--space-2);font-size:var(--text-base)}.compare-col.bad h3{color:var(--accent-danger)}.compare-col.good h3{color:var(--accent-success)}.compare-item{display:flex;gap:var(--space-2);padding:8px 0;border-top:1px solid var(--border-card);font-size:var(--text-sm);color:var(--text-secondary)}.compare-item:first-of-type{border-top:none}.compare-item .mk{font-family:var(--font-mono);font-size:var(--text-xs);flex-shrink:0}.compare-item.bad .mk{color:var(--accent-danger)}.compare-item.good .mk{color:var(--accent-success)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.step-col{padding-right:var(--space-4)}.step-col+.step-col{padding-left:var(--space-4);border-left:1px solid var(--border-glow)}.step-col .num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-primary);display:block;margin-bottom:var(--space-3)}.step-col h4{font-size:var(--text-base);margin-bottom:var(--space-2)}.step-col p{font-size:var(--text-sm)}@media (max-width: 900px){.compare,.steps-grid{grid-template-columns:1fr}.step-col+.step-col{border-left:none;border-top:1px solid var(--border-glow);padding:18px 0 0;margin-top:var(--space-4)}.compare-col+.compare-col{border-left:none;border-top:1px solid var(--border-glow)}}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--border-glow);border-radius:var(--radius-sm);background:var(--bg-base);margin-bottom:var(--space-5)}.kpi{padding:var(--space-3) var(--space-4)}.kpi+.kpi{border-left:1px solid var(--border-card)}.kpi-n{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text-primary);display:block;margin-bottom:4px}.kpi-n.accent{color:var(--accent-success)}.kpi-l{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}@media (max-width: 900px){.kpi+.kpi{border-left:none;border-top:1px solid var(--border-card)}}.pub-head{margin-bottom:var(--space-5)}.pub-head h1{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:4px 0 8px}.pub-head p{max-width:640px;font-size:var(--text-base);color:var(--text-secondary)}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-glow);border-radius:var(--radius-sm);overflow:hidden}.seg button{font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-secondary);border:0;cursor:pointer;transition:var(--transition)}.seg button+button{border-left:1px solid var(--border-card)}.seg button:hover{color:var(--text-primary);background:var(--state-hover)}.seg button[aria-selected=true]{background:var(--text-primary);color:var(--bg-base)}.seg .count{font-family:var(--font-mono);font-size:var(--text-xs);opacity:.7;margin-left:6px}.pub-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.pub-controls .label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pub-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-glow);border-radius:var(--radius-sm);background:var(--bg-card);margin-bottom:var(--space-3)}.pub-kpi{padding:var(--space-4) var(--space-5);min-width:0}.pub-kpi+.pub-kpi{border-left:1px solid var(--border-card)}.pub-kpi .k-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pub-kpi .k-value{display:block;font-family:var(--font-head);font-size:var(--text-2xl);line-height:1.1;color:var(--text-primary);margin:8px 0 6px}.pub-kpi .k-value small{font-size:var(--text-base);color:var(--text-muted);font-family:var(--font-ui)}.pub-kpi .k-note{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45}.pub-kpi .k-note strong{color:var(--text-primary);font-weight:600}.pub-meter{height:4px;background:var(--bg-surface);border-radius:2px;overflow:hidden;margin:10px 0 8px}.pub-meter>span{display:block;height:100%;background:var(--accent-success)}.pub-tabs{margin:26px 0 16px}.pub-ledger{border:1px solid var(--border-glow);border-radius:var(--radius-sm);background:var(--bg-card)}.pub-row-head,.pub-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,2.4fr) 28px;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4)}.pub-row-head{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-glow);padding-top:var(--space-3);padding-bottom:var(--space-3)}.pub-item+.pub-item{border-top:1px solid var(--border-card)}.pub-row{width:100%;font:inherit;text-align:left;color:inherit;background:transparent;border:0;cursor:pointer;transition:var(--transition)}.pub-row:hover{background:var(--bg-surface)}.pub-row .company{font-family:var(--font-head);font-size:var(--text-base);color:var(--text-primary)}.pub-row .role{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.pub-row .money{font-family:var(--font-mono);font-size:var(--text-base);color:var(--text-primary)}.pub-row .muted{font-size:var(--text-xs);color:var(--text-muted)}.pub-row .chev{color:var(--text-muted);transition:transform .15s ease}.pub-row[aria-expanded=true] .chev{transform:rotate(90deg)}.pub-flow{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm)}.pub-flow .step{color:var(--text-primary)}.pub-flow .step small{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-muted);margin-left:3px}.pub-flow .arrow{color:var(--text-muted);font-size:var(--text-xs)}.pub-flow .step.final{color:var(--accent-success);font-weight:600}.pub-flow .pending{color:var(--text-muted);font-style:italic;font-family:var(--font-ui);font-size:var(--text-xs)}.pub-detail{padding:4px var(--space-4) var(--space-4);border-top:1px dashed var(--border-card);background:var(--bg-surface)}.pub-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-5);padding-top:var(--space-4)}.pub-bar{margin-bottom:var(--space-2)}.pub-bar .row{display:flex;justify-content:space-between;font-size:var(--text-sm);margin-bottom:4px}.pub-bar .row span:last-child{font-family:var(--font-mono);color:var(--text-secondary)}.pub-bar .track{height:6px;background:var(--bg-base);border-radius:3px;overflow:hidden}.pub-bar .track>span{display:block;height:100%;background:var(--accent-secondary)}.pub-facts{display:grid;grid-template-columns:auto 1fr;gap:6px var(--space-3);font-size:var(--text-sm);align-content:start;margin:0}.pub-facts dt{color:var(--text-muted)}.pub-facts dd{margin:0;color:var(--text-primary)}.pub-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:100px;border:1px solid currentColor;margin-left:var(--space-2);vertical-align:2px}.pub-tag.warn{color:var(--accent-warning)}.pub-tag.muted{color:var(--text-muted)}.pub-events{border:1px solid var(--border-glow);border-radius:var(--radius-sm);background:var(--bg-card)}.pub-event{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-3) var(--space-4);align-items:baseline}.pub-event+.pub-event{border-top:1px solid var(--border-card)}.pub-event .date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.pub-event .title{color:var(--text-primary);font-size:var(--text-base)}.pub-event .by{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.pub-event .n{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.pub-event.cancelled .title{text-decoration:line-through;color:var(--text-muted)}.pub-kinds{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.pub-note{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-3);max-width:720px;line-height:1.6}.pub-notice{border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-card);padding:var(--space-4) var(--space-4)}.pub-notice+.pub-notice{margin-top:var(--space-2)}.pub-notice h4{font-size:var(--text-base);margin-bottom:6px}.pub-notice p{font-size:var(--text-sm);white-space:pre-wrap;line-height:1.6}.pub-notice .meta{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2)}.pub-empty{border:1px dashed var(--border-glow);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-5);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.pub-empty strong{display:block;font-family:var(--font-head);font-size:var(--text-md);color:var(--text-primary);margin-bottom:6px}.pub-explain{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.pub-explain>div{border:1px solid var(--border-card);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-4);background:var(--bg-card)}.pub-explain h4{font-size:var(--text-base);margin-bottom:6px}.pub-explain p{font-size:var(--text-sm);line-height:1.6}@media (max-width: 900px){.pub-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-kpi:nth-child(3){border-left:none}.pub-kpi:nth-child(n+3){border-top:1px solid var(--border-card)}.pub-detail-grid,.pub-explain{grid-template-columns:1fr}}@media (max-width: 900px){.pub-row-head{display:none}.pub-row{grid-template-columns:minmax(0,1fr) auto;gap:6px var(--space-3)}.pub-row .cell-flow{grid-column:1 / -1}.pub-row .cell-cutoff{display:none}.pub-row .chev{grid-row:1;grid-column:2}.pub-row .cell-pay{grid-column:1}.pub-event{grid-template-columns:1fr auto}.pub-event .date{grid-column:1 / -1}}@media (max-width: 600px){.pub-kpis{grid-template-columns:1fr}.pub-kpi+.pub-kpi{border-left:none;border-top:1px solid var(--border-card)}}.navbar{position:sticky}.nav-narrow{display:none}.nav-menu-button{gap:6px}.nav-menu{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:var(--navbar-bg);border-bottom:1px solid var(--border-glow);box-shadow:var(--shadow-card);z-index:120}.nav-menu-item{justify-content:flex-start;width:100%;min-height:44px;font-size:var(--text-base)}@media (max-width: 600px){.navbar{padding:var(--space-3);gap:var(--space-2)}.navbar-brand{font-size:var(--text-md)}.nav-testnet{padding:3px 7px}.nav-testnet .nav-label,.nav-wide{display:none}.nav-narrow{display:block}.navbar{flex-wrap:wrap}.navbar-brand{min-width:0;overflow-wrap:anywhere}.btn,.seg button,button.pill,.password-toggle,input,select,textarea{min-height:44px}.navbar-brand{min-height:44px;display:inline-flex;align-items:center}.link-button{min-height:44px}.auth-switch a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-1)}.record-link,.link-quiet{display:inline-flex;align-items:center;min-height:44px}.btn-sm{padding:var(--space-2) var(--space-3)}.password-toggle{min-width:44px;justify-content:center}}@media (max-width: 600px){.pub-tabs .seg,.seg.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);border:0;border-radius:0;overflow:visible;background:none}.pub-tabs .seg button,.seg.tabs button{border:1px solid var(--border-glow);border-radius:999px;white-space:nowrap}.pub-tabs .seg button+button,.seg.tabs button+button{border-left:1px solid var(--border-glow)}.tabs-row{padding:var(--space-2) 0}}.auth-page{max-width:460px;padding-top:var(--space-8)}.auth-switch{text-align:center;font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.auth-switch a{font-weight:600}.navbar .btn.nav-current{border-color:var(--text-primary);color:var(--text-primary)}.link-button{align-self:flex-end;background:none;border:0;padding:0;font:inherit;font-size:var(--text-sm);color:var(--accent-primary);cursor:pointer}.link-button:hover{text-decoration:underline}.seg.tabs button{display:inline-flex;align-items:center;gap:7px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.seg.tabs button svg{opacity:.8}.seg.tabs button[aria-selected=true] svg{opacity:1}.card-action{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);color:var(--accent-primary);white-space:nowrap}.card-action .chev{transition:transform .15s ease}.card-action .chev.open{transform:rotate(90deg)}.password-field{position:relative}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:6px}.password-toggle:active{transform:translateY(-50%) scale(.98)}code{font-family:var(--font-mono);font-size:.85em;padding:1px 5px;border-radius:4px;background:var(--bg-surface);border:1px solid var(--border-card)}.btn .spinner{width:16px;height:16px;border-width:2px;border-top-color:currentColor}.page-status{max-width:560px;padding-top:var(--space-8);text-align:center}.item-title{font-family:var(--font-head);font-weight:600;color:var(--text-primary)}.form-hint{font-size:var(--text-xs);color:var(--text-muted);margin:4px 0 0}.drive-description{margin-top:var(--space-2);font-size:var(--text-sm)}.drive-description summary{cursor:pointer;color:var(--accent-primary);font-size:var(--text-xs);width:fit-content}.drive-description p{margin:var(--space-2) 0 0;white-space:pre-wrap;line-height:1.6;color:var(--text-primary)}.label-optional{color:var(--text-muted);font-weight:400}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--accent-danger)}.row-list{background:var(--glass-bg);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.row-list>.row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4)}.row-list>.row+.row{border-top:1px solid var(--border-card)}.row-list>.row-empty{padding:var(--space-4) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.row-meta{font-size:var(--text-xs);color:var(--text-muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.section-head .section-eyebrow{margin:0}.split{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:var(--space-4);align-items:start}.split-even{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--space-4)}@media (max-width: 900px){.split,.split-even{grid-template-columns:1fr}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3) var(--space-4)}.form-grid .span-all{grid-column:1 / -1}.page-head{margin-bottom:var(--space-4)}.page-head h2{margin-bottom:2px}.page-head p{font-size:var(--text-sm);color:var(--text-muted)}.tabs-row{position:sticky;top:var(--nav-h, 0px);z-index:50;background:var(--bg-base);padding:8px 0;margin-bottom:var(--space-3)}@media (max-width: 900px){.tabs-row{position:static}}.facts{display:grid;grid-template-columns:auto 1fr;gap:6px var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm)}.facts dt{color:var(--text-muted);font-size:var(--text-xs);align-self:center}.facts dd{margin:0;color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.textarea-mono{font-family:var(--font-mono);font-size:var(--text-xs);resize:vertical}.form-grid.cols-2{grid-template-columns:1fr 1fr}.form-grid.cols-wide-first{grid-template-columns:2fr 1fr 1fr}@media (max-width: 600px){.form-grid.cols-2,.form-grid.cols-wide-first{grid-template-columns:1fr}}.side-sticky{position:sticky;top:calc(var(--nav-h, 0px) + 64px)}@media (max-width: 900px){.side-sticky{position:static}}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.student-card{display:block;width:100%;text-align:left;cursor:pointer;padding:var(--space-3) var(--space-4)}.student-card-headline{font-size:var(--text-sm);margin-top:6px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-section{margin-bottom:var(--space-7)}.landing-head{max-width:640px;margin-bottom:var(--space-4)}.landing-head h2{margin-bottom:6px}.landing-head p{font-size:var(--text-base)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-7);align-items:center;padding-top:var(--space-3)}.hero-title{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:var(--space-3)}.hero-lead{font-size:var(--text-base);max-width:480px;margin-bottom:var(--space-5)}.record-card{background:var(--bg-surface);border:1px solid var(--border-glow);border-radius:var(--radius-sm);padding:var(--space-5);box-shadow:var(--shadow-card)}.record-head{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-card)}.record-figure{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-4)}.record-number{font-family:var(--font-head);font-size:3rem;line-height:1;color:var(--text-primary)}.record-of{font-size:var(--text-base);color:var(--text-secondary)}.record-note{font-size:var(--text-sm);margin-top:var(--space-2)}.record-link{display:inline-block;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:600}.hero-roles{list-style:none;margin-top:var(--space-5);display:grid;gap:var(--space-2)}.hero-roles li{font-size:var(--text-sm);color:var(--text-secondary)}.hero-roles strong{color:var(--text-primary)}.link-quiet{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:underline}.link-quiet:hover{color:var(--text-primary)}.faq{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.faq-item p{font-size:var(--text-sm);margin-top:var(--space-1)}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr;gap:var(--space-5)}.faq{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--border-glow);background:var(--bg-surface);margin-top:var(--space-8)}.site-footer-inner{max-width:1160px;margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-6);display:flex;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.site-footer-brand{font-family:var(--font-head);font-size:var(--text-md)}.site-footer-line{font-size:var(--text-sm);color:var(--text-muted);max-width:46ch;margin-top:var(--space-1)}.site-footer-links{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}@media (max-width: 600px){.site-footer-links{flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}.site-footer-links a{min-height:44px;display:inline-flex;align-items:center}}.account-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-card)}.account-row:last-child{border-bottom:0}.account-row-label{font-size:var(--text-sm);color:var(--text-muted)}.account-row-value{font-size:var(--text-base);text-align:right;overflow-wrap:anywhere}.skeleton{display:block;background:var(--border-card);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-row{align-items:center}.skeleton-title{width:180px;max-width:45vw;height:14px}.skeleton-meta{width:120px;max-width:30vw;height:10px;margin-top:var(--space-2)}.skeleton-pill{width:72px;height:22px;border-radius:999px}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:.95}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.plain-list{list-style:none;display:grid;gap:var(--space-3);margin-top:var(--space-3)}.plain-list li{font-size:var(--text-sm);color:var(--text-secondary)}.plain-list strong{color:var(--text-primary)}.chip-remove{background:none;border:0;cursor:pointer;color:inherit;line-height:1;padding:var(--space-2);margin:calc(var(--space-2) * -1) calc(var(--space-1) * -1) calc(var(--space-2) * -1) 0;display:inline-flex;align-items:center}.chip-remove:hover{color:var(--accent-danger)}.field-message{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent-danger);font-size:var(--text-xs)}.btn-link-quiet{background:none;border:0;padding:0;cursor:pointer;color:var(--accent-primary);font:inherit;font-size:var(--text-sm);text-align:left}.btn-link-quiet:hover{text-decoration:underline}.btn-link{background:none;border:0;padding:0;cursor:pointer;color:var(--accent-primary);font:inherit;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--text-primary)}
