:root{--paper:#F7F9F6;--white:#fff;--ink:#243E32;--forest:#315F4C;--sage:#E7EFE6;--muted:#687B6C;--line:#DDE5DC;--amber:#80643A;--rose:#956260;--serif:'Newsreader',Georgia,serif;--sans:'Instrument Sans',Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 var(--sans)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid var(--line);background:var(--white);color:var(--forest);padding:10px 16px;border-radius:5px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;transition:background 180ms,border-color 180ms;white-space:normal}button:hover,.button:hover{background:var(--sage);border-color:#b9cebe}button:disabled{opacity:.45;cursor:default}.primary{background:var(--forest);color:white;border-color:var(--forest)}.primary:hover{background:#244A3A;color:white}.quiet{border-color:transparent;background:transparent}.danger{color:#9a4e43}a{color:var(--forest)}:focus-visible{outline:2px solid #547D63;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font:italic 46px/1.1 var(--serif);letter-spacing:-1px}h2{font:italic 30px/1.15 var(--serif);letter-spacing:-.3px}h3{font:500 16px/1.4 var(--sans)}p{max-width:75ch}small,.small{font-size:12px;line-height:1.7;color:var(--muted)}.overline{color:#6d846e;font-size:12px;margin-bottom:13px}.muted{color:var(--muted)}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font:italic 38px var(--serif);white-space:nowrap}.wordmark>span{font:16px var(--sans);margin-left:-12px;align-self:flex-start;padding-top:5px}.wordmark b{font:500 15px var(--sans);letter-spacing:.03em}.wordmark small{display:block;font:10px var(--sans);letter-spacing:0;margin-top:5px}.wordmark img{width:52px;height:42px;object-fit:contain}.practice-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 34px;background:white;border-bottom:1px solid var(--line);min-height:92px}.practice-header nav{display:flex;align-items:center;gap:6px}.practice-header nav button{border:0;font-size:12px;background:none;padding:10px 13px;white-space:nowrap;border-radius:20px}.practice-header nav button[aria-current=page]{background:var(--sage);color:var(--forest)}.account{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.account button{font-size:11px;padding:6px 9px}.education{text-align:center;color:var(--muted);font-size:10px;padding:6px;background:#edf2ec}.practice-footer{max-width:1400px;padding:25px 36px;margin:40px auto 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#83907e;border-top:1px solid var(--line)}#main{max-width:1400px;min-height:70vh;margin:auto;padding:40px 38px;outline:none}.page-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:35px}.page-heading p{font-size:14px;color:var(--muted);margin-top:14px;max-width:620px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.page-heading .actions{flex-shrink:0}.empty{padding:65px 35px;background:#edf3eb;border-radius:6px;text-align:center}.empty h2{margin-bottom:14px}.empty p{margin:0 auto 24px;color:var(--muted);font-size:14px}.empty.compact{padding:28px}.empty.compact p{font-size:12px;margin:12px 0}.empty.compact h3{font-size:15px}.loading{padding:70px;text-align:center;color:var(--muted)}.day-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:45px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 18px}.section-title h2{font-size:26px}.section-title p{font-size:12px;color:var(--muted)}.appointment{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.appointment time{font-size:12px;color:var(--muted)}.appointment strong{font-weight:500;font-size:17px}.appointment p{font-size:12px;color:var(--muted);margin:6px 0}.appointment .tag{margin-right:6px}.tag{display:inline-flex;align-items:center;background:var(--sage);color:#54734e;font-size:10px;padding:4px 9px;border-radius:12px;line-height:1.5}.tag.pending{background:#f1ebdd;color:#80683f}.tag.withdrawn{background:#f4e6e1;color:#925c4c}.day-aside{border-left:1px solid var(--line);padding-left:30px}.day-aside h2{margin:8px 0 15px;font-size:28px}.day-aside p{font-size:12px;color:var(--muted);margin-bottom:18px}.day-aside article{padding:20px 0;border-bottom:1px solid var(--line)}.day-aside article strong{font-weight:500;font-size:13px}.day-aside article p{margin:7px 0 14px}.toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin:20px 0}.toolbar input{max-width:340px}.client-list{width:100%;border-collapse:collapse}.client-list th{text-align:left;font-size:11px;font-weight:400;color:var(--muted);padding:13px 15px;border-bottom:1px solid var(--line)}.client-list td{padding:22px 15px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.client-list td:first-child{padding-left:0}.client-list .client-name{display:flex;align-items:center;gap:15px}.initial{display:flex;align-items:center;justify-content:center;background:#e6eee1;width:43px;height:43px;border-radius:50%;color:#65805b;font:italic 24px var(--serif);flex-shrink:0}.client-name strong{font-weight:500;font-size:15px}.client-name small{display:block;margin-top:4px}.client-profile{display:grid;grid-template-columns:300px 1fr;gap:42px}.profile-note{background:#ecf2e8;padding:26px;border-radius:5px}.profile-note h2{margin:10px 0 18px}.profile-note dl{margin:18px 0}.profile-note dt{font-size:11px;color:var(--muted);margin-top:18px}.profile-note dd{margin:5px 0;font-size:13px;overflow-wrap:anywhere}.profile-note .actions{margin-top:22px}.permission{padding:17px 0;border-bottom:1px solid var(--line)}.permission p{font-size:12px;color:var(--muted);margin:8px 0}.permission .actions{margin-top:10px}.permission button{font-size:11px;padding:7px 11px}label{display:flex;flex-direction:column;gap:7px;margin:15px 0;color:#587052;font-size:12px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #cfddce;background:white;border-radius:4px;padding:11px 12px;color:var(--ink);font-size:13px;line-height:1.5}textarea{resize:vertical;min-height:85px}input[type=checkbox]{width:auto;accent-color:var(--forest)}input[type=range]{padding:0;accent-color:var(--forest)}.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;color:#5f745a;font-size:12px}.check input{margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:23px}.field-help{font-size:11px;color:var(--muted);margin:6px 0 15px}.error{background:#f6e9e3;color:#8c564a;border-left:3px solid #b68872;padding:13px 16px;font-size:13px;line-height:1.6;margin:16px 0;overflow-wrap:anywhere}.notice{background:#eaf1e5;padding:15px 18px;font-size:12px;line-height:1.7;color:#5d7753;border-radius:4px;margin:16px 0}.notice.warning{background:#f4eedf;color:#826c43}.notice .actions{margin-top:13px}.crumb{font-size:12px;color:var(--muted);margin-bottom:15px}.crumb button{font-size:12px;padding:0;background:none;border:0}.visit-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:25px}.visit-header h1{font-size:37px}.visit-header p{font-size:12px;color:var(--muted);margin-top:10px}.step-nav{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:15px;margin:25px 0}.step-nav button{background:none;border:0;font-size:12px;padding:9px 15px}.step-nav button[aria-current=step]{background:var(--sage);color:var(--forest)}.prepare-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:45px}.prepare-aside{padding:25px;background:#edf3e9;border-radius:4px}.prepare-aside h2{font-size:25px}.prepare-aside p{margin:13px 0;color:var(--muted);font-size:12px}.checklist{padding:0;list-style:none;margin:20px 0}.checklist li{padding:12px 0;border-bottom:1px solid #d6e2d0;font-size:12px;display:flex;align-items:center;gap:10px}.checklist li:before{content:'○';color:#8aa17d}.checklist li.done:before{content:'✓';color:#42713d}.disclosure{padding:18px 0;border-top:1px solid var(--line);margin-top:15px}.disclosure summary{font-size:13px;cursor:pointer;color:var(--forest)}.disclosure p{margin:15px 0;color:var(--muted);font-size:12px}.photo-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.capture-help{background:#edf3e9;padding:23px;border-radius:5px}.capture-help svg{display:block;width:130px;height:160px;margin:5px auto 20px;stroke:#7f9b72;fill:none}.capture-help h2{font-size:25px}.capture-help p,.capture-help li{font-size:12px;line-height:1.8;color:var(--muted)}.capture-help ul{padding-left:18px}.drop-area{border:1px dashed #adbf9d;border-radius:5px;padding:28px;text-align:left;background:#fbfcfa;margin-bottom:25px}.drop-area.dragging{background:#e2efdc}.drop-area h2{margin-bottom:12px}.drop-area p{font-size:12px;color:var(--muted);margin-bottom:17px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-tile{padding:0;border:0;background:none;display:block;text-align:left;min-width:0}.photo-tile img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#e4ebdf;border-radius:4px;display:block}.photo-tile strong{display:block;font-size:12px;font-weight:500;margin-top:9px;overflow-wrap:anywhere}.photo-tile small{display:block;font-size:10px;margin-top:4px}.photo-tile[aria-pressed=true] img{outline:3px solid #638b5b;outline-offset:3px}.photo-grid.compact{grid-template-columns:repeat(6,minmax(0,1fr));margin:20px 0}.photo-grid.compact img{aspect-ratio:1;object-fit:cover}.photo-grid.compact small{display:none}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.82fr);gap:30px;align-items:start}.photo-stage{position:relative;background:#dee6d8;min-height:430px;height:590px;border-radius:6px;overflow:hidden;touch-action:none;cursor:crosshair}.photo-plate{position:absolute;transform-origin:0 0}.photo-plate>img{width:100%;height:100%;display:block;pointer-events:none}.photo-plate svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.photo-plate polygon{fill:#8ebc7e;fill-opacity:.12;stroke:#537b45;stroke-width:1.3;vector-effect:non-scaling-stroke;cursor:pointer}.photo-plate polygon:hover{fill-opacity:.45}.photo-plate .pin{cursor:pointer;fill:#fcfdf9;stroke:#315f4c;stroke-width:2;vector-effect:non-scaling-stroke}.photo-plate .pin.selected{fill:#dc916f;stroke:white}.photo-plate .crosshair{stroke:white;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.stage-controls{position:absolute;bottom:15px;left:15px;right:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:5;pointer-events:none}.stage-controls>*{pointer-events:auto;background:#f7faf3ed;border-radius:20px;padding:4px}.stage-controls button{padding:7px 10px;border:0;font-size:11px;background:none}.stage-controls output{font-size:11px;min-width:46px;text-align:center;display:inline-block}.stage-label{position:absolute;top:14px;left:15px;z-index:3;background:#f7faf3e8;padding:5px 10px;border-radius:12px;font-size:10px;max-width:80%;pointer-events:none}.stage-hint{font-size:11px;color:var(--muted);margin-top:10px}.image-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.image-tools button{font-size:11px;padding:8px 12px}.image-tools button[aria-pressed=true]{background:var(--sage)}.finding-list{margin:20px 0}.finding-list button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 0}.finding-list strong{font-weight:500;font-size:13px;display:block}.finding-list small{font-size:10px}.finding-list button[aria-pressed=true]{background:#edf3e7;padding-left:12px;padding-right:12px}.editor-copy{max-height:none}.editor-copy h2{font-size:28px;margin-bottom:13px}.editor-copy>p{font-size:12px;color:var(--muted)}.editor-copy textarea{font-size:12px}.editor-copy .disclosure label{margin:12px 0}.editor-copy .form-actions{position:sticky;bottom:0;background:#f7f9f6ef;padding:14px 0;border-top:1px solid var(--line);z-index:8}.source-tag{font-size:10px;padding:5px 9px;background:#eee9df;display:inline-block;border-radius:4px;color:#7e6a45;margin:8px 0}.plan-layout{display:grid;grid-template-columns:1fr 330px;gap:35px}.service-row{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:22px;align-items:flex-start;justify-content:space-between}.service-row h3{font-size:16px;margin-bottom:9px}.service-row p{font-size:12px;color:var(--muted);margin:8px 0;max-width:560px}.service-row .price{font-size:14px;white-space:nowrap}.service-row>div:last-child{text-align:right}.service-row button{font-size:11px;margin-top:12px}.care-rationale{background:#edf3e8;padding:20px;border-radius:4px;margin:15px 0}.care-rationale h3{font-size:14px;margin-bottom:10px}.care-rationale p{font-size:12px;color:var(--muted);margin-bottom:10px}.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:17px}.report-review{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px}.report-draft{background:white;padding:32px;border:1px solid var(--line);border-radius:5px}.report-draft h2{font-size:35px;margin:12px 0 20px}.report-draft h3{margin:25px 0 13px;font-size:14px}.report-draft p{font-size:13px;color:var(--muted);line-height:1.8;white-space:pre-wrap}.mini-evidence{display:flex;gap:15px;align-items:center;margin:18px 0;padding-top:15px;border-top:1px solid var(--line)}.mini-evidence img{width:68px;height:85px;object-fit:cover;border-radius:3px}.mini-evidence strong{font-size:13px;font-weight:500}.mini-evidence p{font-size:11px;margin-top:5px}.report-approval{padding:25px;background:#edf3e8;border-radius:5px;align-self:start}.report-approval h2{font-size:27px}.report-approval p{font-size:12px;color:var(--muted);margin:13px 0}.report-version{border-top:1px solid var(--line);padding:18px 0}.report-version .actions{margin-top:10px}.report-version button,.report-version a{font-size:11px;padding:8px 12px}.report-version small{display:block;margin-top:5px}.compare-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;overflow:hidden;--reveal:50%;--compare-zoom:1;--compare-x:0px;--compare-y:0px;position:relative}.comparison figure{margin:0;overflow:hidden;background:#e1e9db;border-radius:4px;position:relative}.comparison img{width:100%;height:560px;object-fit:contain;display:block;transform:translate(var(--compare-x),var(--compare-y)) scale(var(--compare-zoom));transform-origin:center}.comparison figcaption{position:absolute;bottom:0;left:0;right:0;background:#f6faf2ee;padding:10px;font-size:11px;z-index:3}.comparison.split{display:block;max-width:640px;aspect-ratio:3/4;margin:auto;background:#e1e9db}.comparison.split figure{position:absolute;inset:0;width:100%;height:100%}.comparison.split img{height:100%}.comparison.split figure:nth-child(2){clip-path:inset(0 0 0 var(--reveal));z-index:2}.comparison.split:after{content:'';position:absolute;left:var(--reveal);height:100%;width:2px;background:white;z-index:4}.comparison.ghost figure:nth-child(2){clip-path:none;opacity:.45}.comparison.ghost:after{display:none}.comparison-tools{display:flex;gap:10px;justify-content:center;margin:15px 0;flex-wrap:wrap}.comparison-tools button{font-size:11px;padding:8px 11px}.comparison-tools button[aria-pressed=true]{background:var(--sage)}.capture-warning{font-size:12px;color:var(--amber);margin:15px 0;line-height:1.8}.queue-item{display:grid;grid-template-columns:150px minmax(0,1fr) 280px;gap:28px;padding:28px 0;border-top:1px solid var(--line)}.queue-item img{width:150px;max-height:195px;object-fit:contain;background:#e6eedf;border-radius:4px}.queue-item h2{font-size:27px;margin:8px 0}.queue-item p{font-size:12px;color:var(--muted);margin:10px 0;white-space:pre-wrap}.queue-item .no-photo{width:95px;height:95px;background:#e6eedf;display:flex;align-items:center;justify-content:center;font:italic 40px var(--serif);color:#849a77;border-radius:50%}.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:45px}.settings-nav{display:flex;flex-direction:column;align-items:stretch;gap:5px}.settings-nav button{border:0;background:none;justify-content:flex-start;text-align:left}.settings-nav button[aria-current=page]{background:var(--sage)}.settings-content{max-width:850px}.settings-content>h2{margin-bottom:18px}.settings-content>p{font-size:13px;color:var(--muted);margin-bottom:20px}.staff-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.staff-row h3{font-size:14px}.staff-row p{font-size:12px;color:var(--muted)}.staff-row .actions button{font-size:11px;padding:8px 11px}.audit-table{font-size:11px;width:100%;border-collapse:collapse}.audit-table th,.audit-table td{text-align:left;padding:13px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.audit-table th{font-weight:400;color:var(--muted)}.scroll-table{overflow:auto}.backup-file{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.link-result{margin-top:18px;background:#edf3e7;padding:18px;border-radius:4px}.link-result input{font-size:12px}.link-result p{font-size:12px;margin:10px 0}.link-result .button{margin-top:10px}.portal-welcome{padding:18px 0 25px;display:grid;grid-template-columns:1fr 280px;gap:40px}.portal-welcome h1{font-size:49px;max-width:580px;margin-bottom:20px}.portal-welcome p{color:var(--muted);max-width:600px;font-size:14px}.portal-next{background:#e8f0e2;padding:25px;border-radius:5px}.portal-next h2{font-size:27px}.portal-next p{font-size:12px;margin:13px 0}.portal-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:28px}.portal-report{background:white;border:1px solid var(--line);border-radius:5px;padding:28px;margin:20px 0}.portal-report h2{margin:12px 0 18px}.portal-report p{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0;white-space:pre-wrap}.portal-report .actions{margin-top:22px}.portal-update{border-top:1px solid var(--line);padding:20px 0}.portal-update h3{font-size:14px;margin-bottom:10px}.portal-update p{font-size:12px;color:var(--muted);white-space:pre-wrap;margin:10px 0}.portal-update img{width:85px;height:110px;object-fit:contain;margin-top:12px}.response{background:#eaf2e3;padding:15px;border-radius:4px}.journal-chart{width:100%;display:block;max-height:240px}.journal-chart text{font:11px var(--sans);fill:#6c8260}.journal-legend{font-size:11px;color:var(--muted);margin:8px 0 20px}#notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);opacity:0;background:#315f4c;color:white;border-radius:8px;padding:14px 22px;font-size:12px;max-width:90vw;z-index:90;pointer-events:none;transition:opacity 180ms,transform 180ms}#notification.visible{opacity:1;transform:translate(-50%,0)}#notification.error-toast{background:#8f5b45}dialog{border:0;border-radius:8px;max-width:640px;width:calc(100% - 32px);max-height:90vh;padding:34px 36px;box-shadow:0 18px 80px #1c3b2430;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1e362660;backdrop-filter:blur(3px)}dialog h2{margin-bottom:18px;padding-right:24px}dialog>p,dialog p{font-size:12px;color:var(--muted);margin:12px 0}.dialog-close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:24px;padding:5px}.skip{position:fixed;top:-70px;left:15px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#e8f0e4;display:flex;flex-direction:column;justify-content:space-between;padding:50px 65px;min-height:100vh}.auth-story h1{font-size:58px;margin:20px 0 28px;line-height:1.05}.auth-story p{color:#72816a;font-size:14px;max-width:420px}.auth-story>.small{font-size:11px}.auth-form{display:flex;align-items:center;justify-content:center;padding:60px 55px;background:#fafcf8}.auth-form>div{width:100%;max-width:380px}.auth-form h2{font-size:40px;margin:16px 0}.auth-form>div>p{font-size:13px;color:var(--muted);margin-bottom:24px}.auth-form .primary{width:100%;margin-top:12px}.auth-form .small{font-size:11px;margin-top:15px}.auth-petals{height:125px;display:flex;gap:10px;margin-top:40px}.auth-petals i{display:block;width:95px;height:120px;border:1px solid #bfd0b5;border-radius:50% 50% 5% 50%;transform:rotate(-20deg)}.auth-petals i:nth-child(2){transform:rotate(10deg);background:#dce9d4}.auth-petals i:nth-child(3){transform:rotate(40deg)}.report-page{background:#fafcf8}.report-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 45px;border-bottom:1px solid var(--line);background:white}.report-top>div{display:flex;gap:10px;flex-wrap:wrap}.report-top button,.report-top a.button{font-size:12px}#report-main{max-width:1150px;padding:50px 40px;margin:auto}.report-cover{display:grid;grid-template-columns:330px 1fr;gap:60px;align-items:center;margin-bottom:55px}.report-cover img{width:100%;height:415px;object-fit:contain;background:#e6edde;border-radius:6px}.report-cover h1{font-size:54px;margin:15px 0 24px}.report-cover p{color:var(--muted);font-size:14px;line-height:1.8;white-space:pre-wrap}.report-cover .reviewed-by{border-top:1px solid var(--line);padding-top:18px;margin-top:23px;font-size:11px}.report-goals{background:#eaf1e4;padding:25px 30px;border-radius:4px;margin:28px 0}.report-goals p{font-size:13px;line-height:1.8;white-space:pre-wrap;color:#5e7551}.report-goals h2{font-size:27px;margin-bottom:15px}.evidence-stories{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:35px 0}.evidence-story{border-top:1px solid var(--line);padding-top:24px;break-inside:avoid}.evidence-story h2{font-size:28px;margin:18px 0 15px}.evidence-story p{font-size:13px;color:var(--muted);line-height:1.8;white-space:pre-wrap;margin:12px 0}.evidence-story img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#e6edde;border-radius:4px}.evidence-image{position:relative}.evidence-image .evidence-marker{position:absolute;left:var(--x);top:var(--y);width:22px;height:22px;border:2px solid white;outline:1px solid #315f4c;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.evidence-details{font-size:12px}.evidence-details summary{cursor:pointer;padding:12px 0;border-top:1px solid var(--line);margin-top:15px}.evidence-details dl{margin:0}.evidence-details dt{font-weight:500;margin-top:14px}.evidence-details dd{margin:5px 0;color:var(--muted);white-space:pre-wrap;line-height:1.7}.report-plan{margin:45px 0;border-top:1px solid var(--line);padding-top:30px}.report-plan>p{font-size:14px;color:var(--muted);white-space:pre-wrap;margin:20px 0;line-height:1.8}.report-limits{padding-top:30px;border-top:1px solid var(--line);margin-top:35px}.report-limits h2{font-size:27px;margin-bottom:15px}.report-limits p{font-size:12px;color:var(--muted);line-height:1.8;white-space:pre-wrap}.report-foot{max-width:1150px;margin:auto;padding:25px 40px;border-top:1px solid var(--line);color:var(--muted)}.report-foot p{font-size:11px;margin-bottom:12px}.report-foot small{font-size:10px}.presentation{min-height:65vh}.presentation-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.presentation-nav span{font-size:12px;color:var(--muted)}.presentation-slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:60px;align-items:center;min-height:530px}.presentation-slide>img{width:100%;height:550px;object-fit:contain;background:#e7eedf;border-radius:6px}.presentation-slide h1{font-size:52px;margin-bottom:26px}.presentation-slide p{font-size:17px;line-height:1.8;color:var(--muted);white-space:pre-wrap}.presentation-slide h2{margin:30px 0 16px;font-size:29px}.presentation-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.presentation-dots button{border:0;padding:0;width:8px;height:8px;min-width:8px;border-radius:50%;background:#d4dfca}.presentation-dots button[aria-current=step]{background:#315f4c}.photo-compare-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.print-only{display:none}.no-photo-illustration{height:240px;background:#e7efdf;display:flex;align-items:center;justify-content:center;font:italic 70px var(--serif);color:#a4b89a;border-radius:6px}
@media(max-width:1150px){.practice-header{gap:15px;padding:20px 24px}.account>span{display:none}.practice-header nav{gap:0}.practice-header nav button{padding:10px;font-size:11px}#main{padding:30px 25px}.day-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px}.editor-layout{gap:22px;grid-template-columns:1fr 1fr}.photo-stage{height:510px}.report-cover{grid-template-columns:280px 1fr;gap:35px}.report-cover h1{font-size:44px}.photo-layout{grid-template-columns:1fr 260px}.settings-layout{gap:28px}.auth-story{padding:40px}.auth-story h1{font-size:47px}}
@media(max-width:850px){.practice-header{flex-wrap:wrap;padding:18px 20px;gap:15px}.practice-header nav{order:3;width:100%;overflow:auto;justify-content:flex-start}.practice-header nav button{flex-shrink:0}.wordmark{font-size:33px}.wordmark b{font-size:13px}.account{margin-left:auto}.education{font-size:9px;padding:7px 15px}.day-layout,.client-profile,.prepare-layout,.photo-layout,.plan-layout,.report-review,.portal-columns{grid-template-columns:1fr}.day-aside{border-left:0;border-top:1px solid var(--line);padding:25px 0}.page-heading{align-items:flex-start}.page-heading .actions{flex-shrink:1}.page-heading h1{font-size:38px}.editor-layout{grid-template-columns:1fr}.photo-stage{height:570px}.editor-copy{padding-top:10px}.capture-help{display:grid;grid-template-columns:130px 1fr;gap:0 20px}.capture-help svg{grid-row:1/4}.capture-help h2{padding-top:14px}.capture-help ul{grid-column:2}.client-list th:nth-child(3),.client-list td:nth-child(3){display:none}.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow:auto}.settings-nav button{white-space:nowrap;flex-shrink:0;font-size:12px}.queue-item{grid-template-columns:110px 1fr;gap:20px}.queue-item img{width:110px}.queue-item>form{grid-column:1/-1}.portal-welcome{grid-template-columns:1fr}.portal-next{max-width:none}.report-top{padding:20px;flex-wrap:wrap}.report-top>div{width:100%}.report-cover{grid-template-columns:230px 1fr;gap:28px}.report-cover h1{font-size:38px}.report-cover img{height:320px}.evidence-stories{gap:23px}.presentation-slide{gap:30px;grid-template-columns:1fr 1fr;min-height:400px}.presentation-slide>img{height:420px}.presentation-slide h1{font-size:38px}.presentation-slide p{font-size:14px}.auth-layout{grid-template-columns:1fr}.auth-story{min-height:0;padding:30px}.auth-story>div{padding:30px 0}.auth-story h1{font-size:44px}.auth-story .auth-petals,.auth-story>.small{display:none}.auth-form{padding:35px 25px}.auth-form>div{max-width:500px}.auth-form h2{font-size:35px}.comparison img{height:440px}}
@media(max-width:560px){#main{padding:27px 18px}.page-heading{display:block;margin-bottom:25px}.page-heading .actions{margin-top:20px}.page-heading h1{font-size:36px}.appointment{grid-template-columns:55px minmax(0,1fr);gap:14px}.appointment>button{grid-column:2;justify-self:start;font-size:12px}.appointment strong{font-size:15px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid .wide{grid-column:auto}.client-list th:nth-child(2),.client-list td:nth-child(2){display:none}.client-list td{padding:17px 5px}.client-list td button{font-size:11px;padding:8px 10px}.initial{width:35px;height:35px;font-size:20px}.client-name{gap:10px!important}.client-name strong{font-size:13px}.client-name small{font-size:10px}.visit-header{display:block}.visit-header>.actions{margin-top:18px}.visit-header h1{font-size:33px}.step-nav{gap:0}.step-nav button{font-size:11px;padding:9px 10px}.photo-grid{grid-template-columns:1fr 1fr;gap:14px}.photo-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.photo-grid.compact strong{font-size:10px}.photo-stage{height:480px;min-height:350px}.drop-area{padding:22px}.capture-help{display:block}.capture-help svg{height:130px}.comparison img{height:320px}.compare-controls{grid-template-columns:1fr;gap:0}.comparison figcaption{font-size:9px}.service-row{gap:14px}.service-row .price{font-size:12px}.report-draft{padding:24px}.report-approval{padding:22px}.practice-footer{padding:22px 18px;display:block}.practice-footer span{display:block;margin:6px 0}.portal-welcome h1{font-size:39px}.portal-report{padding:22px}.staff-row{display:block}.staff-row .actions{margin-top:14px}.queue-item{grid-template-columns:85px 1fr;gap:16px}.queue-item img{width:85px}.queue-item h2{font-size:24px}dialog{padding:28px 22px}.auth-story{padding:25px}.auth-story h1{font-size:40px}.auth-form h2{font-size:34px}#report-main{padding:30px 20px}.report-cover{display:flex;flex-direction:column;align-items:stretch;gap:28px}.report-cover img{height:330px;object-position:center}.report-cover h1{font-size:40px}.evidence-stories{grid-template-columns:1fr}.report-goals{padding:22px}.report-foot{padding:22px}.report-top .button,.report-top button{font-size:11px;padding:9px 10px}.presentation-slide{display:flex;flex-direction:column;gap:25px;min-height:0}.presentation-slide>img{height:310px}.presentation-slide h1{font-size:35px}.presentation-nav{flex-wrap:wrap;gap:15px}.presentation-dots{order:3;width:100%}.toolbar{flex-wrap:wrap}.report-top .wordmark b{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{@page{size:A4;margin:16mm;@bottom-left{content:'Educational visual documentation · DERMALAB';font-size:8pt;color:#6b7a64}@bottom-right{content:counter(page);font-size:8pt;color:#6b7a64}}body{background:white!important;font-size:10pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-top{padding:0 0 7mm;background:none}.report-top>div,.report-foot button{display:none!important}.report-top .wordmark{font-size:26pt}.report-top .wordmark b{font-size:12pt}#report-main{padding:6mm 0;max-width:none}.report-cover{grid-template-columns:62mm 1fr;gap:10mm;margin-bottom:9mm}.report-cover img{height:85mm}.report-cover h1{font-size:31pt}.report-cover p{font-size:9pt}.report-goals{margin:7mm 0;padding:5mm}.report-goals p{font-size:9pt}.evidence-stories{gap:8mm;margin:8mm 0}.evidence-story{padding-top:5mm}.evidence-story h2{font-size:18pt;margin:4mm 0}.evidence-story p{font-size:9pt;line-height:1.6}.evidence-story img{height:55mm;aspect-ratio:auto}.evidence-details{font-size:8pt}.evidence-details summary{display:none}.evidence-details dt{margin-top:2mm}.report-plan,.report-limits{margin-top:8mm;padding-top:7mm;break-inside:avoid}.report-plan>p{font-size:9pt}.service-row{break-inside:avoid;padding:5mm 0}.service-row p{font-size:8pt}.report-foot{padding:7mm 0;max-width:none}.report-foot p{font-size:8pt}.report-foot small{font-size:7pt}.report-limits p{font-size:8pt}.report-ordinal{break-inside:avoid}h1,h2,h3{break-after:avoid}.report-summary-chart{break-inside:avoid}.report-page .error{font-size:10pt}.print-only{display:block}.no-print{display:none!important}}
fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.75}.form-error:not(:empty){color:#8c564a;background:#f6e9e3;padding:13px;margin:15px 0;font-size:13px}.brand-preview{max-width:230px;max-height:100px;object-fit:contain;margin:15px 0}.photo-detail-preview{width:100%;max-height:330px;object-fit:contain;background:#e6edde}.camera-preview{position:relative;aspect-ratio:3/4;background:#e4ecdf;max-height:480px;margin:auto;overflow:hidden}.camera-preview video,.camera-preview img{width:100%;height:100%;object-fit:contain}.camera-preview img{position:absolute;inset:0;pointer-events:none}#stage-loupe{position:absolute;width:155px;height:155px;border-radius:50%;border:3px solid white;outline:1px solid #315f4c;background-repeat:no-repeat;pointer-events:none;z-index:8}.coverage-strip{display:flex;gap:7px;flex-wrap:wrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.source-figure{margin:0}.source-figure figcaption{font-size:10px;color:var(--muted);line-height:1.6;margin-top:9px;overflow-wrap:anywhere}.evidence-image{margin:auto;background:#e6edde;overflow:hidden;border-radius:5px}.evidence-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:fill}.report-summary-chart{display:grid;grid-template-columns:1fr 1.6fr;gap:45px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:40px 0}.report-summary-chart p{font-size:12px;color:var(--muted);line-height:1.8;margin:13px 0}.ordinal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;text-decoration:none;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.ordinal-row small{grid-column:1/-1;font-size:10px;color:var(--muted)}.ordinal-row:hover{background:#edf3e8}.ordinal-dots{display:flex;gap:5px;align-items:center}.ordinal-dots i{width:10px;height:10px;border-radius:50%;background:#dce5d6}.ordinal-dots i.filled{background:#6c8d63}.history-note{font-size:12px;line-height:1.7}.history-note dt{margin-top:15px}.history-note dd{margin:5px 0;color:var(--muted);white-space:pre-wrap}.slide-cover{width:100%;max-height:550px;object-fit:contain;background:#e7eedf}.presentation-slide .source-figure .evidence-image{max-width:420px!important}.presentation-slide>.source-figure{width:100%}.report-plan p,.service-row p{white-space:pre-wrap}.wordmark img{max-width:65px;max-height:55px;object-fit:contain}
@media(max-width:700px){.report-summary-chart{grid-template-columns:1fr;gap:18px}.source-figure .evidence-image{max-width:280px!important}}
@media print{.evidence-image{max-width:45mm!important}.evidence-image img{height:100%!important;aspect-ratio:auto}.evidence-marker{width:12px!important;height:12px!important}.report-summary-chart{grid-template-columns:1fr 1.6fr;gap:8mm;padding:6mm 0;margin:7mm 0}.ordinal-row{font-size:8pt;padding:2mm 0}.ordinal-row small{font-size:7pt}.ordinal-dots i{width:6px;height:6px}.report-summary-chart p{font-size:8pt}.source-figure figcaption{font-size:7pt}.evidence-story{break-inside:auto}.history-note{font-size:8pt}.evidence-details{display:block}.evidence-details::details-content{display:block!important}.report-top a{color:inherit;text-decoration:none}}
.photo-grid.compact{display:flex;overflow-x:auto;gap:10px;padding:14px 0 10px;margin:0;scroll-snap-type:x proximity}.photo-grid.compact .photo-tile{flex:0 0 82px;scroll-snap-align:start}.photo-grid.compact .photo-tile img{height:95px;width:82px;object-fit:cover}.photo-grid.compact .photo-tile strong{font-size:10px}.photo-grid.compact .photo-tile small{display:none}.finding-list{max-height:380px;overflow:auto}.observation-selector{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--line)}
