@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#193c43;--muted:#70858a;--teal:#087e83;--line:#e2ebeb;--paper:#f5f8f8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:11px 16px}button:hover{background:#e8f5f3}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#09666a}aside{width:245px;background:white;border-right:1px solid var(--line);position:fixed;height:100dvh;padding:34px 20px;display:flex;flex-direction:column}.brand{font:800 25px Manrope,system-ui;letter-spacing:-1px;padding:0 13px}.brand span{color:var(--teal)}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted);margin:7px 0 40px}nav button{display:block;width:100%;text-align:left;border:0;background:transparent;margin:3px 0;padding:13px 16px;color:var(--muted)}nav button.active{background:#e6f3f1;color:var(--teal);font-weight:700}nav button b{display:inline-block;width:27px;font-size:18px}.aside-bottom{margin-top:auto;font-size:11px;line-height:2.5;color:var(--muted);padding:12px}.dot{display:inline-block;width:6px;height:6px;background:#49a68d;border-radius:100%;margin-right:5px}main{margin-left:245px;padding:35px 42px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:28px}header small,.eyebrow{letter-spacing:2px;font-size:10px;color:var(--muted)}h1{font:700 28px Manrope,system-ui;margin:9px 0 0;letter-spacing:-1px}h2{font:700 20px Manrope,system-ui}.user{display:flex;gap:15px;align-items:center;color:var(--muted);font-size:12px}#notice:not(:empty),#modal-notice:not(:empty){margin-top:20px;padding:14px 18px;background:#fff1d8;color:#805818;border-radius:10px}#content{padding-top:28px}.welcome{background:white;border:1px solid var(--line);border-radius:18px;padding:70px;text-align:center;margin-top:25px}.welcome h2{font-size:28px}.welcome p{color:var(--muted);line-height:1.8}.mark{font-size:60px;color:var(--teal)}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap}.toolbar input{min-width:240px}.toolbar .controls{display:flex;gap:10px;flex-wrap:wrap}input,select,textarea{border:1px solid #d7e4e4;border-radius:8px;background:white;padding:12px;color:var(--ink);max-width:100%}textarea{resize:vertical;min-height:90px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:14px;padding:23px}.metric small{color:var(--muted);display:block;margin-bottom:16px}.metric strong{display:block;font:700 28px Manrope,system-ui;letter-spacing:-1px}.metric p{font-size:11px;color:var(--muted);margin:10px 0 0}.metric.accent{background:#087e83;color:white;border:0}.metric.accent small,.metric.accent p{color:#b9e1dc}.panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:24px}.panel-head{display:flex;justify-content:space-between;padding:20px 24px;align-items:center;border-bottom:1px solid var(--line)}.panel-head h2{margin:0}.panel-head small{color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500;padding:15px 22px;background:#fbfdfd}td{padding:16px 22px;border-top:1px solid #eef2f2;font-size:12px}td strong{font-size:13px}td button{padding:7px 12px;font-size:11px}.badge{display:inline-block;background:#e8f5ef;color:#2b7c5b;padding:5px 10px;border-radius:30px;font-size:10px}.badge.warm{background:#fff3dc;color:#9d752b}.empty{padding:45px;text-align:center;color:var(--muted);line-height:1.8}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.notes{color:var(--muted);font-size:12px;line-height:1.8}.profile{padding:25px}.profile h2{margin-top:0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs button.active{color:var(--teal);background:#e7f3f1}.timeline{border-left:2px solid #cbe1dc;margin:20px 10px;padding:0 20px}.timeline article{padding:0 0 24px}.timeline p{white-space:pre-wrap;line-height:1.7}.timeline small{color:var(--muted)}footer{display:flex;justify-content:space-between;color:#8ca0a3;font-size:10px;padding:25px 0;margin-top:35px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:16px;width:620px;max-width:95vw;color:var(--ink);padding:28px;max-height:90dvh}dialog::backdrop{background:#163a4380;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{margin:0}.modal-head button{border:0;font-size:24px;padding:0 10px}#fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}label.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.bar{height:8px;background:#eaf3f1;border-radius:6px;overflow:hidden}.bar span{display:block;background:#138f88;height:100%}.summary-row{padding:17px 24px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.demo-label{background:#fff3dc;color:#926926;border:1px solid #f2dfb8;border-radius:8px;padding:12px;margin-bottom:20px;font-size:12px}button:focus-visible,a:focus-visible{outline:3px solid #60bab1;outline-offset:3px}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}main{padding:25px}}@media(max-width:700px){aside{position:relative;height:auto;width:100%;padding:20px}.brand small{margin-bottom:18px}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap}.aside-bottom{display:none}main{margin:0;padding:20px}header{gap:15px}h1{font-size:23px}.user{font-size:10px;flex-wrap:wrap}.metric{padding:17px}.metric strong{font-size:22px}.welcome{padding:35px 20px}#fields{grid-template-columns:1fr}label.wide{grid-column:auto}footer span{display:none}}@media print{aside,header,.toolbar,footer,.tabs,button,#notice,.demo-label{display:none!important}main{margin:0;padding:0}.panel{border:0}.metrics{grid-template-columns:repeat(4,1fr)}body{background:white}table{white-space:normal}}

.files-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0 18px}.files-heading h2{margin:0}.files-heading p{margin:6px 0 0}.files-filters{justify-content:flex-start}.files-filters input{flex:1;min-width:180px}.file-group{margin:24px 0}.file-group h3{font-size:15px;display:flex;align-items:center;gap:10px}.file-cards{display:grid;gap:12px}.file-card{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#fbfdfd}.file-format{background:#e6f3f1;color:var(--teal);border-radius:9px;padding:15px 8px;min-width:60px;text-align:center;font-size:11px;font-weight:700}.file-details{flex:1;min-width:0}.file-details h4{margin:0;font-size:15px;overflow-wrap:anywhere}.file-name{margin:6px 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.file-details .notes{margin:6px 0 0}.file-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-actions button{padding:8px 11px;font-size:12px}.file-open{color:var(--teal);font-weight:600;padding:8px}.file-delete{color:#a64132}@media(max-width:900px){.file-card{flex-wrap:wrap}.file-actions{width:100%;justify-content:flex-end}}

.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0}.section-heading h2,.section-heading h3{margin:0}.treatment-list{display:grid;gap:18px}.treatment-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fbfdfd}.treatment-card .section-heading{margin:0 0 18px}.treatment-dates,.treatment-money{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.treatment-dates span,.treatment-money small{color:var(--muted);font-size:12px}.treatment-dates strong,.treatment-money strong{display:block;color:var(--ink);margin-top:5px}.treatment-money{grid-template-columns:repeat(4,1fr);padding:15px;background:#eef6f5;border-radius:9px}.payment-schedule summary{cursor:pointer;color:var(--teal);padding:12px 0}.treatment-card .file-actions{justify-content:flex-end}.file-actions[hidden]{display:none}@media(max-width:700px){.treatment-dates,.treatment-money{grid-template-columns:repeat(2,1fr)}}

label[hidden]{display:none}#treatment-estimate{grid-column:1/-1;padding:12px;background:#eef6f5;border-radius:8px}

.patient-personal{border:1px solid var(--line);border-radius:10px;padding:16px}.patient-personal summary{cursor:pointer;font-weight:600}.personal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:18px 0}.personal-grid small{color:var(--muted)}.personal-grid p{margin:5px 0;overflow-wrap:anywhere}@media(max-width:700px){.personal-grid{grid-template-columns:1fr 1fr}}
.clinical-head,.clinical-head>div,.clinical-source,.clinical-actions,.clinical-source span{display:flex;align-items:center}.clinical-head{justify-content:space-between;gap:20px;margin:10px 0 20px}.clinical-head h2{margin:4px 0}.clinical-head p,.clinical-source small{color:var(--muted);margin:4px 0}.clinical-head .eyebrow{font-size:.72rem;letter-spacing:.12em;color:var(--muted)}.clinical-form{display:grid;gap:12px}.clinical-source{flex-wrap:wrap;gap:9px 18px;padding:15px 18px;background:linear-gradient(120deg,#f5faf9,#f5f7fb);border:1px solid var(--line);border-radius:14px}.clinical-source span{font-size:.88rem;color:var(--muted)}.clinical-source small{flex-basis:100%}.clinical-section{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.clinical-section>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;cursor:pointer;font-weight:650;list-style:none}.clinical-section>summary::-webkit-details-marker{display:none}.clinical-section>summary:after{content:'＋';color:var(--muted);font-size:1.1rem}.clinical-section[open]>summary:after{content:'−'}.clinical-section>summary small{margin-left:auto;color:var(--muted);font-weight:450}.clinical-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:5px 19px 20px}.clinical-field{display:grid;gap:6px;font-size:.88rem;font-weight:550}.clinical-field input,.clinical-field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;font:inherit;font-weight:400;color:inherit;background:#fff}.clinical-field textarea{resize:vertical}.clinical-field.wide,.clinical-checks{grid-column:1/-1}.clinical-checks{margin:0;padding:0;border:0}.clinical-checks legend{font-size:.88rem;font-weight:600;margin-bottom:8px}.clinical-checks>div,.tooth-findings{display:flex;flex-wrap:wrap;gap:8px}.clinical-checks label,.tooth-findings label{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:.82rem;background:#fff}.clinical-checks input,.tooth-findings input{accent-color:#137c75}.odontogram-section>.notes{padding:0 19px}.tooth-group{padding:5px 18px 12px}.tooth-group h4{font-size:.84rem;color:var(--muted);margin:8px 0}.tooth-grid{display:flex;flex-wrap:wrap;gap:6px}.tooth{position:relative;display:grid;justify-items:center;gap:2px;min-width:43px;padding:7px 5px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;cursor:pointer}.tooth svg{width:21px;height:21px;fill:#d5eeea;stroke:#168178;stroke-width:1.5}.tooth.marked svg{fill:#fde8c8;stroke:#b45309}.tooth b{font-size:.7rem}.tooth.selected{border-color:#168178;box-shadow:0 0 0 2px #16817830;background:#eef8f6}.tooth i{position:absolute;top:-6px;right:-4px;border-radius:20px;padding:1px 5px;background:#b45309;color:white;font-size:.62rem;font-style:normal}.tooth-details{margin:8px 18px 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.tooth-details h4{margin:0 0 10px}.tooth-details .clinical-field{margin-top:12px}.clinical-section #tooth-details{margin:8px 18px 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.clinical-section #tooth-details h4{margin:0 0 10px}.clinical-section #tooth-details .clinical-field{margin-top:12px}.clinical-section>#clinical-files{padding:0 18px 14px}.clinical-actions{justify-content:space-between;gap:14px;padding:6px 0}.clinical-actions span{font-size:.82rem;color:var(--muted)}@media(max-width:700px){.clinical-head{align-items:flex-start;flex-direction:column}.clinical-fields{grid-template-columns:1fr}.clinical-section>summary{padding:14px}.clinical-section>summary small{font-size:.72rem}.clinical-checks label,.tooth-findings label{font-size:.76rem}.clinical-actions{align-items:flex-start;flex-direction:column}}
.invoice-items{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fbfcfd}.invoice-items-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.invoice-items-head>div{display:grid;gap:4px}.invoice-items-head small{color:var(--muted)}.invoice-item-list{display:grid;gap:9px}.invoice-item-row{display:grid;grid-template-columns:1.25fr 1.5fr .55fr .8fr 34px;gap:9px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.invoice-item-row label{display:grid;gap:5px;font-size:.78rem;color:var(--muted)}.invoice-item-row input,.invoice-item-row select{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;font:inherit}.invoice-item-row .remove-invoice-item{font-size:1.2rem;color:#8f3d43}.invoice-total-preview{display:flex;justify-content:flex-end;gap:10px;padding:14px 4px 0;font-size:.88rem}.invoice-total-preview strong{font-size:1rem}.treatment-invoice-amount{white-space:nowrap}@media(max-width:760px){.invoice-item-row{grid-template-columns:1fr 1fr}.invoice-item-row label:first-child,.invoice-item-row label:nth-child(2){grid-column:span 2}.invoice-item-row .remove-invoice-item{grid-column:2;justify-self:end}.invoice-items-head{align-items:flex-start;flex-direction:column}}

.connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 28px}.connection-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd}.connection-copy{min-width:0}.connection-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.connection-title h3,.connection-tools h3{margin:0;font:700 15px Manrope,system-ui}.connection-copy p,.connection-tools>p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.connection-status{display:inline-flex;align-items:center;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:700}.connection-status.is-ready{color:#23734f;background:#e4f4eb}.connection-status.is-pending{color:#68797d;background:#edf1f1}.connection-action{flex:0 0 auto;font-size:11px;font-weight:700;padding:9px 12px}.connection-action.is-ready{color:#23734f;background:#e4f4eb;border-color:#c5e6d2}.connection-action.is-ready:hover{background:#d6eddf}.connection-action.is-pending{color:#58696d;background:#edf1f1;border-color:#dce5e5}.connection-action.is-pending:hover{background:#e0e9e9}.connection-tools{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.connection-tools button{margin:14px 8px 0 0}.connection-foot{margin-top:24px}@media(max-width:900px){.connection-grid{grid-template-columns:1fr}}@media(max-width:520px){.connection-card{align-items:flex-start;flex-direction:column}.connection-action{width:100%}}
.folder-status{display:inline-block;border-radius:20px;padding:3px 8px;font-weight:600}.folder-status.ready{background:#e4f4eb;color:#23734f}.folder-status.missing{background:#fff3dc;color:#926926}.folder-status.pending{background:#edf1f1;color:#68797d}

.connections-panel>.panel-head{display:none}.connections-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid var(--line);background:linear-gradient(115deg,#f7fbfa,#fff)}.connections-heading .eyebrow{color:var(--teal);font-weight:700}.connections-heading h2{font-size:21px;margin:6px 0 3px}.connections-heading p{margin:0;color:var(--muted);font-size:12px}.connection-summary{min-width:94px;padding:10px 14px;border:1px solid #dbece7;border-radius:12px;background:#f2faf6;text-align:center;color:#277451}.connection-summary strong{display:block;font:700 20px Manrope,system-ui}.connection-summary strong small{font:600 12px 'DM Sans',sans-serif;color:#749487}.connection-summary span{font-size:10px}.connections-panel .profile{padding:20px 24px}.connection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px}.connection-card{min-height:102px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border-radius:12px;background:#fff;box-shadow:0 3px 12px #173c4308;transition:border-color .18s,box-shadow .18s}.connection-card.configured{border-color:#d6e9df}.connection-card.pending{border-color:#e3e9e9}.connection-card:hover{box-shadow:0 6px 18px #173c4312}.connection-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf7f2;color:#268158;font-size:17px}.connection-card.pending .connection-icon{background:#f0f3f3;color:#849397}.connection-copy h3{margin:0;font:700 12px Manrope,system-ui;letter-spacing:-.1px}.connection-copy p{margin:4px 0 0;font-size:10px;line-height:1.4}.connection-side{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.connection-status{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 7px;font-size:9px;white-space:nowrap}.connection-status span{font-size:11px}.connection-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:94px;padding:7px 9px;border-radius:8px;font-size:10px}.connection-action.is-ready{color:#23734f;background:#f0f8f3;border-color:#d9ecdf}.connection-action.is-ready:hover{background:#e4f3e9}.connection-action.is-pending{color:#53666a;background:#f4f6f6;border-color:#e2e8e8}.connection-action.is-pending:hover{background:#e9eeee}.connection-tools{border-top:1px solid var(--line);padding-top:17px;margin-top:0}.connection-tools>div:first-child h3{font:700 13px Manrope,system-ui;margin:0}.connection-tools>div:first-child p{margin:3px 0 11px;color:var(--muted);font-size:10px}.connection-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.connection-tool{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}.tool-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eef5f4;color:var(--teal);font-size:16px}.connection-tool strong{font-size:10px}.connection-tool p{margin:3px 0 0;color:var(--muted);font-size:9px}.connection-tool button{padding:7px 9px;font-size:9px;white-space:nowrap}.connection-tools>.notes{margin-top:8px;font-size:10px}.connection-footer{display:flex;align-items:center;gap:9px;margin-top:17px;color:var(--muted);font-size:10px}.connection-footer strong{color:var(--ink);font-weight:600}.connection-footer i{height:12px;border-left:1px solid var(--line)}.connection-footer p{margin:0 0 0 auto;font-size:9px}@media(max-width:1100px){.connection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.connections-heading{padding:20px}.connections-panel .profile{padding:16px}.connection-grid{grid-template-columns:1fr}.connection-tools-grid{grid-template-columns:1fr}.connection-footer{align-items:flex-start;flex-wrap:wrap}.connection-footer p{flex-basis:100%;margin:4px 0 0}}@media(max-width:520px){.connection-card{align-items:center;flex-direction:row}.connection-tool{grid-template-columns:30px minmax(0,1fr)}.connection-tool button{grid-column:2;justify-self:start}.connection-summary{min-width:77px;padding:8px}.connections-heading h2{font-size:18px}}

.record-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:150px}.record-actions button{padding:6px 9px;font-size:10px;white-space:nowrap}.record-actions .archive-record{color:#755d20;background:#fff8e8;border-color:#f0e3bf}.record-actions .restore-record{color:#23734f;background:#edf8f1;border-color:#d5ebdd}.record-actions .permanent-record{color:#a33f35;background:#fff;border-color:#f0d9d5}.record-actions .permanent-record:hover{background:#fff0ee}.profile-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.profile-actions .notes{flex-basis:100%;text-align:right}@media(max-width:700px){.record-actions{min-width:0}.profile-actions{align-items:stretch;flex-direction:column}.profile-actions button{width:100%}.profile-actions .notes{text-align:left}}
