:root{--sand:#efe7d6;--card:#fffdf8;--ink:#1c1813;--muted:#9a9080;--line:#ece3d2;--accent:#3a5bff;--green:#1f9d5b;--green-bg:#e3f4e7;--amber:#d98a17;--amber-bg:#fbf0db;--red:#e0544f;--red-bg:#f8e2df;--font:-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font)}body{background:var(--sand);color:var(--ink);font-size:16px}.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.loader{flex:1;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted);font-weight:700;font-size:15px}.spinner{width:40px;height:40px;border-radius:50%;border:4px solid #e3d9c4;border-top-color:var(--ink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.body{flex:1;padding:14px 16px 124px}.hdr{padding:20px 16px 8px}.hdr-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.hdr .ttl{font-size:25px;font-weight:800;line-height:1.1}.hdr .sub{font-size:14.5px;color:var(--muted);margin-top:4px;font-weight:600}.adminbtn{flex-shrink:0;background:#e3d9c4;border:none;border-radius:13px;padding:9px 13px;font-weight:800;font-size:13.5px;color:var(--ink);cursor:pointer;margin-top:4px}.err{color:#b00020;font-size:14px;margin:8px 0;white-space:pre-wrap}.daystrip,.chips{scrollbar-width:none;-ms-overflow-style:none}.daystrip::-webkit-scrollbar,.chips::-webkit-scrollbar{display:none;width:0;height:0}.daystrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.dpill{flex:0 0 auto;width:58px;padding:10px 0;border-radius:18px;background:#e3d9c4;text-align:center;cursor:pointer;border:none}.dpill .dow{font-size:12px;font-weight:800;color:#9a8f78;text-transform:uppercase}.dpill .dn{font-size:21px;font-weight:800;color:var(--ink);margin-top:2px}.dpill.on{background:var(--ink)}.dpill.on .dow{color:#cdbfa6}.dpill.on .dn{color:#fff7e9}.chips{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px}.chip{flex:0 0 auto;padding:9px 15px;border-radius:30px;background:#e3d9c4;border:none;font-size:14px;font-weight:800;color:#867c69;cursor:pointer}.chip.on{background:var(--accent);color:#fff}.card{background:var(--card);border-radius:20px;padding:14px;margin-bottom:12px;display:flex;gap:13px;align-items:center;cursor:pointer;box-shadow:0 4px #e0d6c2;border:1px solid #f3f1eb}.card:active{transform:translateY(2px);box-shadow:0 2px #e0d6c2}.clay{width:56px;height:56px;border-radius:17px;background:#eef3fa;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.card .info{flex:1;min-width:0}.card .nm{font-weight:800;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .meta{font-size:13.5px;color:var(--muted);margin-top:3px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rcol{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.seat{font-size:12.5px;font-weight:800;padding:5px 10px;border-radius:20px;white-space:nowrap}.s-ok{background:var(--green-bg);color:var(--green)}.s-low{background:var(--amber-bg);color:var(--amber)}.s-full{background:var(--red-bg);color:var(--red)}.price{font-weight:800;font-size:15.5px}.muted{color:var(--muted);font-weight:600;font-size:15px;text-align:center;padding:34px 12px;line-height:1.5}.back{background:none;border:none;font-size:16px;font-weight:800;cursor:pointer;color:var(--ink);padding:0 0 10px}.hero{text-align:center;padding:6px 0 4px}.hero .big{width:90px;height:90px;border-radius:26px;background:#eef3fa;display:flex;align-items:center;justify-content:center;font-size:46px;margin:0 auto 12px}.hero h2{font-size:25px;font-weight:800;line-height:1.1}.hero p{color:var(--muted);font-size:14.5px;margin-top:6px;font-weight:600}.info-card{background:var(--card);border-radius:18px;padding:4px 16px;margin-top:16px;box-shadow:0 4px #e0d6c2}.drow{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:600}.drow:last-child{border:none}.drow .k{color:var(--muted)}.drow .v{font-weight:800}.factbox{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-radius:18px;padding:14px 16px;margin-top:12px;box-shadow:0 4px #e0d6c2}.factbox .fi{font-size:24px;flex-shrink:0}.factbox .ft{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.02em}.factbox .fv{font-size:15.5px;font-weight:800;margin-top:3px;line-height:1.35}.rulebox{background:#ece0c2;border-radius:16px;padding:13px 15px;margin-top:14px;font-size:14px;color:#776a4c;font-weight:700;line-height:1.5}.box{background:var(--card);border-radius:18px;padding:16px;margin-top:14px;box-shadow:0 4px #e0d6c2}.box label{font-size:12.5px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.02em}.kids{display:flex;gap:10px;flex-wrap:wrap;margin-top:11px}.kid{border:2px solid var(--line);border-radius:14px;padding:11px 16px;font-size:15.5px;font-weight:800;cursor:pointer;color:var(--muted)}.kid.on{border-color:var(--ink);background:var(--ink);color:#fff7e9}.inp{width:100%;padding:13px;border:2px solid var(--line);border-radius:14px;font-size:16px;margin-top:12px;background:#fff;scroll-margin:140px 0}.foot{position:sticky;bottom:0;padding:12px 16px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--sand) 26%)}.cta{width:100%;border:none;border-radius:16px;padding:17px;font-size:16.5px;font-weight:800;color:#fff7e9;background:var(--ink);cursor:pointer;box-shadow:0 6px #0f0b07}.cta:active{transform:translateY(3px);box-shadow:0 3px #0f0b07}.cta:disabled{opacity:.5}.cta.wait{background:var(--accent);box-shadow:0 6px #2742c4}.cta.ghost{background:#e3d9c4;color:var(--ink);box-shadow:0 6px #cdc1a8}.success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.check{width:100px;height:100px;border-radius:32px;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff;margin-bottom:20px}.check.wait{background:var(--amber)}.success h2{font-size:24px;font-weight:800}.success p{color:var(--muted);font-size:15.5px;margin-top:10px;font-weight:700;line-height:1.5}.notice{background:var(--card);border-radius:16px;padding:15px;font-size:13.5px;color:#7c735f;margin-top:20px;text-align:left;line-height:1.7;font-weight:600;box-shadow:0 4px #e0d6c2}.mb{background:var(--card);border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 4px #e0d6c2}.mb .top{display:flex;justify-content:space-between;align-items:center}.mb .nm{font-weight:800;font-size:16px}.mb .meta{font-size:13.5px;color:var(--muted);font-weight:600}.badge{font-size:12px;font-weight:800;padding:5px 11px;border-radius:20px}.b-ok{background:var(--green-bg);color:var(--green)}.b-wait{background:var(--amber-bg);color:var(--amber)}.mini{margin-top:11px;border:none;background:var(--red-bg);color:var(--red);border-radius:13px;padding:11px 16px;font-size:14px;font-weight:800;cursor:pointer}.contacts{font-size:13px;color:var(--muted);margin-top:5px;font-weight:600;line-height:1.5}.kpis{display:flex;gap:8px;margin-bottom:14px}.kpi{flex:1;background:var(--card);border-radius:15px;padding:12px;text-align:center;box-shadow:0 4px #e0d6c2}.kpi .n{font-size:23px;font-weight:800}.kpi .l{font-size:11.5px;color:var(--muted);font-weight:700;margin-top:2px}.subtabs{display:flex;gap:8px;margin-bottom:14px}.subtab{flex:1;padding:12px;border:none;border-radius:14px;background:#e3d9c4;font-weight:800;font-size:14.5px;color:#867c69;cursor:pointer}.subtab.on{background:var(--ink);color:#fff7e9}.nav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:452px;background:var(--ink);border-radius:26px;display:flex;padding:8px;gap:6px;box-shadow:0 12px 28px #1c181357;z-index:10}.nav button{flex:1;border:none;background:none;padding:12px 0;font-size:12.5px;color:#a99f8c;cursor:pointer;font-weight:800;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:5px}.nav button .i{display:flex;align-items:center;justify-content:center;height:23px}.nav button.on{color:var(--ink);background:#fff7e9}
