:root{--bg: #fbf8f4;--surface: #ffffff;--ink: #1b1815;--muted: #6f6a62;--line: #ece5db;--accent: #fa4e28;--accent-soft: #fff0eb;--accent-ink: #c33c1c;--ring: rgba(250, 78, 40, .28);--danger: #d92d20;--display: "Bricolage Grotesque", -apple-system, BlinkMacSystemFont, sans-serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow: 0 1px 2px rgba(27, 24, 21, .04), 0 8px 24px rgba(27, 24, 21, .06)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:var(--accent-ink);text-decoration:none;cursor:pointer}h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}.muted{color:var(--muted)}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.shell{width:100%;max-width:480px;margin:0 auto;flex:1;display:flex;flex-direction:column}.page{animation:fadeUp .4s cubic-bezier(.2,.8,.2,1) both}.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.4rem;text-align:center}.loading{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem}.pad{padding:1.5rem 1.4rem}.logo{font-family:var(--display);font-weight:800;letter-spacing:-.04em;color:var(--ink);display:inline-flex;line-height:1;-webkit-user-select:none;user-select:none}.logo b{display:inline-block;font-weight:inherit;animation:letterIn .55s both cubic-bezier(.2,.9,.25,1)}.logo .dot{color:var(--accent);transition:transform .2s}.logo:hover .dot{transform:translateY(-.12em) scale(1.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sans);font-size:1rem;font-weight:600;padding:.78rem 1.2rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .12s,background .2s,border-color .2s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:#e8431f}.btn.dark{background:var(--ink);color:var(--bg)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover:not(:disabled){border-color:var(--ink)}.btn.block{width:100%}.btn.sm{padding:.5rem .9rem;font-size:.9rem}.field{display:flex;flex-direction:column;gap:.4rem;width:100%;text-align:left}.label{font-size:.85rem;font-weight:600;color:var(--ink)}.input{width:100%;padding:.8rem .95rem;font-size:1rem;font-family:var(--sans);border-radius:14px;background:var(--surface);border:1.5px solid var(--line);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.input::placeholder{color:#b3aaa0}.inputrow{position:relative;width:100%}.inputrow .input{padding-right:2.8rem}.pwtoggle{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;display:flex;padding:4px}.hint{font-size:.82rem;color:var(--muted)}.error{font-size:.88rem;color:var(--danger);margin:0}.input.bad{border-color:var(--danger)}.input.bad:focus{box-shadow:0 0 0 4px #d92d202e}.fielderr{font-size:.78rem;color:var(--danger);font-weight:500;text-align:left}.seg{display:flex;gap:.4rem;flex-wrap:wrap}.seg button{flex:1;min-width:fit-content;background:var(--surface);border:1.5px solid var(--line);color:var(--muted);padding:.5rem .7rem;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.seg button.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.stepper{display:flex;align-items:center;gap:.5rem}.stepper button{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:1.2rem;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center}.stepper .val{min-width:2.5rem;text-align:center;font-weight:700;font-size:1.1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1.2rem;box-shadow:var(--shadow)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.2rem;position:sticky;top:0;background:#fbf8f4d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;border-bottom:1px solid var(--line)}.topbar .title{font-family:var(--display);font-weight:700;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconbtn{background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;padding:.3rem}.tabs{display:inline-flex;background:var(--accent-soft);border-radius:999px;padding:3px}.tabs button{border:none;background:transparent;color:var(--accent-ink);font-weight:600;font-size:.88rem;padding:.4rem .9rem;border-radius:999px;cursor:pointer}.tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.cam{flex:1;display:flex;flex-direction:column}.viewfinder{position:relative;flex:1;min-height:52vh;background:#000;border-radius:22px;margin:.8rem 1rem 0;overflow:hidden}.view{width:100%;height:100%;object-fit:cover;display:block}.chip{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#00000080;color:#fff;font-size:.8rem;font-weight:600;padding:.3rem .8rem;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cambar{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.6rem 1.6rem;gap:.5rem}.shutter{width:70px;height:70px;border-radius:50%;background:var(--accent);border:5px solid var(--surface);box-shadow:0 0 0 2px var(--accent);cursor:pointer;flex-shrink:0;transition:transform .1s}.shutter:active:not(:disabled){transform:scale(.9)}.shutter:disabled{opacity:.5}.cambar .side{flex:1;font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.3rem}.cambar .side.right{justify-content:flex-end;text-align:right}.host{display:flex;flex-direction:column;padding-bottom:2.5rem}.host>.card,.host>.btn,.host>.reveal,.host>h2{margin-left:1rem;margin-right:1rem}.host>.btn{margin-top:.9rem}.sec{font-size:1.05rem;margin:1.5rem 1rem .6rem}.qrbox{background:#fff;padding:14px;border-radius:16px;line-height:0;border:1px solid var(--line)}.linkrow{display:flex;gap:.5rem;width:100%}.linkrow .input{font-size:.82rem}.stat{display:flex;gap:1.2rem;justify-content:center}.stat b{font-family:var(--display);font-size:1.4rem;display:block}.stat span{font-size:.78rem;color:var(--muted)}.reveal{background:var(--accent-soft);border:1px solid var(--accent);border-radius:16px;padding:.9rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.list{display:flex;flex-direction:column;padding:0 1rem}.row{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-top:.6rem;cursor:pointer;transition:transform .12s,border-color .15s}.row:hover{border-color:var(--accent);transform:translate(2px)}.badge{font-size:.72rem;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);padding:.25rem .6rem;border-radius:999px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 1rem}.photo,.skeleton{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--line);display:block}.skeleton{background:linear-gradient(100deg,var(--line) 30%,#f4eee6 50%,var(--line) 70%);background-size:200% 100%;animation:shimmer 1.3s infinite}.modcell{position:relative}.modcell .photo{aspect-ratio:1}.modcell .acts{display:flex;gap:5px;margin-top:5px}.modcell .acts button{flex:1;border:none;border-radius:10px;padding:.45rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}.acts .apr{background:#1f9d57}.acts .rej{background:#d63a2f}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.spinner.sm{width:16px;height:16px;border-width:2px;border-top-color:currentColor}.landing{width:100%}.lwrap{max-width:1080px;margin:0 auto;padding:0 1.4rem}.lnav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0}.lnav .acts{display:flex;align-items:center;gap:.6rem}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;padding:2.5rem 0 3.5rem}.hero h1{font-size:clamp(2.4rem,6vw,4rem)}.hero p{font-size:1.15rem;color:var(--muted);margin:1.2rem 0 1.8rem;max-width:30rem}.hero .cta{display:flex;gap:.7rem;flex-wrap:wrap}.hero-art{display:flex;justify-content:center}.section{padding:3rem 0;border-top:1px solid var(--line)}.section h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.5rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}.step{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1.4rem;box-shadow:var(--shadow)}.step .num{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--display);font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:.8rem}.step h3{font-size:1.15rem;margin-bottom:.3rem}.step p{color:var(--muted);font-size:.95rem;margin:0}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.feature{display:flex;gap:.8rem;align-items:flex-start}.feature .ic{color:var(--accent);flex-shrink:0;margin-top:2px}.feature h3{font-size:1rem;margin-bottom:.15rem}.feature p{color:var(--muted);font-size:.9rem;margin:0}.footer{border-top:1px solid var(--line);padding:2rem 0 3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem}@media (max-width: 760px){.hero{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0 2.5rem;text-align:center}.hero p{margin-left:auto;margin-right:auto}.hero .cta{justify-content:center}.hero-art{order:-1}.steps,.features{grid-template-columns:1fr}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes letterIn{0%{opacity:0;transform:translateY(.45em) rotate(-6deg)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}.flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;pointer-events:none;animation:flashAnim .3s ease-out forwards}@keyframes flashAnim{0%{opacity:.85}to{opacity:0}}.toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#1b1815eb;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem;border-radius:999px;animation:fadeUp .25s both;white-space:nowrap}.pwrules{display:grid;grid-template-columns:1fr 1fr;gap:.3rem .8rem}.pwrule{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.pwrule.ok{color:#1f9d57}.brandcol{display:flex;flex-direction:column;gap:1px;min-width:0}.evname{font-size:.75rem;font-weight:600;color:var(--muted);max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.up{left:auto;right:12px;transform:none;display:inline-flex;align-items:center;gap:6px}.failbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.6rem 1rem 0;background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;padding:.45rem .5rem .45rem .9rem;font-size:.85rem}.failbar .btn{width:auto}.mycell{position:relative;cursor:zoom-in}.statusbadge{position:absolute;left:6px;bottom:6px;font-size:.66rem;font-weight:600;padding:.16rem .5rem;border-radius:999px;background:#1b1815cc;color:#fff}.statusbadge.approved{background:#1f9d57f2}.statusbadge.rejected{background:#d63a2ff2}.statusbadge.uploaded{background:#ba7517f2}.sechead{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:1.5rem 1rem .6rem}.sechead .btn{width:auto}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f0eed;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60;animation:fadeUp .2s both}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}.lightbox .x{position:absolute;top:14px;right:16px;width:40px;height:40px;border-radius:50%;border:none;background:#00000073;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
