:root{font-family:system-ui,sans-serif;color:#4a2f2f}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#ffe3ec,#fff6e5)}.app{max-width:640px;margin:0 auto;padding:2rem 1.25rem 4rem}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{font-size:2rem;margin-bottom:.25rem}.request-form,.request-list{background:#fff;padding:1.5rem;border-radius:20px;box-shadow:0 12px 40px #00000014;margin-bottom:1.5rem}.request-form h2,.request-list h2{margin-top:0}.request-form label{display:block;margin-bottom:1rem;font-weight:600}.request-form input,.request-form select,.request-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:.35rem;padding:.6rem .75rem;font-size:1rem;border:1px solid #f0c9d6;border-radius:10px;font-weight:400;font-family:inherit;background:#fff}.request-form textarea{resize:vertical;min-height:3.2rem}.options-fieldset{margin:0 0 1rem;padding:.75rem 1rem 1rem;border:1px solid #f0c9d6;border-radius:12px}.options-fieldset legend{font-weight:600;padding:0 .4rem}.request-form .checkbox-option,.auth-panel .checkbox-option{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;margin:.35rem 0;font-weight:400}.request-form .checkbox-option input[type=checkbox],.auth-panel .checkbox-option input[type=checkbox]{display:inline-block;width:auto;margin:0;accent-color:#ff6f91}.form-actions{display:flex;align-items:center;gap:.75rem}.baker-caps{text-align:start;margin-top:.5rem}.baker-caps-heading{margin:.75rem 0 .1rem;font-weight:600}.baker-caps-note{display:block;margin:0 0 .5rem;font-size:.8rem;color:#8a6d6d}.notifications-intro{color:#8a6d6d;margin-top:0}.notifications-saved{color:#1f8a4c;font-weight:600}.push-section{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #ffe3ec}.push-section h3{margin:0 0 .25rem}.request-form .checkbox-option.enable-toggle{font-weight:600;margin-bottom:1rem}.form-error{color:#c0392b;font-weight:600}.request-form button{padding:.7rem 1.4rem;font-size:1rem;border:none;border-radius:999px;background:#ff6f91;color:#fff;cursor:pointer}.request-form button:hover{background:#ff4d76}.request-list .empty{color:#8a6d6d}.request-list ul{list-style:none;padding:0;margin:0}.request-card{border:1px solid #ffe3ec;border-radius:14px;padding:1rem;margin-bottom:1rem}.request-card h3{margin:0 0 .25rem}.request-card p{margin:.15rem 0}.language-toggle{display:flex;gap:.4rem;justify-content:flex-end;margin-bottom:.75rem}.language-toggle button{padding:.3rem .8rem;font-size:.9rem;border:1px solid #ffb3c6;border-radius:999px;background:#fff;color:#ff4d76;cursor:pointer}.language-toggle button.active{background:#ff6f91;color:#fff;border-color:#ff6f91}.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:.75rem}.header-controls .language-toggle{margin-bottom:0}.notif-bell{position:relative}.notif-bell-button{position:relative;background:#fff;border:1px solid #ffb3c6;border-radius:999px;padding:.3rem .6rem;font-size:1.1rem;line-height:1;cursor:pointer}.notif-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#ff4d76;color:#fff;font-size:.7rem;font-weight:700;line-height:1.1rem;text-align:center;box-sizing:border-box}.notif-panel{position:absolute;inset-inline-end:0;top:calc(100% + .4rem);width:min(20rem,80vw);background:#fff;border:1px solid #f0c9d6;border-radius:12px;box-shadow:0 12px 40px #0000001f;padding:.75rem 1rem 1rem;text-align:start;z-index:20}.notif-panel h3{margin:0 0 .5rem;font-size:1rem}.notif-panel ul{list-style:none;margin:0 0 .5rem;padding:0}.notif-panel li a{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .5rem;border-radius:8px;text-decoration:none;color:inherit}.notif-panel li a:hover{background:#fff1f5}.notif-area{font-size:.85rem;color:#8a6d6d}.notif-empty{color:#8a6d6d;margin:.25rem 0 .5rem}.notif-settings-link{display:inline-block;font-size:.9rem;color:#ff4d76}.list-status{text-align:center;color:#8a6d6d;padding:1rem}.list-error{color:#c0392b;font-weight:600}.request-card button{margin-top:.5rem;font:inherit;padding:.3rem .7rem;border:1px solid #d8b4b4;border-radius:6px;background:#fff;color:#7a3e3e;cursor:pointer}.request-card button:disabled{opacity:.6;cursor:default}.translate-error{color:#c0392b;font-size:.9rem}.request-card{position:relative}.status-badge{position:absolute;top:.85rem;inset-inline-end:1rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .6rem;border-radius:999px}.status-open{background:#e7f7ec;color:#1f7a44}.status-reserved{background:#fff0d6;color:#a35b00}.status-committed{background:#e9e2ff;color:#5b3fb0}.committed-box{background:#f5f1ff;border-color:#ddd2ff}.baking-note{font-weight:600;color:#5b3fb0}.status-delivered{background:#dbeefc;color:#1c5a94}.status-received{background:#e0f6e6;color:#1f7a44}.delivered-box{background:#eef6fd;border-color:#cbe4f8}.delivered-box .baking-note{color:#1c5a94}.received-box{background:#edfbf1;border-color:#c9efd4}.received-note{color:#1f7a44}.cake-photo{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:12px;margin:.5rem 0}.photo-input{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0;font-size:.85rem;font-weight:600;color:#5b3fb0}.photo-input input[type=file]{font:inherit;font-weight:400}.photo-hint{font-weight:400;color:#8a6d6d}.pending-note{margin:.5rem 0 0;color:#a35b00;background:#fff8ef;border:1px dashed #ffd9a8;border-radius:10px;padding:.6rem .75rem;font-size:.9rem}.baker-list{list-style:none;padding:0;margin:0}.baker-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border:1px solid #ffe3ec;border-radius:12px;padding:.85rem 1rem;margin-bottom:.75rem}.baker-info p{margin:.25rem 0 0}.baker-contact{font-size:.85rem;color:#8a6d6d}.baker-status{font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .6rem;border-radius:999px}.baker-status.is-verified{background:#e0f6e6;color:#1f7a44}.baker-status.is-unverified{background:#fff0d6;color:#a35b00}.baker-row button{padding:.4rem 1rem;border:1px solid #ffb3c6;border-radius:999px;background:#fff;color:#ff4d76;font:inherit;cursor:pointer;white-space:nowrap}.baker-row button:disabled{opacity:.6;cursor:default}.status-badge.attention-overdue{background:#fde2e2;color:#b23b3b}.status-badge.attention-unclaimed{background:#fff0d6;color:#a35b00}.attention-contact{margin-top:.5rem;font-weight:600;color:#7a3e3e}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.85rem}.stat-tile{display:flex;flex-direction:column;gap:.15rem;padding:1.1rem 1rem;border:1px solid #ffe3ec;border-radius:14px;background:#fff8fb;text-align:center}.stat-value{font-size:2rem;font-weight:800;line-height:1.1;color:#ff4d76;font-variant-numeric:tabular-nums}.stat-label{font-size:.85rem;font-weight:600;color:#7a3e3e}.stat-note{font-size:.75rem;color:#8a6d6d}.stat-highlight{background:#edfbf1;border-color:#c9efd4}.stat-highlight .stat-value{color:#1f7a44}.stat-warn.stat-tile{background:#fff6e9;border-color:#ffe0b8}.stat-warn .stat-value{color:#a35b00}.timeline{margin-top:.85rem;padding-top:.6rem;border-top:1px solid #ffe3ec}.timeline-heading{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#a06a6a}.timeline-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem}.timeline-steps li{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.timeline-dot{width:.6rem;height:.6rem;border-radius:999px;background:#ff6f91;flex:none}.timeline-steps li.pending{opacity:.45}.timeline-steps li.pending .timeline-dot{background:#d8b4b4}.timeline-label{font-weight:600;color:#7a3e3e}.timeline-date{color:#8a6d6d;font-variant-numeric:tabular-nums}.gallery-intro{margin-top:-.25rem;color:#8a6d6d}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-item{margin:0;border:1px solid #ffe3ec;border-radius:14px;overflow:hidden;background:#fff8fb}.gallery-item img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.gallery-item figcaption{padding:.6rem .75rem;font-size:.9rem;color:#7a3e3e}.gallery-share{margin-top:.75rem;padding:.75rem;background:#fff5fa;border:1px dashed #ffcfe0;border-radius:10px}.gallery-share-status{margin:0 0 .5rem;font-weight:600;color:#b0468a}.gallery-caption-label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.gallery-caption-label input{padding:.45rem .6rem;border:1px solid #f0c9d6;border-radius:8px;font:inherit;font-weight:400}.gallery-share-actions{display:flex;gap:.5rem;flex-wrap:wrap}.request-card button.reserve-button{background:#ff6f91;color:#fff;border-color:#ff6f91;padding:.5rem 1rem}.request-card button.reserve-button:hover{background:#ff4d76}.reserve-form{margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem;background:#fff8fb;border:1px solid #ffe3ec;border-radius:10px;padding:.75rem}.reserve-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600}.reserve-form input{padding:.45rem .6rem;border:1px solid #f0c9d6;border-radius:8px;font:inherit;font-weight:400}.reserve-form-actions{display:flex;gap:.5rem}.reserved-box{margin-top:.6rem;background:#fffaf0;border:1px solid #ffe6c2;border-radius:10px;padding:.6rem .75rem}.reserved-box .countdown{font-weight:700;color:#a35b00;font-variant-numeric:tabular-nums}.reserved-box .delivery-phone{font-weight:600;color:#7a4a00}.reserve-error{color:#c0392b;font-size:.9rem}.list-filter{display:flex;gap:.4rem;margin-bottom:1rem}.list-filter button{padding:.3rem .9rem;font-size:.9rem;border:1px solid #ffb3c6;border-radius:999px;background:#fff;color:#ff4d76;cursor:pointer}.list-filter button.active{background:#ff6f91;color:#fff;border-color:#ff6f91}.auth-panel{max-width:360px;margin:1.25rem auto 0;text-align:start;background:#fff;border:1px solid #ffe3ec;border-radius:16px;padding:1.25rem;box-shadow:0 8px 24px #0000000f}.auth-panel h2{margin:0 0 .75rem;font-size:1.15rem}.auth-panel label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.auth-panel input,.auth-panel select{padding:.5rem .6rem;border:1px solid #f0c9d6;border-radius:8px;font:inherit;font-weight:400}.auth-panel small{font-weight:400;color:#8a6d6d}.password-field{position:relative}.password-field input{width:100%;box-sizing:border-box;padding-inline-end:2.5rem}.password-toggle{position:absolute;inset-inline-end:.25rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.35rem;border:none;background:none;color:#8a6d6d;cursor:pointer;border-radius:8px}.password-toggle:hover{color:#ff4d76}.password-toggle:focus-visible{outline:2px solid #ff6f91;outline-offset:2px}.auth-actions{display:flex;flex-direction:column;gap:.5rem}.auth-actions button[type=submit]{padding:.6rem 1rem;border:none;border-radius:999px;background:#ff6f91;color:#fff;font:inherit;cursor:pointer}.auth-actions button[type=submit]:disabled{opacity:.6;cursor:default}.auth-link{background:none;border:none;color:#ff4d76;font:inherit;cursor:pointer;text-decoration:underline}.auth-error{color:#c0392b;font-size:.9rem}.auth-panel small.field-error{color:#c0392b;font-weight:600}.auth-note{color:#8a6d6d;font-size:.9rem}.auth-panel.signed-in{display:flex;align-items:center;justify-content:space-between;gap:.75rem;max-width:420px}.auth-panel.signed-in button{padding:.4rem .9rem;border:1px solid #ffb3c6;border-radius:999px;background:#fff;color:#ff4d76;font:inherit;cursor:pointer;white-space:nowrap}.post-note{margin:0 0 1.5rem;text-align:center;color:#8a6d6d;background:#fff;border:1px dashed #ffd0dd;border-radius:16px;padding:1rem}.app-nav{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1.5rem}.app-nav a{padding:.4rem 1rem;font-size:.95rem;border:1px solid #ffb3c6;border-radius:999px;background:#fff;color:#ff4d76;text-decoration:none;cursor:pointer}.app-nav a:hover{background:#fff0f4}.app-nav a.active{background:#ff6f91;color:#fff;border-color:#ff6f91}.card-actions{margin-top:.75rem;padding-top:.5rem;border-top:1px solid #ffe3ec}.request-card button.delete-button{margin-top:0;background:#fff;border-color:#e8b4b4;color:#b23b3b}.request-card button.delete-button:hover:not(:disabled){background:#fff0f0;border-color:#d88}@media (max-width: 480px){.app{padding:1.25rem 1rem 3rem}.app-header h1{font-size:1.6rem}.request-form,.request-list{padding:1.1rem}.stat-value{font-size:1.6rem}.notif-panel{width:min(20rem,92vw)}}
