:root{font-family:'DM Sans',sans-serif;color:#292333;background:#f7f3f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #b98dc9;outline-offset:3px}#app{min-height:100vh}.app-shell{max-width:1500px;margin:auto;min-height:100vh;background:#f7f3f1}.topbar{height:88px;padding:0 clamp(24px,5vw,84px);display:flex;align-items:center;gap:24px;background:#fff;border-bottom:1px solid #eee7e9}.brand{display:flex;align-items:center;gap:9px;color:#302438;font-size:21px;font-weight:700;letter-spacing:-1.2px}.brand img{width:35px;height:39px;object-fit:contain}.brand em{font-family:'Playfair Display',serif;font-style:italic;color:#af7f9a}.workspace-kicker{margin:auto;color:#9a909c;font-size:11px;font-weight:700;letter-spacing:.22em}.connection{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#9a909c}.connection i,.latest-pulse{display:block;width:8px;height:8px;border-radius:50%;background:#b9adb8}.connection.live{color:#51846a}.connection.live i,.latest-pulse{background:#6dbd8d;box-shadow:0 0 0 4px #e4f4e9}.hero{position:relative;overflow:hidden;min-height:430px;background:#251e34;color:#fff;display:flex;align-items:center;padding:70px clamp(24px,8vw,130px)}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 79% 72%,#7b526d75 0%,transparent 37%),linear-gradient(110deg,#251e34 43%,#37243f 100%)}.hero-glow{position:absolute;width:450px;height:450px;background:#a87992;filter:blur(130px);opacity:.2;right:4%;bottom:-320px}.hero-copy{position:relative;z-index:2;max-width:610px}.eyebrow,.section-kicker{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.24em;font-weight:700;color:#dbafc7}.eyebrow-line{width:24px;height:1px;background:#e7b1cf}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(50px,5vw,76px);line-height:1.11;letter-spacing:-.035em;font-weight:500;margin:26px 0 20px}.hero h1 i{font-weight:500;color:#eeb6d5}.hero p{color:#d5c8d4;max-width:460px;font-size:15px;line-height:1.7;margin:0 0 34px}.workspace-label{display:flex;align-items:center;gap:13px}.workspace-initial{display:grid;place-items:center;border-radius:12px;background:#f0d3e3;color:#71445e;width:42px;height:42px;font-family:'Playfair Display',serif;font-size:22px}.workspace-label small{display:block;font-size:10px;letter-spacing:.15em;color:#c3afc5;margin-bottom:2px}.workspace-label strong{font-size:14px}.hero-art{position:absolute;width:450px;height:450px;right:8%;top:0;display:grid;place-items:center}.art-ring{position:absolute;border:1px solid #e1adc650;border-radius:50%}.ring-one{width:330px;height:330px}.ring-two{width:460px;height:460px}.art-orb{width:240px;height:240px;display:grid;place-items:center;border-radius:50%;font-size:105px;color:#fff3fa;background:radial-gradient(circle at 30% 25%,#f5d4e7,#ad789e 50%,#664361 100%);box-shadow:0 27px 75px #120b2290,inset -18px -22px 35px #492a5570;transform:rotate(-13deg)}.art-scan{position:absolute;bottom:62px;right:24px;padding:20px 26px;border-radius:18px;background:#f9eff6;color:#7f536f;font-size:55px;line-height:1;transform:rotate(12deg);box-shadow:0 17px 35px #160d2380}.art-spark{position:absolute;color:#f8d9e9;font-size:28px}.spark-one{top:65px;left:48px}.spark-two{right:10px;top:85px;font-size:17px}.board{padding:54px clamp(24px,8vw,130px) 100px;min-height:450px}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-kicker{color:#aa7b9b;font-size:10px}.board h2{font-family:'Playfair Display',serif;font-size:35px;letter-spacing:-.03em;font-weight:600;margin:9px 0 6px}.board h2 span{font:700 13px 'DM Sans',sans-serif;vertical-align:middle;display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:20px;background:#ebdce6;color:#7d5872;letter-spacing:0}.board-heading p{color:#8f8690;font-size:14px;margin:0}.refresh{width:39px;height:39px;flex:none;border:1px solid #e6dce3;border-radius:50%;background:#fff;color:#8d6680;font-size:24px}.latest-note{margin:30px 0 14px;display:flex;align-items:center;gap:11px;color:#6b606e;font-size:12px}.latest-note strong{color:#312839}.latest-note>span:last-child{color:#aaa1a7}.scan-list{display:grid;gap:10px}.scan-card{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #eee8eb;border-radius:17px;padding:20px 21px;box-shadow:0 3px 11px #49314908;animation:rise .3s both;animation-delay:calc(var(--index)*35ms)}@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.scan-card:first-child:not(.is-undone){border-color:#dbc2d3;box-shadow:0 7px 25px #9b68801c}.scan-icon{width:49px;height:49px;flex:none;display:grid;place-items:center;border-radius:12px;color:#8b607f;background:#f2e6ee;font-family:'Playfair Display',serif;font-size:25px}.scan-info{min-width:0;display:grid;gap:4px}.scan-name{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-meta,.scan-time{font-size:12px;color:#918794;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-time{color:#aaa0a9}.meta-dot{padding:0 5px}.scan-side{margin-left:auto;display:grid;justify-items:end;gap:6px}.scan-count{color:#a96f91;font-size:20px;font-weight:700}.undo-button{border:0;background:none;color:#8e6f84;padding:3px 0;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.is-undone{opacity:.67}.is-undone .scan-count{font-size:12px;color:#628269}.empty-scans{margin-top:24px;text-align:center;border:1px dashed #ded1d9;border-radius:18px;padding:58px 25px;background:#fff8}.empty-symbol{font-size:55px;line-height:1;color:#c2a3b8}.empty-scans h3{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;margin:12px 0 4px}.empty-scans p{color:#928892;font-size:13px;margin:0}.board-footer{display:flex;justify-content:center;gap:15px;margin-top:22px}.more-button,.history-button{border:0;background:none;color:#7e5b76;font-size:13px;font-weight:700}.more-button span{margin-left:7px}.history-button{color:#a599a4}.error{margin:24px 0;padding:15px;border-radius:12px;background:#fff0ef;color:#9e4b50;font-size:13px}.error button{border:0;background:none;text-decoration:underline;color:inherit;font-weight:700}footer{display:flex;justify-content:space-between;gap:15px;padding:25px clamp(24px,8vw,130px);border-top:1px solid #ebe2e7;color:#a99da7;font-size:11px}.modal-backdrop{position:fixed;z-index:5;inset:0;background:#201727a9;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.confirm{width:min(100%,410px);background:#fff;border-radius:22px;padding:30px;box-shadow:0 26px 90px #170c2566}.confirm-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f4e6ef;color:#945d7f;font-size:27px}.confirm h2{font-family:'Playfair Display',serif;font-size:28px;margin:17px 0 7px}.confirm p{color:#817784;line-height:1.6;font-size:14px}.confirm p strong{color:#33273a}.confirm-actions{display:flex;gap:9px;margin-top:24px}.confirm-actions button{flex:1;padding:12px;border-radius:10px;font-weight:700;border:1px solid #e3d7df;background:#fff;color:#6b5b6b}.confirm-actions button:last-child{background:#7f5475;border-color:#7f5475;color:white}.confirm-actions button:disabled{opacity:.6}#toast{position:fixed;z-index:10;bottom:25px;left:50%;transform:translate(-50%,15px);background:#2b2333;color:#fff;border-radius:10px;padding:12px 19px;box-shadow:0 12px 25px #20152866;opacity:0;pointer-events:none;transition:.2s;font-size:13px;white-space:nowrap}#toast.visible{opacity:1;transform:translate(-50%,0)}.empty-route{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 25%,#f1dbe7,transparent 35%),#f7f3f1}.empty-route img{width:80px;height:90px;object-fit:contain}.empty-route h1{font-family:'Playfair Display',serif;font-size:clamp(38px,7vw,57px);font-weight:500;max-width:450px;margin:22px 0 8px}.empty-route p{line-height:1.6;color:#8e828e;max-width:360px}.empty-route a{display:inline-flex;gap:30px;margin-top:16px;padding:13px 19px;background:#2b2235;color:#fff;border-radius:10px;font-weight:700;font-size:13px}@media(max-width:850px){.hero{min-height:390px}.hero-art{right:-210px;opacity:.26}.hero-copy{max-width:550px}.workspace-kicker{display:none}.connection{margin-left:auto}}@media(max-width:600px){.topbar{height:69px;padding:0 20px}.brand{font-size:19px}.brand img{width:29px;height:33px}.hero{min-height:365px;padding:45px 24px 43px}.hero h1{font-size:47px;margin:23px 0 15px}.hero p{font-size:13px;line-height:1.6;max-width:335px;margin-bottom:27px}.hero-art{right:-280px;top:-55px;opacity:.17}.board{padding:36px 16px 70px}.board h2{font-size:29px}.board-heading p{font-size:12px}.scan-card{gap:11px;padding:15px 12px}.scan-icon{width:40px;height:40px;font-size:21px}.scan-name{font-size:14px}.scan-meta,.scan-time{font-size:11px}.scan-count{font-size:17px}.latest-note{font-size:11px;flex-wrap:wrap}.confirm{padding:24px}footer{padding:22px 20px;flex-direction:column;gap:5px}}
:root{--scan-photo-size:76px}
[hidden]{display:none!important}
.topbar{height:72px}
.hero{min-height:222px;padding-top:26px;padding-bottom:26px}
.hero h1{font-size:clamp(40px,4vw,54px);margin:12px 0 8px}
.hero p{margin-bottom:14px;max-width:500px;font-size:13px}
.hero-art{width:300px;height:300px;right:10%;top:-7px}
.hero-art .ring-one{width:210px;height:210px}
.hero-art .ring-two{width:300px;height:300px}
.art-orb{width:155px;height:155px;font-size:72px}
.art-scan{font-size:35px;bottom:25px;right:6px;padding:14px 18px}
.board{padding-top:38px}
.scan-card{min-height:118px;padding:19px 22px;gap:19px}
.scan-photo{display:grid;place-items:center;flex:none;width:var(--scan-photo-size);height:var(--scan-photo-size);overflow:hidden;border-radius:15px;background:#f2e6ee;color:#8b607f}
.scan-photo img{display:block;width:100%;height:100%;object-fit:cover}
.scan-photo span{font-family:'Playfair Display',serif;font-size:35px}
.scan-info{gap:5px}
.scan-name{font-size:18px}
.scan-meta{font-size:13px;color:#7c697c}
.scan-code{font-size:13px;font-weight:700;letter-spacing:.015em;color:#5d5060;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scan-time{font-size:12px}
.scan-count{font-size:23px}
.undo-button{font-size:13px}
@media(max-width:600px){
  :root{--scan-photo-size:64px}
  .topbar{height:62px}
  .hero{min-height:210px;padding:22px 24px}
  .hero h1{font-size:37px;margin:11px 0 7px}
  .hero p{font-size:12px;line-height:1.4;margin-bottom:13px;max-width:320px}
  .hero-art{display:none}
  .workspace-label{gap:9px}
  .workspace-initial{width:34px;height:34px;font-size:18px}
  .workspace-label strong{font-size:12px}
  .board{padding-top:28px}
  .scan-card{min-height:106px;padding:14px 13px;gap:12px}
  .scan-photo{border-radius:12px}
  .scan-photo span{font-size:28px}
  .scan-name{font-size:16px}
  .scan-meta,.scan-code{font-size:12px}
  .scan-time{font-size:11px}
  .scan-count{font-size:18px}
  .undo-button{font-size:12px}
}

.brand img{width:35px;height:35px;border-radius:9px}.empty-route img{width:84px;height:84px;border-radius:17px}@media(max-width:600px){.brand img{width:31px;height:31px}}
.inventory-header{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 0%,#664460 0%,transparent 38%),#251e34;color:#fff;padding:0 clamp(24px,8vw,130px)}
.inventory-header::after{content:'';position:absolute;width:270px;height:270px;right:9%;bottom:-175px;border:1px solid #ffffff1b;border-radius:50%;pointer-events:none}
.header-top{height:60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;position:relative;z-index:1}
.inventory-header .brand{color:#fff;font-size:19px}
.inventory-header .brand img{width:31px;height:31px}
.inventory-header .connection{color:#d8cad8}
.inventory-header .connection.live{color:#c8f3d5}
.header-main{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:156px;padding:20px 0 23px}
.header-copy h1{font-family:'Playfair Display',serif;font-size:clamp(36px,3.6vw,49px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:8px 0 6px}
.header-copy h1 i{font-weight:500;color:#eeb6d5}
.header-copy p{font-size:13px;color:#d6cad7;margin:0;line-height:1.45}
.workspace-identity{display:flex;align-items:center;gap:12px;min-width:185px;max-width:250px;flex:none}
.workspace-identity small,.workspace-identity strong{display:block}
.workspace-identity small{color:#c8b6cb;font-size:10px;letter-spacing:.16em;margin-bottom:3px}
.workspace-identity strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.workspace-avatar{position:relative;display:grid;place-items:center;overflow:hidden;flex:none;width:48px;height:48px;border-radius:15px;font-size:22px;font-weight:800;isolation:isolate}
.workspace-avatar:not(.has-logo)::before{content:'';position:absolute;z-index:-1;right:-11px;top:-13px;width:35px;height:35px;border-radius:50%;background:var(--avatar-accent);opacity:.75}
.workspace-avatar img{width:100%;height:100%;object-fit:cover}
.board{padding-top:31px}
.board-heading h2{margin-top:8px}
.scan-side{align-self:center}
.undo-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:#f3e7ef;color:#865d7a;text-decoration:none;transition:background .15s,transform .15s}
.undo-button:hover{background:#e9d6e4;transform:translateY(-1px)}
.undo-button svg{width:21px;height:21px}
.returned-label{color:#628269;font-size:12px;font-weight:700}
@media(max-width:700px){
  .inventory-header{padding:0 20px}
  .header-top{height:56px}
  .header-main{min-height:0;display:block;padding:17px 0 19px}
  .header-copy h1{font-size:36px;margin:6px 0 4px}
  .header-copy p{font-size:12px}
  .workspace-identity{gap:9px;max-width:none;margin-top:16px}
  .workspace-avatar{width:38px;height:38px;border-radius:12px;font-size:18px}
  .workspace-identity small{font-size:9px}
  .workspace-identity strong{font-size:12px}
  .board{padding-top:25px}
  .undo-button{width:36px;height:36px;border-radius:10px}
}
.finish-session{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:35px;text-align:center}
.finish-button{display:inline-flex;align-items:center;justify-content:center;min-width:210px;min-height:48px;padding:12px 24px;border:0;border-radius:13px;background:#78516f;color:#fff;font-weight:700;font-size:14px;box-shadow:0 8px 20px #78516f2c;transition:transform .15s,background .15s}
.finish-button:hover:not(:disabled){background:#68435f;transform:translateY(-1px)}
.finish-button:disabled{opacity:.6}
.finish-session p{margin:0;color:#9b8f99;font-size:12px}
@media(max-width:600px){.finish-session{margin-top:28px}.finish-button{width:100%;min-height:50px}}
.connection.live i{animation:live-pulse 2.4s ease-out infinite}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 #7adca480}65%{box-shadow:0 0 0 8px #7adca400}100%{box-shadow:0 0 0 0 #7adca400}}
@media(prefers-reduced-motion:reduce){.connection.live i{animation:none}}
