/* ============================================================
   LUMINI · DERMATOLOGIA V2
   Extensão do design oficial do Painel Clínico e da Área B.
   ============================================================ */
:root{
  --dv2-ink:#241f1b;--dv2-ink-2:#5a5049;--dv2-muted:#74695f;
  --dv2-gold:#caa967;--dv2-terracotta:#a5654e;--dv2-olive:#657054;
  --dv2-bg:#f1ebe0;--dv2-surface:#fff;--dv2-soft:#f8f4ed;--dv2-line:#d8cfc4;
  --dv2-shadow:0 22px 70px rgba(36,31,27,.18);--dv2-radius:22px;
}

/* Correção AA da Área B: sem névoa cinza, texto de apoio legível e campos claros. */
.skin-feedback-overlay,.dermp-overlay{background:rgba(26,22,19,.66)!important;backdrop-filter:blur(5px)}
.skin-feedback-modal,.dermp-sheet{
  --bg:#fbf8f3;--surface:#fff;--ink:#211d18;--muted:#5f574f;--line:#d8d0c6;
  background:#fbf8f3!important;color:#211d18!important;
}
.skin-feedback-modal h1,.skin-feedback-modal h2,.skin-feedback-modal h3,
.dermp-sheet h1,.dermp-sheet h2,.dermp-sheet h3{color:#211d18!important}
.skin-feedback-modal p,.skin-feedback-modal small,.skin-feedback-modal label,
.dermp-sheet p,.dermp-sheet small,.dermp-sheet label,.dermp-help,.dermp-ai-copy p{color:#5f574f!important;opacity:1!important}
.dermp-sheet .dermp-sheet-head{background:#2a241f!important;color:#fff!important;border-color:#4a413a!important}
.dermp-sheet .dermp-sheet-head h3{color:#fff!important}
.dermp-sheet .dermp-sheet-head p,.dermp-sheet .dermp-sheet-head small,
.dermp-sheet .dermp-sheet-head .skin-eyebrow{color:#eee6dc!important;opacity:1!important}
.dermp-sheet .dermp-sheet-head>button{background:#fff!important;color:#211d18!important;border-color:#fff!important;min-width:44px;min-height:44px}
.dermp-progress,.dermp-body,.dermp-foot,.dermp-step-card,.dermp-capture-card,.dermp-product-card,.dermp-ai-note,.dermp-photo-box{background:#fbf8f3!important}
.dermp-step-card,.dermp-capture-card,.dermp-product-card,.dermp-ai-note,.dermp-photo-box{border-color:#d8d0c6!important}
.dermp-field input,.dermp-field textarea,.dermp-field select,
.dermp-sheet input,.dermp-sheet textarea,.dermp-sheet select{
  background:#fff!important;color:#211d18!important;border:1px solid #b9aea2!important;opacity:1!important;
}
.dermp-field input::placeholder,.dermp-field textarea::placeholder,.dermp-sheet input::placeholder,.dermp-sheet textarea::placeholder{color:#74695f!important;opacity:1}
.dermp-chip,.dermp-choice,.dermp-topic{background:#fff!important;color:#423a34!important;border-color:#a99d91!important;opacity:1!important;min-height:44px}
.dermp-chip.on,.dermp-choice.on,.dermp-topic.on,.dermp-topic.selected{background:#27211d!important;color:#fff!important;border-color:#27211d!important}
.dermp-primary{background:#211d18!important;color:#fff!important;min-height:46px}
.dermp-secondary{background:#fff!important;color:#211d18!important;border:1px solid #a99d91!important;min-height:46px}
.dermp-sheet .dermp-action:not(.soft){background:#211d18!important;color:#fff!important;border-color:#211d18!important}
.dermp-sheet .dermp-action.soft{background:#fff!important;color:#211d18!important;border-color:#a99d91!important}
.dermp-x{background:#fff!important;color:#211d18!important;min-width:44px;min-height:44px}
.dermp-sheet :focus-visible{outline:3px solid #caa967!important;outline-offset:3px}

/* Planejamento e evolução liberados na Área B */
.dermp-shared{margin-top:18px;padding:clamp(20px,4vw,34px);border:1px solid #d8d0c6;border-radius:24px;background:#fbf8f3;color:#211d18}
.dermp-shared-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.dermp-shared-head h3{margin:4px 0 6px;font:500 clamp(24px,3vw,34px)/1.1 Mirante,Cherston,Georgia,serif;color:#211d18}.dermp-shared-head p{max-width:680px;margin:0;color:#5f574f;font-size:13px;line-height:1.55}
.dermp-shared-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dermp-shared-card{overflow:hidden;border:1px solid #d8d0c6;border-radius:20px;background:#fff}.dermp-plan-stage{position:relative;display:grid;place-items:center;min-height:360px;overflow:hidden;background:#e8dfd3}.dermp-plan-stage>img{display:block;width:100%;height:420px;object-fit:contain}.dermp-plan-stage>span{position:absolute;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border:2px solid #fff;border-radius:99px;background:var(--point);color:#fff;font:700 9px/1 Montserrat,Arial,sans-serif;transform:translate(-50%,-50%);box-shadow:0 4px 13px rgba(30,24,20,.28)}
.dermp-shared-copy{padding:18px}.dermp-shared-copy h4,.dermp-evolution-card h4{margin:9px 0 5px;font:500 21px/1.2 Mirante,Cherston,Georgia,serif;color:#211d18}.dermp-shared-copy p,.dermp-evolution-card p{margin:0;color:#5f574f;font-size:12px;line-height:1.55}.dermp-plan-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.dermp-plan-tags i,.dermp-moments i{padding:6px 9px;border-radius:99px;background:#eee6dc;color:#50473f;font:600 9px/1 Montserrat,Arial,sans-serif;font-style:normal}
.dermp-evolution-list{display:grid;gap:10px}.dermp-evolution-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #d8d0c6;border-radius:17px;background:#fff}.dermp-moments{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.dermp-moments i.done{background:#e1e9dc;color:#506248}

/* Prontuário dermatológico */
.derm-v2{display:grid;gap:16px;color:var(--dv2-ink)}
.derm-v2-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#e9dece,#f7f2e9 64%,#efe5d6);border:1px solid rgba(141,123,106,.18)}
.derm-v2-hero h2{font-family:Mirante,Cherston,Georgia,serif;font-size:30px;font-weight:500;letter-spacing:-.025em;margin:5px 0 7px;color:var(--dv2-ink)}
.derm-v2-hero p{max-width:760px;margin:0;color:var(--dv2-ink-2);font-size:13px;line-height:1.55}
.derm-v2-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.derm-v2-tabs{display:flex;gap:4px;overflow:auto;padding:6px;border-radius:16px;background:#e5dbcd;scrollbar-width:none}
.derm-v2-tabs::-webkit-scrollbar{display:none}
.derm-v2-tabs button{position:relative;border:0;background:transparent;color:#5f554e;border-radius:11px;padding:11px 14px;min-height:42px;white-space:nowrap;font:600 10px/1 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.derm-v2-tabs button:hover{background:rgba(255,255,255,.48);color:#241f1b}
.derm-v2-tabs button.on{background:#fff;color:#241f1b;box-shadow:0 4px 14px rgba(36,31,27,.08)}
.derm-v2-tabs .count{display:inline-grid;place-items:center;margin-left:6px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#a5654e;color:#fff;font-size:10px}

.derm-encounter-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid #d7cdc0;border-radius:18px;background:#fff}
.derm-encounter-bar.live{background:#25201c;color:#fff;border-color:#25201c;box-shadow:0 14px 35px rgba(36,31,27,.15)}
.derm-encounter-pulse{width:11px;height:11px;border-radius:50%;background:#b9afa5}
.derm-encounter-bar.live .derm-encounter-pulse{background:#d5b46d;box-shadow:0 0 0 7px rgba(213,180,109,.13);animation:dermPulse 2s infinite}
.derm-encounter-copy b{display:block;font-size:13px;margin-bottom:3px}
.derm-encounter-copy span{font-size:11.5px;color:#74695f}
.derm-encounter-bar.live .derm-encounter-copy span{color:#d8cec4}
.derm-v2-timer{font:500 20px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}
@keyframes dermPulse{50%{box-shadow:0 0 0 11px rgba(213,180,109,0)}}

.derm-v2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.derm-v2-card{grid-column:span 6;padding:20px;border:1px solid #ded5cb;border-radius:20px;background:#fff;min-width:0}
.derm-v2-card.wide{grid-column:span 12}.derm-v2-card.third{grid-column:span 4}
.derm-v2-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.derm-v2-card h3{font-family:Mirante,Cherston,Georgia,serif;font-size:20px;font-weight:500;margin:0 0 4px;color:#241f1b}
.derm-v2-card p{font-size:12px;line-height:1.55;color:#645a52;margin:0}
.derm-v2-empty{padding:24px;border:1px dashed #cfc3b7;border-radius:15px;background:#fbf8f3;color:#655b53;font-size:12px;line-height:1.55}
.derm-v2-list{display:grid;gap:9px}
.derm-v2-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid #e4ddd5;border-radius:14px;background:#fcfaf7}
.derm-v2-row-thumb{width:54px;height:54px;border-radius:12px;overflow:hidden;background:#eee7de;display:grid;place-items:center;color:#897d72}
.derm-v2-row-thumb img{width:100%;height:100%;object-fit:cover}
.derm-v2-row b{display:block;font-size:12px;color:#2b2521;margin-bottom:3px}.derm-v2-row span{font-size:11px;line-height:1.4;color:#70655c}
.derm-v2-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.derm-v2-kpi{padding:16px;border:1px solid #ddd3c8;border-radius:16px;background:#fff}
.derm-v2-kpi b{display:block;font:500 26px/1 Mirante,Cherston,Georgia,serif;margin-bottom:7px}.derm-v2-kpi span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#74695f}
.derm-v2-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:99px;background:#eee7de;color:#5d534b;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.derm-v2-badge.signed{background:#e3eadf;color:#4f6546}.derm-v2-badge.live{background:#ede0bf;color:#755e2f}.derm-v2-badge.alert{background:#f3dfd8;color:#954c39}

.derm-v2-btn,.derm-v2-btn-soft,.derm-v2-icon-btn{border:0;border-radius:12px;min-height:44px;padding:0 16px;font:600 11px/1 Montserrat,Arial,sans-serif;cursor:pointer;transition:transform .16s,background .16s,box-shadow .16s}
.derm-v2-btn{background:#241f1b;color:#fff}.derm-v2-btn:hover{background:#3a322c;transform:translateY(-1px)}
.derm-v2-btn-soft{background:#fff;color:#302a25;border:1px solid #cfc4b8}.derm-v2-btn-soft:hover{background:#f8f4ee}
.derm-v2-icon-btn{width:44px;padding:0;background:#ede6dd;color:#2b2521;font-size:19px}
.derm-v2-btn:focus-visible,.derm-v2-btn-soft:focus-visible,.derm-v2-icon-btn:focus-visible,.derm-studio button:focus-visible{outline:3px solid #caa967;outline-offset:3px}

/* Studio anatômico em tela inteira */
.derm-studio-wrap{position:fixed;inset:0;z-index:10040;background:rgba(25,21,18,.78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}
.derm-studio{width:min(1680px,100%);height:min(960px,calc(100vh - 36px));display:grid;grid-template-rows:auto 1fr;background:#f3ede3;border-radius:26px;overflow:hidden;box-shadow:0 35px 120px rgba(0,0,0,.38)}
.derm-studio-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:15px 18px;background:#fff;border-bottom:1px solid #ddd3c7}
.derm-studio-title b{display:block;font:500 20px/1.2 Mirante,Cherston,Georgia,serif;color:#241f1b}.derm-studio-title span{font-size:10px;color:#74695f;letter-spacing:.06em;text-transform:uppercase}
.derm-studio-head-actions{display:flex;gap:8px;align-items:center}.derm-studio-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#665c54}.derm-studio-status i{width:8px;height:8px;background:#caa967;border-radius:50%}
.derm-studio-body{min-height:0;display:grid;grid-template-columns:230px minmax(420px,1fr) 310px}
.derm-studio-tools,.derm-studio-inspector{min-height:0;overflow:auto;background:#fff;padding:18px}
.derm-studio-tools{border-right:1px solid #ddd3c7}.derm-studio-inspector{border-left:1px solid #ddd3c7}
.derm-studio-section{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #e5ded6}.derm-studio-section:last-child{border:0}
.derm-studio-label{display:block;margin-bottom:9px;font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#74695f}
.derm-tool-list{display:grid;gap:6px}
.derm-tool{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;color:#4e453e;font:500 11px/1.2 Montserrat,Arial,sans-serif;cursor:pointer}
.derm-tool:hover{background:#f7f2eb}.derm-tool.on{background:#efe7db;border-color:#d3c2ad;color:#241f1b;font-weight:700}.derm-tool-dot{width:11px;height:11px;border-radius:50%;background:var(--tool-color,#a5654e);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.derm-tone-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.derm-tone{display:grid;place-items:center;min-width:0;min-height:46px;padding:0;border:2px solid transparent;border-radius:11px;cursor:pointer;background:var(--tone);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.48);font:700 9px/1 Montserrat,Arial,sans-serif}.derm-tone span{pointer-events:none}.derm-tone.on{border-color:#241f1b;box-shadow:0 0 0 3px #fff inset}.derm-tone:disabled{cursor:default;opacity:.74}
.derm-view-tabs{display:flex;gap:5px;overflow:auto}.derm-view-tabs button{min-height:38px;padding:0 12px;border:1px solid #cfc4b8;border-radius:10px;background:#fff;color:#5a5049;font-size:10px;white-space:nowrap}.derm-view-tabs button.on{background:#241f1b;color:#fff;border-color:#241f1b}

.derm-studio-stage{position:relative;min-height:0;overflow:auto;display:grid;place-items:center;padding:26px;background:radial-gradient(circle at 50% 45%,#fff 0,#f5efe6 52%,#e9dfd2 100%)}
.derm-plan-canvas{position:relative;display:inline-flex;isolation:isolate;zoom:var(--derm-zoom,1);transition:zoom .15s}
.derm-plan-canvas>img{display:block;width:auto;height:auto;max-width:min(78vw,900px);max-height:calc(100vh - 190px);object-fit:contain;border-radius:18px;box-shadow:0 18px 55px rgba(52,43,36,.18);user-select:none;-webkit-user-drag:none}
.derm-plan-canvas.patient>img{background:#14110f}
.derm-body-view-labels{position:absolute;z-index:4;inset:12px 5% auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;pointer-events:none}.derm-body-view-labels span{justify-self:center;padding:7px 10px;border:1px solid rgba(61,49,40,.14);border-radius:99px;background:rgba(255,252,247,.9);box-shadow:0 5px 18px rgba(48,39,32,.1);color:#4e433b;font:700 9px/1 Montserrat,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px)}
.derm-plan-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border:2px solid rgba(255,255,255,.95);border-radius:99px;background:var(--marker,#a5654e);color:#fff;font:700 10px/1 Montserrat,Arial,sans-serif;box-shadow:0 5px 13px rgba(30,24,20,.32);cursor:grab;touch-action:none;white-space:nowrap}
.derm-plan-marker:active{cursor:grabbing}.derm-plan-marker.on{outline:3px solid #241f1b;outline-offset:3px;z-index:5}.derm-plan-marker::after{content:"";position:absolute;left:50%;top:100%;border:5px solid transparent;border-top-color:var(--marker,#a5654e);transform:translateX(-50%)}
.derm-stage-help{position:absolute;left:18px;bottom:16px;max-width:360px;padding:10px 12px;border-radius:12px;background:rgba(36,31,27,.87);color:#fff;font-size:10.5px;line-height:1.45;pointer-events:none}
.derm-zoom{position:fixed;right:334px;bottom:22px;z-index:10045;display:flex;align-items:center;gap:7px;padding:6px;border-radius:13px;background:#fff;box-shadow:0 8px 30px rgba(36,31,27,.16)}.derm-zoom button{width:38px;height:38px;border:0;border-radius:9px;background:#eee7de;color:#241f1b;font-size:18px;cursor:pointer}.derm-zoom button:hover{background:#e3d7ca}.derm-zoom .derm-zoom-value{width:56px;font:700 10px/1 Montserrat,Arial,sans-serif}

.derm-inspector-empty{display:grid;place-items:center;min-height:260px;padding:22px;text-align:center;border:1px dashed #cfc3b7;border-radius:15px;color:#6c6259;font-size:11.5px;line-height:1.6}
.derm-v2-field{display:grid;gap:6px;margin-bottom:12px}.derm-v2-field>label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6f645b}
.derm-v2-field input,.derm-v2-field select,.derm-v2-field textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #cfc5ba;border-radius:10px;background:#fff;color:#241f1b;font:400 12px/1.4 Montserrat,Arial,sans-serif;box-sizing:border-box}.derm-v2-field textarea{min-height:76px;resize:vertical}.derm-v2-field input:focus,.derm-v2-field select:focus,.derm-v2-field textarea:focus{border-color:#9b7b3e;outline:3px solid rgba(202,169,103,.18)}
.derm-v2-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.derm-plan-total{display:flex;justify-content:space-between;align-items:center;padding:11px;border-radius:11px;background:#f1ebe2;font-size:10px;color:#5f554d}.derm-plan-total b{font-size:15px;color:#241f1b}

/* Modal V2 e protocolo fotográfico */
.derm-v2-modal-wrap{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px;background:rgba(26,22,19,.7);backdrop-filter:blur(7px)}
.derm-v2-modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:24px;background:#fbf8f3;box-shadow:var(--dv2-shadow)}
.derm-v2-modal.wide{width:min(1180px,100%)}
.derm-v2-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px;background:#2b2521;color:#fff}
.derm-v2-modal-head h2{font:500 28px/1.15 Mirante,Cherston,Georgia,serif;margin:4px 0 7px;color:#fff}.derm-v2-modal-head p{margin:0;color:#e4dbd1;font-size:12px;line-height:1.5}.derm-v2-modal-head .derm-v2-icon-btn{background:#fff}
.derm-v2-modal-body{padding:24px 26px}.derm-v2-modal-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;padding:15px 26px;background:rgba(255,255,255,.96);border-top:1px solid #ddd3c7;backdrop-filter:blur(9px)}
.derm-fit-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.derm-fit-option{min-height:80px;border:2px solid transparent;border-radius:14px;background:var(--skin);cursor:pointer;position:relative}.derm-fit-option span{position:absolute;left:7px;bottom:6px;padding:3px 6px;border-radius:99px;background:rgba(255,255,255,.85);color:#241f1b;font-size:9px;font-weight:700}.derm-fit-option.on{border-color:#241f1b;box-shadow:0 0 0 3px #fff inset}
.derm-base-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.derm-base-card{position:relative;overflow:hidden;min-height:150px;padding:0;border:2px solid transparent;border-radius:14px;background:#ece5dc;cursor:pointer}.derm-base-card img{width:100%;height:150px;object-fit:cover}.derm-base-card span{position:absolute;inset:auto 7px 7px;padding:6px 8px;border-radius:8px;background:rgba(36,31,27,.82);color:#fff;font-size:9px}.derm-base-card.on{border-color:#caa967;box-shadow:0 0 0 3px rgba(202,169,103,.2)}

.derm-series-card{padding:17px;border:1px solid #ddd4ca;border-radius:17px;background:#fff}.derm-series-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.derm-series-head h4{margin:0 0 4px;font:500 18px/1.2 Mirante,Cherston,Georgia,serif}.derm-series-head p{font-size:11px;color:#6c6159}.derm-series-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.derm-session{display:grid;gap:5px;min-height:88px;padding:11px;border:1px solid #d9d0c6;border-radius:13px;background:#faf7f2;text-align:left;cursor:pointer}.derm-session.done{background:#eef2eb;border-color:#bfcbb7}.derm-session b{font-size:11px}.derm-session span{font-size:9.5px;color:#6f645b}.derm-session i{width:8px;height:8px;border-radius:50%;background:#b9aea3}.derm-session.done i{background:#657054}
.derm-expression-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.derm-expression{min-height:70px;padding:10px;border:1px solid #cfc4b8;border-radius:12px;background:#fff;color:#403832;text-align:left;font-size:10px;cursor:pointer}.derm-expression.on{background:#2b2521;color:#fff;border-color:#2b2521}.derm-upload-drop{display:grid;place-items:center;min-height:150px;padding:22px;border:2px dashed #c5b8aa;border-radius:16px;background:#f6f0e8;text-align:center}.derm-upload-drop b{font-size:13px}.derm-upload-drop p{font-size:10.5px;color:#675d55;margin:6px 0 14px}.derm-upload-progress{height:7px;border-radius:99px;background:#e2dad1;overflow:hidden}.derm-upload-progress i{display:block;height:100%;width:var(--progress);background:#caa967;transition:width .2s}

.derm-ba{display:grid;grid-template-columns:250px 1fr;gap:18px;min-height:500px}.derm-ba-controls{display:grid;align-content:start;gap:12px}.derm-ba-stage{position:relative;overflow:hidden;display:grid;place-items:center;border-radius:18px;background:#1e1a17;min-height:500px}.derm-ba-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.derm-ba-stage img.after{clip-path:inset(0 calc(100% - var(--ba-pos,50%)) 0 0)}.derm-ba-divider{position:absolute;top:0;bottom:0;left:var(--ba-pos,50%);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.derm-ba-divider::after{content:'↔';position:absolute;top:50%;left:50%;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#241f1b;transform:translate(-50%,-50%);box-shadow:0 4px 16px rgba(0,0,0,.28)}.derm-ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.derm-ba-label{position:absolute;top:13px;padding:7px 9px;border-radius:8px;background:rgba(36,31,27,.78);color:#fff;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.derm-ba-label.before{left:13px}.derm-ba-label.after{right:13px}

/* Catálogo IA */
.derm-ai-enrich{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid #d4c4ac;border-radius:14px;background:#f5ecdc}.derm-ai-enrich-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#241f1b;color:#fff}.derm-ai-enrich b{display:block;font-size:11px}.derm-ai-enrich p{font-size:10px;color:#675b51;margin:3px 0 0}.derm-ai-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.derm-ai-tag{padding:5px 8px;border-radius:99px;background:#eee6dc;color:#51473f;font-size:9px}.derm-ai-tag.acid{background:#f1ded6;color:#8b4d3c}

@media(max-width:1180px){.derm-studio-body{grid-template-columns:190px minmax(360px,1fr) 280px}.derm-zoom{right:304px}.derm-v2-card.third{grid-column:span 6}.derm-v2-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .derm-v2-hero{align-items:flex-start;flex-direction:column}.derm-v2-actions{justify-content:flex-start}.derm-v2-card,.derm-v2-card.third{grid-column:span 12}
  .derm-studio-wrap{padding:0}.derm-studio{height:100dvh;border-radius:0}.derm-studio-head{grid-template-columns:1fr auto}.derm-studio-status{display:none}.derm-studio-body{grid-template-columns:1fr;grid-template-rows:auto minmax(430px,1fr) auto;overflow:auto}.derm-studio-tools{display:flex;gap:14px;overflow:auto;border-right:0;border-bottom:1px solid #ddd3c7;padding:12px}.derm-studio-section{min-width:190px;margin:0;padding:0 14px 0 0;border:0;border-right:1px solid #e5ded6}.derm-studio-inspector{border-left:0;border-top:1px solid #ddd3c7;overflow:visible}.derm-plan-canvas>img{max-width:90vw;max-height:60vh}.derm-zoom{right:18px;bottom:18px}.derm-ba{grid-template-columns:1fr}.derm-ba-stage{min-height:60vh}
}
@media(max-width:620px){
  .derm-v2-hero{padding:20px}.derm-v2-hero h2{font-size:25px}.derm-encounter-bar{grid-template-columns:auto 1fr}.derm-encounter-bar .derm-v2-btn,.derm-encounter-bar .derm-v2-btn-soft{grid-column:1/-1;width:100%}.derm-v2-kpis{grid-template-columns:1fr 1fr}.derm-v2-row{grid-template-columns:auto 1fr}.derm-v2-row>.derm-v2-btn-soft{grid-column:1/-1;width:100%}.derm-fit-grid{grid-template-columns:repeat(3,1fr)}.derm-base-grid{grid-template-columns:1fr 1fr}.derm-series-timeline{grid-template-columns:1fr 1fr}.derm-expression-grid{grid-template-columns:1fr 1fr}.derm-v2-modal-wrap{padding:0}.derm-v2-modal{max-height:100dvh;border-radius:0}.derm-v2-modal-head,.derm-v2-modal-body,.derm-v2-modal-foot{padding-left:18px;padding-right:18px}.derm-v2-two{grid-template-columns:1fr}.derm-ai-enrich{grid-template-columns:auto 1fr}.derm-ai-enrich .derm-v2-btn-soft{grid-column:1/-1;width:100%}
}
@media(max-width:760px){.dermp-shared-grid{grid-template-columns:1fr}.dermp-plan-stage{min-height:300px}.dermp-plan-stage>img{height:360px}.dermp-evolution-card{align-items:flex-start;flex-direction:column}.dermp-evolution-card .dermp-action{width:100%}}
@media(prefers-reduced-motion:reduce){.derm-encounter-bar.live .derm-encounter-pulse{animation:none}.derm-plan-canvas,.derm-v2-btn,.derm-v2-btn-soft{transition:none}}

/* 03/out · a grade da Pele não tem colunas: "span 12" criava 12 colunas implícitas e espremia as abas numa faixa branca */
.derm-v2{grid-template-columns:minmax(0,1fr)}
.derm-v2>*,.derm-v2>.derm-v2-card.wide{grid-column:1/-1;min-width:0}

/* 03/out · estúdio simples: dose por ponto em um toque, lista de pontos com apagar */
.derm-plan-marker{gap:0}
.derm-marker-x{position:absolute;top:-11px;right:-11px;display:grid;place-items:center;width:22px;height:22px;border-radius:99px;background:#241f1b;color:#fff;border:2px solid #fff;font:600 13px/1 Montserrat,Arial,sans-serif;cursor:pointer;box-shadow:0 3px 8px rgba(30,24,20,.3)}
.derm-marker-x:hover{background:#934e3d}
.derm-dose-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin:10px 0 8px}
.derm-dose-chips button{display:flex;align-items:baseline;justify-content:center;gap:2px;min-height:40px;border:1px solid #ddd3c7;border-radius:12px;background:#fff;color:#241f1b;font:700 14px/1 Montserrat,Arial,sans-serif;cursor:pointer}
.derm-dose-chips button small{font-size:9.5px;font-weight:600;color:#7a6f66}
.derm-dose-chips button:hover{border-color:#241f1b}
.derm-dose-chips button.on{background:#241f1b;border-color:#241f1b;color:#fff}
.derm-dose-chips button.on small{color:#e9dece}
.derm-dose-step{display:grid;grid-template-columns:40px 1fr auto 40px;align-items:center;gap:6px}
.derm-dose-step button{height:40px;border:1px solid #ddd3c7;border-radius:12px;background:#f7f2e9;color:#241f1b;font:600 18px/1 Montserrat,Arial,sans-serif;cursor:pointer}
.derm-dose-step input{height:40px;min-width:0;border:1px solid #ddd3c7;border-radius:12px;padding:0 10px;text-align:center;font:700 15px/1 Montserrat,Arial,sans-serif;color:#241f1b;background:#fff}
.derm-dose-step span{font:600 11px/1 Montserrat,Arial,sans-serif;color:#7a6f66}
.derm-dose-hint{margin:8px 0 14px;font-size:11px;line-height:1.5;color:#6c6259}
.derm-point-list{display:grid;gap:4px;margin:12px 0;max-height:260px;overflow:auto}
.derm-point-row{display:grid;grid-template-columns:10px 20px 1fr auto 28px;align-items:center;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:11px;cursor:pointer;font-size:12px;color:#241f1b}
.derm-point-row:hover{background:#f7f2e9}
.derm-point-row.on{background:#f3ebdf;border-color:#cfc3b7}
.derm-point-row i{width:10px;height:10px;border-radius:99px;background:var(--marker)}
.derm-point-row b{font:700 11px/1 Montserrat,Arial,sans-serif;color:#7a6f66}
.derm-point-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.derm-point-row em{font:700 12px/1 Montserrat,Arial,sans-serif;font-style:normal}
.derm-point-x{width:28px;height:28px;border:0;border-radius:99px;background:transparent;color:#934e3d;font-size:17px;line-height:1;cursor:pointer}
.derm-point-x:hover{background:#f1dfd8}
.derm-point-more{margin:6px 0 12px;border-top:1px solid #ece4d9;padding-top:10px}
.derm-point-more summary{cursor:pointer;font:600 11px/1.4 Montserrat,Arial,sans-serif;color:#5f554e;margin-bottom:10px}
.derm-point-actions{margin-top:4px}
