:root{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.4;font-weight:400;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f8fafc}button,input,textarea{font:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}#root{min-height:100vh;margin:0}.app-shell{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#edf2ff 70%,#e2e8f0);display:flex;justify-content:center;align-items:stretch;padding:1rem}.view{width:min(900px,100%);background:#fffffff2;border-radius:24px;padding:2rem 1.5rem 2.5rem;box-shadow:0 20px 45px #0f172a14;display:flex;flex-direction:column;gap:1.5rem}.login-view{justify-content:center}.login-card{display:flex;flex-direction:column;gap:1.25rem}.eyebrow{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin:0;color:#475569;font-weight:600}.muted{color:#64748b;margin:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.45rem;font-size:.95rem;color:#0f172a}.form-field input{border-radius:14px;border:1px solid #cbd5f5;padding:.85rem 1rem;font-size:1rem;background:#f8fafc;transition:border-color .2s ease,box-shadow .2s ease}.form-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133;outline:none}.order-field{gap:.75rem}.order-field-controls{display:flex;align-items:center;gap:.5rem}.order-field-controls input{flex:1}.order-field-controls .primary-btn{white-space:nowrap}.order-info{border:1px solid #e2e8f0;border-radius:16px;padding:1rem;background:#f8fafc;font-size:.95rem;color:#0f172a;line-height:1.4}.primary-btn,.secondary-btn{border:none;border-radius:50px;padding:.9rem 1.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .3s ease}.primary-btn{background:linear-gradient(135deg,#4f46e5,#6d28d9);color:#fff;box-shadow:0 10px 20px #4f46e540}.primary-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.primary-btn:not(:disabled):active{transform:translateY(1px)}.secondary-btn{background:transparent;color:#475569;border:1px solid rgba(71,85,105,.4)}.secondary-btn:hover{border-color:#475569}.form-error,.status-message{margin:0;padding:.5rem .75rem;border-radius:12px;font-size:.95rem}.form-error{background:#f8717126;color:#b91c1c}.status-message{background:#10b98126;color:#047857}.gallery-view{min-height:calc(100vh - 2rem)}.gallery-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.nav-actions{display:flex;gap:.5rem}.grid-explainer{font-size:.9rem;color:#64748b}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.photo-tile{position:relative;padding-bottom:100%;border-radius:22px;border:none;background-size:cover;background-position:center;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.photo-tile:focus-visible{outline:3px solid #4f46e5;outline-offset:2px}.photo-tile:active{transform:scale(.98)}.photo-tile.add-tile{border:2px dashed rgba(99,102,241,.6);background:#6366f10d;color:#4f46e5;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;font-size:.95rem}.plus{font-size:2.8rem;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(min-width:768px){.view{padding:3rem 3rem 3.5rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
