:root{font-family:Manrope,system-ui,sans-serif;color:#172d50;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.app-shell{max-width:1320px;min-height:100vh;margin:auto;padding:0 44px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce3ee}.brand{border:0;background:none;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:inherit;font:700 10px/1.1 Manrope;letter-spacing:.13em;text-transform:uppercase}.brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#172d50;color:#dce8fa;font-size:18px;font-style:italic}.topbar nav{display:flex;gap:30px;height:100%}.topbar nav button,.account{border:0;background:none;font:600 13px Manrope;color:#728078;cursor:pointer}.topbar nav button{position:relative}.topbar nav button.active{color:#172d50}.topbar nav button.active:after{position:absolute;content:"";height:2px;left:0;right:0;bottom:-29px;background:#315d96}.topbar i{display:inline-grid;place-items:center;border-radius:20px;background:#dce8fa;color:#233f68;font:10px DM Mono;width:18px;height:18px}.account{border:1px solid #dce3ee;border-radius:20px;padding:9px 14px;background:#fff}.notice{position:fixed;z-index:20;top:18px;left:50%;transform:translate(-50%);display:flex;gap:18px;align-items:center;max-width:600px;padding:12px 16px;background:#172d50;color:#fff;border-radius:9px;font-size:12px;box-shadow:0 15px 40px #0003}.notice button,.close{border:0;background:none;color:inherit;font-size:20px;line-height:1;cursor:pointer}.hero{display:grid;grid-template-columns:1fr 330px;gap:60px;align-items:end;padding:82px 0 60px}.eyebrow{margin:0 0 16px;color:#7b887d;font:10px DM Mono;letter-spacing:.1em;text-transform:uppercase}.hero h1,.reservation h1{margin:0;font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.07em;font-weight:600}.hero h1 em{font-style:normal;color:#315d96}.hero>div>p:last-child{max-width:540px;margin:26px 0 0;color:#66746b;line-height:1.7;font-size:14px}.hero aside{padding:25px;background:#dce8fa;border-radius:16px;color:#233f68}.hero aside span{font:10px DM Mono;letter-spacing:.08em;text-transform:uppercase}.hero ol{margin:17px 0 0;padding-left:19px;font-size:12px;line-height:2}.class-gate{display:grid;grid-template-columns:1fr 1.3fr;gap:35px;align-items:center;padding:34px;border:1px solid #dce3ee;border-radius:15px;background:#fff}.class-gate h2{margin:0;font-size:28px;letter-spacing:-.05em}.class-gate p:not(.eyebrow){font-size:12px;color:#7b887d}.class-gate>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.class-gate button{display:grid;grid-template-columns:35px 1fr;gap:4px;text-align:left;padding:15px;border:1px solid #dce3ee;border-radius:9px;background:#f8faff;color:#172d50;cursor:pointer}.class-gate button:hover{border-color:#315d96;background:#e8effa}.class-gate button span{grid-row:span 2;font:12px DM Mono;color:#315d96}.class-gate button b{font-size:13px}.class-gate button small{font-size:10px;color:#839087}.catalog-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #dce3ee;border-bottom:1px solid #dce3ee;padding:16px 0}.class-switch{display:flex;align-items:center;gap:7px}.class-switch span{font-size:11px;color:#7b887d;margin-right:6px}.class-switch button{border:1px solid #dce3ee;border-radius:20px;padding:8px 11px;background:#fff;color:#67746c;font:11px Manrope;cursor:pointer}.class-switch button.chosen{background:#172d50;color:#fff;border-color:#172d50}.catalog-controls label{display:flex;align-items:center;gap:8px;border:1px solid #dce3ee;border-radius:7px;background:#fff;padding:0 11px;color:#758178}.catalog-controls input{border:0;outline:0;padding:10px 0;width:210px;font:12px Manrope}.catalog{padding:45px 0 75px}.catalog-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.catalog-heading h2{margin:0;font-size:23px;letter-spacing:-.04em}.link-button{border:0;background:none;color:#2d5184;font:12px Manrope;cursor:pointer}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.book-tile{border:1px solid #e2e7e0;border-radius:12px;padding:12px;background:#fff;text-align:left;cursor:pointer;color:inherit;transition:transform .2s,box-shadow .2s}.book-tile:hover{transform:translateY(-3px);box-shadow:0 12px 25px #24322210}.book-cover{min-height:138px;padding:14px;border-radius:7px;display:flex;flex-direction:column;color:#fff}.book-cover small{font:8px DM Mono;text-transform:uppercase;letter-spacing:.08em}.book-cover strong{margin-top:auto;max-width:210px;font-size:22px;letter-spacing:-.06em;line-height:.92}.book-cover span{margin-top:10px;font:9px DM Mono}.sage{background:#769b83}.coral{background:#d8765d}.ink{background:#526c88}.sun{background:#d4ac46;color:#493e18}.book-tile h3{margin:15px 0 5px;font-size:15px;letter-spacing:-.035em}.book-tile p{margin:0;font-size:11px;color:#839087}.book-tile footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;font:10px DM Mono;color:#849087}.book-tile footer b{font:700 13px Manrope;color:#172d50}.empty{padding:55px 20px;text-align:center;border:1px dashed #d5ddd2;border-radius:10px;color:#7e8a81;font-size:13px}.reservation{padding:70px 0}.reservation-card{max-width:650px;border:1px solid #dce3ee;background:#fff;border-radius:14px;padding:25px}.reservation-list>div{display:grid;grid-template-columns:1fr 1fr auto;padding:14px 0;border-bottom:1px solid #edf0eb;font-size:12px}.reservation-list span{font-family:DM Mono;color:#6d7a70}.reservation-total{display:flex;justify-content:space-between;padding:20px 0;font-size:13px}.reservation-total b{font-size:22px}.primary{border:0;border-radius:7px;background:#172d50;color:#fff;width:100%;padding:13px;font:600 12px Manrope;cursor:pointer}.reservation-card>p{color:#879187;font-size:11px;line-height:1.5}.page-footer{border-top:1px solid #dce3ee;padding:23px 0;color:#839087;font:10px DM Mono}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:#101e35bc}.modal{position:relative;width:min(100%,600px);max-height:90vh;overflow:auto;background:#f8faff;border-radius:16px;padding:32px;box-shadow:0 25px 80px #0004}.modal .close{position:absolute;right:18px;top:16px;color:#718077}.modal h2{margin:0;font-size:31px;letter-spacing:-.06em}.modal-subtitle{margin:7px 0;color:#718077;font-size:12px}.modal-copy{margin:20px 0;color:#7b887d;font-size:12px;line-height:1.65}.copy-list{border-top:1px solid #dce3ee;margin:18px 0}.copy-list button{width:100%;display:flex;align-items:center;gap:12px;padding:14px 0;border:0;border-bottom:1px solid #e4e9e2;background:none;text-align:left;color:inherit;cursor:pointer}.copy-list button:disabled{opacity:.45;cursor:not-allowed}.copy-list button.selected-copy{color:#2d5184}.condition-dot{width:8px;height:8px;border-radius:50%;background:#315d96}.copy-list div{display:flex;flex-direction:column;gap:3px}.copy-list small{font:10px DM Mono;color:#859188}.copy-list strong{margin-left:auto;font-size:13px}.copy-list i{min-width:55px;text-align:right;font:11px Manrope;font-style:normal}.login label{display:flex;flex-direction:column;gap:8px;margin:20px 0;font-size:12px}.login input{border:1px solid #dce3ee;border-radius:7px;padding:12px;font:13px Manrope}.login .primary{margin-top:3px}@media(max-width:760px){.app-shell{padding:0 19px}.topbar{height:70px}.topbar nav{gap:15px}.hero{grid-template-columns:1fr;padding:48px 0 35px;gap:26px}.hero h1{font-size:52px}.class-gate{grid-template-columns:1fr;padding:22px}.catalog-controls{align-items:stretch;flex-direction:column}.class-switch{flex-wrap:wrap}.catalog-controls label,.catalog-controls input{width:100%}.book-grid{grid-template-columns:1fr}.catalog{padding-top:32px}.modal{padding:26px 20px}.class-gate>div{grid-template-columns:1fr 1fr}}.account-area{display:flex;align-items:center;gap:9px}.admin-button{border-radius:20px;background:#172d50;color:#fff;padding:9px 14px;text-decoration:none;font-size:11px;font-weight:700}.qr-section{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;padding-bottom:24px;border-bottom:1px solid #e2e7e0;margin-bottom:8px}.qr-section img{display:block;width:180px;height:180px;border:1px solid #e0e5dd;border-radius:10px}.qr-section h2{font-size:24px;line-height:1.15;letter-spacing:-.05em;margin:12px 0 7px}.qr-section p{font-size:12px;color:#748078}.qr-section small{font:10px DM Mono;color:#718078}.status-ready{display:inline-block;border-radius:20px;background:#dce8fa;color:#233f68;padding:7px 10px;font:9px DM Mono;text-transform:uppercase;letter-spacing:.06em}.reservation-card.confirmed{max-width:760px}@media(max-width:760px){.admin-button{display:none}.qr-section{grid-template-columns:1fr;text-align:center}.qr-section img{margin:auto}.topbar nav button{font-size:11px}}.profile-link{text-decoration:none;display:flex;align-items:center;gap:7px}.profile-link>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dce8fa;color:#233f68;font-size:9px;font-weight:800}.error-notice{background:#8d493d}.loading-state,.service-error{display:flex;min-height:240px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dce3ee;border-radius:15px;background:#fff}.loading-state>span{width:28px;height:28px;margin-bottom:14px;border:2px solid #dce4d7;border-top-color:#315d96;border-radius:50%;animation:spin .8s linear infinite}.loading-state b,.service-error b{font-size:15px}.loading-state small,.service-error span{margin-top:6px;color:#7c8880;font-size:11px}.service-error button{margin-top:16px;border:0;border-radius:7px;background:#172d50;color:#fff;padding:10px 13px;cursor:pointer}@keyframes spin{to{transform:rotate(360deg)}}.closed-state{display:grid;grid-template-columns:1fr 370px;gap:30px;padding:40px;border-radius:17px;background:#172d50;color:#fff}.closed-state h2{margin:0;font-size:34px;letter-spacing:-.05em}.closed-state p:not(.eyebrow){max-width:510px;color:#aab6b0;font-size:12px;line-height:1.7}.closed-state aside{display:flex;flex-direction:column;justify-content:center;padding:25px;border-radius:12px;background:#dce8fa;color:#233f68}.closed-state aside span{font:9px DM Mono;text-transform:uppercase}.closed-state aside b{margin:12px 0 7px;font:26px DM Mono;letter-spacing:-.06em}.closed-state aside small{font-size:10px}.active-banner{display:flex;align-items:center;justify-content:space-between;padding:25px;border:1px solid #bdcee7;border-radius:14px;background:#e8effa}.active-banner>div{display:flex;align-items:center;gap:13px}.active-banner>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#172d50;color:#dce8fa}.active-banner div div{display:flex;flex-direction:column;gap:4px}.active-banner b{font-size:13px}.active-banner small{color:#65748a;font-size:10px}.active-banner a{color:#2d5184;font-size:11px;font-weight:700;text-decoration:none}.book-tile footer span{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{display:flex;flex-direction:column;align-items:center;gap:7px}.empty b{color:#354139}.empty span{font-size:11px}.reservation-empty{margin-top:25px}.reservation-list>div{grid-template-columns:100px 1fr auto auto;gap:12px;align-items:center}.reservation-list>div>div{display:flex;flex-direction:column;gap:3px}.reservation-list small{font-size:9px;color:#849087}.reservation-list button{border:0;background:none;color:#7d8981;font-size:18px;cursor:pointer}.profile-reservation{display:block;margin-top:14px;color:#2d5184;font-size:10px;text-decoration:none}.isbn{display:inline-block;margin:12px 0 0;padding:5px 7px;border-radius:5px;background:#edf1f7;color:#637168;font:9px DM Mono}.copy-loading{padding:30px;text-align:center;color:#7b877f;font-size:11px}.one-copy-note{margin:-5px 0 17px;color:#7a867e;font-size:10px;line-height:1.5}.back-code{display:block;margin:13px auto 0;border:0;background:none;color:#2d5184;text-decoration:underline;font-size:10px;cursor:pointer}.page-footer{display:flex;justify-content:space-between}@media(max-width:760px){.profile-link{font-size:0;padding:7px}.profile-link>span{font-size:9px}.closed-state{grid-template-columns:1fr;padding:25px}.active-banner{align-items:flex-start;gap:20px;flex-direction:column}.reservation-list>div{grid-template-columns:75px 1fr auto auto}.page-footer{flex-direction:column;gap:7px}.closed-state aside b{font-size:21px}}.book-cover.with-image{position:relative;overflow:hidden;padding:0;background:#e7ebe5}.book-cover.with-image img{width:100%;height:190px;object-fit:cover;display:block}.book-cover.with-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0004 0%,transparent 35%,#0008 100%);pointer-events:none}.book-cover .cover-label,.book-cover .cover-count{position:absolute;z-index:1;left:12px;color:#fff;text-shadow:0 1px 5px #0008}.book-cover .cover-label{top:12px}.book-cover .cover-count{bottom:12px}.title-workspace{display:grid;grid-template-columns:390px 1fr;gap:14px;align-items:start}.title-create fieldset{border:0;border-top:1px solid #e3e8e1;margin:20px 0;padding:17px 0 0}.title-create legend{text-transform:uppercase;letter-spacing:.08em;color:#7d8982;font:8px DM Mono}.title-create fieldset label{display:grid;grid-template-columns:1fr 110px;align-items:center;margin-top:7px}.title-create fieldset label>div{display:flex;align-items:center;border:1px solid #dce3ee;border-radius:7px}.title-create fieldset input{border:0}.title-create fieldset span{padding-right:8px}.cover-upload{margin:18px 0;padding:15px;border:1px dashed #bdc9b8;border-radius:9px;background:#f8faff;cursor:pointer}.cover-upload input{position:absolute;width:1px!important;height:1px;opacity:0}.cover-upload span{color:#68786e;font-size:9px}.title-library{border:1px solid #dce3ee;border-radius:12px;background:#fff;padding:20px}.title-library>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.title-library header p{margin:0;text-transform:uppercase;color:#829087;font:8px DM Mono}.title-library h2{margin:5px 0;font-size:20px}.title-library header input{border:1px solid #dce3ee;border-radius:7px;padding:9px;font:10px Manrope}.title-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.title-grid article{display:grid;grid-template-columns:75px 1fr;gap:12px;min-width:0;padding:9px;border:1px solid #e1e6df;border-radius:9px}.title-cover{height:100px;border-radius:6px;overflow:hidden;background:#718a79;color:#fff;padding:8px;display:flex;flex-direction:column}.title-cover img{width:100%;height:100%;object-fit:cover}.title-cover span{font-size:6px;text-transform:uppercase}.title-cover b{margin-top:auto;font-size:10px;line-height:1}.title-grid article>div:last-child{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}.title-grid article>div:last-child>b{font-size:10px}.title-grid article>div:last-child>span,.title-grid article small{font-size:8px;color:#77847c}.title-grid article button,.create-title-link{margin-top:auto;border:0;background:none;color:#2d5184;padding:0;font:600 8px Manrope;cursor:pointer}.selected-title{display:grid;grid-template-columns:75px 1fr;gap:12px;margin-top:13px;padding:10px;border-radius:9px;background:#e8effa}.selected-title>img,.selected-title>div{width:75px;height:100px;border-radius:6px;object-fit:cover;background:#6e8877;color:#fff;display:grid;place-items:center;font-size:8px}.selected-title>span{display:flex;flex-direction:column;gap:5px}.selected-title b{font-size:11px}.selected-title small,.selected-title em{font-size:8px;color:#65748a;font-style:normal}.create-title-link{margin-top:14px;padding:10px;background:#e8effa;border-radius:7px;width:100%}@media(max-width:1050px){.title-workspace{grid-template-columns:1fr}.title-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.title-grid{grid-template-columns:1fr}.book-cover.with-image img{height:220px}}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:2px 0 25px;padding:4px;border-radius:9px;background:#edf1f7}.auth-tabs button{border:0;border-radius:6px;background:transparent;padding:9px;color:#718078;font:600 11px Manrope;cursor:pointer}.auth-tabs button.active{background:#fff;color:#172d50;box-shadow:0 2px 8px #172d5012}.password-warning{display:flex;flex-direction:column;gap:5px;margin:14px 0 18px;padding:13px;border:1px solid #bdcee7;border-radius:9px;background:#e8effa;color:#233f68}.password-warning b{font-size:10px}.password-warning span{font-size:9px;line-height:1.55}.login .back-code+.back-code{margin-top:7px}.auth-error{margin:4px 0 13px;padding:10px 12px;border-radius:7px;background:#f4e3df;color:#873f34;font-size:10px;line-height:1.45}.auth-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-name-fields label{min-width:0}@media(max-width:520px){.auth-name-fields{grid-template-columns:1fr;gap:0}}:root{--motion-ease: cubic-bezier(.22, 1, .36, 1);--motion-fast: .16s;--motion-enter: .42s}:where(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}:where(button,a,summary){transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow .22s ease,translate .22s var(--motion-ease),scale var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) ease}:where(input,select,textarea){transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #315d96;outline-offset:4px}@media(prefers-reduced-motion:no-preference){:where(.hero>div,.profile-head,.page-title,.reservation-hero>div,.reservation>h1,.reservation>.eyebrow){animation:section-arrive .55s var(--motion-ease) backwards}.hero>aside{animation:section-arrive .6s 90ms var(--motion-ease) backwards}:where(.class-gate,.closed-state,.active-banner,.catalog-controls,.catalog-heading,.reservation-card,.active-card,.content,.dashboard-grid,.intake-grid,.settings-card,.table,.empty,.title-workspace,.pickup-preview,.mail-status,.confirm-box,.manager){animation:section-arrive var(--motion-enter) var(--motion-ease) backwards}:where(.book-tile,.class-gate button,.metrics>article,.copy-list>button,.history>article){animation:section-arrive var(--motion-enter) var(--motion-ease) backwards}:where(.book-tile,.class-gate button,.metrics>article,.copy-list>button,.history>article):nth-child(2){animation-delay:35ms}:where(.book-tile,.class-gate button,.metrics>article,.copy-list>button,.history>article):nth-child(3){animation-delay:70ms}:where(.book-tile,.class-gate button,.metrics>article,.copy-list>button,.history>article):nth-child(4){animation-delay:105ms}:where(.book-tile,.copy-list>button,.history>article):nth-child(5){animation-delay:.14s}:where(.book-tile,.copy-list>button,.history>article):nth-child(n+6){animation-delay:175ms}.overlay{animation:surface-fade .18s ease both}.overlay>.modal{animation:dialog-arrive .3s var(--motion-ease) both}.auth-step{animation:auth-step-arrive .26s var(--motion-ease) backwards}.auth-step>label{animation:section-arrive .3s 35ms var(--motion-ease) backwards}.auth-step>label:nth-of-type(2){animation-delay:65ms}.auth-step>label:nth-of-type(3){animation-delay:95ms}.auth-error{animation:section-arrive .2s var(--motion-ease) backwards}.auth-spinner{animation:auth-spin .8s linear infinite}.guide-hero>div{animation:section-arrive .55s var(--motion-ease) backwards}.guide-note{animation:section-arrive .6s 80ms var(--motion-ease) backwards}.reveal-pending{opacity:0;translate:0 14px}.reveal-visible{animation:section-arrive .55s var(--motion-ease) backwards}.reveal-visible .guide-steps li{animation:section-arrive .5s var(--motion-ease) backwards}.reveal-visible .guide-steps li:nth-child(2){animation-delay:70ms}.reveal-visible .guide-steps li:nth-child(3){animation-delay:.14s}.guide-faq details[open]>p{animation:section-arrive .22s var(--motion-ease) backwards}.guide-faq summary span{transition:transform .22s var(--motion-ease)}:where(.notice,.toast){animation:notification-arrive .32s var(--motion-ease) backwards}:where(.created,.status-ready){animation:section-arrive .32s var(--motion-ease) backwards}:where(.qr img,.qr-section img){animation:surface-fade .28s ease backwards}:where(.topbar nav button.active:after){transform-origin:center;animation:underline-arrive .26s var(--motion-ease) backwards}:where(button:not(:disabled),a):active{scale:.98}:where(button:disabled){scale:1;translate:0}.book-cover{overflow:hidden}.book-cover img{transition:transform .45s var(--motion-ease)}.sidebar nav a i{transition:translate .22s var(--motion-ease)}@media(hover:hover)and (pointer:fine){:where(.primary,.account,.admin-button,.class-gate button,.created-actions a,.created-actions button):not(:disabled):hover{translate:0 -2px;box-shadow:0 6px 18px #172d5018}.book-tile:hover .book-cover img{transform:scale(1.035)}.sidebar nav a:hover i{translate:2px 0}.copy-list button:not(:disabled):hover{background-color:#315d960c}}}.modal.login{padding:0;overflow:hidden;scrollbar-gutter:auto}.modal.login>form{position:relative;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:32px}@media(max-width:760px){.modal.login>form{padding:26px 20px}}.login .auth-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}.login .auth-tabs:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 12px)/2);border-radius:6px;background:#fff;box-shadow:0 2px 7px #172d5012;transition:transform .24s var(--motion-ease)}.login .auth-tabs.register-selected:before{transform:translate(calc(100% + 4px))}.login .auth-tabs button.active{background:transparent;box-shadow:none}html[data-theme=dark] body .login .auth-tabs button.active{background:transparent}html[data-theme=dark] .login .auth-tabs:before{background:#334e75}.login .auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px}.auth-spinner{width:15px;height:15px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;flex-shrink:0}.login input:focus{box-shadow:0 0 0 3px #709cde20;border-color:#709cde}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-step-arrive{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes section-arrive{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes notification-arrive{0%{opacity:0;translate:0 -10px}to{opacity:1;translate:0 0}}@keyframes surface-fade{0%{opacity:0}to{opacity:1}}@keyframes underline-arrive{0%{transform:scaleX(.2);opacity:0}to{transform:scaleX(1);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.book-tile:hover{transform:none}}@media print{*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1!important;translate:none!important}}:root{--brand-navy: #172d50;--brand-blue: #315d96;--brand-soft: #e8effa}.hero h1 em{color:var(--brand-navy)}.hero aside{background:var(--brand-navy);color:#fff}.hero aside>span{color:#baccea}.hero aside ol{color:#eef3fd}.closed-state aside{background:#e3ecfb;color:var(--brand-navy)}.class-gate button:hover{border-color:var(--brand-blue);background:var(--brand-soft)}.login input:focus-visible{outline-color:var(--brand-blue)}.hero-help{display:inline-block;margin-top:18px;color:#fff;font-size:12px;text-underline-offset:4px}.page-footer a{color:inherit;text-underline-offset:3px}.page-footer{display:block;text-align:center;line-height:1.6}@media screen{html[data-theme=dark],html[data-theme=dark] body{background:#0d1728!important;color:#e5edf9!important}html[data-theme=dark]{--brand-soft: #243b5b;--brand-blue: #8bb6f1}html[data-theme=dark] body :is(.market-header,.modal,.book-tile,.class-gate,.reservation-card,.loading-state,.service-error,.form-card,.settings-card,.title-library,.title-grid article,.panel,.metrics article,.table,.history,.suggestions,.suggestions button,.condition-grid button,.profile,.quick){background:#152238;color:#e5edf9;border-color:#31425b}html[data-theme=dark] body .market-header{background:#152238f2}html[data-theme=dark] body .sidebar{background:#101c30}html[data-theme=dark] body .admin-shell :is(.pickup-card,.pickup-preview,.global-scan){background:#152238;color:#e5edf9;border-color:#31425b}html[data-theme=dark] body .admin-shell .metrics article.accent{background:#203c61;border-color:#41638d}html[data-theme=dark] body .admin-shell .metrics article.accent b{color:#f0f6ff}html[data-theme=dark] body .admin-shell .metrics article.accent :is(span,small){color:#c4d7f0}html[data-theme=dark] body .admin-shell .global-scan{background:#101c30}html[data-theme=dark] body .admin-shell :is(.admin-heading>span,.global-scan>span,.global-scan>small,.section-head p,.page-title p,.pickup-preview small,.pickup-preview span,.title-library header p,.title-create legend,.toggle small){color:#abbad0}html[data-theme=dark] body .admin-shell :is(.live-dot,.confirm-box){background:#243b5b;border-color:#476792;color:#c8defb}html[data-theme=dark] body .admin-shell .confirm-box p{color:#c8defb}html[data-theme=dark] body .admin-shell .confirm-box button:not(.primary){background:#334961;color:#edf3fd}html[data-theme=dark] body .admin-shell .pickup-preview{background:#101c30}html[data-theme=dark] body .admin-shell .pickup-item{border-color:#31425b}html[data-theme=dark] body .admin-shell .pickup-card>form button{background:#315d96;color:#fff}html[data-theme=dark] body .admin-shell .page-title>span b{background:#493139;color:#ffd3cd}html[data-theme=dark] body .admin-shell .page-title>span b.open{background:#243b5b;color:#c8defb}html[data-theme=dark] body :is(.topbar,.admin-top,.page-footer,.catalog-controls,.copy-list,.copy-list button,.reservation-list>div,.history article,.table article,.form-card details,.title-create fieldset,.tabs,.empty,.quick button,.quick a){border-color:#31425b}html[data-theme=dark] body :is(h1,h2,h3,.hero h1 em,.empty b,.book-tile footer b,.reservation-total b,.profile-head h1,.metrics b,.card-title h2,.title-library h2,.page-title h1){color:#edf3fd}html[data-theme=dark] body :is(.eyebrow,.modal-copy,.modal-subtitle,.hero>div>p:last-child,.class-gate p:not(.eyebrow),.book-tile p,.book-tile footer,.reservation-card>p,.one-copy-note,.page-footer,.empty span,.class-switch span,.wordmark small,.council,.profile svg,.metrics span,.metrics small,.page-title>span,.card-title p,.hint,.table small,.history small,.profile-head span,.content header p,.title-grid article small,.title-grid article>div>span,.quick small,.form-card label,.settings-card label,.reservation-list small,.reservation-list>div>span,.copy-list small,.copy-loading,.payout span,.payout small,.sidebar nav a,.market-link,.admin-top p,.admin-top small,.service-error span,.loading-state small){color:#abbad0}html[data-theme=dark] body :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.catalog-controls label,.price>div,.title-create fieldset label>div){background:#101c30;color:#e5edf9;border-color:#405471}html[data-theme=dark] body ::placeholder{color:#8d9eb8;opacity:1}html[data-theme=dark] body :is(input,select,textarea):focus-visible{outline-color:#8bb6f1}html[data-theme=dark] body :is(.switcher,.auth-tabs,.table>header,.class-switch button,.class-gate button,.theme-picker,.profile-head button,.toolbar a,.row-actions .muted,.row-actions a,.tabs span){background:#1f304a;color:#c5d6ed;border-color:#3a4d6a}html[data-theme=dark] body .switcher .selection,html[data-theme=dark] body .auth-tabs button.active{background:#334e75}html[data-theme=dark] body :is(.switcher button,.auth-tabs button){color:#afc0d8}html[data-theme=dark] body :is(.switcher button.chosen,.auth-tabs button.active,.tabs button.active){color:#fff}html[data-theme=dark] body :is(.primary,.sign-in,.admin-button,.submit,.row-actions button:not(.danger):not(.muted)){background:#315d96;color:#fff}html[data-theme=dark] body :is(.class-switch button.chosen,.sidebar nav a.active){background:#29466e;color:#fff}html[data-theme=dark] body :is(.link-button,.back-code,.back,.admin-link,.profile-reservation,.create-title-link,.title-grid article button,.form-card summary,.payout b,.empty a,.table code,.class-gate button span,.copy-list button.selected-copy){color:#a4c8ff}html[data-theme=dark] body :is(.active-banner,.password-warning,.selected-title,.condition-grid button.selected,.suggestions .selected,.created,.cover-upload,.create-title-link,.mini-form button,.count,.chosen .count,.avatar,.status-ready,.badge.available,.badge.active,.status.available,.status.active,.card-title>span,.quick>*>span,.isbn){background:#243b5b;color:#d4e5ff;border-color:#476792}html[data-theme=dark] body :is(.active-banner small,.active-banner a,.selected-title small,.selected-title em,.cover-upload span,.class-gate button small){color:#bbd0ed}html[data-theme=dark] body .overlay{background:#030916cc}html[data-theme=dark] body :is(.notice,.toast.success){background:#29476f;color:#fff}html[data-theme=dark] body :is(.auth-error,.toast.error,.error-notice,.row-actions .danger,.badge.cancelled,.badge.expired,.status.cancelled,.status.expired){background:#4c2b32;color:#ffd3cd}html[data-theme=dark] body .cart-conflict{background:#392d29;color:#f6d3bd;border-color:#805d49}html[data-theme=dark] body .cart-conflict h3{color:#ffe2cc}html[data-theme=dark] body .cart-conflict li{border-color:#805d49}html[data-theme=dark] body :is(.school-logo img,.monogram){filter:brightness(0) invert(1)}html[data-theme=dark] body :is(.qr img,.qr-section img,.qr-loading){background:#fff;color:#172d50}@media(hover:hover){html[data-theme=dark] body :is(.class-gate button:hover,.council:hover,.profile:hover,.suggestions button:hover,.condition-grid button:hover){background:#294262;color:#fff}html[data-theme=dark] body :is(.primary:hover,.sign-in:hover){background:#3c6eae}}}@media(max-width:400px){html body .market-header{grid-template-columns:minmax(0,1fr) auto;column-gap:8px}html body .market-header .wordmark{min-width:0}html body .market-header .wordmark strong{white-space:normal}html body .market-header .wordmark small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body .market-header .identity{gap:6px;max-width:100%}html body .market-header .monogram{width:32px;height:32px}html body .market-header .switcher button{gap:3px;padding:0 3px}html body .market-header .switcher svg{display:none}}body{line-height:1.5}html{scrollbar-gutter:stable;--market-content-offset: 72px}body .app-shell>main>.hero,body .app-shell>main.reservation,body .app-shell>.guide>main>.guide-hero{padding-top:var(--market-content-offset)}body .app-shell>main>.hero{align-items:start}body .app-shell>.guide>main>.guide-hero{align-items:start}button,input,select,textarea{font-family:inherit}button{line-height:1.25}h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}:where(.primary,.admin-button,.account,.sign-in,.back-code,.link-button,.created-actions button,.row-actions button,.service-error button){display:inline-flex;align-items:center;justify-content:center;line-height:1.25;text-align:center}:where(.primary,.sign-in,.admin-button,.account){min-height:42px}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){line-height:1.35}:where(.notice,.toast,.profile-message){line-height:1.45}body .admin-shell .sidebar nav a,body .admin-shell .market-link{line-height:1.35}body .admin-shell .sidebar nav a{min-height:44px}body .admin-shell .admin-top b,body .admin-shell .page-title>span,body .admin-shell .metrics :is(span,small),body .admin-shell .quick :is(b,small){line-height:1.45}body .admin-shell .global-scan{min-height:42px}body .admin-shell .global-scan input{align-self:stretch}body .admin-shell :is(.primary,.pickup-card>form button,.confirm-box button,.mini-form button,.created-actions button,.row-actions button){display:inline-flex;align-items:center;justify-content:center;min-height:38px;line-height:1.3;text-align:center}body .admin-shell .primary{min-height:42px}body .admin-shell :is(.form-card input,.form-card select,.settings-card input,.settings-card select){min-height:40px;line-height:1.35}body .admin-shell .condition-grid button{min-height:40px}body .manager button,body dialog button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;line-height:1.3;text-align:center}body .manager .record-main :is(b,span,small){line-height:1.4}body .manager .record-actions button{white-space:normal}body .manager .filters :is(input,select){min-height:40px}body dialog :is(input,select){min-height:42px}body dialog .dialog-head>button,body dialog form>header>button{min-width:38px;padding:6px;font-size:20px}body dialog form>header{align-items:flex-start}body dialog form>header>button{width:38px;height:38px;flex:0 0 38px}body .batch-card>button,body .screen-actions button,body .credential-sheet footer button{min-height:40px}body .auth-tabs button,body .class-switch button,body .service-error button,body .profile-head button,body .tabs button{line-height:1.35}body .login .auth-submit{min-height:46px}body .reservation-total,body .reservation-list>div,body .copy-list button{line-height:1.4}.reservation-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:60px;padding-bottom:60px}.reservation-hero>div>p{max-width:540px;margin:26px 0 0;color:#66746b;font-size:14px;line-height:1.7}.reservation-hero aside{display:flex;min-height:178px;flex-direction:column;justify-content:center;padding:25px;border-radius:16px;background:#172d50;color:#fff}.reservation-hero aside span{color:#baccea;font:10px/1.4 DM Mono;letter-spacing:.08em;text-transform:uppercase}.reservation-hero aside strong{margin:15px 0 8px;font-size:24px;line-height:1.15;letter-spacing:-.04em}.reservation-hero aside small{color:#c5d2e8;font-size:11px;line-height:1.6}body .reservation .reservation-card,body .reservation .reservation-card.confirmed,body .reservation .reservation-empty{width:min(100%,860px);max-width:860px}html[data-theme=dark] .reservation-hero>div>p{color:#abbad0}html[data-theme=dark] .reservation-hero aside{border:1px solid #31425b;background:#152238}@media(max-width:600px){html{--market-content-offset: 48px}h1,h2,h3{text-wrap:pretty}body .admin-shell .sidebar nav a{min-height:40px;line-height:1.25;text-align:center}.reservation-hero{grid-template-columns:1fr;gap:26px;padding-bottom:35px}.reservation-hero aside{min-height:0}}
