*{box-sizing:border-box}html,body{color:#000;background:#fff;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button,input{font-family:inherit}:root{--red:#d60032}.container{max-width:1100px;padding:16px;padding-top:max(16px, env(safe-area-inset-top));margin:0 auto}.card{background:#fff;border:2px solid #e5e5e5;border-radius:32px;padding:20px;box-shadow:0 1px 4px #0000000f}.logo{object-fit:contain;width:min(390px,100%);height:auto}.logo-small{object-fit:contain;width:min(190px,55vw);height:auto}.header-hero{color:#fff;background:#000;border-radius:28px;margin-top:20px;padding:20px}.label-red{color:#ff315d;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900}.h1{letter-spacing:-.03em;margin:8px 0;font-size:clamp(30px,5.5vw,48px);font-weight:900;line-height:1}.tabs{z-index:10;background:#fff;border:1px solid #e5e5e5;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid;position:sticky;top:8px;box-shadow:0 4px 20px #0000000f}.tab{color:#000;cursor:pointer;background:#fff;border:0;border-radius:14px;padding:12px;font-weight:900}.tab.active{color:#fff;background:#000}.grid{gap:12px;display:grid}.grid>*{min-width:0}@media (min-width:760px){.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}}.service-btn{color:#000;text-align:left;cursor:pointer;background:#fff;border:2px solid #e5e5e5;border-radius:28px;width:100%;min-height:92px;padding:20px;transition:all .15s}.service-btn:hover{background:#fafafa;border-color:#000}.service-title{font-size:18px;font-weight:900;line-height:1.1}.service-helper{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.badge{color:#fff;white-space:nowrap;background:#000;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:900;display:inline-flex}.badge-red{background:var(--red)}.btn{color:#000;cursor:pointer;background:#fff;border:2px solid #000;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:900;display:inline-flex}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-black{color:#fff;background:#000;border-color:#000}.btn:disabled{color:#777;cursor:not-allowed;background:#ddd;border-color:#ddd}.ticket-page{background:#fff;min-height:100vh;padding:16px}.ticket-card{border:2px solid #e5e5e5;border-radius:34px;flex-direction:column;justify-content:space-between;max-width:440px;min-height:calc(100vh - 32px);margin:0 auto;padding:20px;display:flex}.ticket-card.called{background:var(--red);border-color:var(--red);color:#fff}.ticket-top{justify-content:space-between;align-items:flex-start;gap:12px;padding-top:8px;display:flex}.ticket-main{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.ticket-code{letter-spacing:-.08em;margin:18px 0 8px;font-size:clamp(82px,24vw,132px);font-weight:900;line-height:.86}.ticket-chip{color:#fff;background:#000;border-radius:24px;margin-top:28px;padding:16px 22px;font-weight:900}.called .ticket-chip{color:#000;background:#fff}.ticket-footer{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:#999;padding-bottom:8px;font-size:11px;font-weight:900}.called .ticket-footer{color:#ffffffb8}.current-box{border:2px solid var(--red);border-radius:30px;margin-top:16px;padding:20px}.queue-item{background:#fff;border:2px solid #e5e5e5;border-radius:28px;padding:16px}.queue-item.top{border-color:var(--red)}.queue-number{color:#fff;background:#000;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-weight:900;display:flex}.queue-item.top .queue-number{background:var(--red)}.end-done{background:#f2fbf5;border-color:#b7e4c7}.end-missed{background:#fff5f6;border-color:#f3c2cb}.end-icon{border:4px solid;border-radius:50%;justify-content:center;align-items:center;width:104px;height:104px;margin-bottom:18px;font-size:72px;font-weight:900;line-height:1;display:flex}.end-title{letter-spacing:-.03em;max-width:340px;font-size:clamp(26px,6vw,34px);font-weight:900;line-height:1.05}.end-sub{color:#555;max-width:320px;margin-top:14px;font-size:16px;font-weight:700;line-height:1.35}
