.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-card{background:var(--bg-elevated);color:var(--text-primary);border-radius:14px;width:100%;box-shadow:var(--shadow-lg);max-height:calc(100vh - 2rem);display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.3rem;border-bottom:1px solid var(--border-subtle)}.modal-head h3{font-size:1.05rem;font-weight:700}.modal-body{padding:1.1rem 1.3rem 1.3rem;overflow-y:auto}.label-text{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.text-input,.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text-primary);font-size:.92rem}.text-input:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-link{color:var(--accent);font-size:.85rem;font-weight:500;padding:.25rem .1rem;background:none}.btn-link:hover{text-decoration:underline}.msg{font-size:.85rem;padding:.55rem .75rem;border-radius:8px}.msg.error{background:var(--danger-soft);color:var(--danger)}.msg.info{background:var(--accent-soft);color:var(--accent)}.msg.warn{background:var(--warn-soft);color:var(--warn-text)}.read-only-field{padding:.6rem .75rem;background:var(--bg-surface-2);border-radius:8px;font-size:.92rem;word-break:break-all;-webkit-user-select:text;user-select:text;border:1px solid var(--border-default)}.read-only-field.mono{font-family:SF Mono,Menlo,Monaco,monospace;font-size:.78rem;color:var(--text-secondary)}.modal-text{font-size:.92rem;line-height:1.55;color:var(--text-secondary);margin:0 0 1rem}.modal-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.modal-label .optional{font-weight:400;color:var(--text-muted);font-size:.78rem;margin-left:.25rem}.modal-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.modal-charcount{text-align:right;font-size:.72rem;color:var(--text-muted);margin-top:.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-actions .btn{min-width:88px}.sidebar-footer{position:relative;padding:.5rem .5rem .75rem;border-top:1px solid rgba(255,255,255,.15)}.account-trigger{display:flex;align-items:center;gap:.625rem;width:100%;padding:.45rem .6rem;border-radius:10px;cursor:pointer;background:transparent;color:#fff;text-align:left;transition:background .15s}.account-trigger:hover{background:#ffffff1f}.account-trigger:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:1px}.account-trigger .gear{width:16px;height:16px;opacity:.7;flex-shrink:0;margin-left:auto}.avatar{width:32px;height:32px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.82rem;flex-shrink:0}.sidebar-footer .info{flex:1;min-width:0;font-size:.82rem}.sidebar-footer .info .who{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer .info .role{opacity:.85;font-size:.72rem}.account-popover{position:absolute;bottom:calc(100% + 4px);left:.5rem;right:.5rem;background:var(--bg-elevated);color:var(--text-primary);border-radius:12px;box-shadow:var(--shadow-lg);padding:.5rem;z-index:50;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border-default)}.account-popover .header{padding:.6rem .7rem .55rem;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.account-popover .header .email{font-size:.85rem;font-weight:600;color:var(--text-primary);word-break:break-all;-webkit-user-select:text;user-select:text;line-height:1.3}.account-popover .header .role-badge{display:inline-block;margin-top:6px;font-size:.66rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:999px}.account-popover .header .role-badge.admin{background:var(--warn-soft);color:var(--warn-text)}.account-popover button.row{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border-radius:8px;font-size:.86rem;font-weight:500;color:var(--text-primary);background:transparent;text-align:left}.account-popover button.row:hover{background:var(--bg-hover)}.account-popover button.row.danger{color:var(--danger)}.account-popover button.row.danger:hover{background:var(--danger-soft)}.account-popover button.row svg{width:15px;height:15px;flex-shrink:0}.sidebar{width:240px;flex-shrink:0;background:linear-gradient(180deg,var(--teal-grad-from),var(--teal-grad-to));color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 12px #0000000f}.brand{padding:1.25rem 1.25rem 1rem;display:flex;align-items:center;gap:.625rem}.brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 4px 12px #00000026}.brand .name{font-weight:700;font-size:1.05rem;letter-spacing:-.3px}.brand .tag{font-size:.7rem;opacity:.85;margin-top:-2px;text-transform:uppercase;letter-spacing:.5px}.nav{flex:1;padding:0 .5rem;overflow-y:auto}.nav-section-label{font-size:.68rem;font-weight:700;opacity:.7;text-transform:uppercase;letter-spacing:.6px;padding:.8rem .85rem .4rem}.nav-section-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem .85rem .4rem}.nav-section-header .nav-section-label{padding:0}.nav-section-add{font-size:.68rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#fff;padding:3px 9px;border-radius:999px;background:#ffffff2e;text-decoration:none;transition:background .12s ease}.nav-section-add:hover{background:#ffffff52}.nav-empty-hint{padding:.4rem .85rem .6rem;font-size:.78rem;color:#ffffffbf;line-height:1.4}.nav-empty-hint strong{color:#fff;font-weight:700}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.58rem .85rem;border-radius:10px;color:#fff;font-size:.9rem;font-weight:500;transition:background .15s;position:relative}.nav-link:hover{background:#ffffff1f}.nav-link.active{background:#ffffff38;font-weight:600}.nav-link .ic{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-link .ext-badge{margin-left:auto;font-size:.68rem;opacity:.75;background:#ffffff2e;padding:1px 6px;border-radius:999px}.nav-link .nav-label{flex:1;min-width:0}.nav-link .nav-badge{margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px #ffffff0d}.nav-sep{height:1px;background:#ffffff2e;margin:.75rem .85rem}.nav-link .my-store-logo{width:22px;height:22px;border-radius:6px;object-fit:cover;background:#ffffff1f;flex-shrink:0}.nav-link .my-store-logo.placeholder{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;background:#ffffff2e}.nav-link .my-store-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link .my-store-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #ffffff2e}.nav-link .my-store-status.pending{background:var(--warn)}.nav-link .my-store-status.draft{background:#ffffff8c}.hero{margin-bottom:1.25rem}.hero h2{font-size:1.55rem;font-weight:800;letter-spacing:-.5px;margin-bottom:.35rem}@media (max-width: 640px){.hero h2{font-size:1.2rem}.hero p{font-size:.85rem}}.hero p{color:var(--text-secondary);font-size:.92rem;line-height:1.55;max-width:640px}.search-row{display:flex;gap:.625rem;margin-bottom:1.25rem}.search-row input{flex:1;padding:.7rem 1rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-surface);font-size:.95rem}.search-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-banner{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;margin-bottom:.9rem;background:var(--accent-soft);border-radius:10px;font-size:.85rem;color:var(--accent);font-weight:600}.store-list{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.store-row{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border-top:1px solid var(--border-subtle);transition:background .15s}.store-row:first-child{border-top:none}.store-row:hover{background:var(--bg-hover)}.store-row .logo{width:44px;height:44px;border-radius:12px;object-fit:contain;background:var(--bg-surface);border:1px solid var(--border-default);flex-shrink:0}.store-row .logo-placeholder{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.store-row .info{flex:1;min-width:0}.store-row .name{font-weight:600;font-size:.98rem;color:var(--text-primary)}.store-row .meta{color:var(--text-secondary);font-size:.82rem;margin-top:3px}.store-row .meta .addr{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;flex-shrink:0}.badge.community{background:#7b2bb81f;color:#7b2bb8}[data-theme=dark] .badge.community{background:#b482f02e;color:#c9a6f2}.badge.order-pay{background:#1e5fb51f;color:#1e5fb5}[data-theme=dark] .badge.order-pay{background:#60a5fa2e;color:#90bcff}.badge.pending{background:var(--warn-soft);color:var(--warn-text);border:1px solid var(--warn-border)}.badge.draft{background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border-strong)}.skeleton-list{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.skel-row{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border-top:1px solid var(--border-subtle)}.skel-row:first-child{border-top:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(90deg,var(--bg-surface-2) 0%,var(--bg-hover) 50%,var(--bg-surface-2) 100%);background-size:200% 100%;animation:shimmer 1.5s linear infinite;flex-shrink:0}.skel-info{flex:1;display:flex;flex-direction:column;gap:6px}.skel-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-surface-2) 0%,var(--bg-hover) 50%,var(--bg-surface-2) 100%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}.skel-line.short{width:35%}.mcp{display:flex;flex-direction:column;gap:1.5rem;max-width:880px}.mcp-intro h2{font-size:1.45rem;font-weight:800;letter-spacing:-.4px;margin-bottom:.5rem}.mcp-intro p{color:var(--text-secondary);font-size:.95rem;line-height:1.55;max-width:640px}.quick-install{background:linear-gradient(140deg,var(--accent-soft),var(--bg-surface));border:1px solid var(--accent);border-radius:14px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.85rem}.quick-install header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.quick-install h3{font-size:1rem;font-weight:800;color:var(--text-primary);margin-bottom:4px}.quick-install header p{color:var(--text-secondary);font-size:.86rem;line-height:1.5;max-width:640px}.token-injector{display:flex;flex-direction:column;gap:.5rem}.token-injector .ti-label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.token-injector .ti-label .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.token-injector.set .ti-label{color:var(--accent)}.token-injector.set .ti-label .dot{background:var(--accent)}.token-injector .ti-row{display:flex;align-items:center;gap:.4rem;position:relative}.token-injector input{flex:1;padding:.5rem 2.2rem .5rem .75rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.85rem;font-family:SF Mono,Menlo,Monaco,monospace;min-width:0}.token-injector input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.token-injector .ti-clear{position:absolute;right:6px;width:24px;height:24px;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:1.1rem;line-height:1}.token-injector .ti-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.code{position:relative;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:10px;padding:.85rem 1rem;font-family:SF Mono,Menlo,Monaco,monospace;font-size:.82rem;line-height:1.55;overflow-x:auto;margin:0}.code code{background:transparent;border:none;padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;word-break:break-all}.code .copy{position:absolute;top:6px;right:6px;background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;font-size:.72rem;padding:3px 8px}.code .copy:hover{color:var(--text-primary)}.mcp-token-section h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}.mcp-token-section .muted{color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin-bottom:.85rem;max-width:720px}.tokens{display:flex;flex-direction:column;gap:.85rem}.token-create{display:flex;gap:.5rem}.token-create input{flex:1;padding:.55rem .75rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.92rem;min-width:0}.token-create input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.new-token-banner{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);border-radius:10px;padding:.75rem .9rem;font-size:.86rem}.new-token-banner .head{font-weight:600;margin-bottom:6px}.new-token-banner .row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.new-token-banner code{flex:1;background:var(--bg-elevated);color:var(--text-primary);padding:5px 8px;border-radius:6px;word-break:break-all;font-size:.78rem;border:1px solid var(--border-default);min-width:200px}.new-token-banner button{background:var(--accent);color:#fff;font-size:.82rem;font-weight:600;padding:5px 12px;border-radius:6px}.token-list{list-style:none;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;overflow:hidden;padding:0}.token-list li{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-top:1px solid var(--border-subtle)}.token-list li:first-child{border-top:none}.token-list .info{flex:1;min-width:0}.token-list .name{font-weight:600;font-size:.92rem;color:var(--text-primary)}.token-list .meta{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.token-list code{background:var(--bg-surface-2);padding:1px 5px;border-radius:4px;font-family:SF Mono,Menlo,Monaco,monospace}.btn-link.danger{color:var(--danger);font-size:.82rem;font-weight:600;padding:4px 8px;border-radius:6px}.btn-link.danger:hover{background:var(--danger-soft)}.line.muted{color:var(--text-secondary);font-size:.88rem}@media (max-width: 640px){.mcp-intro h2{font-size:1.2rem}.mcp-intro p{font-size:.85rem}.quick-install{padding:.85rem 1rem}}.admin-sub{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin-bottom:1.25rem;max-width:720px}.admin-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary);background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:1rem 1.1rem;text-decoration:none;color:inherit;display:block;transition:border-color .12s ease}.stat-card:hover{border-color:var(--accent)}.stat-card .label{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.stat-card .value{font-size:1.85rem;font-weight:800;margin-top:4px;letter-spacing:-.5px}.stat-card .value.warn{color:var(--warn-text)}.stat-card .value.ok{color:var(--accent)}.stat-card .value.danger{color:var(--danger)}.stat-card .value.teal{color:var(--accent-strong)}.stat-card .hint{font-size:.74rem;color:var(--text-muted);margin-top:6px;line-height:1.35}.section-title{font-size:.78rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;margin:1.4rem 0 .6rem}.section-title:first-of-type{margin-top:0}.panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:1.1rem 1.2rem}.panel h3{font-size:1rem;font-weight:700;margin-bottom:.75rem}.panel .muted{color:var(--text-secondary);font-size:.85rem;padding:.5rem 0}.by-store{display:flex;flex-direction:column}.by-store-row{display:flex;justify-content:space-between;padding:.6rem .5rem;border-radius:8px;font-size:.92rem;border-top:1px solid var(--border-subtle);color:var(--text-primary);text-decoration:none}.by-store-row:first-child{border-top:none}.by-store-row:hover{background:var(--bg-hover)}.by-store-row .count{color:var(--warn-text);font-weight:600}.admin-sub{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin-bottom:1rem;max-width:720px}.pending-list{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.pending-row{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border-top:1px solid var(--border-subtle);flex-wrap:wrap}@media (max-width: 640px){.pending-row{align-items:flex-start;gap:.6rem;padding:.85rem}.pending-row .info{flex-basis:calc(100% - 60px)}.pending-row .btn{flex:1;justify-content:center;min-width:0}}.pending-row:first-child{border-top:none}.pending-row .logo,.pending-row .logo-fallback{width:44px;height:44px;border-radius:10px;flex-shrink:0;object-fit:cover;background:var(--bg-surface);border:1px solid var(--border-default)}.pending-row .logo-fallback{display:flex;align-items:center;justify-content:center;background:var(--warn-soft);color:var(--warn-text);font-weight:700}.pending-row .info{flex:1;min-width:0}.pending-row .name{font-weight:600;font-size:.95rem}.pending-row .cuisine{color:var(--text-secondary);font-weight:500}.pending-row .addr{color:var(--text-secondary);font-size:.82rem;margin-top:2px}.pending-row .submitter{color:var(--text-muted);font-size:.78rem;margin-top:4px}.pending-row .submission-notes{margin-top:8px;padding:8px 10px;background:var(--bg-surface-2);border-left:3px solid var(--accent);border-radius:6px;font-size:.82rem;line-height:1.45}.pending-row .submission-notes .label{display:block;font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.pending-row .submission-notes p{margin:0;white-space:pre-wrap;color:var(--text-primary)}.pending-row .btn{padding:.45rem .85rem;font-size:.82rem}.onboarding-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1.5rem}@media (max-width: 1024px){.onboarding-grid{grid-template-columns:1fr}}@media (max-width: 640px){.onboarding-grid .preview-col{display:none}}.wizard-col{display:flex;flex-direction:column;gap:1rem;max-width:720px}.progress{display:flex;flex-direction:column;gap:6px;margin-bottom:.5rem}.progress .pips{display:flex;gap:4px}.progress .pip{flex:1;height:4px;border-radius:2px;background:var(--bg-surface-2);border:1px solid var(--border-default)}.progress .pip.on{background:var(--accent);border-color:var(--accent)}.progress .progress-label{font-size:.78rem;color:var(--text-secondary);font-weight:600;letter-spacing:.3px}.err-banner{background:var(--danger-soft);color:var(--danger);padding:.7rem .9rem;border-radius:10px;font-size:.9rem;border:1px solid var(--danger)}.step{display:flex;flex-direction:column;gap:.85rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;padding:1.5rem}.step h2{font-size:1.25rem;font-weight:800;letter-spacing:-.4px}.step .sub{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin-bottom:.25rem}.step label{display:flex;flex-direction:column}.step .label-text{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.step input[type=text],.step input[type=url],.step input:not([type]),.step textarea{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text-primary);font-size:.95rem;font-family:inherit}.step input[type=file]{padding:.45rem 0;font-size:.9rem;color:var(--text-secondary)}.step input:focus,.step textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.step .hint{font-size:.78rem;color:var(--text-muted);margin-top:5px}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.5rem .85rem;border-radius:999px;background:var(--bg-surface-2);border:1px solid var(--border-default);color:var(--text-primary);font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease}.chip:hover{border-color:var(--accent)}.chip.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:.5rem}.mode{padding:.85rem .5rem;border-radius:10px;background:var(--bg-surface-2);border:1px solid var(--border-default);color:var(--text-primary);font-size:.92rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease}.mode:hover{border-color:var(--accent)}.mode.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.toggle-row{display:flex;align-items:flex-start;gap:1rem;padding:.85rem 0;border-top:1px solid var(--border-subtle)}.toggle-row:first-of-type{border-top:none;padding-top:0}.toggle-row .copy{flex:1;min-width:0}.toggle-row .name{font-weight:600;font-size:.92rem}.toggle-row .blurb{color:var(--text-secondary);font-size:.82rem;line-height:1.5;margin-top:4px}.switch{width:38px;height:22px;border-radius:999px;background:var(--border-strong);position:relative;flex-shrink:0;transition:background .12s ease;border:none}.switch.on{background:var(--accent)}.switch .dot{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .12s ease;box-shadow:0 1px 3px #00000026}.switch.on .dot{transform:translate(16px)}.actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.actions .spacer{flex:1}.msg.warn{background:var(--warn-soft);color:var(--warn-text);padding:.7rem .9rem;border-radius:10px;font-size:.9rem}.preview-col{display:flex;flex-direction:column;gap:.6rem}.preview-label{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.preview-label .pill{font-size:.7rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.phone-frame{width:360px;max-width:100%;margin:0 auto;border-radius:36px;background:#0a0a0a;padding:8px;box-shadow:var(--shadow-md),0 0 0 1px var(--border-default)}.phone-screen{background:var(--teal-grad-from);border-radius:28px;overflow:hidden;height:640px;display:flex;flex-direction:column;position:relative}.phone-status{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:11px;color:#fff;font-weight:600}.phone-status .island{width:100px;height:22px;border-radius:999px;background:#000}.phone-ow-header{text-align:center;color:#fff;font-weight:700;font-size:14px;padding:6px}.phone-card{background:var(--bg-surface);flex:1;border-top-left-radius:20px;border-top-right-radius:20px;display:flex;flex-direction:column;overflow:hidden}.phone-store-header{display:flex;align-items:center;gap:10px;padding:14px 14px 8px}.phone-store-header .logo{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:var(--accent)}.phone-store-header .phone-name{font-weight:700;font-size:.95rem;color:var(--text-primary)}.phone-store-header .phone-cuisine{font-size:.78rem;color:var(--text-secondary)}.phone-search{margin:8px 14px;padding:8px 12px;border:1px solid var(--border-default);border-radius:10px;font-size:.82rem;color:var(--text-muted)}.phone-body{flex:1;display:flex;overflow:hidden}.phone-sidebar{width:100px;border-right:1px solid var(--border-subtle);overflow-y:auto;background:var(--bg-surface-2)}.phone-cat{padding:10px 8px;font-size:.78rem;font-weight:500;color:var(--text-secondary);cursor:pointer}.phone-cat.active{background:var(--bg-surface);color:var(--accent);font-weight:700;border-left:3px solid var(--accent)}.phone-cat .label{display:block;word-break:break-word}.phone-items{flex:1;overflow-y:auto;padding:6px 0}.phone-item{display:flex;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);align-items:flex-start}.phone-item .info{flex:1;min-width:0}.phone-item .iname{font-size:.85rem;font-weight:600;color:var(--text-primary)}.phone-item .idesc{font-size:.72rem;color:var(--text-secondary);line-height:1.4;margin-top:3px}.phone-item .iprice{font-size:.78rem;color:var(--accent);font-weight:700;margin-top:4px}.phone-item .iimg{width:56px;height:56px;border-radius:8px;background:var(--bg-surface-2);flex-shrink:0}.phone-empty{padding:30px 16px;text-align:center;color:var(--text-secondary);font-size:.82rem;margin:auto}.phone-empty .title{font-weight:700;color:var(--text-primary);margin-bottom:4px}.ps-search{width:100%;max-width:460px;padding:.6rem .9rem;margin-bottom:1rem;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font-size:.92rem}.ps-search:focus{outline:none;border-color:var(--brand-teal, #2aa39a)}.ps-list{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.ps-row{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border-top:1px solid var(--border-subtle)}.ps-row:first-child{border-top:none}.ps-row .logo,.ps-row .logo-fallback{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.ps-row .logo-fallback{display:flex;align-items:center;justify-content:center;background:var(--bg-elev);color:var(--text-primary);font-weight:600;font-size:1.1rem}.ps-row .info{flex:1;min-width:0}.ps-row .name{font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.ps-row .meta{display:flex;flex-wrap:wrap;gap:.4rem .7rem;color:var(--text-secondary);font-size:.84rem}.want-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-elev);color:var(--text-primary);font-size:.86rem;cursor:pointer;transition:background .12s ease,border-color .12s ease}.want-btn:hover{background:var(--bg-elev-hover, var(--bg-elev))}.want-btn:disabled{opacity:.6;cursor:progress}.want-btn.on{background:var(--brand-teal, #2aa39a);border-color:var(--brand-teal, #2aa39a);color:#fff}.want-btn.on:hover{filter:brightness(.96)}.want-count{font-weight:700;font-variant-numeric:tabular-nums}@media (max-width: 640px){.ps-row{flex-wrap:wrap}.ps-row .info{flex-basis:calc(100% - 60px)}.want-btn{flex:1;justify-content:center}}.store-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:1.5rem;align-items:start}@media (max-width: 1200px){.store-editor-grid{grid-template-columns:1fr}.side-col{position:static}}@media (max-width: 640px){.store-editor-grid .side-col{display:none}}.editor-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.side-col{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1rem}.empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary);background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:14px}.status-banner{padding:.85rem 1rem;border-radius:12px;display:flex;align-items:flex-start;gap:.75rem;border:1px solid}.status-banner svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.status-banner .body{flex:1;min-width:0}.status-banner .head{font-weight:700;font-size:.95rem}.status-banner .sub{margin-top:4px;font-size:.85rem;line-height:1.5}.status-banner .submit-btn{flex-shrink:0;align-self:center}.status-banner .status-error{margin-top:6px;font-size:.78rem;color:var(--danger)}.status-banner.draft{background:var(--bg-surface-2);border-color:var(--border-strong);color:var(--text-primary)}.status-banner.draft .head{color:var(--text-primary)}.status-banner.draft .sub{color:var(--text-secondary)}.status-banner.draft svg{color:var(--text-secondary)}.status-banner.pending{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn-text)}.status-banner.pending .head,.status-banner.pending .sub{color:var(--warn-text)}.store-header{display:flex;align-items:center;gap:1rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;padding:1rem 1.2rem}.store-header .logo-wrap{position:relative;width:64px;height:64px;border-radius:12px;background:var(--bg-surface-2);border:1px solid var(--border-default);overflow:hidden;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4rem;color:var(--accent)}.store-header .logo-wrap img{width:100%;height:100%;object-fit:cover}.store-header .logo-wrap .upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;color:#fff;font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease}.store-header .logo-wrap:hover .upload-overlay{opacity:1}.store-header .info{flex:1;min-width:0}.store-header .name{font-size:1.25rem;font-weight:800;letter-spacing:-.4px;color:var(--text-primary)}.store-header .meta{color:var(--text-secondary);font-size:.85rem;margin-top:4px}.contributors-line{font-size:.78rem;color:var(--text-secondary);padding:0 4px}.menu-tabs{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.5rem;width:100%}.menu-tab{padding:.45rem .85rem;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer}.menu-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.menu-search{position:relative;display:flex}.menu-search input{flex:1;width:100%;padding:.6rem 2.25rem .6rem .85rem;font-size:.95rem;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.menu-search input::-webkit-search-cancel-button{display:none}.menu-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft, rgba(252, 172, 96, .18))}.menu-search-clear{position:absolute;top:50%;right:.4rem;transform:translateY(-50%);width:1.7rem;height:1.7rem;border:none;background:transparent;color:var(--text-secondary);font-size:1.15rem;line-height:1;cursor:pointer;border-radius:6px}.menu-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.category-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.cat-head{display:flex;align-items:center;gap:8px;padding:.85rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.cat-head:hover{background:var(--bg-hover)}.cat-head .arrow{font-size:.7rem;color:var(--text-muted);width:12px;text-align:center}.cat-head .name{font-weight:700;font-size:1rem;color:var(--text-primary);flex:1}.cat-head .name[contenteditable]{outline:none;border-bottom:1px dashed transparent}.cat-head .name[contenteditable]:focus{border-bottom-color:var(--accent)}.cat-head .count{font-size:.78rem;color:var(--text-muted)}.cat-head .actions{display:flex;gap:4px}.cat-head .ghost-btn{font-size:.78rem;color:var(--accent);background:transparent;padding:4px 8px;border-radius:6px}.cat-head .ghost-btn.danger{color:var(--danger)}.cat-head .ghost-btn:hover{background:var(--bg-hover)}.items-list{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column}.item-row{display:flex;gap:.85rem;padding:.85rem 1rem;border-top:1px solid var(--border-subtle);align-items:flex-start}.item-row:first-child{border-top:none}.item-row .photo{width:60px;height:60px;border-radius:10px;background:var(--bg-surface-2);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;color:var(--text-muted);font-size:.7rem;text-align:center;padding:4px;flex-shrink:0}.item-row .photo img{width:100%;height:100%;object-fit:cover}.item-row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.item-row .row-top{display:flex;gap:.85rem;align-items:baseline}.item-row .name-input{flex:1;font-weight:700;font-size:.98rem;border:1px solid transparent;background:transparent;color:var(--text-primary);padding:4px 6px;border-radius:6px}.item-row .name-input:hover,.item-row .name-input:focus{border-color:var(--border-default);background:var(--bg-input);outline:none}.item-row .price-input{width:80px;text-align:right;font-weight:700;color:var(--accent);border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:6px}.item-row .price-input:hover,.item-row .price-input:focus{border-color:var(--border-default);background:var(--bg-input);outline:none}.item-row .desc-input{width:100%;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.85rem;font-family:inherit;padding:4px 6px;border-radius:6px;resize:vertical;min-height:36px}.item-row .desc-input:hover,.item-row .desc-input:focus{border-color:var(--border-default);background:var(--bg-input);outline:none}.item-row .actions-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.ghost-btn-sm{font-size:.75rem;color:var(--accent);background:transparent;padding:3px 7px;border-radius:6px}.ghost-btn-sm:hover{background:var(--accent-soft)}.ghost-btn-sm.danger{color:var(--danger)}.ghost-btn-sm.danger:hover{background:var(--danger-soft)}.cust-section{background:var(--bg-surface-2);border:1px solid var(--border-default);border-radius:8px;padding:.6rem .75rem;margin-top:.4rem}.cust-section .head{display:flex;gap:.5rem;align-items:center;font-size:.82rem;font-weight:600;color:var(--text-primary)}.cust-section .title-input{flex:1;font-weight:600;border:1px solid transparent;background:transparent;color:var(--text-primary);padding:3px 5px;border-radius:5px}.cust-section .title-input:hover,.cust-section .title-input:focus{border-color:var(--border-default);background:var(--bg-input);outline:none}.cust-section .req-checkbox{font-size:.72rem;color:var(--text-secondary);display:flex;gap:3px;align-items:center}.cust-section .options{display:flex;flex-direction:column;gap:4px;margin-top:.5rem}.cust-option{display:flex;gap:.5rem;align-items:center;font-size:.82rem}.cust-option .opt-name{flex:1}.cust-option .opt-price{width:70px;text-align:right;color:var(--text-secondary);font-size:.78rem}.add-cat{display:flex;gap:.5rem;background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:12px;padding:.7rem .85rem}.add-cat input{flex:1;border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.add-cat input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ai-chat{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px;display:flex;flex-direction:column;max-height:560px;overflow:hidden;position:relative}.ai-chat .head{display:flex;align-items:center;gap:.5rem;padding:.7rem .85rem;border-bottom:1px solid var(--border-subtle)}.ai-chat .head .title{font-weight:700;font-size:.9rem;flex:1}.ai-chat .quota-pill{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.ai-chat .quota-pill.warn{background:var(--warn-soft);color:var(--warn-text)}.ai-chat .history{flex:1;overflow-y:auto;padding:.85rem;display:flex;flex-direction:column;gap:.5rem;min-height:180px}.ai-chat .history .msg{font-size:.85rem;padding:.5rem .7rem;border-radius:10px;max-width:90%;white-space:pre-wrap}.ai-chat .history .msg.user{background:var(--accent-soft);color:var(--accent);align-self:flex-end}.ai-chat .history .msg.assistant{background:var(--bg-surface-2);color:var(--text-primary)}.ai-chat .history .empty{background:transparent;border:none;color:var(--text-muted);text-align:center;font-size:.82rem;padding:1rem}.ai-chat .history .empty p{margin:0}.ai-chat .history .empty .mcp-hint{margin-top:.65rem;padding-top:.65rem;border-top:1px dashed var(--border-subtle);font-size:.78rem;line-height:1.45}.ai-chat .history .empty .mcp-hint a{color:var(--accent);font-weight:600;text-decoration:none}.ai-chat .history .empty .mcp-hint a:hover{text-decoration:underline}.ai-chat .composer{border-top:1px solid var(--border-subtle);padding:.6rem .7rem;display:flex;gap:.5rem;align-items:flex-end}.ai-chat .composer textarea{flex:1;resize:none;border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:.5rem .6rem;font-size:.88rem;font-family:inherit;min-height:36px;max-height:180px}.ai-chat .composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ai-chat .composer .iconbtn{width:36px;height:36px;border-radius:8px;background:var(--bg-surface-2);color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.ai-chat .composer .iconbtn:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-chat .send{background:var(--accent);color:#fff;border-radius:8px;font-size:.82rem;font-weight:700;padding:0 .85rem;height:36px}.ai-chat .send:disabled{opacity:.5;cursor:not-allowed}.ai-chat .thumbs{display:flex;gap:6px;flex-wrap:wrap;padding:0 .7rem .5rem}.ai-chat .thumb{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--border-default);background:var(--bg-surface-2)}.ai-chat .thumb img{width:100%;height:100%;object-fit:cover}.ai-chat .thumb .x{position:absolute;top:1px;right:1px;width:16px;height:16px;background:#0009;color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center}.ai-chat.drag-over:after{content:"Drop photos to attach";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;border:2px dashed var(--accent);border-radius:14px;pointer-events:none}.ai-chat .status{padding:.4rem .85rem;font-size:.78rem;color:var(--text-secondary)}.ai-chat .status.error{color:var(--danger)}.phone-preview{display:flex;flex-direction:column;gap:.5rem;align-items:center}.phone-frame{width:400px;border-radius:44px;background:#1a1a1a;padding:10px;box-shadow:var(--shadow-md),0 0 0 1px var(--border-default)}.phone-screen{background:linear-gradient(180deg,#5cc6b8,#3db3ad);border-radius:34px;overflow:hidden;height:800px;display:flex;flex-direction:column;position:relative;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}.ph-status{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#fff;font-size:11px;font-weight:600}.ph-status .left{display:flex;align-items:center;gap:8px}.ph-status .left .time{font-size:13px;font-weight:700}.ph-status .left .safari{font-size:11px;opacity:.95}.ph-status .right{display:flex;align-items:center;gap:5px}.ph-ow-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;color:#fff}.ph-ow-header .left{display:flex;gap:6px;align-items:center}.ph-ow-header .back{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff}.ph-ow-header .back svg{width:18px;height:18px}.ph-ow-header .ow-icon-circle{width:28px;height:28px;border-radius:50%;background:#ffffff2e;display:flex;align-items:center;justify-content:center;color:#fff}.ph-ow-header .ow-icon-circle svg{width:13px;height:13px}.ph-ow-header .title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px;pointer-events:none;white-space:nowrap}.ph-ow-header .title svg{width:18px;height:18px}.phone-card{background:var(--bg-surface);flex:1;border-top-left-radius:24px;border-top-right-radius:24px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.ph-store-row{display:flex;align-items:center;gap:10px;padding:14px 16px 8px}.ph-store-row .logo{width:36px;height:36px;border-radius:8px;background:var(--bg-surface-2);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-primary);overflow:hidden;flex-shrink:0}.ph-store-row .logo img{width:100%;height:100%;object-fit:contain}.ph-store-row .info{flex:1;min-width:0}.ph-store-row .name{font-weight:700;font-size:15px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-store-row .cuisine{font-size:11px;color:var(--text-secondary)}.ph-store-row .day-pill{background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;flex-shrink:0}.ph-search{margin:0 14px 8px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--tab-orange-soft);border-radius:10px;color:var(--text-muted);font-size:12px}.ph-search svg{width:14px;height:14px;color:var(--text-muted)}[data-theme=dark] .ph-search{background:#fcac601a}.phone-body{flex:1;display:flex;overflow:hidden;min-height:0}.ph-sidebar{width:112px;background:transparent;border-right:1px solid var(--border-subtle);overflow-y:auto;display:flex;flex-direction:column;flex-shrink:0}.ph-cat{padding:10px 10px 10px 12px;font-size:11px;cursor:pointer;color:var(--text-secondary);word-break:break-word;border-left:3px solid transparent;transition:background 80ms ease,color 80ms ease}.ph-cat:hover{background:var(--bg-hover)}.ph-cat.active{color:var(--text-primary);font-weight:700;border-left-color:var(--tab-orange)}.ph-cat.popular{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.ph-cat.popular .flame{font-size:12px}.ph-cat-divider{height:1px;background:var(--border-subtle);margin:6px 8px}.ph-items{flex:1;overflow-y:auto;padding:0}.ph-item{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--border-subtle);align-items:flex-start;background:transparent;border-left:none;border-right:none;border-bottom:none;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.ph-item:hover{background:var(--bg-hover)}.ph-item:active{background:var(--bg-hover);transform:scale(.997);transform-origin:center}.ph-item .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ph-item .iname{font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.ph-item .iname .oos{font-size:9px;color:var(--danger);font-weight:700;background:var(--danger-soft);padding:1px 6px;border-radius:999px}.ph-item .idesc{font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.ph-item .iprice{font-size:14px;color:var(--tab-orange-text);font-weight:700;margin-top:2px}.ph-item .thumb-wrap{position:relative;flex-shrink:0}.ph-item .thumb{width:56px;height:56px;border-radius:10px;background-color:var(--bg-surface-2);background-size:cover;background-position:center}.ph-item .thumb.empty{border:1px dashed var(--border-default)}.ph-item .add-btn{position:absolute;bottom:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--tab-orange);color:#fff;font-size:16px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003}.ph-empty{margin:auto;padding:24px;text-align:center;color:var(--text-secondary);font-size:12px}.ph-detail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:10;animation:ph-fade-in .12s ease}@keyframes ph-fade-in{0%{opacity:0}to{opacity:1}}.ph-detail-sheet{background:var(--bg-surface);width:100%;max-height:86%;border-top-left-radius:22px;border-top-right-radius:22px;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:ph-slide-up .22s cubic-bezier(.2,.8,.4,1)}@keyframes ph-slide-up{0%{transform:translateY(20%)}to{transform:translateY(0)}}.ph-detail-sheet .close{position:absolute;top:8px;right:10px;width:26px;height:26px;border-radius:50%;background:#00000073;color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2}.ph-detail-sheet .hero{width:100%;height:160px;background-color:var(--bg-surface-2);background-size:cover;background-position:center;flex-shrink:0}.ph-detail-sheet .hero.empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;border-bottom:1px solid var(--border-subtle)}.ph-detail-sheet .body{padding:14px 16px;overflow-y:auto;flex:1;min-height:0}.ph-detail-sheet .title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ph-detail-sheet .iname{font-size:17px;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:6px}.ph-detail-sheet .iname .oos{font-size:9px;color:var(--danger);background:var(--danger-soft);font-weight:700;padding:1px 6px;border-radius:999px}.ph-detail-sheet .iprice{font-size:16px;font-weight:800;color:var(--tab-orange-text)}.ph-detail-sheet .idesc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:6px}.ph-detail-sheet .cust-block{margin-top:16px;border-top:1px solid var(--border-subtle);padding-top:12px}.ph-detail-sheet .cust-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.ph-detail-sheet .cust-head .title{font-size:13px;font-weight:700;color:var(--text-primary)}.ph-detail-sheet .cust-head .req{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.ph-detail-sheet .cust-opts{display:flex;flex-direction:column;gap:6px}.ph-detail-sheet .cust-opt{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary)}.ph-detail-sheet .cust-opt .dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0}.ph-detail-sheet .cust-opt .name{flex:1}.ph-detail-sheet .cust-opt .extra{font-size:11px;color:var(--text-secondary)}.ph-detail-sheet .cust-empty{font-size:11px;color:var(--text-muted);padding-left:22px}.ph-detail-sheet .cta-row{border-top:1px solid var(--border-subtle);padding:12px 14px;background:var(--bg-surface);flex-shrink:0}.ph-detail-sheet .cta{width:100%;background:var(--accent);color:#fff;font-size:14px;font-weight:700;padding:12px;border-radius:12px}.ph-tabbar{display:flex;align-items:flex-end;justify-content:space-around;padding:8px 8px 14px;border-top:1px solid var(--border-subtle);background:var(--bg-surface);position:relative}.ph-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-muted);font-size:10px;padding:4px 0}.ph-tab svg{width:18px;height:18px}.ph-fab{width:50px;height:50px;border-radius:50%;background:var(--tab-orange);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:-18px 4px 0;flex-shrink:0;box-shadow:0 4px 12px #fcac6073}.ph-fab svg{width:18px;height:18px}.ph-fab .label{font-size:9px;font-weight:700;margin-top:-2px}.proposals-panel{background:var(--bg-surface);border:1px solid var(--warn-border);border-radius:12px;padding:.85rem 1rem}.proposals-panel .head{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.92rem;margin-bottom:.5rem}.proposals-panel .badge{background:var(--warn-soft);color:var(--warn-text);font-size:.7rem;padding:2px 8px;border-radius:999px}.proposals-panel .row{padding:.55rem 0;border-top:1px solid var(--border-subtle);font-size:.85rem}.proposals-panel .row .meta{font-size:.78rem;color:var(--text-secondary);margin-top:2px}:root,[data-theme=light]{--bg-app: #F3F5F7;--bg-surface: #FFFFFF;--bg-surface-2: #F9FAFB;--bg-elevated: #FFFFFF;--bg-input: #FFFFFF;--bg-hover: #F3F5F7;--border-default: #E8EBEE;--border-strong: #D5D9DD;--border-subtle: #F3F5F7;--text-primary: #1A1A1A;--text-secondary: #6A7076;--text-muted: #8A9096;--text-on-accent: #FFFFFF;--accent: #0F8F72;--accent-soft: #E8F7F3;--accent-strong: #0B7A60;--warn: #F59E0B;--warn-soft: #FEF3C7;--warn-text: #92400E;--warn-border: #FDE68A;--tab-orange: #FCAC60;--tab-orange-soft: #FFEFD6;--tab-orange-text: #B5650D;--danger: #C13030;--danger-soft: #FCEBEB;--teal-grad-from: #5CC6B8;--teal-grad-to: #3DB3AD;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .08)}[data-theme=dark]{--bg-app: #0E1014;--bg-surface: #16191F;--bg-surface-2: #1B1F26;--bg-elevated: #1F232B;--bg-input: #1B1F26;--bg-hover: #232830;--border-default: #262B33;--border-strong: #323845;--border-subtle: #1B1F26;--text-primary: #ECEEF2;--text-secondary: #98A0AB;--text-muted: #6B7280;--text-on-accent: #FFFFFF;--accent: #3DB3AD;--accent-soft: rgba(61, 179, 173, .15);--accent-strong: #5CC6B8;--warn: #F59E0B;--warn-soft: rgba(245, 158, 11, .18);--warn-text: #FBBF24;--warn-border: rgba(245, 158, 11, .4);--tab-orange: #FCAC60;--tab-orange-soft: rgba(252, 172, 96, .18);--tab-orange-text: #FCAC60;--danger: #F87171;--danger-soft: rgba(248, 113, 113, .15);--teal-grad-from: #2A8F86;--teal-grad-to: #1F7A72;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .65), 0 2px 6px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden;transition:background .12s ease,color .12s ease}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:.95rem;color:var(--text-primary);background:var(--bg-input)}.hidden{display:none!important}.app{display:flex;height:100vh}.app .sidebar-host{display:contents}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{height:64px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);display:flex;align-items:center;padding:0 1.5rem;gap:1rem;flex-shrink:0}.topbar h1{font-size:1.15rem;font-weight:700;letter-spacing:-.3px}.topbar-spacer{flex:1}.topbar .hamburger{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text-primary);background:transparent;margin-right:-4px}.topbar .hamburger:hover{background:var(--bg-hover)}.content{flex:1;overflow-y:auto;padding:1.75rem 1.75rem 3rem}@media (max-width: 900px){.app.mobile .sidebar-host{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.app.mobile .sidebar-host .sidebar{position:relative;z-index:2;width:280px;max-width:80vw;height:100vh;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.8,.2,1);box-shadow:4px 0 24px #0000002e;pointer-events:auto}.app.mobile .sidebar-host.open .sidebar{transform:translate(0)}.app.mobile .drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;border:none;pointer-events:auto;animation:backdrop-fade .18s ease}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.topbar{padding:0 1rem;gap:.5rem}.topbar h1{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.content{padding:1rem 1rem 3rem}}@media (min-width: 901px){.topbar .hamburger{display:none}}.btn{padding:.6rem 1rem;border-radius:10px;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;transition:filter .15s,background .15s,transform .05s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--text-on-accent)}.btn.primary:hover{background:var(--accent-strong)}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong)}.btn.secondary:hover{background:var(--bg-hover)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.block{width:100%;justify-content:center}.icon-btn{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.4rem;line-height:1}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:14px}
