:root{--font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--primary:#6d28d9;--primary-strong:#5b21b6;--primary-soft:#ede9fe;--accent:var(--primary);--on-accent:#fff;--bg:#f7f6fb;--surface:#fff;--surface-muted:#f1eef9;--text:#191525;--text-2:#4b4560;--text-3:#7a7390;--border:#ded9ea;--border-2:#ece8f5;--success:#148f45;--warning:#b45309;--danger:#c62a2a;--radius:14px;--radius-m:10px;--radius-s:8px;--shadow:0 6px 22px #1c113014;--tap:44px;--focus:#6d28d9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--primary:#a78bfa;--primary-strong:#8b5cf6;--primary-soft:#a78bfa29;--accent:var(--primary);--on-accent:#1e1b4b;--bg:#131019;--surface:#1a1622;--surface-muted:#211c2c;--text:#f0edf7;--text-2:#b6aecb;--text-3:#8b839e;--border:#2e2740;--border-2:#262034;--success:#34d37e;--warning:#f0a75a;--danger:#ff7b7b;--shadow:0 10px 30px #0006;--focus:#a78bfa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{max-width:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}h1,h2,h3{margin:0 0 6px;line-height:1.25}h1{font-size:21px}h2{letter-spacing:.01em;font-size:15.5px}p{margin:0 0 8px}ul{margin:0;padding:0;list-style:none}img{max-width:100%}.muted{color:var(--text-2);overflow-wrap:anywhere}.small{font-size:12.5px}.center{text-align:center}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:progress}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;display:flex;position:sticky;top:0}.logo-plate{background:#f6f4fb;border:1px solid #6d28d929;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:4px 8px;display:inline-flex;box-shadow:0 2px 8px -4px #00000059}.logo-pas{width:auto;height:22px;display:block}.logo-pemkot{width:auto;height:26px;display:block}.brand-text{flex:auto;min-width:0;display:grid}.brand-text strong{font-size:13.5px;line-height:1.2}.brand-text span{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}@media (width>=480px){.logo-pas{height:26px}.logo-pemkot{height:30px}.brand-text strong{font-size:15px}}.main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:14px 14px 96px}.foot{border-top:1px solid var(--border-2);color:var(--text-3);text-align:center;padding:12px 14px 20px;font-size:11.5px}.stack{gap:12px;min-width:0;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:14px}.notice{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-m);color:var(--text-2);padding:10px 12px;font-size:13.5px}.identity{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-bottom:12px;padding:11px 13px;display:flex}.identity-name{overflow-wrap:anywhere;font-size:16px;font-weight:750}.identity-nik{font-family:var(--mono);color:var(--text-2);overflow-wrap:anywhere;font-size:12.5px}.form{gap:6px;display:grid}label{color:var(--text-2);margin-top:4px;font-size:13.5px;font-weight:650}.input{background:var(--surface);width:100%;min-width:0;min-height:46px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-s);padding:10px 12px;font-size:16px}.input:focus{border-color:var(--accent)}input[type=date]{color-scheme:inherit}::placeholder{color:var(--text-3)}.primary{background:var(--accent);width:100%;min-height:48px;color:var(--on-accent);border-radius:var(--radius-s);border:0;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:10px 16px;font-size:15px;font-weight:750;display:inline-flex}.primary-soft{min-height:var(--tap);background:var(--primary-soft);width:100%;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-s);justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14.5px;font-weight:700;display:inline-flex}.ghost{min-height:var(--tap);background:var(--surface);color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-s);justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:14px;font-weight:650;display:inline-flex}.load-more{width:100%;color:var(--accent);border-color:var(--accent);margin-top:4px}.back{justify-self:start;margin-bottom:2px}.error-box{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);border-radius:var(--radius-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:600;display:flex}.error-box span{overflow-wrap:anywhere;min-width:0}.error-box .ghost{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));min-height:var(--tap)}.review-panel{background:color-mix(in srgb, var(--warning) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--warning) 40%, var(--border));border-left:4px solid var(--warning);border-radius:var(--radius-m);gap:3px;min-width:0;padding:10px 12px;display:grid}.review-title{color:var(--warning);margin:0;font-size:14px;font-weight:750}.review-text{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:13.5px}.loading{color:var(--text-2);margin:0;font-size:13.5px}.badge{background:var(--primary-soft);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:750;display:inline-flex}.badge-ok{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.badge-danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.badge-neutral{background:var(--surface-muted);color:var(--text-3)}.chip{background:var(--primary-soft);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:11px;font-weight:700}.visit-list{gap:10px;display:grid}.visit-item{min-width:0}.visit-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);color:var(--text);gap:3px;padding:13px 14px;display:grid}.visit-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.visit-date{font-size:15px;font-weight:750}.visit-facility{overflow-wrap:anywhere;font-weight:650}.visit-meta,.visit-diagnosis{color:var(--text-2);overflow-wrap:anywhere;font-size:13px}.visit-open{color:var(--accent);align-items:center;gap:4px;margin-top:2px;font-size:13px;font-weight:700;display:inline-flex}.detail-head{justify-items:start;gap:4px;display:grid}.row-list{gap:8px;display:grid}.row{border-bottom:1px solid var(--border-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding-bottom:8px;display:flex}.row:last-child{border-bottom:0;padding-bottom:0}.row-main{overflow-wrap:anywhere;min-width:0;font-weight:600}.prescription+.prescription{margin-top:10px}.medicine-list{gap:8px;margin-top:6px;display:grid}.medicine{background:var(--surface-muted);border-radius:var(--radius-m);gap:2px;min-width:0;padding:9px 11px;display:grid}.medicine-name{overflow-wrap:anywhere;font-weight:650}.facility-list{gap:8px;margin-bottom:8px;display:grid}.facility{border-bottom:1px solid var(--border-2);gap:2px;padding-bottom:8px;display:grid}.facility:last-child{border-bottom:0;padding-bottom:0}.facility-name{overflow-wrap:anywhere;font-weight:650}.last-visit{overflow-wrap:anywhere;font-size:15px}.bottom-nav{z-index:30;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);justify-content:center;gap:8px;display:flex;position:fixed;inset:auto 0 0}.bottom-nav button{text-align:center;background:var(--surface);min-width:0;max-width:200px;min-height:48px;color:var(--text-2);border:1px solid var(--border);border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;padding:6px 8px;font-size:13.5px;font-weight:700;display:inline-flex}.bottom-nav button[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.bottom-nav button.logout{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
