:root{--bg:#f3f7f5;--surface:#fff;--surface-sunken:#ecf2ef;--border:#dce6e2;--border-strong:#c3d2cc;--ink:#10262b;--ink-muted:#55716a;--ink-faint:#8aa39c;--primary:#0e5c56;--primary-hover:#0a4740;--primary-tint:#e3efec;--accent:#b5502c;--accent-tint:#f5e6de;--success:#2f7a5c;--success-tint:#e4f1ea;--danger:#a83b3b;--danger-tint:#fbeaea;--font-display:Georgia, "Source Serif 4", serif;--font-body:"Segoe UI", -apple-system, sans-serif;--font-mono:"Consolas", ui-monospace, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #10262b0f;--shadow-md:0 4px 14px #10262b14;--shadow-lg:0 12px 32px #10262b1f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .3em;font-weight:700}h1{font-size:1.7rem}h2{font-size:1.25rem}a{color:var(--primary)}button{font-family:inherit}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);padding:32px}.auth-brand{font-family:var(--font-display);color:var(--primary);margin-bottom:4px;font-size:1.4rem;font-weight:700}.auth-sub{color:var(--ink-muted);margin-bottom:20px;font-size:.9rem}.auth-switch{text-align:center;color:var(--ink-muted);margin-top:16px;font-size:.87rem}.auth-switch a{color:var(--primary);font-weight:600;text-decoration:none}.field{margin-bottom:14px}.field label{color:var(--ink);margin-bottom:5px;font-size:.82rem;font-weight:600;display:block}input,select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:10px 12px;font-family:inherit;font-size:.92rem}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{background:var(--ink-faint);cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-sunken)}.alert-error{background:var(--danger-tint);color:#7a2e2e;border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 12px;font-size:.85rem}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 32px;display:flex}.topbar-left{align-items:center;gap:28px;display:flex}.topbar-brand{font-family:var(--font-display);color:var(--primary);font-size:1.15rem;font-weight:700;text-decoration:none}.topbar-link{color:var(--ink-muted);border-bottom:2px solid #0000;padding:6px 2px;font-size:.9rem;font-weight:500;text-decoration:none}.topbar-link:hover,.topbar-link.active{color:var(--ink);border-bottom-color:var(--primary)}.topbar-right{align-items:center;gap:14px;display:flex}.topbar-user{color:var(--ink-muted);font-size:.85rem}.page{max-width:920px;margin:0 auto;padding:32px 40px 60px}.page-head{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.search-input{max-width:320px;margin-bottom:20px}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}@media (width<=700px){.table-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-card table{min-width:460px}}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);background:var(--surface-sunken);border-bottom:1px solid var(--border);padding:12px 16px;font-size:.72rem;font-weight:700}td{border-bottom:1px solid var(--border);padding:13px 16px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--primary-tint)}td a{color:var(--ink);font-weight:600;text-decoration:none}td a:hover{color:var(--primary)}.cell-muted{color:var(--ink-faint)}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.badge-doctor{background:var(--primary-tint);color:var(--primary)}.badge-admin{background:var(--accent-tint);color:var(--accent)}.badge-patient{background:var(--success-tint);color:var(--success)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px}.patient-header{margin-bottom:24px}.patient-meta{color:var(--ink-muted);font-size:.88rem}.patient-meta b{color:var(--ink);font-weight:600}.timeline{border-left:2px solid var(--border-strong);margin-left:4px;padding-left:26px;position:relative}.timeline-item{padding-bottom:24px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--surface);border:2.5px solid var(--primary);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:-32px}.timeline-date{font-family:var(--font-mono);color:var(--ink-muted);margin-bottom:5px;font-size:.72rem}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.timeline-title{font-family:var(--font-display);margin-bottom:8px;font-size:1rem;font-weight:700}.timeline-type{font-family:var(--font-body);color:var(--ink-muted);font-size:.75rem;font-weight:400}.timeline-field{margin:0 0 6px;font-size:.87rem}.timeline-field b{color:var(--ink-muted);font-weight:600}.timeline-doctor{color:var(--ink-faint);margin-top:8px;font-size:.75rem}.empty-state{text-align:center;color:var(--ink-muted);padding:40px 20px}.avatar-circle,.avatar-square{background:var(--primary-tint);color:var(--primary);font-weight:700;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-circle{border-radius:50%}.avatar-square{border-radius:var(--radius-md)}.avatar-circle img,.avatar-square img{object-fit:cover;width:100%;height:100%;display:block}.avatar-sm{width:30px;height:30px;font-size:13px}.avatar-lg{width:64px;height:64px;font-size:24px}.avatar-xl{width:96px;height:96px;font-size:34px}.avatar-fill{align-self:stretch;width:140px;height:auto;font-size:34px}.avatar-upload{display:inline-block}.avatar-clickable{cursor:pointer;position:relative}.avatar-overlay{color:#fff;opacity:0;background:#10262b8c;justify-content:center;align-items:center;font-size:16px;transition:opacity .15s;display:flex;position:absolute;inset:0}.avatar-square .avatar-overlay{border-radius:var(--radius-md)}.avatar-circle .avatar-overlay{border-radius:50%}.avatar-clickable:hover .avatar-overlay{opacity:1}.profile-card-row{justify-content:space-between;align-items:stretch;gap:20px;display:flex}.profile-card-fields{flex:1;min-width:0}@media (width<=480px){.avatar-xl{width:72px;height:72px;font-size:26px}}@media (width<=700px){.profile-card-row{gap:12px}.avatar-fill{align-self:stretch;width:84px;height:auto;min-height:auto}.profile-card-fields h2{font-size:1.1rem}.topbar-right .avatar-sm,.topbar-left .topbar-link{display:none}}.btn-row{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.btn-row .btn{flex:none;width:auto}@media (width<=480px){.btn-row{flex-direction:column}.btn-row .btn{width:100%}}.landing{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-body);overflow-x:hidden}.landing h1,.landing h2,.landing h3{font-family:var(--font-display)}.landing-nav{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffe0;position:sticky;top:0}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:14px 24px;display:flex}.landing-brand{font-family:var(--font-display);color:var(--primary);align-items:center;gap:10px;font-size:1.35rem;font-weight:700;display:flex}.landing-logo{background:var(--primary);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.landing-nav-right{align-items:center;gap:12px;display:flex}.landing-btn{text-align:center;width:auto;padding:10px 22px;text-decoration:none;display:inline-block}.landing-btn-lg{border-radius:var(--radius-md);padding:14px 30px;font-size:1rem}.landing-btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.landing-btn-accent:hover{background:#9a4223}.landing-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;max-width:1180px;margin:0 auto;padding:84px 24px 72px;display:grid;position:relative}.landing-hero:before{content:"";z-index:-1;background:radial-gradient(600px 380px at 82% 30%,#0e5c5629,#0000 70%),radial-gradient(420px 300px at 8% 90%,#b5502c1a,#0000 70%),linear-gradient(#10262b0b 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#10262b0b 1px,#0000 1px) 0 0/44px 44px;position:absolute;inset:0 -100vw}.landing-eyebrow{background:var(--primary-tint);color:var(--primary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:700;display:inline-block}.landing-eyebrow-dark{color:#bfe3dd;background:#ffffff1f}.landing-hero h1{letter-spacing:-.02em;margin:20px 0;font-size:3.4rem;line-height:1.08}.landing-hero h1 em{color:var(--accent);font-style:italic}.landing-hero p{color:var(--ink-muted);max-width:520px;margin:0 0 32px;font-size:1.12rem;line-height:1.65}.landing-cta{flex-wrap:wrap;gap:12px;display:flex}.landing-trust{color:var(--ink-muted);flex-wrap:wrap;gap:20px;margin-top:28px;font-size:.85rem;display:flex}.landing-trust span{align-items:center;gap:6px;display:inline-flex}.landing-hero-visual{position:relative}.mock{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:18px;overflow:hidden;transform:rotate(1.6deg)}.mock-bar{background:var(--surface-sunken);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:12px 16px;display:flex}.mock-bar i{background:var(--border-strong);border-radius:50%;width:10px;height:10px}.mock-bar span{color:var(--ink-muted);margin-left:10px;font-size:.8rem;font-weight:600}.mock-body{flex-direction:column;gap:10px;padding:18px 18px 8px;display:flex}.mock-row{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);background:var(--bg);gap:14px;padding:14px;animation:.6s both landing-rise;display:flex}.mock-date{min-width:64px;font-family:var(--font-mono);color:var(--ink-faint);padding-top:2px;font-size:.78rem}.mock-diag{font-size:.95rem;font-weight:600}.mock-sub{color:var(--ink-muted);margin-top:2px;font-size:.8rem}.mock-pdf{border-radius:var(--radius-sm);background:var(--primary);color:#fff;align-self:flex-start;align-items:center;gap:8px;margin:6px 0 12px;padding:8px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.mock-note{color:var(--ink-faint);padding:8px 18px 12px;font-size:.72rem}.mock-badge{background:var(--ink);color:#fff;box-shadow:var(--shadow-md);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.82rem;font-weight:600;display:inline-flex;position:absolute;bottom:36px;left:-22px;transform:rotate(-2deg)}@keyframes landing-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.landing-section{max-width:1180px;margin:0 auto;padding:56px 24px}.landing-section h2{letter-spacing:-.01em;margin:0 0 32px;font-size:2rem}.landing-steps{grid-template-columns:repeat(3,1fr);gap:20px;display:grid;position:relative}.landing-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.landing-step-num{background:var(--accent-tint);width:40px;height:40px;color:var(--accent);font-family:var(--font-display);border-radius:50%;place-items:center;margin-bottom:14px;font-size:1.15rem;font-weight:700;display:grid}.landing-step h3{margin:0 0 8px;font-size:1.15rem}.landing-step p{color:var(--ink-muted);margin:0;font-size:.95rem;line-height:1.55}.landing-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px;transition:transform .2s,box-shadow .2s,border-color .2s}.landing-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-4px)}.landing-card-icon{background:var(--primary-tint);width:46px;height:46px;color:var(--primary);border-radius:12px;place-items:center;margin-bottom:16px;display:grid}.landing-card h3{margin:0 0 8px;font-size:1.1rem}.landing-card p{color:var(--ink-muted);margin:0;font-size:.93rem;line-height:1.55}.landing-security{color:#fff;background:linear-gradient(135deg,#0a3f3b,#10262b);margin:24px 0;padding:72px 24px}.landing-security-inner{grid-template-columns:1fr 1fr;align-items:center;gap:56px;max-width:1180px;margin:0 auto;display:grid}.landing-security h2{letter-spacing:-.01em;margin:16px 0 14px;font-size:2.2rem}.landing-security p{color:#a9c7c2;max-width:440px;margin:0;line-height:1.65}.landing-security ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.landing-security li{border-radius:var(--radius-md);background:#ffffff12;border:1px solid #ffffff1a;align-items:center;gap:14px;padding:16px 18px;line-height:1.4;display:flex}.landing-check{color:#fff;background:#2f7a5c;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.landing-final{text-align:center;max-width:760px;margin:0 auto;padding:72px 24px}.landing-final h2{letter-spacing:-.01em;margin:0 0 28px;font-size:2.1rem}.landing-final .landing-cta{justify-content:center}.landing-footer{border-top:1px solid var(--border);max-width:1180px;color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;padding:24px;font-size:.85rem;display:flex}@media (width<=960px){.landing-hero{grid-template-columns:1fr;padding-top:56px}.landing-hero h1{font-size:2.6rem}.landing-hero-visual{width:100%;max-width:460px;margin:0 auto}.landing-steps{grid-template-columns:1fr}.landing-grid{grid-template-columns:repeat(2,1fr)}.landing-security-inner{grid-template-columns:1fr;gap:32px}}@media (width<=560px){.landing-nav-inner{padding:12px 16px}.landing-hero{padding:40px 16px 48px}.landing-hero h1{font-size:2.1rem}.landing-grid{grid-template-columns:1fr}.landing-section{padding:40px 16px}.mock-badge{left:8px}.landing-footer{flex-direction:column;padding:20px 16px}}.hero-art{width:100%;height:auto;display:block}.landing-hero-visual .mock{width:62%;position:absolute;top:-6px;right:-14px;transform:rotate(1.6deg)}.landing-hero-visual .mock-body{padding-bottom:14px}.landing-hero-visual .mock-note{text-align:center;padding:6px 0 0;position:static}@media (width<=560px){.landing-hero-visual .mock{width:70%;right:0}}.hero-photo{object-fit:cover;width:100%;height:440px;box-shadow:var(--shadow-lg);border-radius:24px;margin-top:40px;display:block}.landing{isolation:isolate}.landing-hero:before{background:radial-gradient(700px 420px at 78% 40%,#3fb8a647,#0000 70%),radial-gradient(500px 360px at 6% 100%,#b5502c38,#0000 70%),linear-gradient(135deg,#0a3f3b 0%,#10262b 100%)}.landing-hero{padding-top:96px;padding-bottom:120px}.landing-hero h1{color:#fff}.landing-hero h1 em{color:#f2a27c}.landing-hero p{color:#a9c7c2}.landing-hero .landing-eyebrow{color:#bfe8e1;background:#ffffff1f}.landing-hero .btn-primary{color:#0a3f3b;background:#fff;border-color:#fff}.landing-hero .btn-primary:hover{background:#e3efec}.landing-hero .btn-secondary{color:#fff;background:0 0;border-color:#fff6}.landing-hero .btn-secondary:hover{background:#ffffff1a}.landing-trust{color:#a9c7c2}.landing-trust svg{color:#3fb8a6}.ecg{z-index:-1;pointer-events:none;width:100vw;height:96px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ecg-base{stroke:#3fb8a638;stroke-width:2px}.ecg-line{stroke:#5ee0cb;stroke-width:3px;stroke-dasharray:.12 1;stroke-dashoffset:0;filter:drop-shadow(0 0 6px #5ee0cbe6);animation:4.5s linear infinite ecg-run}@keyframes ecg-run{0%{stroke-dashoffset:.12px}to{stroke-dashoffset:-1px}}.stage{height:470px;position:relative}.stage-rings i{border:1px solid #5ee0cb47;border-radius:50%;animation:5s ease-out infinite ring;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.stage-rings i:first-child{width:230px;height:230px}.stage-rings i:nth-child(2){width:330px;height:330px;animation-delay:1.2s}.stage-rings i:nth-child(3){width:430px;height:430px;animation-delay:2.4s}@keyframes ring{0%,to{opacity:.35}50%{opacity:1}}.stage-shield{filter:drop-shadow(0 12px 40px #3fb8a68c);animation:6s ease-in-out infinite float;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translate(-50%,-53%)}50%{transform:translate(-50%,-47%)}}.landing-hero-visual .stage-a{width:270px;animation:.7s both landing-rise;top:6px;left:0;right:auto;transform:rotate(-3deg)}.stage-card{box-shadow:var(--shadow-lg);color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex;position:absolute}.stage-b{flex-direction:column;align-items:flex-start;gap:4px;width:240px;animation:.7s .2s both landing-rise;top:130px;right:0;transform:rotate(3deg)}.stage-c{animation:.7s .4s both landing-rise;bottom:36px;left:36px;transform:rotate(-2deg)}.stage-card-title{font-size:.92rem;font-weight:700}.stage-card-title .rx{color:var(--accent);font-family:var(--font-display);margin-right:4px;font-size:1.1rem}.stage-line{color:var(--ink);font-size:.82rem}.stage-line-muted{color:var(--ink-muted);font-size:.78rem}.stage-pdf{background:var(--accent-tint);width:42px;height:42px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.landing-hero-visual .stage-lock{background:#0e5c56;border:1px solid #ffffff40;bottom:54px;left:auto;right:24px}.landing-hero-visual .mock-note{color:#7fa8a1;text-align:center;padding-top:10px}@media (width<=960px){.landing-hero{padding-bottom:96px}.stage{max-width:460px;margin:0 auto}}@media (width<=560px){.stage{height:440px}.landing-hero-visual .stage-a{width:230px}.stage-b{width:200px;top:150px}}.stage-shield{top:42%;left:58%}.stage-shield svg{width:170px;height:auto}.stage-rings i{top:42%;left:58%}.landing-hero-visual .stage-a{width:235px;top:0}.stage-b{width:225px;top:262px;right:-6px}.stage-c{bottom:30px;left:6px}.landing-hero-visual .stage-lock{display:none;bottom:56px;right:10px}.landing-hero-visual .stage-a{width:262px}.landing-hero-visual .stage-a .mock-date{min-width:44px}.landing-security h2{color:#fff}.landing-hero h1{font-size:3.6rem}@media (width<=720px){.landing-hero h1{font-size:2.4rem}}.q-lead{color:var(--ink-muted);max-width:640px;margin:-8px 0 24px;line-height:1.6}.q-section{margin-bottom:36px}.q-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.q-h2{font-family:var(--font-display);color:var(--ink);margin:0 0 14px;font-size:1.35rem}.q-section-head .q-h2{margin:0}.q-search{max-width:280px;margin:0}.q-muted{color:var(--ink-muted);font-size:.9rem}.q-note{color:var(--ink-faint);margin:10px 0 0;font-size:.85rem}.q-btn-auto{width:auto;padding-left:20px;padding-right:20px}.q-btn-sm{align-self:center;width:auto;padding:8px 14px}.q-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.q-doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px;display:flex}.q-doc-off{opacity:.6}.q-doc-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.q-doc-name{color:var(--ink);margin-bottom:2px;font-size:1.05rem;font-weight:600}.q-hours{font-family:var(--font-mono);color:var(--primary);background:var(--primary-tint);border-radius:var(--radius-sm);white-space:nowrap;padding:4px 8px;font-size:.8rem}.q-doc-stats,.q-my-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.q-my-stats{grid-template-columns:repeat(2,minmax(0,140px));margin-top:10px}.q-doc-stats div,.q-my-stats div{background:var(--surface-sunken);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.q-doc-stats span,.q-my-stats span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.q-doc-stats b,.q-my-stats b{color:var(--ink);font-size:1.1rem}.q-my-list{flex-direction:column;gap:12px;display:flex}.q-my{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:stretch;gap:20px;padding:16px 20px;display:flex}.q-my-called{border-left-color:var(--accent);background:var(--accent-tint)}.q-my-done,.q-my-cancelled,.q-my-no_show{border-left-color:var(--border-strong);box-shadow:none;opacity:.75}.q-my-num{border-right:1px dashed var(--border-strong);flex-direction:column;justify-content:center;align-items:center;min-width:84px;padding-right:18px;display:flex}.q-my-num span{color:var(--ink-muted);text-transform:uppercase;font-size:.72rem}.q-my-num b{font-family:var(--font-display);color:var(--primary);font-size:2.6rem;line-height:1}.q-my-called .q-my-num b{color:var(--accent)}.q-my-body{flex:1;min-width:0}.q-my-doctor{color:var(--ink);font-weight:600}.q-callout{color:var(--accent);margin-top:10px;font-weight:600}.q-doctor-top{grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:32px;display:grid}.q-current{color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#0a3f3b,#10262b);flex-direction:column;gap:6px;padding:28px;display:flex}.q-current-label{text-transform:uppercase;letter-spacing:.08em;color:#a9c7c2;font-size:.8rem}.q-current-num{font-family:var(--font-display);font-size:4.5rem;line-height:1}.q-current-name,.q-current-name a{color:#fff;font-size:1.2rem}.q-current .q-muted{color:#a9c7c2}.q-current-empty{color:#a9c7c2;padding:24px 0;font-size:1.2rem}.q-current-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.q-current-actions .btn{width:auto;padding-left:22px;padding-right:22px}.q-current .btn-primary{color:var(--primary);background:#fff}.q-current .btn-primary:hover{background:#e3efec}.q-current .btn-secondary{color:#fff;background:0 0;border-color:#ffffff59}.q-summary{grid-template-columns:1fr 1fr;gap:12px;display:grid}.q-summary div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:16px;display:flex}.q-summary span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.q-summary b{color:var(--ink);font-size:1.3rem}.q-src{background:var(--surface-sunken);color:var(--ink-muted);border-radius:999px;padding:3px 8px;font-size:.75rem}.q-src-online{background:var(--primary-tint);color:var(--primary)}.q-src-kiosk{background:var(--accent-tint);color:var(--accent)}.q-link{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.q-link:disabled{opacity:.5}.q-settings{margin-bottom:24px}.q-form-grid{grid-template-columns:repeat(3,1fr);align-items:end;gap:0 16px;display:grid}.q-check{color:var(--ink);align-items:center;gap:8px;margin-bottom:18px;display:flex}.q-settings-foot{align-items:center;gap:14px;display:flex}.q-registry{grid-template-columns:1fr 1fr;align-items:start;gap:20px;margin-bottom:32px;display:grid}.q-issue select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;padding:10px 12px}.q-issued{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.q-board{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.q-board-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.q-board-head{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.q-board-now{background:var(--primary-tint);border-radius:var(--radius-sm);margin-bottom:8px;padding:8px 10px;font-size:.9rem}.q-board-col ul{margin:0;padding:0;list-style:none}.q-board-col li{border-bottom:1px solid var(--border);grid-template-columns:36px 1fr auto;gap:8px;padding:6px 0;font-size:.9rem;display:grid}.q-board-col li:last-child{border-bottom:none}.ticket-slip{color:#000;border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;width:280px;font-family:var(--font-body);background:#fff;padding:20px}.ticket-slip-brand{font-family:var(--font-display);color:var(--primary);margin-bottom:10px;font-size:1.1rem;font-weight:700}.ticket-slip-label{text-transform:uppercase;letter-spacing:.08em;color:#555;font-size:.75rem}.ticket-slip-number{font-family:var(--font-display);margin:4px 0 10px;font-size:5rem;font-weight:700;line-height:1}.ticket-slip-doctor{font-weight:600}.ticket-slip-meta{color:#555;margin-bottom:12px;font-size:.85rem}.ticket-slip-row{border-top:1px dashed #bbb;justify-content:space-between;margin-top:8px;padding:8px 0 0;font-size:.95rem;display:flex}.ticket-slip-foot{color:#777;margin-top:12px;font-size:.75rem}.kiosk{background:var(--bg);min-height:100vh;padding:24px 40px 40px}.kiosk-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.kiosk-brand{font-family:var(--font-display);color:var(--primary);font-size:1.8rem;font-weight:700}.kiosk-title{font-family:var(--font-display);color:var(--ink);text-align:center;margin:0 0 24px;font-size:2.4rem}.kiosk-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.kiosk-doc{text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font:inherit;box-shadow:var(--shadow-md);flex-direction:column;gap:6px;padding:26px;transition:border-color .15s,transform .15s;display:flex}.kiosk-doc:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px)}.kiosk-doc:disabled{opacity:.5;cursor:not-allowed}.kiosk-doc-spec{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.85rem;font-weight:600}.kiosk-doc-name{font-family:var(--font-display);color:var(--ink);font-size:1.6rem}.kiosk-doc-meta{color:var(--ink-muted)}.kiosk-done{flex-direction:column;align-items:center;gap:18px;padding-top:30px;display:flex}.kiosk-done .ticket-slip{width:340px}.kiosk-take{color:var(--ink);font-size:1.3rem}.kiosk-btn{padding:14px 40px;font-size:1.1rem}.kiosk-setup{text-align:center;max-width:420px;margin:15vh auto 0}.kiosk-setup form{flex-direction:column;gap:12px;margin-top:20px;display:flex}.kiosk-setup input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;padding:12px}@media (width<=860px){.q-doctor-top,.q-registry{grid-template-columns:1fr}.q-form-grid{grid-template-columns:1fr 1fr}.kiosk{padding:16px}}@media (width<=560px){.q-my{flex-direction:column;gap:10px}.q-my-num{border-right:none;border-bottom:1px dashed var(--border-strong);flex-direction:row;justify-content:flex-start;gap:10px;padding:0 0 10px}.q-form-grid{grid-template-columns:1fr}.q-search{width:100%;max-width:none}}@media print{body *{visibility:hidden}.q-print-area,.q-print-area *{visibility:visible}.q-print-area{position:absolute;top:0;left:0}.ticket-slip{border:none;width:72mm}}.table-card+.q-h2{margin-top:32px}.q-board-col li.q-board-empty{display:block}@media (width<=700px){.topbar{flex-wrap:wrap;row-gap:10px;padding:12px 16px}.topbar-left{gap:16px}.topbar-left .topbar-link.q-nav{white-space:nowrap;display:inline-block}.topbar-user{display:none}}.q-search-wide{width:100%;max-width:none;margin:0 0 18px;padding:14px 16px;font-size:1rem}.q-spec-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.q-spec{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font:inherit;box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.q-spec:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.q-spec-name{font-family:var(--font-display);color:var(--ink);font-size:1.15rem;font-weight:600}.q-spec-meta{color:var(--ink-muted);font-size:.85rem}.q-back{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;margin:0 0 16px;padding:0;font-weight:600}.q-group{margin-bottom:24px}.q-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 10px;font-size:.8rem}.q-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;padding:10px 12px}.q-hint{background:var(--accent-tint);color:var(--ink);border-radius:var(--radius-md);margin-bottom:20px;padding:12px 16px}.q-hint .q-back{margin:0}.kiosk-spec{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.kiosk-spec .q-spec{border-radius:var(--radius-lg);border-width:2px;padding:30px 26px}.kiosk-spec .q-spec-name{font-size:1.7rem}.kiosk-spec .q-spec-meta{font-size:1rem}.kiosk-back{font-size:1.2rem}.q-check input{flex:none;width:auto;margin:0}.q-check{justify-content:flex-start}.q-form-grid-2{grid-template-columns:1fr 1fr;align-items:start}.q-spec-cell{align-items:center;gap:8px;display:inline-flex}.q-select-sm{min-width:180px;padding:6px 8px;font-size:.85rem}.q-select-empty{border-color:var(--accent);color:var(--accent)}.q-ok{color:var(--success);font-weight:700}.q-err{color:var(--danger);font-weight:700}.page-wide{max-width:1180px}.au-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.au-tabs{flex-wrap:wrap;gap:6px;display:flex}.au-tab{background:var(--surface);border:1px solid var(--border);font:inherit;color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.88rem}.au-tab span{color:var(--ink-faint);margin-left:4px;font-size:.78rem}.au-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.au-tab.active span{color:#cfe3df}.au-search{max-width:300px;margin:0}.au-table td{vertical-align:middle}.au-clip{overflow-wrap:anywhere;max-width:240px}.au-inactive td{opacity:.55}.au-inactive td:last-child{opacity:1}.au-status{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;color:var(--danger);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-size:.8rem}.au-status.off{color:var(--success)}.au-status:hover{background:var(--surface-sunken)}.au-more{width:auto;margin-top:14px}@media (width<=700px){.au-search{width:100%;max-width:none}.au-table{min-width:860px}}.q-arrive{border-radius:var(--radius-md);background:var(--accent-tint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px 14px;display:flex}.q-arrive p{color:var(--ink);flex:1;min-width:220px;margin:0;font-size:.88rem;line-height:1.5}.q-arrived{color:var(--success);margin-top:10px;font-size:.9rem;font-weight:600}.q-pending{color:var(--accent);font-size:.72rem;font-weight:500}.q-note-top{margin:-6px 0 12px}.q-link-ok{color:var(--primary);font-weight:600}.q-board-pending{border-top:1px dashed var(--border-strong);margin-top:10px;padding-top:8px}.q-board-pending-title{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:4px;font-size:.72rem}.q-board-pending-row{grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:4px 0;font-size:.88rem;display:grid}.q-state{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-block}.q-state-here{background:var(--success-tint);color:var(--success)}.q-state-away{background:var(--accent-tint);color:var(--accent)}.q-act{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;cursor:pointer;white-space:nowrap;padding:5px 10px;font-size:.8rem}.q-act:hover:not(:disabled){background:var(--surface-sunken)}.q-act:disabled{opacity:.5;cursor:default}.q-act-danger{color:var(--danger)}.q-act-ok{color:var(--primary);font-weight:600}.q-board-pending-row .q-act{padding:3px 8px;font-size:.75rem}
