:root{
  --red:#d72828;
  --red-dark:#b91f1f;
  --red-soft:#fff1f1;
  --ink:#17191c;
  --muted:#6e737b;
  --gray:#f5f6f7;
  --gray-2:#eceff1;
  --gray-3:#dfe3e6;
  --white:#ffffff;
  --success:#198754;
  --danger:#b42318;
  --shadow:0 10px 32px rgba(20,24,28,.07);
}
*{box-sizing:border-box}
html{background:#eef0f2}
body{margin:0;background:#eef0f2;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(215,40,40,.18);outline-offset:2px}
.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;background:#fff;padding-bottom:82px;position:relative;box-shadow:0 0 32px rgba(0,0,0,.06)}
.page{display:none}.page.active{display:block}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 8px;background:#fff}
.brand-logo{width:92px;height:74px;object-fit:contain}
.pill-button{border:1px solid var(--gray-3);background:#fff;color:#31353a;border-radius:999px;padding:9px 13px;font-weight:800;min-height:42px}
.welcome{margin:4px 18px 0;padding:22px;background:#fafafa;border:1px solid var(--gray-2);border-radius:22px}
.eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:1.45px;color:#7b8188;margin-bottom:7px}.eyebrow.red{color:var(--red)}
.welcome h1{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.55px}.welcome p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.property-select{width:100%;margin-top:16px;padding:12px 13px;border:1px solid var(--gray-3);border-radius:12px;background:#fff;color:#24282d}
.guest-badge{margin:12px 18px 0;background:var(--red-soft);color:var(--red-dark);border:1px solid #ffd4d4;border-radius:12px;padding:9px 12px;text-align:center;font-size:11px;font-weight:800}.hidden{display:none!important}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px}
.menu-card{position:relative;min-height:156px;text-align:left;border:1px solid var(--gray-2);border-radius:18px;background:#fff;padding:16px 14px;transition:.15s transform,.15s border-color,.15s background}
.menu-card:active{transform:scale(.985);background:#fafafa}.menu-card:hover{border-color:#d9dde0}
.menu-icon{width:45px;height:45px;border-radius:14px;background:var(--red-soft);display:grid;place-items:center;margin-bottom:16px}
.menu-icon svg{width:24px;height:24px;stroke:var(--red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu-card h3{margin:0 22px 7px 0;font-size:13px;line-height:1.22}.menu-card p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}
.chevron{position:absolute;right:13px;top:62px;color:#a3a8ad;font-size:23px}
.support-card{margin:0 18px 18px;border-radius:18px;background:#f7f7f7;border:1px solid var(--gray-2);padding:17px;display:flex;gap:16px;align-items:center}
.support-card>div{min-width:0;flex:1}.support-card h2{margin:0 0 5px;font-size:18px}.support-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.primary-button,.secondary-button,.danger-button{border:0;border-radius:11px;padding:11px 14px;font-weight:850;min-height:42px}
.primary-button{background:var(--red);color:#fff}.primary-button:hover{background:var(--red-dark)}
.secondary-button{background:#f0f1f2;color:#30343a}.secondary-button.compact{white-space:nowrap;padding:10px 12px}
.danger-button{background:#fff0f0;color:var(--danger)}
.bottom-nav{position:fixed;z-index:30;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);height:70px;background:#fff;border-top:1px solid var(--gray-2);display:flex;justify-content:space-around;align-items:center}
.nav-item{border:0;background:transparent;color:#8a9096;min-width:70px;font-size:9px;font-weight:800}.nav-item svg{width:21px;height:21px;stroke:currentColor;fill:none;display:block;margin:0 auto 4px;stroke-width:1.8}.nav-item.active{color:var(--red)}
.admin-fab{position:fixed;z-index:35;right:max(16px,calc((100vw - 520px)/2 + 16px));bottom:84px;width:52px;height:52px;border-radius:50%;border:0;background:var(--red);color:#fff;box-shadow:0 9px 24px rgba(215,40,40,.26);display:grid;place-items:center}.admin-fab svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
body.guest-mode .admin-fab,body.guest-mode .property-select{display:none}
.detail-header{padding:18px 20px 22px;background:#fff;border-bottom:1px solid var(--gray-2)}.detail-header h1{margin:6px 0 5px;font-size:27px;letter-spacing:-.4px}.detail-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.back-button{border:0;background:#f4f5f6;color:#34383d;border-radius:999px;padding:9px 12px;font-weight:800;margin-bottom:20px}
.detail-content{padding:16px 18px}
.info-card{border:1px solid var(--gray-2);border-radius:16px;padding:15px;margin-bottom:10px;background:#fff}.info-card h3{margin:0 0 5px;font-size:14px}.info-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
.value{font-size:19px;font-weight:900;margin-top:8px;word-break:break-word}
.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.action-link{display:inline-flex;align-items:center;text-decoration:none;border-radius:10px;padding:9px 11px;font-size:11px;font-weight:900;background:var(--red);color:#fff}.action-link.gray{background:#f0f1f2;color:#2c3136}
.rule-head{display:flex;justify-content:space-between;gap:10px}.status-badge{font-size:9px;font-weight:900;border-radius:999px;padding:5px 8px;white-space:nowrap}.status-badge.ok{background:#ecf8f1;color:#137044}.status-badge.no{background:#fff0f0;color:#a82a2a}
.place-category{font-size:9px;font-weight:900;color:var(--red);letter-spacing:.9px;text-transform:uppercase;margin-bottom:5px}.place-address{font-size:11px!important;margin-top:6px!important;color:#969ca2!important}
.modal{position:fixed;z-index:100;inset:0;background:rgba(20,23,26,.52);display:none;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}
.manager-panel,.editor-panel{width:min(1120px,100%);max-height:92vh;background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:auto}
.manager-header,.editor-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--gray-2);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.manager-brand{display:flex;align-items:center;gap:13px;min-width:0}.manager-brand img{width:55px;height:55px;object-fit:contain;border:1px solid var(--gray-2);border-radius:12px;padding:4px;background:#fff}.manager-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.manager-header h2,.editor-header h2{margin:0;font-size:20px}.manager-header p,.editor-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.count-badge{background:var(--red);color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}.icon-button{width:39px;height:39px;border-radius:10px;border:1px solid var(--gray-2);background:#fff;color:#4c5156;font-size:22px;flex:0 0 auto}
.manager-tools{padding:14px 20px;display:flex;gap:10px;border-bottom:1px solid var(--gray-2)}.search-box{flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--gray-3);border-radius:12px;padding:0 12px;min-width:0}.search-box input{border:0;outline:0;width:100%;padding:11px 0;font-size:13px;background:transparent}
.unit-grid{padding:16px 20px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.unit-card{border:1px solid var(--gray-2);border-radius:16px;padding:15px;background:#fff;min-width:0}.unit-card.active-unit{border-color:#ef9a9a;box-shadow:inset 3px 0 0 var(--red)}
.unit-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.unit-tag{font-size:10px;font-weight:900;color:#575d64;background:#f2f3f4;border-radius:999px;padding:5px 8px}.active-tag{font-size:9px;font-weight:900;color:#137044;background:#ecf8f1;border-radius:999px;padding:5px 8px}
.unit-card h3{margin:11px 0 8px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-card p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45;min-height:32px}
.unit-mini{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.mini-pill{border:1px solid var(--gray-2);border-radius:10px;padding:8px;font-size:10.5px;color:#50565d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fafafa}
.unit-actions{margin-top:13px;padding-top:12px;border-top:1px solid var(--gray-2);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.unit-actions .open-guide{margin-right:auto;border:0;background:transparent;color:#33383d;font-size:11px;font-weight:850;padding:8px 0}.small-button{border:1px solid var(--gray-3);background:#fff;color:#373c41;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:850}.small-button.red{background:var(--red);border-color:var(--red);color:#fff}
.editor-panel{width:min(800px,100%)}.editor-tabs{position:sticky;top:99px;z-index:4;background:#fff;padding:10px 20px;border-bottom:1px solid var(--gray-2);display:flex;gap:7px;overflow:auto}.editor-tab{border:0;background:#f1f2f3;color:#4b5055;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;white-space:nowrap}.editor-tab.active{background:var(--red);color:#fff}
.editor-body{padding:16px 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:9.5px;color:#5d6369;font-weight:900;letter-spacing:.55px;text-transform:uppercase;margin:0 0 5px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--gray-3);border-radius:11px;background:#fff;color:#22262a;padding:11px 12px}.field textarea{min-height:82px;resize:vertical}
.editor-section-card{border:1px solid var(--gray-2);border-radius:15px;padding:13px;margin-bottom:10px;background:#fcfcfc}.editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-section-card h4{margin:0;font-size:13px}.remove-item{border:0;background:#fff0f0;color:var(--danger);border-radius:9px;padding:7px 9px;font-size:10px;font-weight:900}
.add-item{width:100%;border:1px dashed #e4aaaa;background:#fffafa;color:var(--red);border-radius:12px;padding:11px;font-weight:900;margin-top:5px}
.editor-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--gray-2);padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.footer-actions{display:flex;gap:8px}
.toast{position:fixed;z-index:200;left:50%;bottom:88px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#202327;color:#fff;border-radius:10px;padding:10px 14px;font-size:12px;transition:.18s;box-shadow:0 8px 24px rgba(0,0,0,.18)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.modal{padding:0;align-items:flex-end}.manager-panel,.editor-panel{max-height:94vh;border-radius:22px 22px 0 0}.manager-tools{flex-direction:column}.unit-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.editor-footer{align-items:stretch;flex-direction:column}.footer-actions{display:grid;grid-template-columns:1fr 1fr}.danger-button{order:2}}
@media(max-width:390px){.topbar{padding-left:15px;padding-right:15px}.welcome{margin-left:13px;margin-right:13px;padding:18px}.welcome h1{font-size:24px}.menu-grid{padding-left:13px;padding-right:13px;gap:8px}.menu-card{min-height:150px;padding:14px 12px}.menu-card h3{font-size:12px}.menu-card p{font-size:10.8px}.support-card{margin-left:13px;margin-right:13px;align-items:flex-start;flex-direction:column}.support-card .primary-button{width:100%}}
.build-badge{background:#f1f2f3;color:#656b72;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.35px}
