@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Sinhala:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans Sinhala,sans-serif;color:#173e31;background:#f6f7f2;font-synthesis:none;line-height:1.5;font-size:13px;--muted: #64776b;--border: #e1e8df;--forest: #164b36}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#e6eee2,transparent 55%)}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b58b40;outline-offset:4px}.page{max-width:980px;margin:auto;padding:0 28px}header{position:relative;isolation:isolate;min-height:94px;display:flex;justify-content:space-between;align-items:center;gap:16px}.header-botanical{position:absolute;z-index:-1;pointer-events:none;width:330px;height:165px;object-fit:contain;right:-28px;top:-22px;opacity:.3}.brand,.footer-brand{display:inline-flex;align-items:center;gap:9px;color:var(--forest);text-decoration:none;flex-shrink:0}.logo-frame{display:block;position:relative;width:48px;height:54px;overflow:hidden;flex-shrink:0}.logo-frame img{display:block;position:absolute;width:80px;height:80px;max-width:none;left:-16px;top:-15px;filter:hue-rotate(-95deg) saturate(.45) brightness(.65)}.brand-name{font-family:Manrope,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.8px}.language-switch{display:flex;padding:3px;gap:2px;border:1px solid #dfe7db;background:#edf1e8d9;border-radius:12px}.language-switch button{border:0;background:transparent;color:var(--muted);border-radius:9px;min-height:38px;padding:7px 12px;font-size:11px;font-weight:600}.language-switch button[aria-pressed=true]{background:#fff;color:var(--forest);box-shadow:0 2px 7px #173e310b}main{position:relative;margin:8px auto 24px;min-height:60vh}.dashboard{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}.primary-column,.secondary-column{min-width:0}.ticket,.queue-panel,.details{background:#ffffffed;border:1px solid var(--border);border-radius:20px;box-shadow:0 6px 24px #173e3105}.ticket{overflow:hidden}.ticket-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.8px;color:var(--muted)}.status{font-size:10px;font-weight:600;padding:5px 10px;background:#f7efdb;color:#806529;border-radius:7px}.status-called,.status-serving,.status-completed{color:#256841;background:#e7f2e8}.status-cancelled,.status-noshow,.status-skipped{background:#fce8e3;color:#993d34}.ticket-body{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;align-items:center;padding:16px 22px 20px}.token{font-family:Manrope,sans-serif;font-size:clamp(36px,5vw,52px);font-weight:800;letter-spacing:-1.8px;overflow-wrap:anywhere;line-height:1.2}.position{background:#eef4eb;border-radius:13px;padding:12px 16px;color:var(--muted);font-size:11px}.position strong{display:block;font-family:Manrope,sans-serif;font-size:42px;font-weight:700;line-height:1.2;color:var(--forest);margin-top:3px}.position small{display:block;font-family:DM Sans,Noto Sans Sinhala,sans-serif;font-size:11px;font-weight:500;line-height:1.5;margin-top:4px}.state-icon{color:var(--forest);padding-top:8px}.token-caption{padding:0 22px 16px;margin:0;font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--border);padding:15px 22px}.stats>div+div{border-left:1px solid var(--border);padding-left:16px}.stat-label{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.stat-label svg{flex-shrink:0;width:14px;height:14px}.stats strong{display:block;font-size:25px;margin-top:5px;font-weight:600;line-height:1.35}.stats .wait{font-size:15px}.is-turn{border-color:#86af88}.queue-panel{padding:18px 22px;margin-top:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{font-size:15px;margin:0;font-weight:700}.section-heading svg{color:#7e9180;flex-shrink:0;width:19px;height:19px;stroke-width:1.6}.serving-strip{display:flex;align-items:center;gap:10px;background:#eff4ee;border-radius:11px;padding:10px 12px;margin-bottom:16px}.serving-strip svg{flex-shrink:0;width:18px}.serving-strip span{display:block;font-size:10px;color:var(--muted)}.serving-strip strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.queue-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}.queue-person{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;min-height:94px;border:1px solid #e4e9df;border-radius:12px;background:#f5f7f1;color:#788779;padding:12px 6px}.queue-person svg{width:19px;height:19px;stroke-width:1.6;flex-shrink:0}.queue-person b{font-size:16px;font-weight:600;color:#506751;overflow-wrap:anywhere;max-width:100%}.queue-person span{font-size:9px;line-height:1.5}.queue-person.me{background:var(--forest);color:#e5eee2;border-color:var(--forest);box-shadow:0 4px 12px #164b3618;padding-top:15px}.queue-person.me b{color:#fff}.you-badge{position:absolute;top:-8px;background:#e6edcc;color:#365435;padding:2px 10px;border:1px solid #fff;border-radius:6px;font-weight:600}.overflow{background:#f2f0e6}.details{padding:18px 22px}.details .section-heading{margin-bottom:3px}.detail-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:13px 0;font-size:12px}.detail-row span{color:var(--muted)}.detail-row b{text-align:right;font-weight:500;overflow-wrap:anywhere}.detail-row:last-child{border-bottom:0;padding-bottom:0}.now-detail{display:flex;flex-direction:column;gap:4px;margin-top:14px}.now-detail strong{font-size:15px;overflow-wrap:anywhere}.closed-note{font-size:11px;color:#806529}.updated{font-size:10px;color:#7b897d;margin:12px 2px}.connection-note{display:flex;align-items:center;gap:9px;background:#faf4e7;border:1px solid #eddfc2;color:#7a5727;border-radius:11px;padding:10px 12px;font-size:11px;margin:12px 0}.connection-note svg{flex-shrink:0}.completed{text-align:center;color:var(--forest);background:#e7f0e2;border-radius:18px;padding:18px;margin-top:16px}.completed h2{margin:5px 0;font-size:18px}.completed p{font-size:12px}footer{display:flex;justify-content:center;border-top:1px solid var(--border);padding:16px 0 20px}.footer-brand{opacity:.55}.footer-brand .logo-frame{width:32px;height:36px}.footer-brand .logo-frame img{width:54px;height:54px;left:-11px;top:-10px}.footer-brand .brand-name{font-size:19px;letter-spacing:-.5px}.message{max-width:540px;margin:40px auto;padding:20px 0}.message h1{font-family:Manrope,Noto Sans Sinhala,sans-serif;font-size:32px;line-height:1.4;letter-spacing:-.8px}.message p{color:var(--muted);font-size:14px;line-height:1.8}.welcome,.loading{text-align:center}.hero-scissors{display:grid;place-items:center;width:72px;height:72px;background:#e8efe1;border:1px solid var(--border);border-radius:22px;margin:0 auto 20px;color:var(--forest)}.retry{border:0;border-radius:11px;display:flex;gap:10px;align-items:center;padding:11px 18px;background:var(--forest);color:#fff}.loading h1{font-size:22px}.spinner{width:30px;height:30px;border:3px solid #dce5d7;border-top-color:var(--forest);border-radius:50%;animation:spin 1s linear infinite;margin:28px auto}@keyframes spin{to{transform:rotate(360deg)}}html[lang=si] .eyebrow{letter-spacing:0}@media(max-width:760px){.page{max-width:480px;padding:0 16px}header{min-height:78px;gap:10px}.brand .logo-frame{width:40px;height:45px}.brand .logo-frame img{width:67px;height:67px;left:-13px;top:-13px}.brand .brand-name{font-size:25px}.header-botanical{right:-16px;width:245px;height:145px;opacity:.25}.language-switch button{padding:6px 9px}main{margin:4px auto 20px;min-height:0}.dashboard{grid-template-columns:1fr;gap:16px}.ticket-top{padding:16px 18px 0}.ticket-body{padding:14px 18px 18px;gap:12px}.token{font-size:44px}.position{padding:10px 12px}.position strong{font-size:38px}.stats{padding:14px 18px;gap:12px}.stats>div+div{padding-left:12px}.queue-panel,.details{padding:17px 18px}.message h1{font-size:27px}}@media(max-width:340px){.page{padding:0 12px}.brand{gap:6px}.brand .brand-name{font-size:22px}.language-switch button{padding:6px 7px}.token{font-size:38px}.ticket-body{gap:9px}.queue-panel,.details{padding:16px 14px}.stats .wait{font-size:14px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
