.app-shell{display:flex;min-width:0;min-height:100vh;min-height:100svh;overflow-x:clip}.app-sidebar{position:sticky;z-index:40;top:0;display:flex;width:264px;height:100vh;height:100svh;flex:0 0 264px;flex-direction:column;padding:22px 14px 16px;overflow:visible;border-right:1px solid var(--border-color);background:var(--surface-color);box-shadow:5px 0 24px #403b4506;transition:width .3s cubic-bezier(.2,.75,.25,1),flex-basis .3s cubic-bezier(.2,.75,.25,1),padding .3s ease}.app-sidebar.is-collapsed{width:76px;flex-basis:76px;padding-right:10px;padding-left:10px}.sidebar-brand-row{position:relative;display:flex;min-height:44px;align-items:center;justify-content:space-between;margin:0 2px 24px}.sidebar-brand{display:flex;min-width:0;align-items:center;gap:11px;color:var(--text-color);text-decoration:none}.sidebar-brand-mark{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid var(--primary-border);border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.sidebar-brand-mark .sidebar-icon{width:24px;height:24px}.sidebar-brand-copy,.sidebar-user-copy,.sidebar-nav-label{min-width:0;overflow:hidden;white-space:nowrap;transition:opacity .16s ease,transform .22s ease,max-width .3s ease}.sidebar-brand-copy{display:flex;max-width:170px;flex-direction:column;opacity:1;transform:translate(0)}.sidebar-brand-name{color:var(--text-color);font-family:var(--font-display);font-size:1.02rem;font-weight:700;line-height:1.2}.sidebar-brand-caption{margin-top:3px;color:var(--muted-text);font-size:.68rem;line-height:1}.sidebar-icon{display:block;width:20px;height:20px;flex:0 0 20px}.sidebar-collapse-button,.sidebar-mobile-close{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-color);color:var(--muted-text);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .3s ease}.sidebar-collapse-button{position:absolute;z-index:2;top:8px;right:-28px;width:25px;height:25px;border-radius:50%;background:var(--surface-color);box-shadow:0 2px 8px #403b4517}.sidebar-collapse-button:hover,.sidebar-mobile-close:hover{border-color:var(--primary-border);color:var(--primary-color)}.sidebar-collapse-button .sidebar-icon{width:15px;height:15px;transition:transform .3s ease}.sidebar-is-collapsed .sidebar-collapse-button .sidebar-icon{transform:rotate(180deg)}.sidebar-mobile-close,.mobile-menu-button,.sidebar-overlay{display:none}.sidebar-user{display:flex;min-width:0;align-items:center;gap:10px;margin:0 0 26px;padding:11px 9px;border:1px solid var(--border-color);border-radius:13px;background:var(--background-color)}.sidebar-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:11px;background:var(--primary-light);color:var(--primary-color);font-size:.9rem;font-weight:800}.sidebar-user-copy{display:flex;max-width:170px;flex-direction:column;opacity:1;transform:translate(0)}.sidebar-user-name,.sidebar-user-school{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-name{color:var(--text-color);font-size:.78rem;font-weight:700}.sidebar-user-school{margin-top:3px;color:var(--muted-text);font-size:.68rem}.sidebar-navigation{display:flex;min-height:0;flex:1;flex-direction:column;gap:5px}.sidebar-section-label{max-height:22px;margin:0 10px 7px;overflow:hidden;color:#9b929d;font-size:.63rem;font-weight:800;letter-spacing:.12em;line-height:22px;opacity:1;transition:opacity .14s ease,max-height .25s ease,margin .25s ease;white-space:nowrap}.sidebar-nav-item{position:relative;display:flex;width:100%;min-height:44px;align-items:center;gap:13px;padding:0 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted-text);cursor:pointer;font:inherit;font-size:.84rem;font-weight:600;text-align:left;text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease,padding .3s ease,gap .3s ease}.sidebar-nav-item:hover{background:var(--primary-light);color:var(--sidebar-active-color)}.sidebar-nav-item.active{border-color:color-mix(in srgb,var(--primary-color) 13%,transparent);background:var(--primary-light);color:var(--sidebar-active-color);font-weight:750}.sidebar-nav-item:focus-visible,.sidebar-brand:focus-visible,.sidebar-collapse-button:focus-visible,.sidebar-mobile-close:focus-visible,.mobile-menu-button:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.sidebar-nav-label{max-width:190px;flex:1;opacity:1;transform:translate(0)}.sidebar-bottom{display:flex;flex-direction:column;gap:5px;margin-top:18px;padding-top:15px;border-top:1px solid var(--border-color)}.sidebar-logout{color:var(--muted-text)}.sidebar-logout:hover{background:var(--danger-light);color:var(--danger)}.sidebar-tooltip{position:absolute;z-index:100;top:50%;left:calc(100% + 10px);display:block;width:max-content;max-width:220px;padding:7px 10px;transform:translate(4px,-50%);border:1px solid var(--border-color);border-radius:8px;background:var(--text-color);box-shadow:0 4px 14px #1410161f;color:#fff;font-size:.73rem;font-weight:600;line-height:1.2;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;visibility:hidden}.sidebar-is-collapsed .sidebar-nav-item:hover .sidebar-tooltip,.sidebar-is-collapsed .sidebar-nav-item:focus-visible .sidebar-tooltip{transform:translateY(-50%);opacity:1;visibility:visible}.sidebar-is-collapsed .sidebar-brand-row{justify-content:center;margin-right:0;margin-left:0}.sidebar-is-collapsed .sidebar-brand{justify-content:center}.sidebar-is-collapsed .sidebar-brand-copy,.sidebar-is-collapsed .sidebar-user-copy,.sidebar-is-collapsed .sidebar-nav-label{max-width:0;opacity:0;transform:translate(-5px)}.sidebar-is-collapsed .sidebar-collapse-button{right:-18px}.sidebar-is-collapsed .sidebar-user{justify-content:center;padding-right:0;padding-left:0;border-color:transparent;background:transparent}.sidebar-is-collapsed .sidebar-nav-item{justify-content:center;gap:0;padding-right:0;padding-left:0}.sidebar-is-collapsed .sidebar-section-label{max-height:0;margin-top:0;margin-bottom:0;opacity:0}.app-shell>.app-main{min-width:0;flex:1 1 auto;margin-right:auto;margin-left:auto}@media (min-width: 761px) and (max-width: 980px){.app-sidebar:not(.mobile-is-open){width:76px;flex-basis:76px;padding-right:10px;padding-left:10px}.app-sidebar:not(.mobile-is-open) .sidebar-brand-row{justify-content:center;margin-right:0;margin-left:0}.app-sidebar:not(.mobile-is-open) .sidebar-brand{justify-content:center}.app-sidebar:not(.mobile-is-open) .sidebar-brand-copy,.app-sidebar:not(.mobile-is-open) .sidebar-user-copy,.app-sidebar:not(.mobile-is-open) .sidebar-nav-label{max-width:0;opacity:0;transform:translate(-5px)}.app-sidebar:not(.mobile-is-open) .sidebar-user{justify-content:center;padding-right:0;padding-left:0;border-color:transparent;background:transparent}.app-sidebar:not(.mobile-is-open) .sidebar-nav-item{justify-content:center;gap:0;padding-right:0;padding-left:0}.app-sidebar:not(.mobile-is-open) .sidebar-section-label{max-height:0;margin-top:0;margin-bottom:0;opacity:0}.app-sidebar:not(.mobile-is-open) .sidebar-collapse-button{right:-18px}.app-sidebar:not(.mobile-is-open) .sidebar-nav-item:hover .sidebar-tooltip,.app-sidebar:not(.mobile-is-open) .sidebar-nav-item:focus-visible .sidebar-tooltip{transform:translateY(-50%);opacity:1;visibility:visible}}@media (max-width: 760px){.app-shell>.app-main{width:100%;max-width:none;padding:72px 16px 48px}.app-sidebar,.app-sidebar.is-collapsed{position:fixed;z-index:100;top:0;bottom:0;left:0;width:min(292px,calc(100vw - 48px));height:100vh;height:100svh;flex-basis:auto;padding:22px 14px 16px;transform:translate(-105%);transition:transform .28s cubic-bezier(.2,.75,.25,1),visibility .28s ease;visibility:hidden}.app-sidebar.mobile-is-open{transform:translate(0);visibility:visible}.sidebar-collapse-button{display:none}.sidebar-mobile-close{display:grid}.mobile-menu-button{position:fixed;z-index:60;top:14px;left:14px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--border-color);border-radius:13px;background:var(--surface-color);box-shadow:0 4px 15px #403b451a;color:var(--primary-color);cursor:pointer}.mobile-menu-button .sidebar-icon{width:21px;height:21px}.sidebar-overlay{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#201a2259;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;visibility:hidden}.sidebar-overlay.is-visible{opacity:1;pointer-events:auto;visibility:visible}.sidebar-is-collapsed .sidebar-brand-row,.sidebar-is-collapsed .sidebar-brand,.sidebar-is-collapsed .sidebar-user{justify-content:initial}.sidebar-is-collapsed .sidebar-brand-row{margin-right:2px;margin-left:2px}.sidebar-is-collapsed .sidebar-brand-copy,.sidebar-is-collapsed .sidebar-user-copy,.sidebar-is-collapsed .sidebar-nav-label{max-width:190px;opacity:1;transform:translate(0)}.sidebar-is-collapsed .sidebar-user{padding:11px 9px;border-color:var(--border-color);background:var(--background-color)}.sidebar-is-collapsed .sidebar-nav-item{justify-content:flex-start;gap:13px;padding-right:12px;padding-left:12px}.sidebar-is-collapsed .sidebar-section-label{max-height:22px;margin:0 10px 7px;opacity:1}}@media (prefers-reduced-motion: reduce){.app-sidebar,.sidebar-brand-copy,.sidebar-user-copy,.sidebar-nav-label,.sidebar-collapse-button,.sidebar-collapse-button .sidebar-icon,.sidebar-nav-item,.sidebar-overlay,.sidebar-tooltip,.mobile-menu-button{transition:none}}.login-page{--ls-green: #148747;--ls-green-dark: #0f6b38;--ls-green-soft: #dff5e8;--ls-blue-soft: #dbeafe;--ls-blue: #2f6fe4;--ls-pink: #e72c83;--ls-pink-soft: #fde1ef;--ls-navy: #0f1b3d;--ls-text: #1f2a44;--ls-muted: #55607a;--ls-border: #dde3ee;--ls-danger: #d92d20;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;color:var(--ls-text);font-family:var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif);background:#eaf3ff url(/assets/background-Boa2nHex.png) center bottom / cover no-repeat}.login-page *,.login-page *:before,.login-page *:after{box-sizing:border-box}.login-page svg{flex-shrink:0}.login-shell{display:grid;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,min(40vw,668px));align-items:center;gap:clamp(24px,4vw,72px);width:100%;max-width:1680px;margin:0 auto;padding:40px clamp(20px,6.5vw,120px) 40px clamp(20px,17.5vw,340px)}.login-hero{align-self:start;max-width:580px;padding-top:0}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:clamp(28px,6vh,56px)}.login-logo-mark{display:grid;width:76px;height:76px;place-items:center;border-radius:22px;background:linear-gradient(145deg,#22a653,var(--ls-green-dark));box-shadow:0 10px 22px #1487474d;color:#fff}.login-logo-mark svg{width:40px;height:40px}.login-logo-text{display:flex;flex-direction:column;gap:4px}.login-logo-name{color:var(--ls-green-dark);font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1}.login-logo-sub{color:var(--ls-navy);font-size:.72rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.login-hero-title{margin:0;color:var(--ls-navy);font-size:clamp(2.4rem,4.2vw,4.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.05}.login-hero-title span{display:block;color:#12a150;background:linear-gradient(90deg,#0f8a43,#22b35c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-hero-text{max-width:46ch;margin:22px 0 28px;color:var(--ls-navy);font-size:clamp(1rem,1.45vw,1.3rem);font-weight:500;line-height:1.55}.login-features{display:flex;align-items:center;flex-wrap:wrap;gap:14px 0;margin:0;padding:0;list-style:none}.login-feature{display:flex;align-items:center;gap:10px;padding:0 18px}.login-feature:first-child{padding-left:0}.login-feature+.login-feature{border-left:1px solid rgba(15,27,61,.14)}.login-feature-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:16px}.login-feature-icon svg{width:28px;height:28px}.login-tone-green{background:var(--ls-green-soft);color:#1f9d55}.login-tone-blue{background:var(--ls-blue-soft);color:var(--ls-blue)}.login-tone-pink{background:var(--ls-pink-soft);color:var(--ls-pink)}.login-feature-label{color:var(--ls-navy);font-size:.95rem;font-weight:500;line-height:1.3}.login-card{position:relative;width:100%;margin-top:56px;padding:86px clamp(24px,4.2vw,46px) 44px;border:1px solid rgba(255,255,255,.9);border-radius:36px;background:#fffffff7;box-shadow:0 30px 80px #1f4a8c24,0 4px 16px #1f4a8c0d;text-align:center;animation:login-card-enter .45s cubic-bezier(.2,.75,.3,1) both}.login-card-badge{position:absolute;top:-42px;left:50%;display:grid;width:128px;height:128px;place-items:center;transform:translate(-50%);border-radius:50%;background:#d9f5e4;color:var(--ls-green)}.login-card-badge svg{width:70px;height:70px}.login-title{margin:0;color:var(--ls-navy);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}.login-subtitle{max-width:420px;margin:10px auto 28px;color:var(--ls-muted);font-size:1rem;line-height:1.55}.login-subtitle strong{color:var(--ls-navy);font-weight:700;white-space:nowrap}.login-form{text-align:left}.login-label{display:block;margin:0 0 10px;color:var(--ls-navy);font-size:1.02rem;font-weight:700}.login-phone-field{display:flex;align-items:center;gap:12px;min-height:70px;padding:0 18px;border:1px solid var(--ls-border);border-radius:18px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.login-phone-field:focus-within{border-color:var(--ls-green);box-shadow:0 0 0 4px #14874724}.login-phone-field:has(.login-input[aria-invalid=true]){border-color:var(--ls-danger)}.login-country{display:flex;align-items:center;gap:10px;color:var(--ls-navy);font-size:1.15rem;font-weight:500}.login-flag{width:36px;height:24px;border-radius:4px}.login-field-divider{width:1px;height:30px;background:var(--ls-border)}.login-phone-icon{width:24px;height:24px;color:#3b4a6b}.login-input{display:block;width:100%;min-width:0;min-height:54px;padding:0;border:0;outline:0;background:transparent;color:var(--ls-navy);font:inherit;font-size:1.15rem}.login-input::placeholder{color:#9aa4b8;opacity:1}.login-otp-input{min-height:70px;padding:0 16px;border:1px solid var(--ls-border);border-radius:18px;background:#fff;font-family:var(--font-mono, ui-monospace, monospace);font-size:1.6rem;font-weight:600;letter-spacing:.48em;text-align:center;transition:border-color .16s ease,box-shadow .16s ease}.login-otp-input:focus{border-color:var(--ls-green);box-shadow:0 0 0 4px #14874724}.login-otp-input[aria-invalid=true]{border-color:var(--ls-danger)}.login-otp-input::placeholder{letter-spacing:.4em}.login-error{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;color:var(--ls-danger);font-size:.9rem;line-height:1.5}.login-error>span{display:inline-grid;width:17px;height:17px;flex:0 0 17px;margin-top:2px;place-items:center;border-radius:50%;background:#d92d201f;font-size:.72rem;font-weight:800}.login-primary-button{display:flex;width:100%;min-height:68px;align-items:center;justify-content:center;gap:14px;margin-top:24px;padding:0 20px;border:0;border-radius:16px;background:linear-gradient(180deg,#1b9e52,#0f7a3c);box-shadow:0 12px 24px #14874747;color:#fff;cursor:pointer;font:inherit;font-size:1.2rem;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.login-primary-button svg{width:24px;height:24px;transition:transform .16s ease}.login-primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px #14874757}.login-primary-button:hover:not(:disabled) svg{transform:translate(3px)}.login-primary-button:active:not(:disabled){transform:translateY(0)}.login-primary-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.login-primary-button:focus-visible,.login-text-button:focus-visible,.login-signup-button:focus-visible,.login-footer-links a:focus-visible{outline:3px solid rgba(20,135,71,.4);outline-offset:3px}.login-otp-section{animation:login-step-enter .26s ease both;text-align:left}.login-demo-code{display:flex;min-height:50px;align-items:center;justify-content:center;gap:10px;margin:0 0 22px;padding:10px 14px;border:1px solid #bfe6cf;border-radius:14px;background:#eaf8f0;color:var(--ls-navy);font-size:.9rem}.login-demo-code strong{color:var(--ls-green-dark);font-family:var(--font-mono, ui-monospace, monospace);font-size:1rem;letter-spacing:.08em}.login-demo-icon{display:inline-grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:8px;background:#cdeedb;color:var(--ls-green)}.login-demo-icon svg{width:17px;height:17px}.login-secondary-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}.login-text-button{padding:5px 2px;border:0;border-radius:4px;background:transparent;color:var(--ls-green);cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;transition:color .15s ease}.login-text-button:hover{color:var(--ls-green-dark)}.login-action-divider{width:1px;height:16px;background:var(--ls-border)}.login-lang{position:absolute;top:28px;right:clamp(16px,4.3vw,72px);z-index:3;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:14px;background:#ffffffeb;box-shadow:0 6px 18px #1f4a8c1a;color:var(--ls-navy)}.login-lang svg{width:22px;height:22px;pointer-events:none}.login-lang svg:last-child{width:18px;height:18px;margin-left:-26px}.login-lang select{min-height:28px;padding:0 28px 0 0;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--ls-navy);cursor:pointer;font:inherit;font-size:1.05rem;font-weight:500}.login-lang:focus-within{box-shadow:0 0 0 3px #14874759}.login-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.login-country-chevron{width:18px;height:18px;color:#3b4a6b}.login-or{height:1px;margin:28px 0 30px;background:var(--ls-border)}.login-signup{display:flex;justify-content:center}.login-signup-button{display:inline-flex;min-height:62px;align-items:center;justify-content:center;gap:12px;padding:0 36px;border:1.5px solid var(--ls-pink);border-radius:18px;background:#fff;color:var(--ls-pink);font-size:1.1rem;font-weight:700;text-decoration:none;transition:background .16s ease,transform .16s ease}.login-signup-button svg{width:22px;height:22px}.login-signup-button:hover{transform:translateY(-1px);background:#fff5fa}.login-footer-links{display:flex;flex-wrap:wrap;align-items:center}.login-footer-links a{padding:0 16px;color:var(--ls-text);font-size:.98rem;text-decoration:none}.login-footer-links a+a{border-left:1px solid rgba(15,27,61,.25)}.login-footer-links a:last-child{padding-right:0}.login-footer-links a:hover{color:var(--ls-green-dark);text-decoration:underline;text-underline-offset:3px}.login-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding:16px clamp(20px,5vw,86px);background:#dbeafe8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-security{display:flex;align-items:center;gap:10px;margin:0;color:var(--ls-text);font-size:.98rem}.login-security svg{width:26px;height:26px;color:#1f9d55}@keyframes login-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-step-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px){.login-shell{grid-template-columns:1fr;justify-items:center;gap:40px;padding:36px 28px}.login-hero{max-width:640px;justify-self:stretch}.login-hero-title{font-size:clamp(2.4rem,7vw,3.4rem)}.login-card{max-width:620px;margin-top:44px}}@media (max-width: 640px){.login-page{background-position:15% bottom}.login-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#ffffffc7,#ffffff73);pointer-events:none}.login-shell,.login-footer{position:relative;z-index:1}.login-lang{top:14px;right:14px;padding:7px 12px}.login-shell{gap:28px;padding:72px 16px 32px}.login-logo{margin-bottom:20px}.login-logo-mark{width:58px;height:58px;border-radius:17px}.login-logo-mark svg{width:30px;height:30px}.login-logo-name{font-size:1.5rem}.login-hero-title{font-size:2.2rem}.login-hero-text{margin:14px 0 18px;font-size:.98rem}.login-features{gap:12px 0}.login-feature{padding:0 12px}.login-feature-icon{width:44px;height:44px;border-radius:13px}.login-feature-icon svg{width:22px;height:22px}.login-feature-label{font-size:.82rem}.login-card{margin-top:36px;padding:70px 20px 26px;border-radius:28px}.login-card-badge{top:-36px;width:104px;height:104px}.login-card-badge svg{width:56px;height:56px}.login-subtitle{margin-bottom:22px;font-size:.94rem}.login-phone-field{min-height:62px;gap:10px;padding:0 14px}.login-country{font-size:1.05rem}.login-flag{width:30px;height:20px}.login-input{font-size:1.05rem}.login-primary-button{min-height:60px;font-size:1.08rem}.login-footer{flex-direction:column;align-items:flex-start;padding:16px}.login-footer-links a{padding:0 12px;font-size:.88rem}.login-footer-links a:first-child{padding-left:0}.login-signup-button{width:100%;min-height:58px}.login-security{font-size:.88rem}}@media (max-width: 360px){.login-features{flex-direction:column;align-items:flex-start}.login-feature,.login-feature:first-child{padding:0;border-left:0}.login-demo-code{gap:7px;padding-inline:10px;font-size:.8rem}}@media (prefers-reduced-motion: reduce){.login-card,.login-otp-section{animation:none}.login-phone-field,.login-otp-input,.login-primary-button,.login-primary-button svg,.login-signup-button,.login-text-button{transition:none}.login-notice{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#e8f5e9;color:#1b5e20;font-size:14px}}.signup-page .login-shell{align-items:start}.signup-form{display:grid;gap:18px;text-align:left}.signup-field{display:flex;min-width:0;flex-direction:column}.signup-field .login-label{margin-bottom:8px}.signup-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signup-control{display:block;width:100%;min-height:58px;padding:0 16px;border:1px solid var(--ls-border);border-radius:16px;outline:none;background-color:#fff;color:var(--ls-navy);font:inherit;font-size:1.05rem;transition:border-color .16s ease,box-shadow .16s ease}.signup-control::placeholder{color:#9aa4b8;opacity:1}.signup-control:focus{border-color:var(--ls-green);box-shadow:0 0 0 4px #14874724}select.signup-control{padding-right:46px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b4a6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 16px center;background-repeat:no-repeat;background-size:18px;cursor:pointer}select.signup-control:invalid{color:#9aa4b8}select.signup-control option{color:var(--ls-navy)}.signup-form .login-primary-button{margin-top:6px}.signup-login-text{margin:0;color:var(--ls-muted);font-size:1rem;text-align:center}.signup-login-text a{color:var(--ls-green);font-weight:700;text-decoration:none;text-underline-offset:3px}.signup-login-text a:hover{text-decoration:underline}@media (max-width: 640px){.signup-row{grid-template-columns:1fr}.signup-control{min-height:54px;font-size:1rem}}@media (prefers-reduced-motion: reduce){.signup-control{transition:none}}@media (min-width: 1101px){.signup-page{--su-h: clamp(40px, 6.2vh, 54px);--su-gap: clamp(8px, 1.6vh, 16px)}.signup-page .login-shell{align-items:center;padding-block:clamp(8px,1.5vh,24px)}.signup-card{margin-top:clamp(34px,5vh,48px);padding-top:clamp(60px,9vh,72px);padding-bottom:clamp(16px,2.6vh,28px)}.signup-card .login-card-badge{top:-34px;width:92px;height:92px}.signup-card .login-card-badge svg{width:50px;height:50px}.signup-card .login-title{font-size:clamp(1.35rem,3.4vh,1.9rem)}.signup-card .login-subtitle{margin:6px auto clamp(10px,2vh,18px);font-size:.95rem}.signup-form{gap:var(--su-gap)}.signup-field .login-label{margin-bottom:6px;font-size:.92rem}.signup-control{min-height:var(--su-h);border-radius:14px;font-size:1rem}.signup-page .login-phone-field{min-height:var(--su-h);border-radius:14px}.signup-page .login-input{min-height:calc(var(--su-h) - 8px);font-size:1rem}.signup-page .login-flag{width:30px;height:20px}.signup-page .login-country{font-size:1rem}.signup-form .login-primary-button{min-height:var(--su-h);margin-top:4px;border-radius:14px;font-size:1.05rem}.signup-card .login-or{margin:clamp(10px,2vh,20px) 0}.signup-login-text{font-size:.95rem}.signup-page .login-footer{padding-block:10px}}@media (min-width: 1101px) and (max-height: 720px){.signup-page{--su-h: 40px;--su-gap: 8px}.signup-card .login-subtitle{display:none}.signup-card .login-title{margin-bottom:12px}}.ss-form{display:grid;gap:18px;padding:24px;border:1px solid var(--border-color);border-radius:17px;background:var(--surface-color);box-shadow:0 8px 28px #403b450e}.ss-head{display:flex;align-items:flex-start;gap:14px}.ss-head .dashboard-kicker{margin-bottom:4px}.ss-head h2{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:1.2rem;font-weight:750;letter-spacing:-.025em}.ss-head-icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.ss-head-icon .dashboard-icon{width:22px;height:22px}.ss-note{margin:6px 0 0;color:var(--muted-text);font-size:.8rem;line-height:1.5}.ss-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ss-field{display:flex;min-width:0;flex-direction:column;gap:7px}.ss-field label{margin:0;color:var(--muted-text);font-size:.74rem;font-weight:700}.ss-field input,.ss-field select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);font:inherit;font-size:.85rem}.ss-field input::placeholder{color:var(--muted-text);opacity:.7}.ss-field input:focus-visible,.ss-field select:focus-visible,.ss-submit:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.ss-error{margin:0;padding:12px 15px;border:1px solid #F2C4C4;border-radius:12px;background:#fff4f4;color:#b3261e;font-size:.82rem}.ss-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.ss-submit{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 18px;border:1px solid var(--primary-color);border-radius:10px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.ss-submit:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-hover)}.ss-submit:disabled,.ss-actions .dashboard-edit-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width: 560px){.ss-form{padding:18px 15px;border-radius:14px}.ss-row{grid-template-columns:1fr}.ss-actions{flex-direction:column-reverse}.ss-actions>*{width:100%}}@media (prefers-reduced-motion: reduce){.ss-submit{transition:none}}.app-shell>.app-main{width:100%;max-width:none;margin:0;padding:38px clamp(22px,3.4vw,56px) 64px}.dashboard-page{width:100%;max-width:1440px;margin:0 auto}.dashboard-welcome{display:flex;min-height:142px;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:27px 32px;overflow:hidden;border:1px solid var(--primary-border);border-radius:20px;background:radial-gradient(ellipse at 90% 10%,rgba(var(--primary-rgb),.09),transparent 48%),linear-gradient(112deg,var(--surface-color),var(--primary-light));box-shadow:0 10px 30px rgba(var(--primary-rgb),.055)}.dashboard-kicker{margin:0 0 7px;color:var(--primary-color);font-size:.66rem;font-weight:800;letter-spacing:.14em}.dashboard-welcome h1{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:clamp(1.65rem,3vw,2.1rem);font-weight:750;letter-spacing:-.045em}.dashboard-welcome-subtitle{margin:8px 0 0;color:var(--muted-text);font-size:.9rem}.dashboard-welcome-school{display:flex;min-width:220px;align-items:center;gap:12px;padding:11px 15px;border:1px solid rgba(var(--primary-rgb),.14);border-radius:14px;background:#ffffffbd}.dashboard-welcome-mark{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid var(--primary-border);border-radius:14px;background:var(--primary-light);color:var(--primary-color)}.dashboard-welcome-mark .dashboard-icon{width:25px;height:25px}.dashboard-welcome-school>span:last-child{display:flex;min-width:0;flex-direction:column}.dashboard-welcome-school strong{overflow:hidden;color:var(--text-color);font-size:.83rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-welcome-school small{margin-top:4px;color:var(--muted-text);font-size:.71rem}.dashboard-icon{display:block;width:21px;height:21px;flex:0 0 auto}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.dashboard-summary-card{display:flex;min-width:0;min-height:124px;align-items:flex-start;gap:14px;padding:19px 18px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509;transition:transform .16s ease,box-shadow .16s ease}.dashboard-summary-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #403b4512}.dashboard-summary-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.dashboard-summary-icon .dashboard-icon{width:21px;height:21px}.dashboard-summary-card.blue .dashboard-summary-icon{background:#eef5ff;color:#3b72c7}.dashboard-summary-card.violet .dashboard-summary-icon{background:#f3f0ff;color:#7658bd}.dashboard-summary-card.teal .dashboard-summary-icon{background:#eaf8f5;color:#238b78}.dashboard-summary-copy{display:flex;min-width:0;flex-direction:column}.dashboard-summary-copy p{margin:0;color:var(--muted-text);font-size:.78rem;font-weight:600}.dashboard-summary-copy strong{margin-top:5px;color:var(--text-color);font-size:1.55rem;font-weight:750;letter-spacing:-.04em;line-height:1.2}.dashboard-summary-copy>span{margin-top:5px;overflow:hidden;color:var(--muted-text);font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-school-section,.dashboard-quick-actions{margin-bottom:30px}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.dashboard-section-header .dashboard-kicker{margin-bottom:5px}.dashboard-section-header h2{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:1.25rem;font-weight:750;letter-spacing:-.025em}.dashboard-edit-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:8px 13px;border:1px solid var(--primary-border);border-radius:10px;background:var(--surface-color);color:var(--primary-color);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.dashboard-edit-button .dashboard-icon{width:17px;height:17px}.dashboard-edit-button:hover{transform:translateY(-1px);background:var(--primary-light)}.dashboard-edit-button:focus-visible,.dashboard-action-card:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.dashboard-information-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:8px 18px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.dashboard-information-item{display:flex;min-width:0;align-items:center;gap:12px;padding:15px 12px}.dashboard-information-item:not(:nth-child(3n+1)){border-left:1px solid var(--border-color)}.dashboard-information-item:nth-child(n+4){border-top:1px solid var(--border-color)}.dashboard-information-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:11px;background:var(--primary-light);color:var(--primary-color)}.dashboard-information-icon .dashboard-icon{width:18px;height:18px}.dashboard-information-item>span:last-child{display:flex;min-width:0;flex-direction:column}.dashboard-information-item small{color:var(--muted-text);font-size:.69rem}.dashboard-information-item strong{margin-top:3px;overflow:hidden;color:var(--text-color);font-size:.81rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .setup-card{width:min(100%,760px);margin:0 auto;border-color:var(--border-color);border-radius:17px;box-shadow:0 8px 28px #403b450e}.dashboard-management-section{display:grid;gap:18px}.dashboard-management-section>.card{margin-bottom:0;border-radius:16px}.dashboard-management-section>.card>h2,.dashboard-management-section .pdf-header-row h2{color:var(--text-color)}.dashboard-quick-actions{margin-top:29px}.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dashboard-action-card{display:flex;min-width:0;min-height:100px;align-items:center;gap:14px;padding:18px;border:1px solid var(--border-color);border-radius:15px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509;color:var(--text-color);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.dashboard-action-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:0 9px 24px rgba(var(--primary-rgb),.08)}.dashboard-action-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.dashboard-action-content{display:flex;min-width:0;flex:1;flex-direction:column}.dashboard-action-content strong{font-size:.86rem;font-weight:750}.dashboard-action-content small{margin-top:5px;color:var(--muted-text);font-size:.74rem;line-height:1.5}.dashboard-action-card>.dashboard-icon{width:18px;height:18px;color:var(--primary-color)}.academic-register-panel{margin:0 0 30px}.academic-register-heading{margin-bottom:17px}.academic-register-heading .muted{margin:5px 0 0;font-size:.82rem}.academic-register-heading-icon,.academic-upload-icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.academic-register-heading-icon svg,.academic-upload-icon svg{width:23px;height:23px}.academic-upload-card,.academic-register-card{margin-bottom:16px;padding:21px 23px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.academic-upload-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:var(--primary-border);background:radial-gradient(ellipse at 100% 0,rgba(var(--primary-rgb),.06),transparent 50%),var(--surface-color)}.academic-upload-copy{display:flex;min-width:0;align-items:center;gap:14px}.academic-upload-copy>span:last-child{display:flex;min-width:0;flex-direction:column}.academic-upload-copy strong{color:var(--text-color);font-size:.91rem;font-weight:750}.academic-upload-copy small{margin-top:5px;color:var(--muted-text);font-size:.76rem;line-height:1.45}.academic-upload-card>.btn{flex-shrink:0}.academic-upload-controls{display:flex;align-items:center;gap:10px}.academic-file-input{position:relative;display:inline-flex;min-height:40px;align-items:center;margin:0;padding:8px 13px;overflow:hidden;border:1px solid var(--primary-color);border-radius:9px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font-size:.78rem;font-weight:700}.academic-file-input:hover{background:var(--primary-hover)}.academic-file-input input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.academic-register-error{margin:2px 0 14px}.academic-register-subheading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.academic-register-subheading h3{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:1rem;font-weight:750}.academic-register-subheading p{margin:4px 0 0;font-size:.76rem}.academic-register-count{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.69rem;font-weight:700}.academic-register-card .table-scroll{border:1px solid var(--border-color);border-radius:11px}.academic-register-card .data-table th{background:var(--primary-light);color:var(--text-color)}.academic-register-card .data-table tr:nth-child(2n) td{background:var(--background-color)}.academic-register-card .data-table td{color:var(--text-color)}.academic-register-card>.muted{margin:0;padding:18px;border:1px dashed var(--border-color);border-radius:10px;color:var(--muted-text);font-size:.82rem;text-align:center}@media (max-width: 1100px){.dashboard-summary-grid,.dashboard-information-card{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-information-item:not(:nth-child(3n+1)){border-left:0}.dashboard-information-item:nth-child(2n){border-left:1px solid var(--border-color)}.dashboard-information-item:nth-child(n+3){border-top:1px solid var(--border-color)}}@media (max-width: 760px){.app-shell>.app-main{padding:72px 18px 46px}.dashboard-page{max-width:none}.dashboard-welcome{min-height:126px;padding:22px}.dashboard-welcome-school{display:none}}@media (max-width: 560px){.app-shell>.app-main{padding:70px 14px 38px}.dashboard-welcome{margin-bottom:18px;padding:20px 18px;border-radius:16px}.dashboard-welcome h1{font-size:1.55rem}.dashboard-welcome-subtitle{font-size:.8rem}.dashboard-summary-grid{gap:10px;margin-bottom:24px}.dashboard-summary-card{min-height:108px;gap:9px;padding:13px 11px;border-radius:13px}.dashboard-summary-icon{width:34px;height:34px;flex-basis:34px;border-radius:10px}.dashboard-summary-icon .dashboard-icon{width:18px;height:18px}.dashboard-summary-copy p{font-size:.7rem}.dashboard-summary-copy strong{font-size:1.3rem}.dashboard-summary-copy>span{font-size:.62rem}.dashboard-section-header{align-items:flex-start;flex-direction:column;margin-bottom:12px}.dashboard-school-section>.dashboard-section-header{align-items:flex-start}.dashboard-section-header h2{font-size:1.13rem}.dashboard-edit-button{min-height:37px}.dashboard-information-card{grid-template-columns:1fr;padding:5px 13px}.dashboard-information-item,.dashboard-information-item:nth-child(2n),.dashboard-information-item:not(:nth-child(3n+1)){min-height:65px;padding:11px 5px;border-top:1px solid var(--border-color);border-left:0}.dashboard-information-item:first-child{border-top:0}.dashboard-information-icon{width:33px;height:33px;flex-basis:33px}.dashboard-action-grid{grid-template-columns:1fr;gap:10px}.dashboard-action-card{min-height:84px;padding:13px}.academic-register-heading{flex-direction:row;align-items:center}.academic-upload-card{align-items:flex-start;flex-direction:column;gap:15px;padding:17px}.academic-upload-card>.btn{width:100%}.academic-upload-card-ready{align-items:stretch}.academic-upload-controls{align-items:stretch;flex-direction:column}.academic-file-input,.academic-upload-controls .btn{width:100%;justify-content:center}.academic-register-card{padding:16px 13px}.academic-register-subheading{align-items:flex-start}}@media (prefers-reduced-motion: reduce){.dashboard-summary-card,.dashboard-edit-button,.dashboard-action-card{transition:none}}.templates-section{margin-bottom:30px}.templates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.templates-card{display:flex;min-width:0;flex-direction:column;gap:16px;padding:19px 20px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.templates-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:0 9px 24px rgba(var(--primary-rgb),.08)}.templates-card-head{display:flex;min-width:0;align-items:flex-start;gap:14px}.templates-card-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.templates-card-title{min-width:0;flex:1}.templates-card-title h3{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:.92rem;font-weight:750;letter-spacing:-.01em}.templates-card-title p{margin:5px 0 0;color:var(--muted-text);font-size:.76rem;line-height:1.5}.templates-columns{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.templates-columns li{max-width:100%;overflow:hidden;padding:4px 9px;border:1px solid var(--border-color);border-radius:999px;background:var(--background-color);color:var(--text-color);font-size:.69rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.templates-columns .templates-columns-more{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-color);font-weight:700}.templates-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border-color)}.templates-card-footer small{color:var(--muted-text);font-size:.71rem}.templates-download-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border:1px solid var(--primary-color);border-radius:10px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.templates-download-button .dashboard-icon{width:17px;height:17px}.templates-download-button:hover{transform:translateY(-1px);background:var(--primary-hover)}.templates-download-button:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.templates-empty{margin:0;padding:24px 18px;border:1px dashed var(--border-color);border-radius:12px;color:var(--muted-text);font-size:.82rem;text-align:center}@media (max-width: 1100px){.templates-grid{grid-template-columns:1fr}}@media (max-width: 560px){.templates-grid{gap:10px}.templates-card{gap:14px;padding:15px 14px;border-radius:13px}.templates-card-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}.templates-download-button{min-height:37px}}@media (prefers-reduced-motion: reduce){.templates-card,.templates-download-button{transition:none}}.ar-page{display:grid;gap:18px}.ar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ar-kicker{margin:0 0 6px;color:var(--primary-color);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.ar-header h1{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.04em}.ar-header p{margin:6px 0 0;color:var(--muted-text)}.ar-panel{width:min(880px,100%);margin:0 auto;padding:24px 26px;border:1px solid var(--border-color);border-radius:18px;background:var(--surface-color);box-shadow:0 10px 40px #403b450a}.ar-panel-head{margin-bottom:18px}.ar-panel-head h2{margin:0;color:var(--text-color);font-size:1.12rem;font-weight:750;letter-spacing:-.02em}.ar-panel-head p{margin:6px 0 0;color:var(--muted-text)}.ar-form{display:grid;gap:16px}.ar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ar-field{display:grid;gap:8px}.ar-field-wide{grid-column:1 / -1}.ar-field label{color:var(--text-color);font-size:.88rem;font-weight:650}.ar-field input,.ar-field select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-color);color:var(--text-color);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.ar-field input:focus,.ar-field select:focus{outline:none;border-color:color-mix(in srgb,var(--primary-color) 70%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 12%,transparent)}.ar-alert{margin:0;padding:10px 14px;border-radius:12px;font-size:.88rem}.ar-alert-error{background:color-mix(in srgb,#ef4444 10%,transparent);color:#dc2626}.ar-alert-success{background:color-mix(in srgb,#22c55e 12%,transparent);color:#15803d}.ar-actions{display:flex;justify-content:flex-end}.ar-primary-button{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 82%,black));color:var(--primary-contrast);cursor:pointer;font:inherit;font-weight:700;box-shadow:0 18px 40px color-mix(in srgb,var(--primary-color) 18%,transparent)}@media (max-width: 720px){.ar-grid{grid-template-columns:1fr}.ar-panel{padding:20px 18px}}.sms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin-bottom:20px}min-width: 0; padding: 21px 22px; border: 1px solid var(--border-color); border-radius: 16px; background: var(--surface-color); box-shadow: 0 5px 20px rgba(64,59,69,.035); } .sms-panel-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.sms-panel-head .dashboard-kicker{margin-bottom:4px}.sms-panel-head h2,.sms-modal h2{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:1.05rem;font-weight:750;letter-spacing:-.02em}.sms-panel-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.sms-panel-note{margin:5px 0 0;color:var(--muted-text);font-size:.76rem;line-height:1.5}.sms-upload-row{display:flex;align-items:flex-end;gap:10px}.sms-field{display:flex;min-width:0;flex:1;flex-direction:column;gap:7px}.sms-field label{margin:0;color:var(--muted-text);font-size:.74rem;font-weight:700}.sms-field input[type=file],.sms-textarea{width:100%;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);font:inherit;font-size:.82rem}.sms-field input[type=file]{min-height:42px;padding:5px;cursor:pointer}.sms-field input[type=file]::file-selector-button{margin-right:11px;padding:7px 13px;border:1px solid var(--primary-color);border-radius:8px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.sms-field input[type=file]::file-selector-button:hover{background:var(--primary-hover)}.sms-textarea{min-height:140px;padding:11px 12px;font-size:.8rem;line-height:1.55;resize:vertical}.sms-field input[type=file]:focus-visible,.sms-textarea:focus-visible,.sms-mode-option:focus-within,.sms-primary-button:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.sms-file-chip{width:fit-content;max-width:100%;margin:12px 0 0;overflow:hidden;padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sms-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px}.sms-subheading h3{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:.92rem;font-weight:750}.sms-count{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.69rem;font-weight:700}.sms-empty{margin:0;padding:18px;border:1px dashed var(--border-color);border-radius:10px;color:var(--muted-text);font-size:.8rem;text-align:center}.sms-hint{margin:8px 0 0;color:var(--muted-text);font-size:.74rem;line-height:1.5}.sms-muted{color:var(--muted-text)}.sms-mode{display:grid;gap:8px;margin-bottom:16px}.sms-mode-option{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);cursor:pointer;font-size:.78rem;font-weight:600;transition:border-color .15s ease,background-color .15s ease}.sms-mode-option input{margin:0;accent-color:var(--primary-color)}.sms-mode-option.is-active{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-color)}.sms-preview{max-height:300px;margin-top:10px;overflow-y:auto;border:1px solid var(--border-color);border-radius:11px;background:var(--background-color)}.sms-preview-item{padding:12px 14px}.sms-preview-item+.sms-preview-item,.sms-preview-item+.sms-hint{border-top:1px solid var(--border-color)}.sms-preview-item strong{color:var(--text-color);font-size:.78rem;font-weight:750}.sms-preview-item p{margin:5px 0 0;color:var(--muted-text);font-size:.72rem;line-height:1.5;white-space:pre-wrap}.sms-preview .sms-hint{margin:0;padding:10px 14px}.sms-primary-button{display:inline-flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px;margin-top:20px;padding:9px 16px;border:1px solid var(--primary-color);border-radius:10px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.sms-primary-button .dashboard-icon{width:17px;height:17px}.sms-primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-hover)}.sms-primary-button:disabled,.dashboard-edit-button:disabled{cursor:not-allowed;opacity:.55}.sms-alert{margin-bottom:20px;padding:12px 15px;border:1px solid;border-radius:12px;font-size:.82rem}.sms-alert-error{border-color:#f2c4c4;background:#fff4f4;color:#b3261e}.sms-alert-success{border-color:#bfe3d9;background:#eaf8f5;color:#1c7062}.sms-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#1e1a2280}.sms-modal{width:min(100%,440px);max-height:100%;overflow-y:auto;padding:24px;border:1px solid var(--primary-border);border-radius:18px;background:var(--surface-color);box-shadow:0 20px 50px #1e1a2240}.sms-summary-list{display:grid;gap:0;margin:18px 0 14px;padding:4px 14px;border:1px solid var(--border-color);border-radius:12px}.sms-summary-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;font-size:.8rem}.sms-summary-list>div+div{border-top:1px solid var(--border-color)}.sms-summary-list dt{color:var(--muted-text)}.sms-summary-list dd{margin:0;color:var(--text-color);font-weight:700}.sms-summary-total dt,.sms-summary-total dd{color:var(--primary-color);font-size:.9rem;font-weight:750}.sms-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.sms-modal-confirm{width:auto;margin-top:0}.sms-history{margin:10px 0 30px}.sms-history-compact{margin:6px 0 24px}.sms-history-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sms-history-header .dashboard-kicker{font-size:.68rem;letter-spacing:.6px}.sms-history-header h2{font-size:1rem;margin:0}.sms-history-card{padding:22px 24px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.sms-history-card-compact{padding:12px 14px;border-radius:11px}.sms-history-table{font-size:.78rem}.sms-history-table th{font-size:.7rem;font-weight:750;padding:6px 10px;text-transform:uppercase}.sms-history-table td{font-size:.78rem;padding:7px 10px;color:var(--muted-text)}.sms-page .table-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:11px}.sms-page .data-table{width:100%;border-collapse:collapse;background:var(--surface-color)}.sms-page .data-table th{padding:12px;border-bottom:2px solid var(--primary-color);background:var(--primary-light);color:var(--text-color);font-size:.74rem;font-weight:750;text-align:left;white-space:nowrap}.sms-page .data-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.78rem}.sms-page .data-table tbody tr:nth-child(2n) td{background:var(--background-color)}.sms-page .data-table tbody tr:hover td{background:var(--primary-light)}.sms-page .data-table tbody tr:last-child td{border-bottom:0}@media (max-width: 1280px){.sms-grid{grid-template-columns:1fr}}@media (max-width: 560px){.sms-panel{padding:16px 13px;border-radius:13px}.sms-upload-row{align-items:stretch;flex-direction:column}.sms-modal{padding:18px}.sms-modal-actions{flex-direction:column-reverse}.sms-modal-actions>*{width:100%}.sms-history>.dashboard-section-header{flex-direction:row;align-items:center}}@media (prefers-reduced-motion: reduce){.sms-primary-button,.sms-mode-option{transition:none}}.sms-mode{display:grid;gap:10px;margin-bottom:18px}.sms-mode-option{position:relative;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--border-color);border-radius:13px;background:var(--surface-color);color:var(--text-color);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.sms-mode-option:hover:not(.is-disabled):not(.is-active){border-color:var(--primary-border);background:var(--background-color)}.sms-mode-option input{position:absolute;opacity:0;pointer-events:none}.sms-mode-radio{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border:2px solid var(--border-color);border-radius:50%;background:var(--surface-color);transition:border-color .15s ease}.sms-mode-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary-color);transform:scale(0);transition:transform .15s ease}.sms-mode-text{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.sms-mode-text strong{font-size:.82rem;font-weight:750}.sms-mode-text small{color:var(--muted-text);font-size:.72rem;line-height:1.4}.sms-mode-badge{flex:0 0 auto;min-width:28px;padding:4px 9px;border-radius:999px;background:var(--background-color);color:var(--muted-text);font-size:.72rem;font-weight:750;text-align:center}.sms-mode-option.is-active{border-color:var(--primary-color);background:var(--primary-light);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.sms-mode-option.is-active .sms-mode-radio{border-color:var(--primary-color)}.sms-mode-option.is-active .sms-mode-radio:after{transform:scale(1)}.sms-mode-option.is-active .sms-mode-badge{background:var(--primary-color);color:var(--primary-contrast)}.sms-mode-option.is-disabled{cursor:not-allowed;opacity:.55}.sms-step-section{margin-bottom:26px}.sms-upload-card,.sms-action-card,.sms-history-card{padding:22px 24px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.sms-upload-card{border-color:var(--primary-border);background:radial-gradient(ellipse at 100% 0,rgba(var(--primary-rgb),.06),transparent 50%),var(--surface-color)}.sms-upload-fields{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.sms-upload-fields .sms-field{min-width:0}.sms-upload-actions{display:flex;gap:10px;margin-top:12px}.sms-upload-chip{width:fit-content;max-width:100%;margin:10px 0 0;overflow:hidden;padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sms-upload-error{margin:10px 0 0;padding:10px 13px;border:1px solid #F2C4C4;border-radius:10px;background:#fff4f4;color:#b3261e;font-size:.78rem}.sms-upload-success{margin:10px 0 0;padding:10px 13px;border:1px solid #BFE3D9;border-radius:10px;background:#eaf8f5;color:#1c7062;font-size:.78rem}.sms-upload-preview{margin-top:16px}.sms-upload-preview h3{margin:0 0 8px;color:var(--text-color);font-size:.85rem;font-weight:750}.sms-upload-preview table.data-table{font-size:.76rem}.sms-upload-preview table.data-table th{font-size:.72rem}.sms-count-badge{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.69rem;font-weight:750}.sms-compose-layout{display:grid;grid-template-columns:1fr;gap:14px}.sms-compose-layout .sms-mode{margin-bottom:0}.sms-send-button{display:inline-flex;width:fit-content;min-height:38px;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:8px 14px;border:1px solid var(--primary-color);border-radius:10px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.sms-send-button .dashboard-icon{width:15px;height:15px}.sms-send-button:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-hover)}.sms-send-button:disabled{cursor:not-allowed;opacity:.55}@media (min-width: 768px){.sms-compose-layout{grid-template-columns:1fr 320px}.sms-upload-fields{grid-template-columns:1fr auto}}@media (max-width: 560px){.sms-upload-card,.sms-action-card,.sms-history-card{padding:18px 14px;border-radius:13px}.sms-upload-fields{grid-template-columns:1fr}.sms-upload-actions{flex-direction:column}.sms-upload-actions>*{width:100%}}@media (prefers-reduced-motion: reduce){.sms-send-button,.sms-upload-card{transition:none}}.sms-tabs{display:flex;gap:8px;margin:8px 0 24px;padding:8px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);width:100%;box-shadow:0 1px 3px #403b4514}.sms-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:none;border-radius:12px;background:transparent;color:var(--muted-text);font:inherit;font-size:.88rem;font-weight:700;letter-spacing:-.2px;cursor:pointer;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease}.sms-tab:hover:not(.is-active){color:var(--text-color);background:var(--background-color)}.sms-tab.is-active{background:var(--primary-color);color:var(--primary-contrast);box-shadow:0 4px 12px #403b4524}.sms-tab-count{flex:0 0 auto;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:10px;font-size:.7rem;font-weight:750}.sms-tab:not(.is-active) .sms-tab-count{background:var(--background-color);color:var(--text-color)}.sms-tab.is-active .sms-tab-count{color:rgba(var(--primary-contrast-rgb, 255, 255, 255),.95);background:#ffffff2e}.sms-tab-icon{width:18px;height:18px;flex-shrink:0}.sms-tab-content{display:none;animation:smsTabFade .18s ease}.sms-tab-content.is-active{display:block}@keyframes smsTabFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 560px){.sms-tabs{margin:6px 0 20px;padding:6px;border-radius:14px}.sms-tab{min-height:48px;font-size:.82rem;gap:8px}.sms-tab-icon{width:16px;height:16px}.sms-tab-count{min-width:18px;height:18px;padding:0 5px;font-size:.68rem}}.sms-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--surface-color);box-shadow:0 2px 8px #403b450f}.sms-pagination-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;min-width:90px;border:1px solid var(--border-color);border-radius:11px;background:var(--background-color);color:var(--text-color);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease}.sms-pagination-button:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-color);color:var(--primary-contrast);transform:translateY(-1px);box-shadow:0 4px 10px #403b451f}.sms-pagination-button:disabled{cursor:not-allowed;opacity:.5;background:var(--background-color);color:var(--muted-text);border-color:var(--border-color)}.sms-pagination-button .dashboard-icon{width:15px;height:15px}.sms-pagination-page{font-size:.84rem;font-weight:750;color:var(--primary-color);background:var(--primary-light);padding:7px 14px;border-radius:10px;border:1px solid var(--primary-border);white-space:nowrap;min-width:110px;text-align:center}@media (max-width: 560px){.sms-pagination{margin-top:12px;padding:10px 12px;flex-direction:column;align-items:stretch;gap:10px}.sms-pagination-button{justify-content:center;min-width:auto;padding:9px 12px;font-size:.8rem}.sms-pagination-page{text-align:center;min-width:auto;padding:8px 12px;font-size:.8rem}}.rg-stack{display:grid;gap:16px;margin-bottom:30px}.rg-panel{min-width:0;padding:21px 22px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.rg-panel-head{margin-bottom:16px}.rg-panel-head-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.rg-panel-head .dashboard-kicker{margin-bottom:5px}.rg-panel-head h2{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:1.1rem;font-weight:750;letter-spacing:-.02em}.rg-tabs{display:flex;gap:6px;margin-bottom:20px;padding:5px;overflow-x:auto;border:1px solid var(--border-color);border-radius:14px;background:var(--surface-color)}.rg-tab{flex:1 0 auto;min-height:42px;padding:8px 16px;border:0;border-radius:10px;background:transparent;color:var(--muted-text);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.rg-tab:hover{background:var(--primary-light);color:var(--primary-color)}.rg-tab.is-active{background:var(--primary-color);color:var(--primary-contrast)}.rg-tab:focus-visible,.rg-primary-button:focus-visible,.rg-secondary-button:focus-visible,.rg-link-button:focus-visible,.rg-subject:focus-within{outline:2px solid var(--focus-color);outline-offset:2px}.rg-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}.rg-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-field{display:flex;min-width:0;flex-direction:column;gap:7px}.rg-field label,.rg-field-label{margin:0;color:var(--muted-text);font-size:.74rem;font-weight:700}.rg-field input[type=text],.rg-field input[type=date],.rg-field input[type=file]{width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);font:inherit;font-size:.82rem}.rg-field input[readonly]{background:var(--background-color);color:var(--muted-text)}.rg-field input[type=file]{padding:5px;cursor:pointer}.rg-field input[type=file]::file-selector-button{margin-right:11px;padding:7px 13px;border:1px solid var(--primary-color);border-radius:8px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.rg-field input[type=file]::file-selector-button:hover{background:var(--primary-hover)}.rg-field input:focus-visible,.rg-mark-input:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.rg-field-error{margin:0;color:#b3261e;font-size:.74rem}.rg-logo-preview{display:flex;align-items:center;gap:10px}.rg-logo-preview img{width:42px;height:42px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);object-fit:contain}.rg-file-chip{width:fit-content;max-width:100%;margin:2px 0 0;overflow:hidden;padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.rg-subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.rg-subject{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);cursor:pointer;font-size:.78rem;font-weight:600;transition:border-color .15s ease,background-color .15s ease}.rg-subject input{margin:0;accent-color:var(--primary-color)}.rg-subject.is-active{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-color)}.rg-template-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border-color)}.rg-hint{margin:0;color:var(--muted-text);font-size:.74rem;line-height:1.5}.rg-chips{display:flex;flex-wrap:wrap;gap:8px}.rg-chip{padding:8px 13px;border:1px solid var(--border-color);border-radius:999px;background:var(--surface-color);color:var(--muted-text);font-size:.76rem;font-weight:700}.rg-chip.is-active{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-color)}.rg-count{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.69rem;font-weight:700}.rg-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.rg-subheading h3{margin:0;color:var(--text-color);font-family:var(--font-body);font-size:.95rem;font-weight:750}.rg-primary-button,.rg-secondary-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:10px;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.rg-primary-button{border:1px solid var(--primary-color);background:var(--primary-color);color:var(--primary-contrast)}.rg-primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-hover)}.rg-secondary-button{border:1px solid var(--primary-border);background:var(--surface-color);color:var(--primary-color)}.rg-secondary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-light)}.rg-primary-button .dashboard-icon,.rg-secondary-button .dashboard-icon{width:17px;height:17px}.rg-primary-button:disabled,.rg-secondary-button:disabled{cursor:not-allowed;opacity:.5}.rg-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}.rg-link-button{padding:0;border:0;background:none;color:var(--primary-color);cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}.rg-danger-button{border-color:#f2c4c4;color:#b3261e}.rg-danger-button:hover{background:#fff4f4}.rg-alert{margin:16px 0 0;padding:12px 15px;border:1px solid;border-radius:12px;font-size:.82rem}.rg-alert-error{border-color:#f2c4c4;background:#fff4f4;color:#b3261e}.rg-alert-success{border-color:#bfe3d9;background:#eaf8f5;color:#1c7062}.rg-alert .rg-link-button{color:inherit}.rg-empty{margin:0 0 16px;padding:18px;border:1px dashed var(--border-color);border-radius:10px;color:var(--muted-text);font-size:.82rem;line-height:1.5;text-align:center}.rg-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-light);font-size:.8rem}.rg-context-text{min-width:0;color:var(--text-color);line-height:1.5}.rg-mark-input{width:84px;min-height:34px;padding:4px 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-color);color:var(--text-color);font:inherit;font-size:.78rem}.rg-page .table-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:11px}.rg-page .data-table{width:100%;border-collapse:collapse;background:var(--surface-color)}.rg-page .data-table th{padding:12px;border-bottom:2px solid var(--primary-color);background:var(--primary-light);color:var(--text-color);font-size:.74rem;font-weight:750;text-align:left;white-space:nowrap}.rg-page .data-table td{padding:9px 12px;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.78rem}.rg-page .data-table tbody tr:nth-child(2n) td{background:var(--background-color)}.rg-page .data-table tbody tr:last-child td{border-bottom:0}.rg-page .data-table .rg-more-row{color:var(--muted-text);text-align:center}.rg-report-list{display:grid;gap:12px}.rg-report-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border-color);border-radius:15px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.rg-report-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:0 9px 24px rgba(var(--primary-rgb),.08)}.rg-report-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:13px;background:var(--primary-light);color:var(--primary-color)}.rg-report-info{display:flex;min-width:0;flex:1;flex-direction:column}.rg-report-info strong{overflow:hidden;color:var(--text-color);font-size:.86rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.rg-report-info small{margin-top:4px;color:var(--muted-text);font-size:.72rem}.rg-report-actions{display:flex;flex:0 0 auto;gap:8px}.rg-preview{margin-bottom:30px}.rg-pdf-frame{display:block;width:100%;height:640px;border:1px solid var(--border-color);border-radius:11px;background:var(--background-color)}@media (max-width: 1100px){.rg-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.rg-report-card{flex-wrap:wrap}.rg-report-actions{width:100%}.rg-pdf-frame{height:520px}}@media (max-width: 560px){.rg-panel{padding:16px 13px;border-radius:13px}.rg-form-grid,.rg-form-grid-2{grid-template-columns:1fr}.rg-context{align-items:flex-start;flex-direction:column}.rg-actions{flex-direction:column}.rg-actions>*{width:100%}.rg-subject-grid{grid-template-columns:1fr 1fr}.rg-report-actions>*{flex:1}.rg-pdf-frame{height:420px}}@media (prefers-reduced-motion: reduce){.rg-tab,.rg-primary-button,.rg-secondary-button,.rg-subject,.rg-report-card{transition:none}}.rg-field-wide{grid-column:1 / -1}.rg-chip-button{min-height:38px;cursor:pointer;font:inherit;font-size:.76rem;font-weight:700;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.rg-chip-button:hover{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-color)}.rg-chip-button.is-active{border-color:var(--primary-color);background:var(--primary-color);color:var(--primary-contrast)}.rg-chip-button:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){.rg-chip-button{transition:none}}.upload-section{margin-bottom:30px}.upload-card{margin-bottom:15px;padding:20px 22px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.upload-controls-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:18px;border-color:var(--primary-border);background:radial-gradient(ellipse at 100% 0,rgba(var(--primary-rgb),.06),transparent 50%),var(--surface-color)}.upload-guest-card{max-width:420px}.upload-field{display:flex;min-width:0;flex-direction:column;gap:7px}.upload-field label{margin:0;color:var(--muted-text);font-size:.74rem;font-weight:700}.upload-field select,.upload-field input[type=file]{width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);font:inherit;font-size:.82rem}.upload-field select:focus-visible,.upload-field input[type=file]:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.upload-field input[type=file]{padding:5px;cursor:pointer}.upload-field input[type=file]::file-selector-button{margin-right:11px;padding:7px 13px;border:1px solid var(--primary-color);border-radius:8px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.upload-field input[type=file]::file-selector-button:hover{background:var(--primary-hover)}.upload-clear-button{min-height:42px}.upload-error{margin:0 0 15px;padding:12px 15px;border:1px solid #F2C4C4;border-radius:12px;background:#fff4f4;color:#b3261e;font-size:.82rem}.upload-count{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.69rem;font-weight:700}.upload-download-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border:1px solid var(--primary-color);border-radius:10px;background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;transition:background-color .15s ease,transform .15s ease}.upload-download-button .dashboard-icon{width:17px;height:17px}.upload-download-button:hover{transform:translateY(-1px);background:var(--primary-hover)}.upload-download-button:focus-visible,.upload-clear-button:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}.upload-note{margin:0 0 14px;color:var(--muted-text);font-size:.8rem;line-height:1.5}.upload-pdf-frame{display:block;width:100%;height:640px;border:1px solid var(--border-color);border-radius:11px;background:var(--background-color)}.upload-page .table-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:11px}.upload-page .data-table{width:100%;border-collapse:collapse;background:var(--surface-color)}.upload-page .data-table thead{position:sticky;top:0;z-index:10;background:var(--primary-light)}.upload-page .data-table th{padding:13px 12px;border-bottom:2px solid var(--primary-color);background:var(--primary-light);color:var(--text-color);font-size:.76rem;font-weight:750;letter-spacing:.02em;text-align:center;white-space:nowrap}.upload-page .data-table td{padding:11px 12px;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.8rem;text-align:center}.upload-page .data-table tbody tr{transition:background-color .15s ease}.upload-page .data-table tbody tr:nth-child(2n) td{background:var(--background-color)}.upload-page .data-table tbody tr:hover td{background:var(--primary-light)}.upload-page .data-table tbody tr:last-child td{border-bottom:0}.upload-page .col-sn{width:8%;min-width:60px}.upload-page .col-name{width:45%;min-width:180px;text-align:left}.upload-page .col-marks,.upload-page .col-grade,.upload-page .col-position{width:15%;min-width:85px}.upload-page .col-default{width:14%;min-width:90px}.upload-page .col-total,.upload-page .col-average,.upload-page .col-position-calc{width:12%;min-width:80px;font-weight:700}.upload-page .data-table .col-total,.upload-page .data-table .col-average,.upload-page .data-table .col-position-calc{border-left:1px solid var(--border-color)}.upload-page .data-table td.col-total,.upload-page .data-table thead th.col-total{background:#fff3e0}.upload-page .data-table td.col-average,.upload-page .data-table thead th.col-average{background:#eaf8f5}.upload-page .data-table td.col-position-calc,.upload-page .data-table thead th.col-position-calc{background:#eef5ff}.upload-page .data-table tbody tr:nth-child(2n) td.col-total{background:#fff3e0}.upload-page .data-table tbody tr:nth-child(2n) td.col-average{background:#eaf8f5}.upload-page .data-table tbody tr:nth-child(2n) td.col-position-calc{background:#eef5ff}@media (max-width: 1100px){.upload-controls-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.upload-clear-button{grid-column:1 / -1;justify-self:start}}@media (max-width: 760px){.upload-page .col-total,.upload-page .col-average,.upload-page .col-position-calc{width:10%;min-width:70px}.upload-pdf-frame{height:520px}}@media (max-width: 560px){.upload-card{padding:15px 13px;border-radius:13px}.upload-controls-card{grid-template-columns:1fr;gap:14px}.upload-clear-button{width:100%;justify-self:stretch}.upload-section>.dashboard-section-header{flex-direction:row;align-items:center}.upload-page .data-table th,.upload-page .data-table td{padding:8px 5px;font-size:.68rem}.upload-page .col-sn{min-width:40px}.upload-page .col-name{min-width:100px}.upload-pdf-frame{height:420px}}@media (prefers-reduced-motion: reduce){.upload-download-button,.upload-page .data-table tbody tr{transition:none}}.secondary-upload-note{margin:0;padding:14px 16px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-light);color:var(--text-color);font-size:.82rem;line-height:1.5}.secondary-upload-page .secondary-stats-grid{margin-bottom:15px}.secondary-upload-page .dashboard-summary-card:hover{transform:none;box-shadow:0 5px 20px #403b4509}.secondary-upload-page .dashboard-summary-copy.is-compact strong{font-size:1rem;letter-spacing:-.01em;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.secondary-division-card h3{margin:0 0 12px;color:var(--text-color);font-family:var(--font-body);font-size:.95rem;font-weight:750}.secondary-division-list{display:flex;flex-wrap:wrap;gap:8px}.division-badge{padding:6px 12px;border-radius:999px;font-size:.74rem;font-weight:700}.division-I{background:#eaf8f5;color:#1c7062}.division-II{background:#eef5ff;color:#2f5fa8}.division-III{background:#f3f0ff;color:#6347a8}.division-IV{background:#fff3e0;color:#9a5b00}.division-0{background:#fff4f4;color:#b3261e}.division-INCO{background:var(--background-color);color:var(--muted-text);border:1px solid var(--border-color)}.secondary-upload-page .data-table th,.secondary-upload-page .data-table td{text-align:left}.mark-grade{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.mark-grade .grade{padding:2px 8px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.68rem;font-weight:800}@media (max-width: 560px){.secondary-upload-page .secondary-stats-grid{margin-bottom:12px}}.settings-page{--settings-shadow: 0 12px 34px rgba(41, 29, 38, .055)}.settings-appearance-card{padding:28px;border:1px solid var(--border-color);border-radius:18px;background:var(--surface-color);box-shadow:var(--settings-shadow)}.settings-section-heading{display:flex;align-items:center;gap:14px}.settings-heading-mark{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border-radius:14px;background:var(--primary-light);color:var(--primary-color)}.settings-heading-mark svg{width:24px;height:24px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.settings-section-heading h2,.settings-field-heading h3,.settings-custom-color h3,.settings-preview-heading h3{margin:0;color:var(--text-color);font-family:var(--font-body)}.settings-section-heading h2{font-size:1.25rem}.settings-section-heading p,.settings-custom-color p{margin:4px 0 0;color:var(--muted-text);font-size:.88rem}.settings-divider{height:1px;margin:24px 0;background:var(--border-color)}.settings-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:34px}.settings-field-heading,.settings-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-field-heading h3,.settings-custom-color h3,.settings-preview-heading h3{font-size:.95rem;font-weight:700}.settings-field-heading>span,.settings-preview-heading>span{color:var(--muted-text);font-size:.75rem}.settings-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.settings-preset{display:flex;min-width:0;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border-color);border-radius:11px;background:var(--surface-color);color:var(--text-color);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;text-align:left;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.settings-preset:hover{transform:translateY(-1px);border-color:var(--primary-border)}.settings-preset.is-selected{border-color:var(--primary-color);background:var(--primary-light)}.settings-preset:focus-visible,.settings-reset-button:focus-visible{outline:3px solid rgba(var(--primary-rgb),.35);outline-offset:2px}.settings-preset-swatch{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:var(--preset-color);color:var(--primary-contrast)}.settings-preset-swatch svg{width:14px;height:14px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.settings-custom-color{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:25px;padding-top:21px;border-top:1px solid var(--border-color)}.settings-custom-color p{font-size:.8rem}.settings-color-picker{display:flex;min-height:42px;align-items:center;gap:9px;margin:0;padding:5px 9px 5px 6px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);cursor:pointer}.settings-color-picker input{width:30px;height:30px;flex:0 0 30px;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer}.settings-color-picker input::-webkit-color-swatch-wrapper{padding:0}.settings-color-picker input::-webkit-color-swatch{border:0;border-radius:6px}.settings-color-picker input::-moz-color-swatch{border:0;border-radius:6px}.settings-color-value{min-width:68px;color:var(--text-color);font-family:var(--font-mono);font-size:.79rem;font-weight:600}.settings-preview-wrap{min-width:0;padding:18px;border:1px solid var(--border-color);border-radius:15px;background:var(--background-color)}.settings-preview-heading{margin-bottom:12px}.settings-preview-heading>span{padding:3px 8px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.68rem;font-weight:700}.settings-preview{overflow:hidden;padding:12px;border:1px solid var(--border-color);border-radius:11px;background:var(--surface-color)}.settings-preview-topline{display:flex;align-items:center;gap:7px;color:var(--muted-text);font-size:.72rem;font-weight:650}.settings-preview-dot,.settings-current-swatch{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--primary-color)}.settings-preview-menu{margin-left:auto;color:var(--muted-text);letter-spacing:.08em}.settings-preview-active{display:flex;align-items:center;gap:9px;margin-top:15px;padding:9px 10px;border-radius:8px;background:var(--primary-light);color:var(--sidebar-active-color);font-size:.78rem;font-weight:700}.settings-preview-nav-icon{display:grid;width:18px;height:18px;place-items:center}.settings-preview-nav-icon svg{width:17px;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.settings-preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.settings-preview-bottom button{padding:7px 10px;border:0;border-radius:7px;background:var(--button-color);color:var(--primary-contrast);cursor:default;font:inherit;font-size:.68rem;font-weight:700}.settings-preview-bottom a{color:var(--link-color);font-size:.7rem;font-weight:650;text-decoration:none}.settings-current-color{display:flex;align-items:center;gap:7px;margin:12px 0 0;color:var(--muted-text);font-size:.74rem}.settings-current-color strong{color:var(--text-color);font-family:var(--font-mono);font-size:.72rem}.settings-current-swatch{width:11px;height:11px;border:1px solid rgba(0,0,0,.08)}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border-color)}.settings-actions p{margin:0;color:var(--muted-text);font-size:.8rem}.settings-reset-button{padding:9px 13px;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-color);color:var(--text-color);cursor:pointer;font:inherit;font-size:.8rem;font-weight:650;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.settings-reset-button:hover:not(:disabled){border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-color)}.settings-reset-button:disabled{cursor:default;opacity:.55}@media (max-width: 760px){.settings-content{grid-template-columns:1fr;gap:24px}.settings-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.settings-appearance-card{padding:20px 16px;border-radius:15px}.settings-section-heading{align-items:flex-start;gap:11px}.settings-heading-mark{width:40px;height:40px;flex-basis:40px;border-radius:12px}.settings-section-heading p{font-size:.82rem}.settings-custom-color,.settings-actions{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce){.settings-preset,.settings-reset-button{transition:none}}.admin-shell{min-height:100vh;background:var(--background-color);color:var(--text-color);font-family:var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif)}.admin-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(16px,4vw,40px);border-bottom:1px solid var(--border-color);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-nav-brand{display:flex;align-items:center;gap:12px}.admin-nav-brand>span:last-child{display:flex;flex-direction:column;line-height:1.2}.admin-nav-brand strong{font-size:.9rem;font-weight:800;letter-spacing:.04em}.admin-nav-brand small{color:var(--muted-text);font-size:.72rem}.admin-nav-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:var(--primary-color);color:var(--primary-contrast)}.admin-nav-mark svg{width:22px;height:22px}.admin-tabs{display:flex;gap:6px;padding:4px;border-radius:12px;background:var(--background-color)}.admin-tab{padding:8px 18px;border-radius:9px;color:var(--muted-text);font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .15s ease,color .15s ease}.admin-tab:hover{color:var(--text-color)}.admin-tab.is-active{background:var(--primary-color);color:var(--primary-contrast);box-shadow:0 4px 12px rgba(var(--primary-rgb),.25)}.admin-nav-user{display:flex;align-items:center;gap:12px;font-size:.82rem;font-weight:600}.admin-logout{padding:7px 13px;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-color);color:var(--text-color);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.admin-logout:hover{border-color:var(--primary-border);background:var(--primary-light)}.admin-main{padding-bottom:40px}.admin-panel{min-width:0;margin-bottom:18px;padding:21px 22px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-color);box-shadow:0 5px 20px #403b4509}.admin-panel h2{margin:0 0 14px;font-family:var(--font-body);font-size:1.02rem;font-weight:750;letter-spacing:-.02em}.admin-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-panel-head h2{margin:0}.admin-two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px}.admin-empty{margin:0;padding:22px 16px;border:1px dashed var(--border-color);border-radius:12px;color:var(--muted-text);font-size:.82rem;text-align:center}.admin-muted{color:var(--muted-text);font-size:.74rem}.admin-badge{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--primary-light);color:var(--primary-color);font-size:.7rem;font-weight:700;text-transform:capitalize}.admin-badge.type-sms{background:#e5ecfb;color:#3b6bd6}.admin-badge.type-template{background:#e4f5ea;color:#1f9d55}.admin-toolbar{display:flex;flex-wrap:wrap;gap:8px}.admin-toolbar input,.admin-toolbar select,.admin-pager select{min-height:38px;padding:0 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--text-color);font:inherit;font-size:.8rem}.admin-toolbar input{min-width:240px}.admin-page .table-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:11px}.admin-page .data-table{width:100%;border-collapse:collapse;background:var(--surface-color)}.admin-page .data-table th{padding:12px;border-bottom:2px solid var(--primary-color);background:var(--primary-light);font-size:.74rem;font-weight:750;text-align:left;white-space:nowrap}.admin-page .data-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);font-size:.78rem;vertical-align:top}.admin-page .data-table tbody tr:nth-child(2n) td{background:var(--background-color)}.admin-page .data-table tbody tr:hover td{background:var(--primary-light)}.admin-page .data-table tbody tr:last-child td{border-bottom:0}.admin-message-cell{max-width:320px;white-space:pre-wrap}.admin-link-button{padding:5px 10px;border:1px solid var(--primary-border);border-radius:8px;background:var(--surface-color);color:var(--primary-color);cursor:pointer;font:inherit;font-size:.74rem;font-weight:700;white-space:nowrap}.admin-link-button:hover{background:var(--primary-light)}.admin-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.admin-pager p{margin:0;color:var(--muted-text);font-size:.74rem}.admin-pager-controls{display:flex;align-items:center;gap:10px;font-size:.76rem;font-weight:600}.admin-pager-controls label{display:flex;align-items:center;gap:6px;color:var(--muted-text)}.admin-pager-controls button{width:34px;height:34px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-color);color:var(--text-color);cursor:pointer;font-size:1rem}.admin-pager-controls button:hover:not(:disabled){border-color:var(--primary-border);background:var(--primary-light)}.admin-pager-controls button:disabled{cursor:not-allowed;opacity:.45}.admin-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:6px;height:220px;padding-top:18px}.admin-bar{position:relative;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.admin-bar-fill{display:block;width:100%;max-width:28px;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--primary-color),var(--primary-hover))}.admin-bar-value{color:var(--text-color);font-size:.66rem;font-weight:700}.admin-bar-label{color:var(--muted-text);font-size:.58rem;white-space:nowrap;transform:rotate(-35deg);transform-origin:top center;margin-top:8px;height:22px}.admin-rank{display:grid;gap:10px;margin:0;padding:0;list-style:none}.admin-rank li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-color);border-radius:12px}.admin-rank-n{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border-radius:8px;background:var(--primary-light);color:var(--primary-color);font-size:.74rem;font-weight:800}.admin-rank-name{display:flex;min-width:0;flex:1;flex-direction:column;font-size:.8rem;font-weight:700}.admin-rank-name small{color:var(--muted-text);font-size:.7rem;font-weight:500}.admin-rank strong{font-size:.78rem;white-space:nowrap}.admin-hbars{display:grid;gap:10px;margin:0;padding:0;list-style:none}.admin-hbars li{display:grid;grid-template-columns:130px minmax(0,1fr) 36px;align-items:center;gap:12px;font-size:.8rem}.admin-hbar-label{font-weight:650}.admin-hbar-track{height:12px;overflow:hidden;border-radius:999px;background:var(--background-color)}.admin-hbar-track>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover))}.admin-hbars strong{text-align:right}.admin-split{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.admin-split.has-selection{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}.admin-detail{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow-y:auto}.admin-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-detail-head h2{margin-bottom:2px}.admin-detail-head p{margin:0}.admin-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.admin-detail-stats>div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;background:var(--primary-light)}.admin-detail-stats strong{font-size:1.25rem;color:var(--primary-color)}.admin-detail-stats span{color:var(--muted-text);font-size:.72rem}.admin-timeline{display:grid;gap:14px;margin:0;padding:0;list-style:none}.admin-timeline li{display:flex;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.admin-timeline li:last-child{padding-bottom:0;border-bottom:0}.admin-timeline li>span{align-self:flex-start;flex:0 0 auto}.admin-timeline strong{font-size:.8rem}.admin-timeline p{margin:3px 0 0;color:var(--muted-text);font-size:.74rem;line-height:1.5;white-space:pre-wrap}.admin-timeline small{color:var(--muted-text);font-size:.68rem}@media (max-width: 1100px){.admin-two-col,.admin-split.has-selection{grid-template-columns:1fr}.admin-detail{position:static;max-height:none}}@media (max-width: 720px){.admin-nav{flex-wrap:wrap}.admin-tabs{order:3;width:100%}.admin-tab{flex:1;text-align:center}.admin-toolbar input{min-width:0;width:100%}.admin-toolbar{width:100%}.admin-hbars li{grid-template-columns:90px minmax(0,1fr) 30px}.admin-panel{padding:16px 13px;border-radius:13px}}:root{--primary-color: #D63384;--primary-hover: #B82B70;--primary-light: #FDEFF6;--primary-border: #F1B8D3;--accent-color: #D63384;--text-color: #403B45;--muted-text: #817985;--background-color: #FFF8FC;--surface-color: #FFFFFF;--border-color: #EEE6EC;--focus-color: #D63384;--sidebar-active-color: #D63384;--button-color: #D63384;--link-color: #B82B70;--primary-contrast: #FFFFFF;--primary-rgb: 214, 51, 132;--success-color: #2F6B4F;--warning-color: #A8702A;--danger: #B3432B;--danger-light: #FFF0F1;--ink: var(--primary-color);--ink-light: var(--primary-hover);--gold: var(--accent-color);--gold-dark: var(--primary-hover);--green: var(--success-color);--paper: var(--background-color);--paper-alt: var(--primary-light);--charcoal: var(--text-color);--border: var(--border-color);--font-display: "Fraunces", serif;--font-body: "Manrope", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: 10px;--shadow: 0 1px 2px rgba(64, 59, 69, .05), 0 8px 24px -12px rgba(64, 59, 69, .16)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--charcoal);font-family:var(--font-body);line-height:1.5;transition:background-color .18s ease,color .18s ease}h1,h2,h3{font-family:var(--font-display);color:var(--text-color);margin:0 0 .4em;font-weight:600}h1{font-size:1.9rem}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 .6em}.muted{color:var(--muted-text)}.center{text-align:center}a{color:var(--link-color)}.app-main{max-width:1040px;margin:0 auto;padding:28px 20px 64px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:16px;flex-wrap:wrap}.center-page{text-align:center;padding-top:80px}.template-category-nav{position:relative;margin-bottom:18px}.template-category-dropdown{position:relative;display:inline-flex;align-items:center}.template-category-dropdown .nav-dropdown-toggle{background:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;cursor:pointer;font-size:.95rem}.template-category-dropdown .nav-dropdown-toggle:hover{opacity:.95}.template-category-dropdown .nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 28px #00000029;padding:6px;display:flex;flex-direction:column;z-index:60}.template-category-dropdown .nav-dropdown-menu button{width:100%;text-align:left;padding:10px 12px;border-radius:6px;background:none;border:none;color:var(--text-color);cursor:pointer}.template-category-dropdown .nav-dropdown-menu button:hover{background:var(--primary-light);color:var(--primary-color)}.card{background:var(--surface-color);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.btn{font-family:var(--font-body);font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:transform .05s ease,opacity .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--button-color);color:var(--primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:transparent;color:var(--primary-color);border-color:var(--primary-border)}.btn-outline:hover{background:var(--primary-light);border-color:var(--primary-color)}.btn-ghost{background:transparent;color:var(--primary-color);border-color:var(--border-color)}.btn-ghost:hover{background:var(--paper-alt)}.btn-block{width:100%;margin-top:6px}label{display:block;font-size:.85rem;font-weight:600;color:var(--text-color);margin:14px 0 6px}input,select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-body);font-size:.95rem;background:var(--surface-color);color:var(--text-color)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--focus-color);outline-offset:1px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.error-text{color:var(--danger);font-size:.85rem;margin-top:8px}.success-text{color:var(--success-color);font-size:.85rem;margin-top:8px}.auth-page{display:flex;justify-content:center;padding-top:24px}.auth-card{width:100%;max-width:460px}.school-card{display:flex;gap:18px;align-items:flex-start}.stamp-badge{flex-shrink:0;width:56px;height:56px;border-radius:50%;border:3px dashed var(--green);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;transform:rotate(-6deg)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;margin:10px 0 0}.info-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-text)}.info-grid dd{margin:2px 0 0;font-weight:600;font-family:var(--font-mono);font-size:.92rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}@media (max-width: 900px){.grid-3{grid-template-columns:1fr}}.action-card{text-decoration:none;color:inherit;display:block;transition:border-color .15s ease}.action-card:hover{border-color:var(--gold)}.link-arrow{display:inline-block;margin-top:10px;color:var(--link-color);font-weight:600;font-size:.88rem}.template-list{display:flex;flex-direction:column;gap:14px}.template-card{display:flex;align-items:center;gap:18px;margin-bottom:0}.template-icon{flex-shrink:0;width:46px;height:46px;border-radius:8px;background:var(--primary-color);color:var(--primary-contrast);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.72rem;font-weight:700}.template-info{flex:1;min-width:0}.columns-preview{font-family:var(--font-mono);font-size:.76rem;color:var(--muted-text);margin:4px 0 0;overflow-wrap:break-word}.upload-controls{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}.upload-controls>div{flex:1;min-width:200px}.upload-controls label{margin-top:0}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.82rem}.data-table th,.data-table td{border:1px solid var(--border);padding:7px 10px;text-align:left;white-space:nowrap}.data-table th{background:var(--primary-color);color:var(--primary-contrast);font-family:var(--font-body);font-weight:600}.data-table tr:nth-child(2n) td{background:var(--paper-alt)}.pdf-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pdf-frame{width:100%;height:640px;border:1px solid var(--border);border-radius:8px;margin-top:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--surface-color);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}.stat-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-text);margin-bottom:4px}.stat-value{display:block;font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--text-color)}.division-breakdown{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.division-breakdown h3{margin:0 8px 0 0;font-size:.9rem}.division-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:600;font-family:var(--font-mono)}.division-I{background:#e8f5e9;color:#2e7d32;border:1px solid #C8E6C9}.division-II{background:#e3f2fd;color:#1565c0;border:1px solid #BBDEFB}.division-III{background:#fff3e0;color:#e65100;border:1px solid #FFE0B2}.division-IV{background:#fbe9e7;color:#bf360c;border:1px solid #FFCCBC}.division-0{background:#ffebee;color:#c62828;border:1px solid #EF9A9A}.division-INCO{background:#eceff1;color:#455a64;border:1px solid #B0BEC5}.mark-grade{display:inline-flex;align-items:center;gap:4px}.mark-grade .grade{font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--paper-alt);color:var(--ink);border:1px solid var(--border)}.data-table-secondary th,.data-table-secondary td,.data-table-secondary .mark-grade{white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b2a4a8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{position:relative;width:100%;max-width:420px}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--muted-text)}.divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--muted-text);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.demo-otp-banner{background:var(--paper-alt);border:1px dashed var(--primary-border);border-radius:8px;padding:10px 12px;font-size:.85rem;margin:10px 0 4px}.otp-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.otp-input{font-family:var(--font-mono);font-size:1.4rem;letter-spacing:.4em;text-align:center}.modal-actions{display:flex;gap:10px;margin-top:16px;align-items:center}@media (max-width: 760px){.field-row,.grid-2,.grid-3,.info-grid{grid-template-columns:1fr}.template-card{flex-wrap:wrap}}.tab-bar{display:flex;gap:8px;margin-bottom:18px}.tab-btn{font-family:var(--font-body);font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:8px;border:1px solid var(--border);background:var(--surface-color);color:var(--text-color);cursor:pointer}.tab-btn.active{background:var(--primary-color);color:var(--primary-contrast);border-color:var(--primary-color)}.tag-btn{font-family:var(--font-body);font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface-color);color:var(--text-color);cursor:pointer}.tag-btn.active{background:var(--primary-color);color:var(--primary-contrast);border-color:var(--primary-color)}.link-btn{background:none;border:none;color:var(--link-color);font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-family:inherit;font-size:inherit}.subject-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.subject-item{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-color);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.subject-item:hover{border-color:var(--primary-border);background:var(--primary-light)}.subject-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.subject-item span{font-size:.88rem;font-weight:500;color:var(--text-color)}.ranking-section{margin-top:16px}.ranking-section h3{font-size:.95rem;margin:0 0 8px;color:var(--ink)}.ranking-list{display:flex;flex-direction:column;gap:6px}.ranking-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-color)}.ranking-top{background:#f1f8e9;border-color:#c8e6c9}.ranking-worst{background:#fff3e0;border-color:#ffe0b2}.rank{font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--ink);min-width:28px}.rank-name{flex:1;font-size:.88rem;font-weight:600;color:var(--ink)}.rank-division{font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--ink);min-width:50px;text-align:center}.rank-points{font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--ink);min-width:40px;text-align:right}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
