.kp-portal{background:var(--k-bg);color:var(--k-text);min-height:100vh;font-family:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, sans-serif}.kp-portal .ptHeader{background:var(--k-bg);border-bottom:1px solid var(--k-border);flex-direction:column;align-items:center;gap:10px;padding:16px 20px;display:flex;position:relative}.kp-portal .ptHeader .k-logo{width:auto;height:26px;display:block}.kp-portal .ptHeader .k-mark-corner{height:20px;position:absolute;top:16px;left:16px}.kp-portal .ptHeader .k-clinic-logo{width:auto;height:56px;display:block}@media (max-width:639px){.kp-portal .ptHeader .k-clinic-logo{height:48px}.kp-portal .ptHeader[data-branded=true] .ptBack{order:99;align-self:flex-start;position:static}}.kp-portal .ptHeader h1{color:var(--k-text);font-family:var(--font-playfair), Georgia, serif;text-align:center;margin:0;font-size:22px;font-weight:600}.kp-portal .ptBack{color:var(--k-text-tertiary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:15px;text-decoration:none;display:none;position:absolute;top:16px;left:16px}@media (max-width:639px){.kp-portal .ptBack{display:inline-block}}.kp-portal .ptBack:hover{color:var(--k-text)}.kp-portal .ptNav{background:var(--k-surface);border-top:1px solid var(--k-border-subtle);padding:0 20px;display:none}.kp-portal .ptNav .navrow{flex-wrap:wrap;gap:18px;padding:10px 0;display:flex}.kp-portal .ptNav button{color:var(--k-text-tertiary);cursor:pointer;font-size:15px;font-family:var(--font-geist-sans), sans-serif;background:0 0;border:none;padding:4px 0}.kp-portal .ptNav button.on{color:var(--k-gold);border-bottom:2px solid var(--k-gold);font-weight:600}.kp-portal .ptBody{color:var(--k-text);max-width:640px;margin:0 auto;padding:20px}.kp-portal .ptBody h2{font-family:var(--font-playfair), Georgia, serif;color:var(--k-text);margin:0 0 10px;font-size:30px;font-weight:600;line-height:1.2}.kp-portal .ptBody .intro{color:var(--k-text-secondary);margin:0 0 18px;font-size:19px;line-height:1.5}.kp-portal a{color:var(--k-gold)}.kp-portal a[href^=tel\:]{white-space:nowrap}.kp-portal .card{background:var(--k-surface);border:1px solid var(--k-border);border-radius:12px;margin-bottom:14px;padding:18px;box-shadow:0 2px 8px #0006,0 8px 24px #0003}.kp-portal .card h3{font-family:var(--font-playfair), Georgia, serif;color:var(--k-text);margin:0 0 4px;font-size:20px;font-weight:600}.kp-portal .card .sub{color:var(--k-text-secondary);margin:0 0 2px;font-size:17px}.kp-portal .badge-new{background:var(--k-gold);color:var(--k-bg);letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-block}.kp-portal .homecard{cursor:pointer;background:var(--k-surface);border:1px solid var(--k-border);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;width:100%;margin-bottom:14px;padding:18px;font-family:inherit;transition:border-color .15s,background .15s;display:flex;box-shadow:0 2px 8px #0006,0 8px 24px #0003}.kp-portal .homecard:hover,.kp-portal .homecard:disabled:hover{background:var(--k-surface-raised);border-color:#c2a46d66}.kp-portal .homecard:disabled{cursor:default;opacity:.7}.kp-portal .homecard .t{font-family:var(--font-playfair), Georgia, serif;color:var(--k-text);margin:0 0 4px;font-size:19px;font-weight:600}.kp-portal .homecard .s{color:var(--k-text-secondary);margin:0;font-size:17px}.kp-portal .homecard .chev{color:var(--k-gold);flex-shrink:0;font-size:22px}.kp-portal .careteam{color:var(--k-text-tertiary);margin:-4px 0 18px;font-size:17px}.kp-portal .careteam b{color:var(--k-text-secondary)}.kp-portal label.fl{color:var(--k-text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:15px;font-weight:600;font-family:var(--font-geist-mono), ui-monospace, monospace;margin:0 0 6px;display:block}.kp-portal .fieldwrap{margin-bottom:16px}.kp-portal .fieldwrap .hint{color:var(--k-text-secondary);margin:5px 0 0;font-size:17px}.kp-portal input.ptinput{border:1px solid var(--k-border);background:var(--k-surface);width:100%;font-size:19px;font-family:var(--font-geist-sans), sans-serif;color:var(--k-text);border-radius:10px;padding:14px}.kp-portal input.ptinput::placeholder{color:var(--k-text-muted)}.kp-portal input.ptinput:focus{border-color:var(--k-gold);outline:2px solid #c2a46d59}.kp-portal .err-line{color:var(--k-red);margin:6px 0 0;font-size:15px}.kp-portal .btn{cursor:pointer;text-align:center;width:100%;min-height:52px;font-size:17px;font-weight:700;font-family:var(--font-geist-sans), sans-serif;letter-spacing:.03em;border:none;border-radius:10px;margin:0 0 12px;padding:16px 14px;display:block}.kp-portal .btn:disabled{opacity:.6;cursor:default}.kp-portal .btn-primary{background:var(--k-gold);color:var(--k-bg)}.kp-portal .btn-primary:hover:not(:disabled){background:#d4b685}.kp-portal .btn-secondary{color:var(--k-gold);border:2px solid var(--k-gold);background:0 0}.kp-portal .btn-secondary:hover:not(:disabled){background:var(--k-gold-dim)}.kp-portal .btn-link{color:var(--k-gold);cursor:pointer;font-size:17px;font-family:var(--font-geist-sans), sans-serif;background:0 0;border:none;padding:6px 0;text-decoration:underline;display:inline-block}.kp-portal .row-btns{flex-direction:column;gap:10px;display:flex}.kp-portal .footerline{text-align:center;color:var(--k-text-secondary);margin-top:16px;font-size:17px}.kp-portal .footerline a{color:var(--k-gold);font-weight:600}.kp-portal .helpbox{background:var(--k-surface);border:1px solid var(--k-border-subtle);color:var(--k-text);border-radius:12px;margin-top:16px;padding:14px;font-size:19px;line-height:1.5}.kp-portal .noticebox{background:linear-gradient(180deg, var(--k-surface-raised) 0%, var(--k-surface) 100%);border:1px solid var(--k-border);text-align:center;border-radius:14px;padding:22px;box-shadow:0 4px 20px #00000080}.kp-portal .noticebox h2{font-family:var(--font-playfair), Georgia, serif;color:var(--k-text);margin:0 0 10px;font-size:24px;font-weight:600}.kp-portal .noticebox p{color:var(--k-text-secondary);font-size:19px;line-height:1.5}.kp-portal .codebig{letter-spacing:.3em;text-align:center;font-size:34px;font-weight:700;font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--k-text)}.kp-portal .docrow{border-bottom:1px solid var(--k-border-subtle);padding:14px 0}.kp-portal .docrow:last-child{border-bottom:none}.kp-portal .docrow .dtitle{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kp-portal .docbtns{grid-template-columns:1fr;gap:8px;margin-top:10px;display:grid}.kp-portal .docbtns button{white-space:nowrap;width:100%;min-width:0;margin:0}@media (min-width:520px){.kp-portal .docbtns{grid-template-columns:repeat(3,1fr)}}@media (min-width:520px) and (max-width:719px){.kp-portal .docbtns button{font-size:14px}}.kp-portal .radiocard{border:2px solid var(--k-border);cursor:pointer;background:var(--k-surface);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:14px;display:flex}.kp-portal .radiocard.on{border-color:var(--k-gold);background:var(--k-gold-dim)}.kp-portal .radiocard input{margin-top:3px;transform:scale(1.3)}.kp-portal .radiocard .rt{color:var(--k-text);font-size:17px;font-weight:600}.kp-portal .radiocard .rs{color:var(--k-text-secondary);font-size:15px}.kp-portal .checkline{color:var(--k-text);align-items:flex-start;gap:10px;margin:12px 0;font-size:17px;line-height:1.4;display:flex}.kp-portal .checkline input{margin-top:4px;transform:scale(1.3)}.kp-portal .emptystate{text-align:center;color:var(--k-text-tertiary);padding:30px 10px;font-size:17px;line-height:1.5}.kp-portal .pdfpage{color:#1a1a1a;background:#fff;border:1px solid #ddd;border-radius:4px;padding:0;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.55;overflow:hidden}.kp-portal .pdfframe{border:none;width:100%;height:70vh;display:block}.kp-portal .doctopbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.kp-portal .doctopbar h2{color:var(--k-text)}.kp-portal .doctopbar .dtbtns{gap:8px;display:flex}.kp-portal .doctopbar .dtbtns button{min-height:unset;width:auto;padding:8px 12px;font-size:14px}.kp-portal .chip{background:var(--k-surface-raised);border:1px solid var(--k-border);color:var(--k-text-secondary);border-radius:10px;align-items:center;gap:8px;margin:4px 6px 4px 0;padding:8px 12px;font-size:15px;display:inline-flex}.kp-portal .chip .x{cursor:pointer;color:var(--k-red);font-weight:700}.kp-portal .sendingline{text-align:center;color:var(--k-text-secondary);padding:16px;font-size:17px}.kp-portal .textarea-note{border:1px solid var(--k-border);width:100%;font-size:17px;font-family:var(--font-geist-sans), sans-serif;background:var(--k-surface);min-height:70px;color:var(--k-text);border-radius:10px;padding:12px}.kp-portal .msgbubble{border-radius:12px;max-width:82%;margin-bottom:4px;padding:10px 14px;font-size:19px;line-height:1.4}.kp-portal .msgbubble.patient{background:var(--k-surface-raised);color:var(--k-text);border:1px solid #c2a46d4d;margin-left:auto}.kp-portal .msgbubble.staff{background:var(--k-gold-dim);color:var(--k-text);border:1px solid #c2a46d40}.kp-portal .msgrow{margin-bottom:14px}.kp-portal .msgrow.patient{text-align:right}.kp-portal .msgwho{color:var(--k-text-tertiary);margin:0 0 3px;font-size:13px}.kp-portal .msgtime{color:var(--k-text-tertiary);font-size:13px;font-family:var(--font-geist-mono), ui-monospace, monospace;margin:3px 0 0}.kp-portal .sentmark{color:var(--k-text-tertiary);text-align:right;margin-top:2px;font-size:13px}.kp-portal .composebar{background:var(--k-bg);border-top:1px solid var(--k-border);align-items:flex-end;gap:8px;margin:0 -20px -20px;padding:12px;display:flex;position:sticky;bottom:0}.kp-portal .composebar textarea{border:1px solid var(--k-border);font-size:17px;font-family:var(--font-geist-sans), sans-serif;resize:none;background:var(--k-surface);min-height:46px;color:var(--k-text);border-radius:10px;flex:1;padding:10px 12px}.kp-portal .composebar button{width:auto;min-height:46px;margin:0;padding:0 16px}.kp-portal .composebar .btn{min-width:0}.kp-portal .msgintro{background:var(--k-surface);border:1px solid var(--k-border-subtle);color:var(--k-text-secondary);border-radius:12px;margin-bottom:14px;padding:14px;font-size:19px;line-height:1.5}@media (min-width:720px){.kp-portal .ptNav{display:block}.kp-portal .ptBody{padding:30px 36px}.kp-portal .ptBody .intro{font-size:18px}.kp-portal .btn{width:auto;min-width:220px;display:inline-block}.kp-portal .row-btns{flex-direction:row}.kp-portal .helpbox{font-size:18px}.kp-portal .homegrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.kp-portal .homegrid .homecard.full{grid-column:1/-1}.kp-portal .msgbubble,.kp-portal .msgintro{font-size:18px}.kp-portal .composebar{margin:0}}
