:root{--bg0: #1c1c1e;--bg1: #2c2c2e;--bg2: #3a3a3c;--line: rgba(255, 255, 255, .08);--text: #f2f2f7;--muted: #8e8e93;--accent: #ffffff;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--display: var(--font)}*{box-sizing:border-box}html{height:100%;overscroll-behavior:none;background-color:var(--bg0)}body{margin:0;min-height:100%;min-height:100dvh;overscroll-behavior:none;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background:var(--bg0)}#root{min-height:100%;min-height:100dvh;background:var(--bg0)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--text)}.app-shell{max-width:720px;margin:0 auto;padding:16px 16px max(24px,env(safe-area-inset-bottom,0px));min-height:100dvh;background:var(--bg0)}.app-shell--home{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.brand-mark{flex-shrink:0;align-self:flex-start;text-align:left;margin:0 0 4px}.brand-mark__abbr{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:.06em;line-height:1.1;color:var(--text)}.brand-mark__sub{margin:4px 0 0;font-size:.78rem;line-height:1.2;color:var(--muted)}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.topbar h1{font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0;flex:1}.muted{color:var(--muted);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;background:var(--bg1);color:var(--text);border-radius:0;padding:14px 16px;min-height:48px;cursor:pointer;text-decoration:none;width:100%;font-weight:500}.btn:active{background:var(--bg2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary,.btn-accent{background:var(--bg2);color:#fff;font-weight:600}.btn-ghost{background:var(--bg1)}.btn-danger{color:#ff453a}.btn-sm{min-height:40px;padding:8px 12px;width:auto;border-radius:8px}.stack{display:flex;flex-direction:column;gap:12px}.menu-list{display:flex;flex-direction:column;gap:0;width:min(100%,360px);margin:0 auto;border-radius:12px;overflow:hidden;background:var(--bg1)}.menu-list .btn{justify-content:flex-start;text-align:left;font-size:1.02rem;padding:16px 18px;border-radius:0;min-height:52px;background:transparent;border-bottom:1px solid var(--line);box-shadow:none}.menu-list .btn:last-child{border-bottom:none}.menu-list .btn.btn-primary,.menu-list .btn.btn-accent{background:transparent;font-weight:600}.menu-list .btn:active{background:#ffffff0f}.menu-home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;min-height:0;width:100%}.hero-center{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.hero-center .btn-primary{max-width:320px}.denied-screen{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 0}.denied-screen h1{margin:0;font-size:1.35rem;letter-spacing:-.02em}.denied-hint{margin:0;max-width:300px;font-size:.82rem;line-height:1.35;color:#6e6e73}.denied-qr{padding:12px;border-radius:12px;background:#fff;line-height:0}.denied-qr img{display:block;width:min(220px,58vw);height:auto;border-radius:4px}.denied-link{margin:0;max-width:320px;font-size:.78rem;word-break:break-all;opacity:.85}.denied-actions{display:flex;flex-direction:column;gap:0;width:min(100%,320px);margin-top:4px;border-radius:12px;overflow:hidden;background:var(--bg1)}.denied-actions .btn{border-radius:0;border-bottom:1px solid var(--line);background:transparent}.denied-actions .btn:last-child{border-bottom:none}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:4px;align-items:center}.photo-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.28);background:var(--bg0)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg2)}.photo-add{aspect-ratio:1;border-radius:10px;border:1px dashed rgba(255,255,255,.35);background:var(--bg0);color:var(--text);font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;box-sizing:border-box}.photo-add.is-disabled{opacity:.45;pointer-events:none}.photo-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.address-suggest{position:relative}.suggest-list{margin-top:8px;display:flex;flex-direction:column;gap:0;max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:12px;background:var(--bg1)}.suggest-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:12px 14px;border:none;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);cursor:pointer;font:inherit}.suggest-item:last-child{border-bottom:none}.suggest-item:active{background:#ffffff0f}.suggest-main{font-size:.95rem;line-height:1.3;font-weight:500}.suggest-city{font-size:.82rem;line-height:1.3;color:var(--text);opacity:.85}.suggest-meta{font-size:.78rem;color:var(--muted)}.panel{background:var(--bg1);border:none;border-radius:12px;padding:14px}.field{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.field label,.field .field-label{font-size:.85rem;color:var(--muted)}.field input,.field select,.field textarea,.panel input,.panel select,.panel textarea{width:100%;max-width:100%;min-width:0;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:var(--bg0);padding:12px 14px;outline:none;color:var(--text);box-sizing:border-box}.field input[type=date],.field input[type=number]{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none}.file-input-native{display:block;width:100%;margin-bottom:10px;padding:10px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:var(--bg0);color:var(--text);font-size:.85rem}.sr-only-file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field input:focus,.field select:focus,.field textarea:focus,.panel input:focus,.panel select:focus,.panel textarea:focus{border-color:#ffffff8c;box-shadow:0 0 0 1px #ffffff1f}.row{display:flex;gap:10px;align-items:center}.close-x{width:40px;height:40px;border-radius:10px;border:none;background:var(--bg1);cursor:pointer;font-size:1.3rem;line-height:1;color:var(--text)}.list-item{display:flex;flex-direction:column;gap:6px;padding:12px;border:none;border-radius:10px;background:var(--bg1)}.badge{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--bg2);border:none;font-size:.75rem;color:var(--muted)}.badge.boss{color:#fff}.badge.owner{color:#fff;background:#48484a}.badge.off{color:#8e8e93}.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;max-width:min(92vw,420px);padding:12px 16px;border-radius:12px;background:#3a3a3c;color:#fff;font-size:.92rem;box-shadow:0 8px 24px #00000059}.toast.err{background:#3a3a3c;color:#ff9f0a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:min(100%,360px);background:var(--bg1);border-radius:14px;padding:18px}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border-radius:12px;background:var(--bg1)}.table-wrap table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.78rem;line-height:1.35}.table-wrap th,.table-wrap td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.78rem;font-weight:400;max-width:11.5rem;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.table-wrap th{color:var(--muted);font-weight:500;white-space:nowrap;max-width:none}.fullscreen-table{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg0);display:flex;flex-direction:column;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.fullscreen-table .topbar{flex-shrink:0}.fullscreen-table .topbar h1{font-size:1rem}.fullscreen-table .table-wrap{flex:1;min-height:0}@media(min-width:768px){.app-shell{padding:28px 24px 48px}.table-wrap th,.table-wrap td{max-width:none;white-space:nowrap;overflow-wrap:normal;word-break:normal}}
