:root{--bg:#f3f7fb;--surface:#fff;--text:#1b2330;--muted:#5f6f83;--line:#d9e2ec;--brand:#0c4a7d;--brand-strong:#07365c;--success:#1f7a45}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 0% 0%,#e8f1fb 0%,transparent 35%),radial-gradient(circle at 100% 10%,#e6f6ff 0%,transparent 28%),var(--bg);margin:0;font-family:Avenir Next,Segoe UI,Noto Sans,system-ui,-apple-system,sans-serif}a{color:var(--brand);text-decoration:none}h1,h2{margin:0 0 12px}p{color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:10px 12px;font-size:17px}textarea{resize:vertical}.admin-page{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;padding:20px;box-shadow:0 8px 24px #0b22380f}.table-wrap{width:100%;overflow-x:auto}.sort-controls,.table-toolbar{align-items:center;gap:10px;margin:16px 0;display:flex}.table-toolbar label{color:#30445d;white-space:nowrap;font-weight:700}.table-toolbar input{border:1px solid var(--line);width:min(360px,100%);font:inherit;border-radius:10px;padding:9px 12px}.result-count{color:#60758f;white-space:nowrap;font-size:13px}.sort-header{color:inherit;font:inherit;font-weight:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}th.col-numeric .sort-header{justify-content:flex-end;width:100%}.sort-header:hover,.sort-header.is-active{color:var(--brand)}.sort-indicator{color:#8495a8;font-size:12px}.sort-header.is-active .sort-indicator{color:var(--brand)}.status-help{text-align:center;color:#0c4a7d;cursor:help;background:#e8f2ff;border:1px solid #bfd8f3;border-radius:999px;width:18px;height:18px;font-size:12px;font-weight:700;line-height:18px;display:inline-block}.subscription-icon,.status-icon{border-radius:8px;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:inline-grid}.subscription-icon{color:#60758f;background:#f6f9fc;border:1px solid #cbd8e5}.subscription-icon.is-full{color:#0e6040;background:#eaf6ee;border-color:#9dcdb2}.status-icon{color:#1f7a45;width:28px;font-size:14px}.status-icon.is-expired{color:#b45309}.status-icon.is-blocked{color:#b42318}.status-icon.is-unknown{color:#738399}.empty-results{color:#60758f;text-align:center;padding:28px 10px}.table-total-row>*{color:#1e4a30;background:#edf5ee;border-top:2px solid #a8c8ab;border-bottom:0;font-weight:750}.table-total-row th{text-align:left}.table-total-row th span{color:#597364;margin-top:2px;font-size:11px;font-weight:600;display:block}@media (max-width:640px){.table-toolbar{flex-wrap:wrap;align-items:stretch}.table-toolbar input{flex:100%}}.sort-controls label{color:#30445d;font-weight:700}.sort-controls select{width:auto;min-width:180px;padding:8px 10px;font-size:15px}.sort-controls .btn{padding:10px 16px;font-size:15px}table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:12px 10px}th{color:#2d3c51;font-size:13px;font-weight:700}.col-numeric{font-variant-numeric:tabular-nums}table th.col-numeric,table td.col-numeric{text-align:right!important}.num-right{text-align:right;width:100%;display:block}.col-alert{color:#a4252e;font-weight:700}.btn{cursor:pointer;border:0;border-radius:14px;padding:14px 22px;font-size:20px;font-weight:700;line-height:1}.btn-primary{background:var(--brand);color:#fff}.btn-secondary{color:#183249;background:#e6edf5}.btn-danger{color:#fff;background:#a4252e}.btn-danger:hover{background:#7f1b22}.btn-danger:disabled{cursor:wait;opacity:.65}.practice-delete-status,.practice-delete-error{margin:12px 0 0}.practice-delete-error{color:#632435;background:#f5e6e8;border-left:3px solid #a4252e;padding:12px}.btn-link{color:#0c4a7d;background:#dcecff;border:1px solid #bfd8f3;border-radius:999px;padding:8px 14px;font-weight:700;display:inline-block}.section{background:#f9fcff;border:1px solid #e1ebf4;border-radius:14px;padding:16px}.form-grid{gap:10px;max-width:680px;display:grid}.form-table{border-collapse:separate;border-spacing:0 4px;width:100%;max-width:100%}.form-table th,.form-table td{vertical-align:middle;border:0;padding:2px 6px}.form-table th{color:#30445d;white-space:nowrap;width:340px;font-weight:700}.form-table td{width:100%}.form-table td input,.form-table td select,.form-table td textarea{width:min(100%,980px);max-width:980px}.notes-field{background:#f7fbff;width:100%;min-width:0;padding:8px 9px;font-size:12px;line-height:1.25}.action-row{gap:12px;margin-top:10px;display:flex}.debug-log-filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px;display:grid}.debug-log-filters label{color:#30445d;gap:6px;font-size:14px;font-weight:700;display:grid}.debug-log-filters input,.debug-log-filters select{padding:8px 10px;font-size:14px}.debug-log-filters .multi-filter{min-height:132px}.debug-log-filters .filter-help{color:#63748a;grid-column:1/-1;align-self:end;font-size:12px}.debug-log-filter-actions{align-items:end;gap:10px;display:flex}.debug-log-pagination{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.debug-log-pagination>div{gap:8px;display:flex}.debug-log-description{white-space:pre-wrap;word-break:break-word}.audit-alerts{color:#713b0b;background:#fff8ed;border:1px solid #f1c39e;border-left:4px solid #b45309;border-radius:10px;margin:14px 0;padding:12px 14px;font-size:13px}.audit-alerts div{margin-top:4px}.audit-action-delete,.audit-action-securityEvent,.audit-action-export{color:#a4252e;font-weight:700}.log-type-error{color:#b00020;font-weight:700}.log-type-warning{color:#d97706;font-weight:700}.log-type-info{color:#111;font-weight:700}:root{--ink:#242222;--paper:#fafafa;--cream:#fff;--green:#717f6e;--mint:#e2e7df;--orange:#8a3f55;--line:#d9d9d9;--brand:#772f44;--brand-deep:#642539;--text:var(--ink);--muted:#65605f;--surface:var(--cream)}body{background:var(--paper);font-family:Helvetica,Verdana,Arial,sans-serif}body:before{z-index:-1;content:"";opacity:.28;background:linear-gradient(135deg,transparent 0 62%,var(--mint)62% 100%);position:fixed;inset:0}.admin-frame{min-height:100vh}.admin-header{color:var(--cream);z-index:20;-webkit-backdrop-filter:blur(16px)saturate(115%);backdrop-filter:blur(16px)saturate(115%);background:#772f44f0;border-bottom:1px solid #ffffff3d;align-items:center;gap:1.35rem;padding:.75rem clamp(1.2rem,3vw,3rem);display:flex;position:sticky;top:0;box-shadow:0 8px 24px #3e15231f}.admin-brand{flex:none;line-height:0;display:inline-flex}.admin-brand img{width:8.8rem;height:auto}.admin-nav{flex:1;gap:1.2rem;display:flex;overflow-x:auto}.admin-nav a{color:#ffffffdb;letter-spacing:.01em;white-space:nowrap;padding:.55rem 0;font-size:.76rem;font-weight:700}.admin-nav a:hover{color:var(--mint)}.admin-signout{color:var(--brand);cursor:pointer;font:inherit;background:#ffffffed;border:0;border-radius:99px;padding:.62rem .92rem;font-size:.75rem;font-weight:700}.admin-main{max-width:1780px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.admin-page{border:1px solid #2422222e;border-radius:0;padding:clamp(1.25rem,3vw,2.1rem);box-shadow:10px 10px #e2e7dfe0}.admin-page>h1{letter-spacing:-.05em;font-size:clamp(2rem,3.5vw,3.35rem);line-height:1}.admin-page>p{max-width:54rem}.admin-kicker,.subscribe-kicker{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .65rem;font-size:.71rem;font-weight:800}input,select,textarea{border-color:#24222242;border-radius:0;font-family:inherit;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #772f441f}th{color:var(--ink);letter-spacing:.015em;font-size:12px}th,td{border-bottom-color:#24222226}.btn{border-radius:99px;padding:11px 16px;font-size:15px}.btn-primary{background:var(--brand)}.btn-primary:hover{background:var(--brand-deep)}.btn-secondary{background:var(--mint);color:var(--ink)}.btn-link{background:var(--mint);color:var(--brand);border-color:#772f4459;border-radius:99px}.section{background:#fcfcfa;border-color:#2422221f;border-radius:0}.sort-header:hover,.sort-header.is-active,a,.text-action{color:var(--brand)}.status-help{color:var(--brand);background:var(--mint);border-color:#772f4447}.table-total-row>*{background:var(--mint);border-top-color:var(--green);color:#2d4030}.table-subline{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:11px;font-weight:400;display:block}.request-status{background:var(--mint);color:#334735;letter-spacing:.03em;text-transform:uppercase;border-radius:99px;padding:.28rem .55rem;font-size:11px;font-weight:800;display:inline-block}.request-status--declined{color:#7b2639;background:#f4e2e4}.request-status--activated{color:#315238;background:#dcecdf}.subscribe-page{background:var(--paper);color:var(--ink);min-height:100vh}.public-brandbar{background:var(--brand);padding:.85rem clamp(1.2rem,5vw,5rem);box-shadow:0 8px 24px #3e15231f}.public-brandbar img{width:9.5rem;display:block}.subscribe-shell{grid-template-columns:minmax(16rem,.72fr) minmax(0,1fr);gap:clamp(2rem,6vw,6.5rem);max-width:1120px;margin:0 auto;padding:clamp(3rem,8vw,7rem) clamp(1.2rem,5vw,4rem);display:grid}.subscribe-intro{align-self:start;padding-top:1rem}.subscribe-intro h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98}.subscribe-intro>p:not(.subscribe-kicker){margin:1.45rem 0;font-size:1.05rem}.subscribe-note{border-left:3px solid var(--orange);color:#63454c;padding-left:.85rem;font-size:.86rem!important}.subscribe-card{background:var(--cream);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--mint);padding:clamp(1.25rem,3vw,2.3rem)}.subscribe-loading{color:var(--muted)}.practice-context{background:var(--mint);border-left:3px solid var(--green);gap:.2rem;margin-bottom:1.8rem;padding:.9rem 1rem;display:grid}.practice-context span{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.practice-context strong{font-size:1.1rem}.practice-context small{color:#4e5d4e}.subscribe-card fieldset{border:0;border-top:1px solid var(--line);margin:1.6rem 0 0;padding:1.35rem 0 0}.subscribe-card legend{padding:0 .45rem 0 0;font-size:1rem;font-weight:800}.plan-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem;display:grid}.plan-choice{border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:.6rem;min-height:7.5rem;padding:.85rem;display:flex}.plan-choice:hover,.plan-choice.is-selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.plan-choice input{accent-color:var(--brand);width:auto;margin-top:.2rem}.plan-choice span{gap:.35rem;display:grid}.plan-choice strong{font-size:1.05rem}.plan-choice small,.field-help{color:var(--muted);font-size:.78rem;line-height:1.35}.cycle-choice{flex-wrap:wrap;gap:1.1rem;margin-top:1rem;display:flex}.cycle-choice label{align-items:center;gap:.45rem;font-weight:700;display:flex}.cycle-choice input{accent-color:var(--brand);width:auto}.subscribe-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem;display:grid}.subscribe-fields label{color:var(--ink);gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.subscribe-fields label span{color:var(--muted);font-size:.67rem;font-weight:500}.subscribe-fields .span-two{grid-column:span 2}.subscribe-fields input{padding:.7rem .75rem}.subscribe-submit{background:var(--brand);border:1px solid var(--brand);color:var(--cream);cursor:pointer;font:inherit;border-radius:99px;margin-top:1.8rem;padding:.95rem 1.3rem;font-size:.9rem;font-weight:800}.subscribe-submit:hover{background:var(--green);border-color:var(--green)}.subscribe-submit:disabled{cursor:wait;opacity:.64}.subscribe-message{padding:1rem}.subscribe-message--error{border-left:3px solid var(--orange);color:#632435;background:#f5e6e8}.subscribe-success h2{letter-spacing:-.05em;font-size:2.5rem}.public-footer{background:var(--brand);color:#ffffffd6;padding:1.8rem clamp(1.2rem,5vw,5rem);font-size:.76rem}@media (max-width:900px){.admin-header{flex-wrap:wrap;gap:.7rem 1.1rem}.admin-nav{flex-basis:100%;order:3}.subscribe-shell{grid-template-columns:1fr}.subscribe-intro{max-width:42rem}}@media (max-width:640px){.admin-main{padding:1rem}.admin-page{box-shadow:6px 6px 0 var(--mint)}.plan-grid,.subscribe-fields{grid-template-columns:1fr}.subscribe-fields .span-two{grid-column:auto}.plan-choice{min-height:auto}}.practice-name-cell{width:13rem}.practice-name-link{color:var(--ink);text-underline-offset:.22em;font-weight:800;line-height:1.15;-webkit-text-decoration:underline #772f4457;text-decoration:underline #772f4457;text-decoration-thickness:1px}.practice-name-link:hover{color:var(--brand);text-decoration-color:currentColor}.notes-cell{color:#504a49;line-height:1.35}.notes-copy{white-space:pre-wrap;max-height:5.4em;display:block;overflow:auto}.practice-access-heading,.practice-member-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.practice-access-heading h2{margin:0}.practice-access-help{color:var(--muted);max-width:70rem;line-height:1.5}.practice-member{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:1rem}.practice-member-header h3{margin:0 0 .3rem;font-size:1.1rem}.practice-member-email{overflow-wrap:anywhere;color:var(--muted)}.practice-member-role{text-transform:capitalize;font-size:.9rem;font-weight:700}.practice-device-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0;display:flex}.practice-device-info{overflow-wrap:anywhere;flex:17rem;gap:.3rem;display:grid}.practice-device-info span,.practice-device-info small{color:var(--muted)}.device-status{padding:.4rem .65rem;font-size:.9rem;font-weight:700}.device-status-pending{color:#794806;background:#fff0ce}.device-status-approved{color:#31523b;background:var(--mint)}.device-status-revoked,.practice-access-error{color:#a4252e;background:#ffeded}.device-status-exempt{color:var(--muted);background:#eee}.practice-device-actions{flex-wrap:wrap;gap:.5rem;display:flex}.practice-access-error,.practice-access-success{padding:.8rem;line-height:1.4}.practice-access-success{color:#31523b;background:var(--mint)}.practice-access button:disabled{cursor:wait;opacity:.55}
