:root{--font-display:"Avenir Next","Trebuchet MS",sans-serif;--font-body:"Avenir","Segoe UI",sans-serif;--bg:#eee3d5;--panel:rgba(255,251,246,.88);--panel-soft:hsla(35,55%,91%,.96);--border:rgba(58,41,27,.11);--text:#211915;--muted:#66574c;--primary:#3153d9;--primary-strong:#1f3798;--secondary:#cf6f3f;--secondary-strong:#9b4c26;--success:#2e8b57;--danger:#b63a2b;--shadow:0 18px 44px rgba(58,34,17,.1);--shadow-strong:0 30px 80px rgba(39,22,10,.18);--radius:18px;--radius-tight:14px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(49,83,217,.16),transparent 28%),radial-gradient(circle at top right,rgba(207,111,63,.18),transparent 24%),linear-gradient(180deg,#fbf5ed,#eee3d5 56%,#e7dac9);color:var(--text);font-family:var(--font-body)}body{min-height:100vh;background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.auth-layout,.page-shell{min-height:100vh}.auth-layout{display:grid;grid-template-columns:minmax(320px,560px) minmax(320px,480px);align-items:center;justify-content:center;grid-gap:1.5rem;gap:1.5rem;padding:1.5rem}.auth-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1rem;min-height:360px;border:1px solid rgba(49,83,217,.1);border-radius:28px;padding:2rem;background:radial-gradient(circle at 12% 14%,rgba(49,83,217,.18),transparent 26%),radial-gradient(circle at 88% 18%,rgba(207,111,63,.2),transparent 24%),linear-gradient(135deg,hsla(0,0%,100%,.82),hsla(35,58%,94%,.9));box-shadow:var(--shadow-strong)}.auth-brand-panel:after{content:"";position:absolute;inset:auto -10% -18% auto;width:240px;height:240px;border-radius:999px;background:rgba(33,25,21,.06)}.auth-brand{display:flex;gap:1.25rem;align-items:center;padding:0;position:relative;z-index:1}.auth-brand-copy{display:flex;flex-direction:column;gap:.55rem;max-width:34rem}.auth-brand h1,.hero h1{margin:.4rem 0 0;font-family:var(--font-display);font-size:clamp(2.7rem,4vw,4.6rem);line-height:.92}.auth-card,.modal-card,.panel{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:var(--radius)}.auth-card{padding:1.5rem;position:relative}.auth-card:before,.modal-card:before,.panel:before{content:"";display:block;width:100%;height:1px;background:linear-gradient(90deg,rgba(49,83,217,.28),rgba(207,111,63,.18),transparent);margin-bottom:1.1rem}.auth-footer{margin:.8rem 0 0;color:var(--muted)}.brand-mark{width:84px;height:84px;flex:0 0 auto;padding:.8rem;border-radius:24px;background:hsla(0,0%,100%,.72);box-shadow:0 10px 34px rgba(38,22,10,.12)}.brand-mark-small{width:46px;height:46px;padding:.45rem;border-radius:14px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.eyebrow,.muted-text{margin:0;color:var(--muted)}.muted-text{line-height:1.5}.hero-text{max-width:56ch}.text-link{color:var(--primary-strong);font-weight:700}.stack{gap:.9rem}.field,.stack{display:flex;flex-direction:column}.field{gap:.35rem}.field span{font-weight:600}.field-wide{grid-column:1/-1}.input,.textarea{width:100%;border:1px solid rgba(58,45,33,.18);border-radius:var(--radius-tight);background:hsla(0,0%,100%,.9);color:var(--text);padding:.78rem .9rem;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.input:focus,.textarea:focus{outline:none;border-color:rgba(92,56,215,.6);box-shadow:0 0 0 4px rgba(92,56,215,.12)}.textarea{resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:.65rem}.auth-provider-row{display:grid;grid-template-columns:1fr}.button,.button-row-wrap{align-items:center}.button{display:inline-flex;justify-content:center;gap:.4rem;border:0;border-radius:12px;padding:.78rem 1rem;letter-spacing:.01em;font-weight:700;box-shadow:0 8px 22px rgba(30,24,19,.08);transition:transform .12s ease,opacity .12s ease,background-color .12s ease,box-shadow .12s ease}.button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(30,24,19,.12)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button-small{padding:.46rem .82rem;font-size:.88rem;border-radius:10px}.button-primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff}.button-secondary{background:linear-gradient(135deg,var(--secondary),var(--secondary-strong));color:#fff}.button-provider{min-height:46px;box-shadow:0 8px 22px rgba(30,24,19,.08)}.button-provider-google{border:1px solid #747775;background:#fff;color:#1f1f1f;font-family:"Roboto",var(--font-body)}.button-provider-apple{background:#000;color:#fff}.provider-icon{width:20px;height:20px;flex:0 0 auto}.provider-icon-apple{width:18px;height:22px}.button-success{background:linear-gradient(135deg,var(--success),#216b43);color:#fff}.button-danger{background:linear-gradient(135deg,var(--danger),#8c2c20);color:#fff}.button-ghost{background:rgba(52,42,33,.08);color:var(--text);box-shadow:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;justify-content:space-between;padding:.9rem 1.4rem;background:hsla(34,64%,96%,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(77,51,29,.06)}.topbar,.topbar-main-row{display:flex;align-items:center;gap:1rem}.brand-link{display:flex;align-items:center;gap:.85rem}.topnav{display:flex;flex-wrap:wrap;gap:.35rem}.topnav-link{padding:.62rem .88rem;border-radius:12px;color:var(--muted);font-weight:700}.topnav-link-active{background:rgba(49,83,217,.12);color:var(--primary-strong)}.mobile-menu-button{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:.28rem;border:1px solid rgba(58,41,27,.1);border-radius:12px;background:hsla(0,0%,100%,.72);box-shadow:0 8px 22px rgba(30,24,19,.08)}.mobile-menu-button span{display:block;width:18px;height:2px;border-radius:999px;background:var(--text)}.topbar-actions{display:flex;align-items:center;gap:.75rem}.hero-chip,.utility-pill{display:flex;flex-direction:column;gap:.1rem;min-width:120px;border:1px solid rgba(58,41,27,.08);border-radius:12px;padding:.65rem .8rem;background:hsla(0,0%,100%,.6)}.topbar-session-select{display:flex;flex-direction:column;gap:.18rem;width:min(360px,34vw);min-width:260px;border:1px solid rgba(58,41,27,.12);border-radius:12px;padding:.52rem .7rem .58rem;background:hsla(0,0%,100%,.72)}.topbar-session-select select{width:100%;border:0;background:transparent;color:var(--text);font-weight:800;outline:none}.mobile-menu{display:none}.utility-label{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.page-container{display:flex;flex-direction:column;gap:1.1rem;max-width:1440px;margin:0 auto;padding:1.2rem 1.5rem 1.8rem}.hero{padding:.2rem 0 .35rem}.hero-surface{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;border:1px solid rgba(49,83,217,.08);border-radius:24px;padding:1.35rem 1.4rem;background:linear-gradient(135deg,hsla(0,0%,100%,.7),hsla(33,53%,93%,.9)),linear-gradient(120deg,rgba(49,83,217,.06),rgba(207,111,63,.08));box-shadow:var(--shadow)}.hero-meta{display:flex;flex-wrap:wrap;gap:.65rem}.page-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.panel{position:relative;padding:1.05rem}.panel-wide{grid-column:1/-1}.panel-soft{background:var(--panel-soft)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.panel-header h2{margin:0;font-family:var(--font-display);font-size:1.26rem}.form-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.9rem}.meta-list{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.meta-item{gap:.2rem;min-height:84px;padding:.8rem .9rem;border:1px solid rgba(58,41,27,.08);border-radius:14px;background:hsla(0,0%,100%,.62)}.list,.meta-item{display:flex;flex-direction:column}.list{gap:.65rem}.list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid rgba(60,42,24,.08);border-radius:14px;padding:.9rem;background:hsla(0,0%,100%,.65)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:.9rem;gap:.9rem}.piece-card{border:1px solid rgba(60,42,24,.08);border-radius:18px;overflow:hidden;background:hsla(0,0%,100%,.76);box-shadow:0 10px 28px rgba(39,22,10,.08);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.piece-card:hover{transform:translateY(-2px);border-color:rgba(49,83,217,.16);box-shadow:0 18px 36px rgba(39,22,10,.12)}.piece-visual{display:block;width:100%;padding:0;background:none;border:0;line-height:0;text-align:left}.piece-media{position:relative;aspect-ratio:1/1.04;overflow:hidden;background:rgba(0,0,0,.04)}.piece-visual img,.thumbnail-button img{width:100%;height:100%;object-fit:cover}.piece-media .piece-placeholder{width:100%;height:100%;aspect-ratio:auto}.piece-media-scrim{height:45%;background:linear-gradient(180deg,transparent,rgba(16,12,10,.74))}.piece-media-scrim,.piece-overlay{position:absolute;inset:auto 0 0 0}.piece-overlay{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;color:#fff}.piece-overlay strong{display:block;width:100%;overflow:hidden;font-size:.96rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.card-footer{padding:.75rem}.status-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:.34rem .7rem;background:hsla(0,0%,100%,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.76rem;font-weight:800;color:#fff}.status-badge-strong{background:rgba(49,83,217,.14);color:var(--primary-strong)}.status-badge-busy{background:rgba(49,83,217,.28)}.status-badge-ready{background:rgba(207,111,63,.38)}.status-badge-collected{background:rgba(46,139,87,.36)}.piece-placeholder{aspect-ratio:1;background:linear-gradient(135deg,rgba(49,83,217,.18),rgba(207,111,63,.18)),#f3eadf;color:var(--muted);font-weight:700}.modal-backdrop,.piece-placeholder{display:flex;align-items:center;justify-content:center}.modal-backdrop{position:fixed;inset:0;z-index:20;padding:1.5rem;background:rgba(28,18,12,.48);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{width:min(820px,100%);max-height:min(90vh,920px);overflow:auto;padding:1rem}.modal-card-wide{width:min(1120px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.modal-header h2{margin:0;font-family:var(--font-display);font-size:1.35rem}.detail-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:1.15fr .85fr}.detail-image{width:100%;height:clamp(320px,46vh,460px);border-radius:18px;object-fit:cover;background:rgba(0,0,0,.04)}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:.65rem;gap:.65rem}.thumbnail-card{display:flex;flex-direction:column;gap:.5rem}.thumbnail-button{display:block;width:100%;aspect-ratio:1/1.04;padding:0;border:0;border-radius:14px;overflow:hidden;background:none;line-height:0}.empty-state,.fullscreen-center{display:flex;align-items:center;justify-content:center}.fullscreen-center{min-height:100vh}.empty-state{min-height:160px;border:1px dashed rgba(60,42,24,.16);border-radius:18px;color:var(--muted);text-align:center;padding:1rem}.loading-pulse{width:72px;height:72px;border-radius:999px;background:radial-gradient(circle,rgba(92,56,215,.8),rgba(92,56,215,.12));animation:pulse 1.2s ease-in-out infinite}.success-text{color:var(--success);font-weight:700}.error-text{color:var(--danger);font-weight:700}.page-error{margin:0 auto;max-width:1400px;padding:0 1.6rem 1.6rem}.compact-copy{font-size:.94rem}@keyframes pulse{0%,to{transform:scale(.9);opacity:.75}50%{transform:scale(1);opacity:1}}@media (max-width:1080px){.auth-layout,.detail-grid,.page-grid{grid-template-columns:1fr}.auth-layout{align-content:center;grid-auto-rows:max-content}.auth-brand-panel{min-height:auto}.hero-surface{flex-direction:column;align-items:stretch}}@media (max-width:900px){.topbar{display:grid;grid-template-columns:1fr;align-items:stretch;grid-gap:.75rem;gap:.75rem;padding:.75rem 1rem}.topbar-main-row{justify-content:space-between}.desktop-action,.topnav{display:none}.mobile-menu-button{display:inline-flex}.topbar-actions{justify-content:stretch}.topbar-session-select,.utility-pill{width:100%;min-width:0}.mobile-menu{display:grid;grid-gap:.4rem;gap:.4rem;border:1px solid rgba(58,41,27,.1);border-radius:14px;padding:.45rem;background:rgba(255,251,246,.96);box-shadow:var(--shadow)}.mobile-menu-item{display:flex;align-items:center;min-height:44px;border:0;border-radius:10px;padding:.72rem .85rem;background:transparent;color:var(--text);font-weight:800;text-align:left}.mobile-menu-item-active{background:rgba(49,83,217,.12);color:var(--primary-strong)}}@media (max-width:720px){.auth-layout,.modal-backdrop,.page-container{padding:1rem}.auth-layout{align-content:start;gap:.9rem;min-height:100dvh;padding-top:clamp(1rem,6vh,3rem)}.auth-brand-panel{border-radius:24px;padding:1.25rem}.auth-brand{gap:.9rem}.auth-brand-copy{gap:.35rem}.auth-brand h1{font-size:clamp(2.05rem,10vw,3rem);line-height:.95}.auth-card{padding:1.25rem}.auth-card .button-row{display:grid;grid-template-columns:1fr}.form-grid,.list-row,.panel-header{grid-template-columns:1fr;flex-direction:column}.brand-mark{width:64px;height:64px}.hero-chip,.topbar-session-select,.utility-pill{width:100%}.topnav{justify-content:flex-start}}